swarm-support
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Schedule Properties


From: manor
Subject: Schedule Properties
Date: Sun, 13 Jul 1997 16:49:34 -0700

Over the last few weeks I've been wondering about certain aspects of the
scheduling mechanism in Swarm, and the last few messages have helped me
organize my thoughts into this question:

**************************************************************************

  Assume the following list of sim-schedule properties:

    A) There exists a sim-time clock frequency (f) high enough to cover all
       event times. <<True of all Swarm simulations>>

    B) There always exists at least one event which is required to execute
       at each of those basic timesteps (c + t/f).

    C) Most simulation events are scheduled with frequency f.

    D) All simulation events are scheduled with frequency f.

    << properties B,C,D suggest some sort of measure of event density >>

    E) All simulation events are known at compile-time.

  The question is: which of these properties holds for the swarm models
  being designed by the user community, and with what distribution?

*****************************************************************************

The motivation behind the question is the following: since most A-Life
researchers are interested in emergent phenomena they seem to always
seek the basic pulse of the system they are modelling, and they seem
to prefer getting the rest by pure observation (i.e. the higher-level,
slower events are observed not scheduled). Also, most systems seem to
have a multitude of agents which require updating at _that_ basic rate.

If this turns out to be the case we should probably support dense
schedules more directly than with the following sort of idiom:

  id  startSchedule, repeatSchedule;

  startSchedule = [Schedule create: aZone];

  repeatSchedule = [Schedule createBegin: aZone];
  [repeatSchedule setRepeatInterval: 3];
  repeatSchedule = [repeatSchedule createEnd];
  [repeatSchedule at: 0 createActionTo: someObject message: M(doSomething)];

  [startSchedule at: 20 createActionTo: repeatSchedule
     message: M(activateIn:) : aSwarm];
  [startSchedule activateIn: aSwarm];

I would prefer writing something like:

  REPEAT(someObjectContainer,someMethod,3,20) ;

which could be supported extremely efficiently if properties B,C,D and
(optionally) E are sufficiently common within the Swarm community.

Regards,

Manor.

                  ==================================
   Swarm-Support is for discussion of the technical details of the day
   to day usage of Swarm.  For list administration needs (esp.
   [un]subscribing), please send a message to <address@hidden>
   with "help" in the body of the message.
                  ==================================


reply via email to

[Prev in Thread] Current Thread [Next in Thread]