class diagrams

Model, Stepper and Entity

http://www.sfc.keio.ac.jp/~shafi/modelclass.png

Stepper classes

TYPE dt time scale Process Interrupt Interrupted
Differential, or DE var. == dt addVelocity yes shrink dt, reschedule
Discrete Time, or DT const. == dt setValue yes ignore
Dicrete Event, or DEV var. var. setValue Timescale always
Slave Inf. == dt (== Inf) setValue never step()

how the simulator steps

Definitions

  • Model class has a dynamic priority queue of Event objects. The Events are incompletely-sorted as a heap tree. Sort criteria is less<Event>, that is, the event with earliest scheduled time is kept on the top.
  • current time is defined as a scheduled time of the top Event

PropertyInterface?

Entity is-a PropertyInterface?

Roles

  • set/get properties getting Message objects
  • argument / returns UConstantVector
  • provide Logger with time-series data
  • ( Time, Real )
  • provide objects in other computation modules with a means of syncronizing Property values

Design

Property slot signatures

    typedef const Type ( T::* GetMethodPtr )() const;
    typedef void       ( T::* SetMethodPtr )( TypeCref );

where T is the class of the property, and Type is the type of the slot.

Type is one of Real, Int, String, and Polymorph

DMInfo

DmInfoSpecification