[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Swarm-Support] Concurrent Schedulling
From: |
Paul Johnson |
Subject: |
Re: [Swarm-Support] Concurrent Schedulling |
Date: |
Thu, 13 May 2004 15:46:16 -0500 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040116 |
I'm not sure concurrent scheduling will really get you where you want to
go. Recall Swarm is a discrete event simulation, things happen one
after another.
If you really do mean simultaneous action, it means that each acts
without observing any actions from the others at the same instant.
That's not really a scheduling thing, its a model/environment design thing.
If you are working in the Cellular Automata tradition, you can use the
double-buffering ideas in swarm ca elements to have all cells update
against a "snapshot" of the situation. Mostly, we have been trying to
get away from that synchronous paradigm in agent-based modeling, people
would rather have agents do their thing one at a time and observe what
the other guys are doing.
The Swarm Concurrent apparatus is there in case actions are inserted
into the schedule at the same time. How should they be processed?
Should it be "first in first out" or "randomized" or what not. It may
have been on the agenda to have some sort of approximation to "true
simultaneous" action on parallel systems, but I don't know if that is
actively pursued.
In other words, there are plenty of fiddles you can make with schedules,
to deal with actions thrown in for the same discrete time step, but none
of them will result in true simultaneity. If you want something like
that, you need to diddle the environment and the agent's knowledge of it.
I think the program "activists" that I did with Dave Brichoux has a
pretty big component that differentiates agent behaviors on this
premise. You can run the model in SYNCHRONOUS mode, so that all agents
update their behavior at each step in light of a "frozen snapshot" of
the state of all the others, or they can be ASYNCHRONOUS, which means
that each one who acts plunks his impact on the environment for the next
guy to see. Look for it in
http://lark.cc.ku.edu/~pauljohn/Swarm/MySwarmCode.
good luck
pj
Triki Amel wrote:
Hi !!
I'm a new user of the Swarm libraries. I have been writing a program in
java using Swarm and have a problem with the schedulling and
specifically concurrent schedulling. I have a List of agents that
have to hear, move and scan to displays in the same time.
I dont find how to manipulate ConcurrentGroup and concurrentSchedule.
If there is an example in java, it will help me a lot.
Thank you very much for your help !!
amel
------------------------------------------------------------------------
Yahoo! Mail : votre e-mail personnel et gratuit qui vous suit partout !
Créez votre Yahoo! Mail
<http://fr.rd.yahoo.com/mail/taglines/*http://fr.rd.yahoo.com/mail/mail_taglines/default/*http://fr.benefits.yahoo.com/>
Dialoguez en direct avec vos amis grâce à Yahoo! Messenger !
<http://fr.rd.yahoo.com/mail/taglines/*http://fr.rd.yahoo.com/messenger/mail_taglines/default/*http://fr.messenger.yahoo.com/>
--
Paul E. Johnson email: address@hidden
Dept. of Political Science http://lark.cc.ku.edu/~pauljohn
1541 Lilac Lane, Rm 504
University of Kansas Office: (785) 864-9086
Lawrence, Kansas 66044-3177 FAX: (785) 864-5700