Popis: |
The Statecharts formalism has been proven useful for the modeling of complex reactive systems. However, the formalism has no single, precise semantics. Different Statechart tools and standards have made their own (incompatible) semantic decisions. Rather than proposing a new semantics for Statecharts, we present an implementation of a Statecharts interpreter and compiler with configurable semantic variability. Its semantic feature model is based on the existing framework of Big-Step Modeling Languages (BSMLs), and consists of six (mostly) orthogonal dimensions of semantic options, captured in a feature model. We provide an in-depth description of our implementation of the "Priority" semantic dimension, which differs slightly from what BSML prescribes. The feature model also consists of a small set of constraints that prune non-uniquely behaving semantic variants. These constraints were discovered with a novel technique, that we also explain. |