Add modular synthesis to CIF tools
The implementation of multi-level synthesis is in its final stage, see #318 and #738. Once multi-level synthesis is implemented, the step towards (local) modular synthesis should be straighforward.
Modular synthesis, as proposed in https://doi.org/10.1007/BF02551233, synthesizes a supervisor for each requirement based on the full plant model. As an improvement to this, local modular synthesis https://doi.org/10.1007/978-1-4615-4493-7_10 synthesizes a supervisor for each requirement based on only related plant models.
So compared to the flow of multi-level synthesis, local modular synthesis cuts out the clustering part in the middle and immediately goes from the DMM to subspecifications. The remainder of the implementation code can be reused.
After finishing multi-level synthesis and before working on modular synthesis, we might want to discuss here how to structure the code, since parts of the mutli-level code will be reused. Do we need to move classes to a common package? Or will some other architecture suffice?