previous | start | next

ASM III--Scheduling

ASM uses a homemade schedule, which essentially amounts to a loop over the actions of the system and the agents.

Observe in main.m, agents are created and then the system repeats until a pre-designated time.

// Perform any events scheduled for startup
    performEvents();
// Main loop on periods
    while (t < lasttime) {
    // Either perform a fake warmup period or a normal one (increments t)
        if (t < 0)
            warmup();
        else
            period();
    // Perform any scheduled events
        performEvents();
    }

This is calling functions warmup() and period() that exist in control.m, which in turn loop over agents.

As far as I can see, this scheduling approach is not wrong, but it certainly isn't very right.
 



previous | start | next