Bugzilla – Full Text Bug Listing |
Summary: | document how to apply fuzz to models | ||
---|---|---|---|
Product: | ns-3 | Reporter: | Tom Henderson <tomh> |
Component: | documentation | Assignee: | Tom Henderson <tomh> |
Status: | NEW --- | ||
Severity: | normal | CC: | mathieu.lacage, ns-bugs |
Priority: | P3 | ||
Version: | ns-3-dev | ||
Hardware: | All | ||
OS: | All |
Description
Tom Henderson
2008-10-23 00:32:14 UTC
Testing email hook (bug touch)--- please ignore another test of email hook-please ignore How about implementing the following trivial API ? class ApplicationContainer { public: void Start (RandomVariable &v); }; app.Start (UniformVariable (0.9, 1.1)); There are lots of refinements which could be done on top of this basic idea but it seems to me that this would solve a lot of the use-cases we discussed in the past. (In reply to comment #3) > How about implementing the following trivial API ? > > class ApplicationContainer > { > public: > void Start (RandomVariable &v); > }; > > app.Start (UniformVariable (0.9, 1.1)); > > There are lots of refinements which could be done on top of this basic idea but > it seems to me that this would solve a lot of the use-cases we discussed in the > past. > This is probably too limiting: - more than "start time" is needed (mainly, timeouts) - more than applications need to be covered (e.g. devices, operating systems, etc.) I was thinking, maybe move timer.cc,h to src/core and add Timer::SetFuzz (RandomVariable var); plus, a documented suggestion for users to know how to insert fuzz time between function calls, such as e.g. Simulator::Schedule (UniformVariable::GetSingleValue (), &function, this, arg1, arg2, ...); (or whatever UniformVariable::GetSingleValue () equivalent is with the new random variable API). Application::Start () and application containers could have starting time fuzz too, like you suggest. (In reply to comment #4) > I was thinking, maybe move timer.cc,h to src/core and add > > Timer::SetFuzz (RandomVariable var); you can't move it to core because it depends on the simulator API and core does not depend on simulator: it is the other way around. > > plus, a documented suggestion for users to know how to insert fuzz time between > function calls, such as e.g. > Simulator::Schedule (UniformVariable::GetSingleValue (), > &function, this, arg1, arg2, ...); ok. > > (or whatever UniformVariable::GetSingleValue () equivalent is with the new > random variable API). > > Application::Start () and application containers could have starting time fuzz > too, like you suggest. My point, though, is that most other timers are synchronized on the first data packet going down the stack due to some implementation details so, if you do the application-level fuzz, you will get 90% of the solution in the current codebase. i.e., it's a cheap way to make decent progress. |