A design decision like this can be accepted if it was supported by 
proper documentation, which is absolutely not the case for ns-2. IMHO, 
the biggest problem of ns-2 is lack of proper documentation.

At least, there has to be two documents: a user's guide, and a 
developer's guide.
ns manual is, again, a mixture of both that, in its current state, does 
not serve the purpose of any! I understand it is a work-in-progress, but 
it doesn't have a consistent format for different sections. The level of 
detail ranges across a wide spectrum in various sections.

A user's guide has to worry about writing oTcl simulation scripts that 
only uses the simulator to run simulation scenarios. At least half of 
the problems discussed in the list can be avoided by having such a document.

A developer's guide should present the simulator's architecture, and 
describe the design of individual modules. Moreover, it should clarify 
how to go about implementing new modules for every layer in the 
networking stack.

The maintainers' requirements for including new modules in the 
distribution is a good move, if they were met more often!

I'm very much interested in producing a more accessible documentation 
suite for ns-2. Such a great tool has much greater potential than it is 
credited for, only if it had proper documentation. To take a positive 
action, I'm willing to spend some time helping the dream of good ns-2 
documentation happen. If anyone else is interested, please let's do 
something about it.

PS. the #ns-2 IRC channel on irc.freenode.net could be a good place for 
such discussions!

Regards,
- Ahmad Khayyat


Bo Wang wrote:
> Hi,
>
> IMHO, the mixture of C++ and oTcl is the most annoying feature of NS
> which makes it really hard to understand the code.
>
> Best,
> Bo Wang
>
>
> On 5/31/06, Ahmad Khayyat <[EMAIL PROTECTED]> wrote:
>   
>> Just a tiny hint..
>>
>> When you trace the code, don't forget that ns-2 is a mixture of C++ and
>> oTcl. Much of the object passing is done through oTcl.
>>
>> Faisal Siddiqui wrote:
>>     
>>> Hi Paul,
>>>
>>> Thanks for the link.
>>>
>>> I totally agree with you. I have spent so much time trying to understand
>>>       
>> as
>>     
>>> to how does the simulation flows through the source code, but can't
>>>       
>> really
>>     
>>> make any headways anymore. I am trying to implement a new control flow
>>> mechanism where no packet are dropped, but in order to do so I have read
>>>       
>> the
>>     
>>> queue size of the next hop so that the current node can decide whether
>>>       
>> to
>>     
>>> accept any more packets from other nodes or flag its exception
>>>       
>> indicatiing
>>     
>>> to all other nodes feeding into it to stop sending more packets to it. I
>>>       
>> am
>>     
>>> really stuck right now because I can't locate where in the source code
>>>       
>> does
>>     
>>> the current node find its next hop address and how does it find that
>>>       
>> out. I
>>     
>>> have bunch of more questions like how does the node and agents are
>>>       
>> located
>>     
>>> to each other because nodes don't store any information regarding agents
>>>       
>> or
>>     
>>> classifiers within them and vice-versa.
>>>
>>> I am still waiting if someone could lend some insight into it. Please
>>>       
>> let me
>>     
>>> know if you have any comments or if you find any help.
>>>
>>> Thanks,
>>> - Faisal
>>>
>>>
>>> On 5/21/06, Paul Vincent Craven <[EMAIL PROTECTED]> wrote:
>>>
>>>       
>>>> The proper link is:
>>>> http://www.grid.unina.it/~vollero/resources/doc_ns2.27/html/index.html
>>>>
>>>> But the documentation there is limited at best.
>>>>
>>>> I'm in the same boat as you. I've spent a very long time trying to
>>>> understand the passing of events around, how to switch between
>>>> classifiers, etc. I'd love to find someone who really knows NS2 and
>>>>         
>> hire
>>     
>>>> them as a consultant for a few hours just to answer all my questions!
>>>>
>>>> Paul Vincent Craven
>>>> [EMAIL PROTECTED]
>>>>
>>>>
>>>>
>>>>         

Reply via email to