This example contains a statechart that will, under a wide range of semantics, tell you the semantics being used to execute the model, by being in a certain configuration after the execution of 1 big-step.

The script 'run.py' checks if the statechart model correctly infers the semantics being used. The statechart model itself contains a semantic configuration of multiple variants, indicated by comma-separated lists of options for each semantic aspect. The SCCD runtime can generate all possible combinations for the options chosen, by taking the cross-product. This cross-product however, still contains some variants that cannot be detected correctly by the model, because they have invalid semantic configurations, or identically to other (simpler) variants. These "invalid variants" are filtered out by the script. The small set of rules for detecting "invalid variants" were constructed in an iterative way, and they partition the variants perfectly into valid/invalid.