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.
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
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.