[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Swarm-Support] Concurrent Schedulling
From: |
Ken Cline |
Subject: |
Re: [Swarm-Support] Concurrent Schedulling |
Date: |
Fri, 14 May 2004 06:21:01 -0700 (PDT) |
Of course you could use the scheduling mechanism to achieve the
double-buffering, eg:
- step {
[self senseWorld];
[self scheduleChangeTo: [self nextState] // null ==> no change
at: [self getCurrentTime] ];
}
Ken.
--- Paul Johnson <address@hidden> wrote:
>
> 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
=====
_________________________________________________________
Ken Cline W: (443) 287-2636
address@hidden