The JAS-mine platform‎ > ‎Concept‎ > ‎

The JAS-mine engine

The core of the JAS-mine toolkit is represented by the simulation engine. It is based on the standard discrete-event simulation paradigm, which allows to manage the time with high flexibility and multi-scale perspective. 

The JAS-mine engine is based on the scheduler, which handles all the events in the simulation. The scheduler is a "singleton" (in software engineering, the singleton pattern is a design pattern that restricts the instantiation of a class to one object), which means that all the agents in the simulation share the same scheduler. Events can be scheduled in advance (for instance once every simulation period) or dynamically, by the agents themselves (for instance, job termination is scheduled upon hiring). This allows to implement both continuous-time and discrete-time simulations. 

Also, JAS-mine allows multiple Models to run simultaneously, since they share the same scheduler.  This permits the creation of complex structures where agents of different Models can interact. Each Model is implemented in a separate Java class that creates the objects and plans the schedule of events for that Model.