R2015 - modelint/shlaer-mellor-metamodel GitHub Wiki

R2015 / 1c:Mc-1

State Activity is being executed by zero, one or many State Machine

State Machine is executing zero or one State Activity


A State Machine can be in only one State at a time and, in the case of a Real State, a single State Activity is defined.

So at most, only one State Activity can be executing at a time for a given State Machine.

When a State Activity completes execution, the State Machine remains in the same Real State until a Dispatched Event effects a Transition. During this interval, no State Activity is executing.

The same State Activity could be executing concurrently for multiple State Machines. Imagine, for example, two Cabin instances arriving at the same time, each entering their PICKUP DROPOFF States. This will result in the associated State Activity executing separately and concurrently for each Cabin Instance.

And if a given Real State isn't entered by any Instance, the associated State Activity will not be executing at all.