Split data-based synthesis tool from generic CIF/BDD related functionality
Idea
From #269 (comment 1476211):
[...] I want to split the data-based synthesis tool into two parts:
- The reusable parts:
- The BDD to CIF conversion.
- The CIF to BDD conversion.
- The operations on BDDs, like reachability computations.
- The parts specific to data-based synthesis.
This should make it possible to reuse BDD representations of a CIF model for other tools (controller checker, CIF explorer, etc).
Steps
Current idea of the steps involved, and their progress:
-
Introduce new settings class to hold the settings. (!760 (merged)) - Normal/debug/warning output via settings class.
- Termination checking via setting class.
- Options via settings class.
- Other uses of app framework via settings class.
-
No need to register application with application framework for the unit tests. (!760 (merged)) -
Non-synthesis-specific parts should not be named for synthesis (e.g., SynthesisVariable
toCifBddVariable
or so).-
spec.Synthesis*
tospec.CifBdd*
. (!765 (merged)) -
Reachability computations, precondition checker, location pointer manager, conversion to CIF/BDD, etc. (!769 (merged)) -
Remaining parts. (!771 (merged))
-
-
Split synthesis-related parts from non-synthesis-related parts: -
Introduce CifDataSynthesisResult
and move part of theCifBddSpec
to it. (!769 (merged)) -
Remaining parts. (!771 (merged))
-
-
Move BDD-related parts to a new org.eclipse.escet.cif.bdd
project. (!772 (merged))
Addresses #269.
Edited by Dennis Hendriks