Behavioral Clafer was finally merged into develop, which means it will be part of the next release: 0.5.0.
That is a huge step for Clafer because it adds capability of modeling how the structures evolve over time. In that context, all possible instances of a static Clafer model can be considered as all possible snapshots (statespace) of a dynamic model. Also, the constraints in a static model can be considered as global invariants in a dynamic model.
The Clafer Model Wiki and the Clafer Tools (Visualizer, Configurator, and IDE) have been updated to use the 0.5.0 version; however, there is currently no reasoning support for the behavioral constructs. The models can only be compiled, desugared, and rendered to HTML.
We added two example models to showcase the behavioural modeling style:
- Simplified Web Socket Protocol - a simple model showcasing state modeling, trace specification, and the intended traces.
- Power Window - a complex model showcasing modeling structure and behaviour with variability: feature modeling, component modeling, statemachine modeling, variability in behaviour using alphabet variability, inheritance, and strategy pattern, and (safety) properties.