SchemaVersion SV /* schema version which contains this state model
model */
{ /* contents not shown, for brevity: name, versionNo,
lastModAuthor, lasModDate*/ }
StateModel SM /* State Model for one Active Class (-> TT000001 SM) */
{
SMid NA c8 1 /* pkey of this State Model */
SVid NA c8 1 /* fkey of Schema Version */
Abbrev NA c4 0 /* ttabbrev of Modeled Object? */
Name NA t80 0 /* Full Name or Description of SM */
}
State ST / *
One state or stage of behavior ( -> TT000002 ST) */
{
STid NA c8 1 /* pkey of this STat e */
SMid NA c8 1 /* fkey of parent State Model */
STname NA c32 0 /* a name to identify this state */
ARname NA c8 0 /* Action Routine Name */
/* ARptr NA
i4 0 (not needed;
child_loop from ST to SF gets FTid sequence) */
Descrip NA t80 0 /* Full Name or Description of State */
}
Transition TR /* Possible transition from state
STid1 to state STid2 (->
TT000003 TR ) */
{
TRid NA c8 1 /* pkey of this State Transition */
STid1 NA c8 1 /* Transition Source or 'From' State */
STid2 NA c8 1 /* Transition Destination or 'To' STate */
}
EventType ET /*
Event Type (asynchronous message type) (-> TT000004 ET) */
{
ETid NA c8 1 /* pkey of Event Type */
SMid NA c8 1 /* State Model target of EventType */
Label NA c8 0 /* Label for events of this type; syntax: <SM>E##:<name> */
Descrip NA t80 0 /* Event Type description */
}
EventEnable EN /* Relates Event Types to State
Transitions (-> TT000005
EN) */
{
ENid NA c8 1 /* pkey of ENable relation (ET to TR) */
ETid NA c8 1 /* fkey to Event Type */
TRid NA c8 1 /* fkey of enabled State Transition */
}
FunctionTable FT /* holds ActRtnfunction name and index, runs on entry to state (TT # 6)*/
{
FTid NA c8 1 /* pkey of Function Table entry */
SMid NA c8 1 /* fkey of parent StateModel */
ARname NA c2 0 /* name of action routine or
method */
ARptr NA i4 0 /* index into function ptr table (initialized
at load time) */
}
StateFunction SF /* M:N relationship from state entered to action routine sequence
(TT # 7) */
{
SFid NA c8 1 /* pkey of StateFunction table (associative entity) */
STid NA c8 1 /* fjey of a STate which will execute function */
FTid NA c8 1 /* fkey of Function in Table FT to be executed */
}