mathieu lacage march, 24th 2012 · lacage a vision of ns-3 march 2012 3 / 27. requirements...
TRANSCRIPT
![Page 1: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/1.jpg)
A personal vision of ns-3
Mathieu Lacage
March, 24th 2012
Lacage A vision of ns-3 March 2012 1 / 27
![Page 2: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/2.jpg)
Outline
Introduction
Packet
Object Framework
Conclusion
Lacage A vision of ns-3 March 2012 2 / 27
![Page 3: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/3.jpg)
How the project came to be
Multiple partners:I NSF-funded: UWA, GT, ISII INRIA-funded: planète
Pulling the project in multiple directions:
Wireless
Long Term
Survival
Fast TCP
Real Code
Integration
EmulationEducation
ns-3
Lacage A vision of ns-3 March 2012 3 / 27
![Page 4: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/4.jpg)
How the project came to beMultiple partners:
I NSF-funded: UWA, GT, ISII INRIA-funded: planète
Pulling the project in multiple directions:
Wireless
Long Term
Survival
Fast TCP
Real Code
Integration
EmulationEducation
ns-3
Lacage A vision of ns-3 March 2012 3 / 27
![Page 5: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/5.jpg)
How the project came to beMultiple partners:
I NSF-funded: UWA, GT, ISI
I INRIA-funded: planètePulling the project in multiple directions:
Wireless
Long Term
Survival
Fast TCP
Real Code
Integration
EmulationEducation
ns-3
Lacage A vision of ns-3 March 2012 3 / 27
![Page 6: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/6.jpg)
How the project came to beMultiple partners:
I NSF-funded: UWA, GT, ISII INRIA-funded: planète
Pulling the project in multiple directions:
Wireless
Long Term
Survival
Fast TCP
Real Code
Integration
EmulationEducation
ns-3
Lacage A vision of ns-3 March 2012 3 / 27
![Page 7: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/7.jpg)
How the project came to beMultiple partners:
I NSF-funded: UWA, GT, ISII INRIA-funded: planète
Pulling the project in multiple directions:
Wireless
Long Term
Survival
Fast TCP
Real Code
Integration
EmulationEducation
ns-3
Lacage A vision of ns-3 March 2012 3 / 27
![Page 8: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/8.jpg)
Requirements
Real-code integration, Emulation:I Models must not be too abstract (Node, etc.)I Must be transparent to models
Fast TCP:I Memory efficiency of many packets in flight
Lacage A vision of ns-3 March 2012 4 / 27
![Page 9: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/9.jpg)
Requirements
Real-code integration, Emulation:
I Models must not be too abstract (Node, etc.)I Must be transparent to models
Fast TCP:I Memory efficiency of many packets in flight
Lacage A vision of ns-3 March 2012 4 / 27
![Page 10: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/10.jpg)
Requirements
Real-code integration, Emulation:I Models must not be too abstract (Node, etc.)
I Must be transparent to modelsFast TCP:
I Memory efficiency of many packets in flight
Lacage A vision of ns-3 March 2012 4 / 27
![Page 11: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/11.jpg)
Requirements
Real-code integration, Emulation:I Models must not be too abstract (Node, etc.)I Must be transparent to models
Fast TCP:I Memory efficiency of many packets in flight
Lacage A vision of ns-3 March 2012 4 / 27
![Page 12: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/12.jpg)
Requirements
Real-code integration, Emulation:I Models must not be too abstract (Node, etc.)I Must be transparent to models
Fast TCP:
I Memory efficiency of many packets in flight
Lacage A vision of ns-3 March 2012 4 / 27
![Page 13: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/13.jpg)
Requirements
Real-code integration, Emulation:I Models must not be too abstract (Node, etc.)I Must be transparent to models
Fast TCP:I Memory efficiency of many packets in flight
Lacage A vision of ns-3 March 2012 4 / 27
![Page 14: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/14.jpg)
More requirements
Education:I Must be easy to use for students
Wireless:I Must have great validated wireless models
Long term survival:I Maintenance: production-quality codeI Funding: NSF & INRIA funding finite
Lacage A vision of ns-3 March 2012 5 / 27
![Page 15: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/15.jpg)
More requirements
Education:
I Must be easy to use for studentsWireless:
I Must have great validated wireless modelsLong term survival:
I Maintenance: production-quality codeI Funding: NSF & INRIA funding finite
Lacage A vision of ns-3 March 2012 5 / 27
![Page 16: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/16.jpg)
More requirements
Education:I Must be easy to use for students
Wireless:I Must have great validated wireless models
Long term survival:I Maintenance: production-quality codeI Funding: NSF & INRIA funding finite
Lacage A vision of ns-3 March 2012 5 / 27
![Page 17: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/17.jpg)
More requirements
Education:I Must be easy to use for students
Wireless:
I Must have great validated wireless modelsLong term survival:
I Maintenance: production-quality codeI Funding: NSF & INRIA funding finite
Lacage A vision of ns-3 March 2012 5 / 27
![Page 18: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/18.jpg)
More requirements
Education:I Must be easy to use for students
Wireless:I Must have great validated wireless models
Long term survival:I Maintenance: production-quality codeI Funding: NSF & INRIA funding finite
Lacage A vision of ns-3 March 2012 5 / 27
![Page 19: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/19.jpg)
More requirements
Education:I Must be easy to use for students
Wireless:I Must have great validated wireless models
Long term survival:
I Maintenance: production-quality codeI Funding: NSF & INRIA funding finite
Lacage A vision of ns-3 March 2012 5 / 27
![Page 20: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/20.jpg)
More requirements
Education:I Must be easy to use for students
Wireless:I Must have great validated wireless models
Long term survival:I Maintenance: production-quality code
I Funding: NSF & INRIA funding finite
Lacage A vision of ns-3 March 2012 5 / 27
![Page 21: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/21.jpg)
More requirements
Education:I Must be easy to use for students
Wireless:I Must have great validated wireless models
Long term survival:I Maintenance: production-quality codeI Funding: NSF & INRIA funding finite
Lacage A vision of ns-3 March 2012 5 / 27
![Page 22: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/22.jpg)
Long Term Survival
Hard to make enough money to maintain the code:I Small market (network researchers)I Large and complex code
Hard to obtain funding from research agencies:I Funds to use the toolI Funds to extend the toolI No funds to maintain the tool
Lacage A vision of ns-3 March 2012 6 / 27
![Page 23: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/23.jpg)
Long Term Survival
Hard to make enough money to maintain the code:
I Small market (network researchers)I Large and complex code
Hard to obtain funding from research agencies:I Funds to use the toolI Funds to extend the toolI No funds to maintain the tool
Lacage A vision of ns-3 March 2012 6 / 27
![Page 24: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/24.jpg)
Long Term Survival
Hard to make enough money to maintain the code:I Small market (network researchers)
I Large and complex codeHard to obtain funding from research agencies:
I Funds to use the toolI Funds to extend the toolI No funds to maintain the tool
Lacage A vision of ns-3 March 2012 6 / 27
![Page 25: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/25.jpg)
Long Term Survival
Hard to make enough money to maintain the code:I Small market (network researchers)I Large and complex code
Hard to obtain funding from research agencies:I Funds to use the toolI Funds to extend the toolI No funds to maintain the tool
Lacage A vision of ns-3 March 2012 6 / 27
![Page 26: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/26.jpg)
Long Term Survival
Hard to make enough money to maintain the code:I Small market (network researchers)I Large and complex code
Hard to obtain funding from research agencies:
I Funds to use the toolI Funds to extend the toolI No funds to maintain the tool
Lacage A vision of ns-3 March 2012 6 / 27
![Page 27: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/27.jpg)
Long Term Survival
Hard to make enough money to maintain the code:I Small market (network researchers)I Large and complex code
Hard to obtain funding from research agencies:I Funds to use the tool
I Funds to extend the toolI No funds to maintain the tool
Lacage A vision of ns-3 March 2012 6 / 27
![Page 28: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/28.jpg)
Long Term Survival
Hard to make enough money to maintain the code:I Small market (network researchers)I Large and complex code
Hard to obtain funding from research agencies:I Funds to use the toolI Funds to extend the tool
I No funds to maintain the tool
Lacage A vision of ns-3 March 2012 6 / 27
![Page 29: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/29.jpg)
Long Term Survival
Hard to make enough money to maintain the code:I Small market (network researchers)I Large and complex code
Hard to obtain funding from research agencies:I Funds to use the toolI Funds to extend the toolI No funds to maintain the tool
Lacage A vision of ns-3 March 2012 6 / 27
![Page 30: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/30.jpg)
Open Source Community
Hard to create:I Licensing is trickyI MeritocracyI No discussions behind closed doorsI Must lose control to see the baby grow
Classic management problem:I Spend time to do things yourselfI Spend time to help others do the work
It is a hard pill to (make upper management) swallow
Lacage A vision of ns-3 March 2012 7 / 27
![Page 31: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/31.jpg)
Open Source Community
Hard to create:
I Licensing is trickyI MeritocracyI No discussions behind closed doorsI Must lose control to see the baby grow
Classic management problem:I Spend time to do things yourselfI Spend time to help others do the work
It is a hard pill to (make upper management) swallow
Lacage A vision of ns-3 March 2012 7 / 27
![Page 32: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/32.jpg)
Open Source Community
Hard to create:I Licensing is tricky
I MeritocracyI No discussions behind closed doorsI Must lose control to see the baby grow
Classic management problem:I Spend time to do things yourselfI Spend time to help others do the work
It is a hard pill to (make upper management) swallow
Lacage A vision of ns-3 March 2012 7 / 27
![Page 33: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/33.jpg)
Open Source Community
Hard to create:I Licensing is trickyI Meritocracy
I No discussions behind closed doorsI Must lose control to see the baby grow
Classic management problem:I Spend time to do things yourselfI Spend time to help others do the work
It is a hard pill to (make upper management) swallow
Lacage A vision of ns-3 March 2012 7 / 27
![Page 34: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/34.jpg)
Open Source Community
Hard to create:I Licensing is trickyI MeritocracyI No discussions behind closed doors
I Must lose control to see the baby growClassic management problem:
I Spend time to do things yourselfI Spend time to help others do the work
It is a hard pill to (make upper management) swallow
Lacage A vision of ns-3 March 2012 7 / 27
![Page 35: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/35.jpg)
Open Source Community
Hard to create:I Licensing is trickyI MeritocracyI No discussions behind closed doorsI Must lose control to see the baby grow
Classic management problem:I Spend time to do things yourselfI Spend time to help others do the work
It is a hard pill to (make upper management) swallow
Lacage A vision of ns-3 March 2012 7 / 27
![Page 36: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/36.jpg)
Open Source Community
Hard to create:I Licensing is trickyI MeritocracyI No discussions behind closed doorsI Must lose control to see the baby grow
Classic management problem:
I Spend time to do things yourselfI Spend time to help others do the work
It is a hard pill to (make upper management) swallow
Lacage A vision of ns-3 March 2012 7 / 27
![Page 37: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/37.jpg)
Open Source Community
Hard to create:I Licensing is trickyI MeritocracyI No discussions behind closed doorsI Must lose control to see the baby grow
Classic management problem:I Spend time to do things yourself
I Spend time to help others do the workIt is a hard pill to (make upper management) swallow
Lacage A vision of ns-3 March 2012 7 / 27
![Page 38: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/38.jpg)
Open Source Community
Hard to create:I Licensing is trickyI MeritocracyI No discussions behind closed doorsI Must lose control to see the baby grow
Classic management problem:I Spend time to do things yourselfI Spend time to help others do the work
It is a hard pill to (make upper management) swallow
Lacage A vision of ns-3 March 2012 7 / 27
![Page 39: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/39.jpg)
Open Source Community
Hard to create:I Licensing is trickyI MeritocracyI No discussions behind closed doorsI Must lose control to see the baby grow
Classic management problem:I Spend time to do things yourselfI Spend time to help others do the work
It is a hard pill to (make upper management) swallow
Lacage A vision of ns-3 March 2012 7 / 27
![Page 40: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/40.jpg)
But the good news is...
We (They) all swallowed it.
Lacage A vision of ns-3 March 2012 8 / 27
![Page 41: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/41.jpg)
But the good news is...
We (They) all swallowed it.
Lacage A vision of ns-3 March 2012 8 / 27
![Page 42: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/42.jpg)
And now,
The story of how:
I The Real World pervades everythingI To implement everything 3 or 4 times
I Aka, Incremental development
I To not plan too far
Lacage A vision of ns-3 March 2012 9 / 27
![Page 43: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/43.jpg)
And now,
The story of how:I The Real World pervades everything
I To implement everything 3 or 4 timesI Aka, Incremental development
I To not plan too far
Lacage A vision of ns-3 March 2012 9 / 27
![Page 44: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/44.jpg)
And now,
The story of how:I The Real World pervades everythingI To implement everything 3 or 4 times
I Aka, Incremental development
I To not plan too far
Lacage A vision of ns-3 March 2012 9 / 27
![Page 45: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/45.jpg)
And now,
The story of how:I The Real World pervades everythingI To implement everything 3 or 4 times
I Aka, Incremental development
I To not plan too far
Lacage A vision of ns-3 March 2012 9 / 27
![Page 46: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/46.jpg)
Outline
Introduction
Packet
Object Framework
Conclusion
Lacage A vision of ns-3 March 2012 10 / 27
![Page 47: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/47.jpg)
Requirements
I Transparent conversion to/from real bytesI CPU and memory efficiencyI Fragmentation/ReassemblyI Simulation-only dataI Pretty printingI ExtensibilityI Robust Application Programming Interface (API)
Lacage A vision of ns-3 March 2012 11 / 27
![Page 48: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/48.jpg)
Requirements
I Transparent conversion to/from real bytes
I CPU and memory efficiencyI Fragmentation/ReassemblyI Simulation-only dataI Pretty printingI ExtensibilityI Robust Application Programming Interface (API)
Lacage A vision of ns-3 March 2012 11 / 27
![Page 49: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/49.jpg)
Requirements
I Transparent conversion to/from real bytesI CPU and memory efficiency
I Fragmentation/ReassemblyI Simulation-only dataI Pretty printingI ExtensibilityI Robust Application Programming Interface (API)
Lacage A vision of ns-3 March 2012 11 / 27
![Page 50: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/50.jpg)
Requirements
I Transparent conversion to/from real bytesI CPU and memory efficiencyI Fragmentation/Reassembly
I Simulation-only dataI Pretty printingI ExtensibilityI Robust Application Programming Interface (API)
Lacage A vision of ns-3 March 2012 11 / 27
![Page 51: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/51.jpg)
Requirements
I Transparent conversion to/from real bytesI CPU and memory efficiencyI Fragmentation/ReassemblyI Simulation-only data
I Pretty printingI ExtensibilityI Robust Application Programming Interface (API)
Lacage A vision of ns-3 March 2012 11 / 27
![Page 52: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/52.jpg)
Requirements
I Transparent conversion to/from real bytesI CPU and memory efficiencyI Fragmentation/ReassemblyI Simulation-only dataI Pretty printing
I ExtensibilityI Robust Application Programming Interface (API)
Lacage A vision of ns-3 March 2012 11 / 27
![Page 53: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/53.jpg)
Requirements
I Transparent conversion to/from real bytesI CPU and memory efficiencyI Fragmentation/ReassemblyI Simulation-only dataI Pretty printingI Extensibility
I Robust Application Programming Interface (API)
Lacage A vision of ns-3 March 2012 11 / 27
![Page 54: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/54.jpg)
Requirements
I Transparent conversion to/from real bytesI CPU and memory efficiencyI Fragmentation/ReassemblyI Simulation-only dataI Pretty printingI ExtensibilityI Robust Application Programming Interface (API)
Lacage A vision of ns-3 March 2012 11 / 27
![Page 55: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/55.jpg)
Related Work
Two approaches
I Packet is list of headers: GTNetS, OMNeT++,SSFNet
TCPIP PayloadMAC
I Packet is buffer of bytes: Yans, GloMoSim
TCPIP PayloadMAC
Lacage A vision of ns-3 March 2012 12 / 27
![Page 56: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/56.jpg)
Related Work
Two approachesI Packet is list of headers: GTNetS, OMNeT++,
SSFNet
TCPIP PayloadMAC
I Packet is buffer of bytes: Yans, GloMoSim
TCPIP PayloadMAC
Lacage A vision of ns-3 March 2012 12 / 27
![Page 57: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/57.jpg)
Related Work
Two approachesI Packet is list of headers: GTNetS, OMNeT++,
SSFNet
TCPIP PayloadMAC
I Packet is buffer of bytes: Yans, GloMoSim
TCPIP PayloadMAC
Lacage A vision of ns-3 March 2012 12 / 27
![Page 58: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/58.jpg)
Pros and Cons
List BufferFragmentation, Reassembly XConversion real bytes XSimulation-only data XPretty printing XCPU, memory efficiency X
Lacage A vision of ns-3 March 2012 13 / 27
![Page 59: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/59.jpg)
Pros and Cons
List Buffer ns-3Fragmentation, Reassembly X XConversion real bytes X XSimulation-only data X XPretty printing X XCPU, memory efficiency X X
Lacage A vision of ns-3 March 2012 13 / 27
![Page 60: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/60.jpg)
How did we get there ?
About 10 successive versions...
Lacage A vision of ns-3 March 2012 14 / 27
![Page 61: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/61.jpg)
How did we get there ?
Started with a simple version in YANS:
Headers’ List
Tags
RefCounting
Sep
2005
Lacage A vision of ns-3 March 2012 14 / 27
![Page 62: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/62.jpg)
How did we get there ?
Started with a simple version in YANS:
Headers’ List
Tags
RefCounting
Sep
2005
But, hard to integrate the BSD TCP stack
Lacage A vision of ns-3 March 2012 14 / 27
![Page 63: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/63.jpg)
How did we get there ?
Real bytes in YANS:
Headers’ List
Tags
RefCounting
Real
Bytes
Sep
2005
Jan
2006
Lacage A vision of ns-3 March 2012 14 / 27
![Page 64: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/64.jpg)
How did we get there ?
Real bytes in YANS:
Headers’ List
Tags
RefCounting
Real
Bytes
Sep
2005
Jan
2006
But, hard to manage reference counting by hand
Lacage A vision of ns-3 March 2012 14 / 27
![Page 65: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/65.jpg)
How did we get there ?
Smart Pointers in YANS:
Headers’ List
Tags
RefCounting
Smart
Pointers
Real
Bytes
Sep
2005
Jan
2006
Jun
2006
Lacage A vision of ns-3 March 2012 14 / 27
![Page 66: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/66.jpg)
How did we get there ?
Smart Pointers in YANS:
Headers’ List
Tags
RefCounting
Smart
Pointers
Real
Bytes
Sep
2005
Jan
2006
Jun
2006
But, memory & CPU performance is not good
Lacage A vision of ns-3 March 2012 14 / 27
![Page 67: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/67.jpg)
How did we get there ?
Copy On Write in ns-3:
Headers’ List
Tags
RefCounting
Smart
Pointers
Real
BytesCOW
Sep
2005
Jan
2006
Jun
2006
Jul
2006
Lacage A vision of ns-3 March 2012 14 / 27
![Page 68: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/68.jpg)
How did we get there ?
Copy On Write in ns-3:
Headers’ List
Tags
RefCounting
Smart
Pointers
Real
BytesCOW
Sep
2005
Jan
2006
Jun
2006
Jul
2006
Still, Fast TCP pushes the boundary
Lacage A vision of ns-3 March 2012 14 / 27
![Page 69: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/69.jpg)
How did we get there ?
Virtual payload:
Headers’ List
Tags
RefCounting
Smart
Pointers
Real
BytesCOW
Virtual
Payload
Sep
2005
Jan
2006
Jun
2006
Jul
2006
Aug
2006
Lacage A vision of ns-3 March 2012 14 / 27
![Page 70: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/70.jpg)
How did we get there ?
Virtual payload:
Headers’ List
Tags
RefCounting
Smart
Pointers
Real
BytesCOW
Virtual
Payload
Sep
2005
Jan
2006
Jun
2006
Jul
2006
Aug
2006
Really, debugging is hard
Lacage A vision of ns-3 March 2012 14 / 27
![Page 71: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/71.jpg)
How did we get there ?
Packet UIDs:
Headers’ List
Tags
RefCounting
Smart
Pointers
Real
BytesCOW
Virtual
Payload
Packet
UID
Sep
2005
Jan
2006
Jun
2006
Jul
2006
Aug
2006
Sep
2006
Lacage A vision of ns-3 March 2012 14 / 27
![Page 72: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/72.jpg)
How did we get there ?
Packet UIDs:
Headers’ List
Tags
RefCounting
Smart
Pointers
Real
BytesCOW
Virtual
Payload
Packet
UID
Sep
2005
Jan
2006
Jun
2006
Jul
2006
Aug
2006
Sep
2006
Really, debugging is still hard
Lacage A vision of ns-3 March 2012 14 / 27
![Page 73: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/73.jpg)
How did we get there ?
Packet Pretty Printing:
Headers’ List
Tags
RefCounting
Smart
Pointers
Real
BytesCOW
Virtual
Payload
Pretty
Printing
Packet
UID
Sep
2005
Jan
2006
Jun
2006
Jul
2006
Aug
2006
Sep
2006
May/Jun
2007
Lacage A vision of ns-3 March 2012 14 / 27
![Page 74: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/74.jpg)
How did we get there ?
Packet Pretty Printing:
Headers’ List
Tags
RefCounting
Smart
Pointers
Real
BytesCOW
Virtual
Payload
Pretty
Printing
Packet
UID
Sep
2005
Jan
2006
Jun
2006
Jul
2006
Aug
2006
Sep
2006
May/Jun
2007
But, we do need pointers
Lacage A vision of ns-3 March 2012 14 / 27
![Page 75: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/75.jpg)
How did we get there ?
Pointers are back:
Headers’ List
Tags
RefCounting
Smart
Pointers
Real
BytesCOW
Virtual
Payload
Pretty
Printing
Packet
UIDPtr<Packet>
Sep
2005
Jan
2006
Jun
2006
Jul
2006
Aug
2006
Sep
2006
May/Jun
2007
Oct
2007
Lacage A vision of ns-3 March 2012 14 / 27
![Page 76: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/76.jpg)
What I learned the hard way
I The mountain seems impossibly high at firstI Forget about the top, aim for base campI The mountain grows with every new userI Listen to users
Lacage A vision of ns-3 March 2012 15 / 27
![Page 77: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/77.jpg)
What I learned the hard way
I The mountain seems impossibly high at first
I Forget about the top, aim for base campI The mountain grows with every new userI Listen to users
Lacage A vision of ns-3 March 2012 15 / 27
![Page 78: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/78.jpg)
What I learned the hard way
I The mountain seems impossibly high at firstI Forget about the top, aim for base camp
I The mountain grows with every new userI Listen to users
Lacage A vision of ns-3 March 2012 15 / 27
![Page 79: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/79.jpg)
What I learned the hard way
I The mountain seems impossibly high at firstI Forget about the top, aim for base campI The mountain grows with every new user
I Listen to users
Lacage A vision of ns-3 March 2012 15 / 27
![Page 80: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/80.jpg)
What I learned the hard way
I The mountain seems impossibly high at firstI Forget about the top, aim for base campI The mountain grows with every new userI Listen to users
Lacage A vision of ns-3 March 2012 15 / 27
![Page 81: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/81.jpg)
Outline
Introduction
Packet
Object Framework
Conclusion
Lacage A vision of ns-3 March 2012 16 / 27
![Page 82: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/82.jpg)
Requirements
I Uniform memory managementI Allow simulation configurationI Solve the object composition problemI Decouple Trace Sources from Trace SinksI Allow simulation trace setupI Do not be intrusive to Model developers
Lacage A vision of ns-3 March 2012 17 / 27
![Page 83: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/83.jpg)
Requirements
I Uniform memory management
I Allow simulation configurationI Solve the object composition problemI Decouple Trace Sources from Trace SinksI Allow simulation trace setupI Do not be intrusive to Model developers
Lacage A vision of ns-3 March 2012 17 / 27
![Page 84: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/84.jpg)
Requirements
I Uniform memory managementI Allow simulation configuration
I Solve the object composition problemI Decouple Trace Sources from Trace SinksI Allow simulation trace setupI Do not be intrusive to Model developers
Lacage A vision of ns-3 March 2012 17 / 27
![Page 85: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/85.jpg)
Requirements
I Uniform memory managementI Allow simulation configurationI Solve the object composition problem
I Decouple Trace Sources from Trace SinksI Allow simulation trace setupI Do not be intrusive to Model developers
Lacage A vision of ns-3 March 2012 17 / 27
![Page 86: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/86.jpg)
Requirements
I Uniform memory managementI Allow simulation configurationI Solve the object composition problemI Decouple Trace Sources from Trace Sinks
I Allow simulation trace setupI Do not be intrusive to Model developers
Lacage A vision of ns-3 March 2012 17 / 27
![Page 87: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/87.jpg)
Requirements
I Uniform memory managementI Allow simulation configurationI Solve the object composition problemI Decouple Trace Sources from Trace SinksI Allow simulation trace setup
I Do not be intrusive to Model developers
Lacage A vision of ns-3 March 2012 17 / 27
![Page 88: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/88.jpg)
Requirements
I Uniform memory managementI Allow simulation configurationI Solve the object composition problemI Decouple Trace Sources from Trace SinksI Allow simulation trace setupI Do not be intrusive to Model developers
Lacage A vision of ns-3 March 2012 17 / 27
![Page 89: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/89.jpg)
Fast Forward to 2012
I Memory management: Ptr<Object> + DisposeI Configuration: Attributes + ConfigStoreI Tracing: integrated in AttributesI Configuration, Tracing: optional
Now on par with Omnetpp & Opnet feature-wise
Lacage A vision of ns-3 March 2012 18 / 27
![Page 90: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/90.jpg)
Fast Forward to 2012
I Memory management: Ptr<Object> + Dispose
I Configuration: Attributes + ConfigStoreI Tracing: integrated in AttributesI Configuration, Tracing: optional
Now on par with Omnetpp & Opnet feature-wise
Lacage A vision of ns-3 March 2012 18 / 27
![Page 91: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/91.jpg)
Fast Forward to 2012
I Memory management: Ptr<Object> + DisposeI Configuration: Attributes + ConfigStore
I Tracing: integrated in AttributesI Configuration, Tracing: optional
Now on par with Omnetpp & Opnet feature-wise
Lacage A vision of ns-3 March 2012 18 / 27
![Page 92: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/92.jpg)
Fast Forward to 2012
I Memory management: Ptr<Object> + DisposeI Configuration: Attributes + ConfigStoreI Tracing: integrated in Attributes
I Configuration, Tracing: optional
Now on par with Omnetpp & Opnet feature-wise
Lacage A vision of ns-3 March 2012 18 / 27
![Page 93: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/93.jpg)
Fast Forward to 2012
I Memory management: Ptr<Object> + DisposeI Configuration: Attributes + ConfigStoreI Tracing: integrated in AttributesI Configuration, Tracing: optional
Now on par with Omnetpp & Opnet feature-wise
Lacage A vision of ns-3 March 2012 18 / 27
![Page 94: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/94.jpg)
Fast Forward to 2012
I Memory management: Ptr<Object> + DisposeI Configuration: Attributes + ConfigStoreI Tracing: integrated in AttributesI Configuration, Tracing: optional
Now on par with Omnetpp & Opnet feature-wise
Lacage A vision of ns-3 March 2012 18 / 27
![Page 95: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/95.jpg)
A Windy Path
It Started with nothing
Lacage A vision of ns-3 March 2012 19 / 27
![Page 96: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/96.jpg)
A Windy Path
But tom liked the ns-2 default values
Default
Value
Mar
2007
Lacage A vision of ns-3 March 2012 19 / 27
![Page 97: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/97.jpg)
A Windy Path
But tom liked the ns-2 default values
Default
Value
Mar
2007
What about memory management, aggregation ?
Lacage A vision of ns-3 March 2012 19 / 27
![Page 98: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/98.jpg)
A Windy Path
Here comes microsoft’s IUnknown!
Default
Value
IUnknown
Mar
2007
Apr
2007
Lacage A vision of ns-3 March 2012 19 / 27
![Page 99: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/99.jpg)
A Windy Path
Here comes microsoft’s IUnknown!
Default
Value
IUnknown
Mar
2007
Apr
2007
Scratch that, everyone hates it
Lacage A vision of ns-3 March 2012 19 / 27
![Page 100: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/100.jpg)
A Windy Path
Resolving trace sources: microsoft’s IMoniker
Default
ValueIMoniker
IUnknown
Mar
2007
Apr
2007
Lacage A vision of ns-3 March 2012 19 / 27
![Page 101: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/101.jpg)
A Windy Path
Resolving trace sources: microsoft’s IMoniker
Default
ValueIMoniker
IUnknown
Mar
2007
Apr
2007
Hrm... So, what about memory management ?
Lacage A vision of ns-3 March 2012 19 / 27
![Page 102: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/102.jpg)
A Windy Path
Reference Counting wins
Default
Value
Reference
Counting
IMoniker
IUnknown
Mar
2007
Apr
2007
May
2007
Lacage A vision of ns-3 March 2012 19 / 27
![Page 103: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/103.jpg)
A Windy Path
Reference Counting wins
Default
Value
Reference
Counting
IMoniker
IUnknown
Mar
2007
Apr
2007
May
2007
And Cycles ?
Lacage A vision of ns-3 March 2012 19 / 27
![Page 104: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/104.jpg)
A Windy Path
Dispose to Break the Cycles
Default
ValueDispose
Reference
Counting
IMoniker
IUnknown
Mar
2007
Apr
2007
May
2007
Lacage A vision of ns-3 March 2012 19 / 27
![Page 105: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/105.jpg)
A Windy Path
Dispose to Break the Cycles
Default
ValueDispose
Reference
Counting
IMoniker
IUnknown
Mar
2007
Apr
2007
May
2007
Where is my IUnknown::QueryInterface ?
Lacage A vision of ns-3 March 2012 19 / 27
![Page 106: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/106.jpg)
A Windy Path
Dynamic Aggregation
Default
ValueDispose
Reference
CountingAggregation
IMoniker
IUnknown
Mar
2007
Apr
2007
May
2007
Lacage A vision of ns-3 March 2012 19 / 27
![Page 107: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/107.jpg)
A Windy Path
Dynamic Aggregation
Default
ValueDispose
Reference
CountingAggregation
IMoniker
IUnknown
Mar
2007
Apr
2007
May
2007
Ref/Unref by hand still sucks!
Lacage A vision of ns-3 March 2012 19 / 27
![Page 108: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/108.jpg)
A Windy Path
Smart Pointers are back
Default
ValueDispose
Reference
Counting
Ptr<>
Aggregation
IMoniker
IUnknown
Mar
2007
Apr
2007
May
2007
Lacage A vision of ns-3 March 2012 19 / 27
![Page 109: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/109.jpg)
A Windy Path
Smart Pointers are back
Default
ValueDispose
Reference
Counting
Ptr<>
Aggregation
IMoniker
IUnknown
Mar
2007
Apr
2007
May
2007
IMoniker is still ugly...
Lacage A vision of ns-3 March 2012 19 / 27
![Page 110: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/110.jpg)
A Windy Path
Introduce Attributes
Default
ValueDispose
Reference
Counting
Ptr<>
Aggregation
IMoniker Attributes
IUnknown
Mar
2007
Apr
2007
Jan-Mar
2008
May
2007
Lacage A vision of ns-3 March 2012 19 / 27
![Page 111: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/111.jpg)
With hindsight...
I wish:I we had looked at Omnetpp & Opnet before
The result is still nice thanks to:I Willingness to listen to usersI Incremental development
Lacage A vision of ns-3 March 2012 20 / 27
![Page 112: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/112.jpg)
With hindsight...
I wish:I we had looked at Omnetpp & Opnet before
The result is still nice thanks to:I Willingness to listen to usersI Incremental development
Lacage A vision of ns-3 March 2012 20 / 27
![Page 113: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/113.jpg)
With hindsight...
I wish:I we had looked at Omnetpp & Opnet before
The result is still nice thanks to:I Willingness to listen to users
I Incremental development
Lacage A vision of ns-3 March 2012 20 / 27
![Page 114: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/114.jpg)
With hindsight...
I wish:I we had looked at Omnetpp & Opnet before
The result is still nice thanks to:I Willingness to listen to usersI Incremental development
Lacage A vision of ns-3 March 2012 20 / 27
![Page 115: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/115.jpg)
No, it is not over
Real Code Integration:I Linux kernel, Quagga, CCNx, etc.I ContikiI TinyOS
Brings new challenges:I Attributes ?I Tracing ?
Lacage A vision of ns-3 March 2012 21 / 27
![Page 116: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/116.jpg)
No, it is not over
Real Code Integration:I Linux kernel, Quagga, CCNx, etc.
I ContikiI TinyOS
Brings new challenges:I Attributes ?I Tracing ?
Lacage A vision of ns-3 March 2012 21 / 27
![Page 117: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/117.jpg)
No, it is not over
Real Code Integration:I Linux kernel, Quagga, CCNx, etc.I Contiki
I TinyOSBrings new challenges:
I Attributes ?I Tracing ?
Lacage A vision of ns-3 March 2012 21 / 27
![Page 118: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/118.jpg)
No, it is not over
Real Code Integration:I Linux kernel, Quagga, CCNx, etc.I ContikiI TinyOS
Brings new challenges:I Attributes ?I Tracing ?
Lacage A vision of ns-3 March 2012 21 / 27
![Page 119: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/119.jpg)
No, it is not over
Real Code Integration:I Linux kernel, Quagga, CCNx, etc.I ContikiI TinyOS
Brings new challenges:I Attributes ?
I Tracing ?
Lacage A vision of ns-3 March 2012 21 / 27
![Page 120: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/120.jpg)
No, it is not over
Real Code Integration:I Linux kernel, Quagga, CCNx, etc.I ContikiI TinyOS
Brings new challenges:I Attributes ?I Tracing ?
Lacage A vision of ns-3 March 2012 21 / 27
![Page 121: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/121.jpg)
Configuring Attributes
Linux Kernel:I Bridge /proc/net inside the attribute systemI Difficult to really map one to oneI Extend Attributes to handle structures, arrays ?
Other Applications:I I have no idea.
Lacage A vision of ns-3 March 2012 22 / 27
![Page 122: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/122.jpg)
Configuring Attributes
Linux Kernel:
I Bridge /proc/net inside the attribute systemI Difficult to really map one to oneI Extend Attributes to handle structures, arrays ?
Other Applications:I I have no idea.
Lacage A vision of ns-3 March 2012 22 / 27
![Page 123: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/123.jpg)
Configuring Attributes
Linux Kernel:I Bridge /proc/net inside the attribute system
I Difficult to really map one to oneI Extend Attributes to handle structures, arrays ?
Other Applications:I I have no idea.
Lacage A vision of ns-3 March 2012 22 / 27
![Page 124: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/124.jpg)
Configuring Attributes
Linux Kernel:I Bridge /proc/net inside the attribute systemI Difficult to really map one to one
I Extend Attributes to handle structures, arrays ?Other Applications:
I I have no idea.
Lacage A vision of ns-3 March 2012 22 / 27
![Page 125: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/125.jpg)
Configuring Attributes
Linux Kernel:I Bridge /proc/net inside the attribute systemI Difficult to really map one to oneI Extend Attributes to handle structures, arrays ?
Other Applications:I I have no idea.
Lacage A vision of ns-3 March 2012 22 / 27
![Page 126: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/126.jpg)
Configuring Attributes
Linux Kernel:I Bridge /proc/net inside the attribute systemI Difficult to really map one to oneI Extend Attributes to handle structures, arrays ?
Other Applications:
I I have no idea.
Lacage A vision of ns-3 March 2012 22 / 27
![Page 127: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/127.jpg)
Configuring Attributes
Linux Kernel:I Bridge /proc/net inside the attribute systemI Difficult to really map one to oneI Extend Attributes to handle structures, arrays ?
Other Applications:I I have no idea.
Lacage A vision of ns-3 March 2012 22 / 27
![Page 128: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/128.jpg)
Tracing
We do not want to modify the external code:I Linux Kernel: Tracepoints, Ftrace, KProbe, etc.I But no builtin tracing in general
Re-implement Kprobe, JProbe, etc. in userspace:I Introspection using debug informationI Dynamic patching of assembly code
Lacage A vision of ns-3 March 2012 23 / 27
![Page 129: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/129.jpg)
Tracing
We do not want to modify the external code:
I Linux Kernel: Tracepoints, Ftrace, KProbe, etc.I But no builtin tracing in general
Re-implement Kprobe, JProbe, etc. in userspace:I Introspection using debug informationI Dynamic patching of assembly code
Lacage A vision of ns-3 March 2012 23 / 27
![Page 130: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/130.jpg)
Tracing
We do not want to modify the external code:I Linux Kernel: Tracepoints, Ftrace, KProbe, etc.
I But no builtin tracing in generalRe-implement Kprobe, JProbe, etc. in userspace:
I Introspection using debug informationI Dynamic patching of assembly code
Lacage A vision of ns-3 March 2012 23 / 27
![Page 131: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/131.jpg)
Tracing
We do not want to modify the external code:I Linux Kernel: Tracepoints, Ftrace, KProbe, etc.I But no builtin tracing in general
Re-implement Kprobe, JProbe, etc. in userspace:I Introspection using debug informationI Dynamic patching of assembly code
Lacage A vision of ns-3 March 2012 23 / 27
![Page 132: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/132.jpg)
Tracing
We do not want to modify the external code:I Linux Kernel: Tracepoints, Ftrace, KProbe, etc.I But no builtin tracing in general
Re-implement Kprobe, JProbe, etc. in userspace:
I Introspection using debug informationI Dynamic patching of assembly code
Lacage A vision of ns-3 March 2012 23 / 27
![Page 133: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/133.jpg)
Tracing
We do not want to modify the external code:I Linux Kernel: Tracepoints, Ftrace, KProbe, etc.I But no builtin tracing in general
Re-implement Kprobe, JProbe, etc. in userspace:I Introspection using debug information
I Dynamic patching of assembly code
Lacage A vision of ns-3 March 2012 23 / 27
![Page 134: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/134.jpg)
Tracing
We do not want to modify the external code:I Linux Kernel: Tracepoints, Ftrace, KProbe, etc.I But no builtin tracing in general
Re-implement Kprobe, JProbe, etc. in userspace:I Introspection using debug informationI Dynamic patching of assembly code
Lacage A vision of ns-3 March 2012 23 / 27
![Page 135: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/135.jpg)
Outline
Introduction
Packet
Object Framework
Conclusion
Lacage A vision of ns-3 March 2012 24 / 27
![Page 136: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/136.jpg)
Summary
What really matters (today):I Alignment with the Real WorldI An Open Source CommunityI Incremental developmentI No one (but you) knows where ns-3 is headed
Lacage A vision of ns-3 March 2012 25 / 27
![Page 137: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/137.jpg)
Summary
What really matters (today):
I Alignment with the Real WorldI An Open Source CommunityI Incremental developmentI No one (but you) knows where ns-3 is headed
Lacage A vision of ns-3 March 2012 25 / 27
![Page 138: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/138.jpg)
Summary
What really matters (today):I Alignment with the Real World
I An Open Source CommunityI Incremental developmentI No one (but you) knows where ns-3 is headed
Lacage A vision of ns-3 March 2012 25 / 27
![Page 139: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/139.jpg)
Summary
What really matters (today):I Alignment with the Real WorldI An Open Source Community
I Incremental developmentI No one (but you) knows where ns-3 is headed
Lacage A vision of ns-3 March 2012 25 / 27
![Page 140: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/140.jpg)
Summary
What really matters (today):I Alignment with the Real WorldI An Open Source CommunityI Incremental development
I No one (but you) knows where ns-3 is headed
Lacage A vision of ns-3 March 2012 25 / 27
![Page 141: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/141.jpg)
Summary
What really matters (today):I Alignment with the Real WorldI An Open Source CommunityI Incremental developmentI No one (but you) knows where ns-3 is headed
Lacage A vision of ns-3 March 2012 25 / 27
![Page 142: Mathieu Lacage March, 24th 2012 · Lacage A vision of ns-3 March 2012 3 / 27. Requirements Real-code integration, Emulation: I Models must not be too abstract (Node, etc.) I Must](https://reader034.vdocument.in/reader034/viewer/2022042407/5f21cf84f735504eb464b878/html5/thumbnails/142.jpg)
Thank you !
Questions ?
Lacage A vision of ns-3 March 2012 26 / 27