Delta Statecharts

Scope of the project

The goal of this project is to be able to check if all the variants of a DarwinSPL of Yakindu Statecharts are well-formed and generable. For all the variants to be well-formed, an SPL must be well-typed and dependency-consistent. For all the variants to be generable an SPL must be applicability-consistent. Well-typeness can be checked with a single traversal of the SPL. Applicability-consistency and dependency-consistency can be checked by building SAT constraints. The applicability constraint ensures that all the application of the deltas actedved by a product do not fail, the dependency constraint ensyures that all the dependencies in a variant are satisfied.

Requirements

The project is a plug-in of the DarwinSPL software. Before you can run this plug-in you need to install the DarwinSPL software project available on GitHub here: DarwinSPL.

Installation

You need to run the first DarwinSPL virtual enviroment and than download and install the YakinduAnalisi plug-in from here: YakinduAnalisi. After that, you can compile and run this plug-in in a second virtual enviroment. In this second enviroment it is possible to create and check if all the variants of a DarwinSPL of Yakindu Statecharts are well-formed and generable.