[Ns-developers] Cooperative ns-3 simulation with third party software via JSON-RPC
vincent at clarinet.u-strasbg.fr
Mon Jan 12 04:34:52 PST 2009
Mathieu Lacage wrote:
> On Fri, 2009-01-09 at 18:09 +0100, Sébastien Vincent wrote:
>> Last summer at the University of Strasbourg, we began a new extension
>> for ns-3 which allows external applications to
>> interact with ns-3. Initially those functionalities were needed to
>> interconnect a mobility simulator with ns-3. The
>> goal is that a mobility simulator do all mobility stuff while ns-3
>> realizes network (L2, L3, transport and application)
> I have to confess that I am a bit curious: since you seem to have
> implemented your own mobility simulator from scratch, why did you not
> just add new mobility models to ns-3 rather than create a separate
> project and deal with the communication between the 2 ? Are you re-using
> the mobility simulator with another network simulator ? I am merely
> curious :)
The mobility simulator used (LEMMA) is part of Alexander Pelov's PhD
thesis. It is in fact a implementation of the theoritical mobility model
architecture which is described in the paper:
Layered Architecture for Mobility Models LEMMA, A. PELOV, T. NOèL,
Communications, Information Technology & Biomedical Applications, 2008
Third International Conference on, page 365--372 - november 2008"
I think it was simpler for him to implement from scratch (in python)
than learn ns-3 stuff, ...
>> We decided that this ns-3 extension should be as generic as possible and
>> that any external applications could "connect" to ns-3 via
>> the network. So we decided to use JSON format  and its remote
>> procedure call version JSON-RPC . We chose JSON
> I am also curious about this: since ns-3 has a python binding, it should
> be fairly trivial to use XML-RPC to remotely instanciate and control a
> network topology simulation. Was it impossible to use XML-RPC from your
> C++ application ?
Like I said, we think XML is too verbose (takes bandwidth) and Alexander
insists on using lightweigh format called JSON. And to be honest it is
very good to use.
>> because it is more lightweight compared to XML (which is a very verbose
> Or maybe this is because you were worried about the XML part in XML-RPC.
> [snip lots of interesting API and implementation details]
>> To conclude we would like to know if this kind of features is
>> interesting to the community. If so, we have several questions we
> I am not sure a lot of people would find these new features useful but I
> don't see why we could not merge your code if it does not have a
> negative impact on the existing codebase and if you maintain it.
>> would like to discuss with you regarding the implementation of node
>> mobility in ns-3. We would be glad to discuss and improve our
>> design solution.
> If you have comments on the ns-3 mobility support, they are more than
> welcome, regardless of whether you want or can merge your own code in
> Anyway, this looks pretty cool and interesting so, thanks for releasing
> all this code and taking time to let us know about it.
OK so we wait your comments. And later we could discuss about merging
it, maybe for ns-3..
More information about the Ns-developers