Averest


FrontSOS Type

FrontSOS holds the result of a single symbolic rule application of the SOS rules, i.e., of a single macro step of a statement S. The meaning of the components are as follows:

  • rsdStmts is a set of triples (phi,lbls,S') such that statement S' would have to be executed in the next step if now phi holds. S' is thereby resumed from the control flow labels lbls. If statement S instantaneously terminates, rsdStmts is an empty set.
  • surfActs are guarded actions that belong to the surface of S.
  • instantC is the condition for instantaneous execution of S.
  • transfer holds the information to select the right reincarnations of the local variables (see documentation of Transfer).
  • substLVs is the final renaming of the local variables of S.
  • labels is the set of labels that occur in statement S.
Note that he disjunction of the path conditions in rsdStmts is the negation of the instant predicate instantC. The enter predicate can also be constructed as a kind of disjunction of the rsdStmts that tells us under which condition phi we enter a residual statement S'.

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 * Set<QName> * Stmt>
Field type: Set<BoolExpr * Set<QName> * Stmt>

substLVs

Full Usage: substLVs

Field type: Substitution
Field type: Substitution

surfActs

Full Usage: surfActs

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

transfer

Full Usage: transfer

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