Averest


NodeOfEFSM Type

NodeOfEFSM holds the data stored for one state of the EFSM generated by function ComputeStateTrans. An EFSM is an array of such nodes, so that every node has its own index in the array. The initial node always has index 0. The contents of the record NodeOfEFSM is as follows:

  • sccIndex is the index of the SCC of this node; this is also the index of the node reached first by the traversal in the same SCC.
  • labels is the set of control flow labels that hold in the node.
  • thisStmt is the Quartz statement associated with the node.
  • rsdStmts is a set of pairs (phi,i) which mean that if condition phi holds now, a transition to EFSM node i will take place.
  • surfActs is the set of guarded actions that are executed in this state.
  • transfer maps each QName of a local variable to its transfer incarnations to determine their reaction to absence.
  • instantC holds iff thisStmt instantaneouly terminats; it is the disjunction of the path conditions in rsdStmts.

Record fields

Record Field Description

instantC

Full Usage: instantC

Field type: BoolExpr
Field type: BoolExpr

labels

Full Usage: labels

Field type: Set<QName>
Field type: Set<QName>

rsdStmts

Full Usage: rsdStmts

Field type: Set<BoolExpr * int>
Field type: Set<BoolExpr * int>

sccIndex

Full Usage: sccIndex

Field type: int
Field type: int

surfActs

Full Usage: surfActs

Field type: Set<GrdAction>
Field type: Set<GrdAction>

thisStmt

Full Usage: thisStmt

Field type: Stmt
Field type: Stmt

transfer

Full Usage: transfer

Field type: Map<QName, Transfer>
Field type: Map<QName, Transfer>