June 2005


Options: Use Monospaced Font
Show HTML Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
"Candy E. Sansores" <[log in to unmask]>
Reply To:
MASON Multiagent Simulation Toolkit <[log in to unmask]>
Mon, 20 Jun 2005 13:15:32 -0700
text/plain (2543 bytes) , text/html (3028 bytes)
I think scheduling individual steppables is the best option if we consider MAS fundamentals. I got confused with the documentation of RandomSequence and I thought the master list of individual scheduled agents was a dynamic structure that would be updated with the random sequence array, I am not using it anymore. I have no doubt that utility Steppables are useful, but we should avoid scheduling individual actions on agents, and make the agents sense the environment or interact with other agents and decide what actions to execute autonomously.
I am developing a framework that uses a visual language to specify a mabs model, and translate the specification into source code, now I am making tests with repast and mason, what I liked about mason is the posibility of scheduling agents and not necesarily actions, like repast do. My point of view is influenced by conceptual modeling issues, probably during the implementation phase of most simulations, scheduling individual actions helps very much the development, but is like having a central coordinator and is contrary to some of the ideas that motivated a multi agent based approach.

Thank you very much for all your help and comments, I resolved my problem.

"glen e. p. ropella" <[log in to unmask]> wrote:
Sean Luke wrote:
> Right. But remember that most of the utility Steppables (MultiStep,
> Sequence, ParallelSequence, RandomSequence, WeakStep, etc.) are our
> attempt to handle the 90% most common needs with some pre-built
> Steppable classes that we found useful. There's nothing special about
> them.

Yes. I understand. That's why I didn't suggest Candy use RandomSequence.

> Note that you have to be careful here because if the Bag does not
> contain Steppables, you'll get a ClassCastException. Also, if you
> change the Bag from within the step() method of something in the
> BagSequence, it'd effect the for-loop of the step() method in
> BagSequence in ways that you'd have to think carefully about.

Thanks for the code example. Since most of my structures are dynamic
and are altered during the iteration of the schedule, the safety of the
collection will usually matter. So, I typically prefer to schedule
individual Steppables. I use the composite Steppables sparingly.

Thanks to you and the rest of the Mason crowd for your efforts. I
appreciate them.

glen e. p. ropella =><= Hail Eris!
H: 503-630-4505
M: 503-971-3846

Yahoo! Mail Mobile
 Take Yahoo! Mail with you! Check email on your mobile phone.