Print

Print


Hi,

There may only be one or two MASON core team members on this list who can answer this question, but:

I've inherited some code in an internal project that uses a subclassed AbstractAction from Repast so that things are stepped according to a probabilistic distribution--instead of stepping at precise intervals, such as every 10 ticks, scheduled entities are stepped, on average, every 10 ticks:
 
"GeomAction provides an IAction that repeats at intervals drawn from the geometric distribution.  The interval parameter passed into the constructor is the probability that the action occurs in one tick.The event [AbstractAction] converts the interval to log(1-P) to increase efficiency in computing the interval.  The interval for rescheduling will be ceiling(log(U)/log(1-P)) where U is a draw from the uniform random distribution between 0 and 1.0"
 
Repast allows you to replace their "schedule" with a custom version, and ours creates GeomAction instances as described above.  They use reflection and annotated methods rather than a step() approach like MASON, but that's not the important part of this.
 
Is geometric scheduling would be something that I could implement in MASON and what the scope might entail?  I would like to consider switching our project to MASON.  
 
Thanks.
Tony