#368 Implement `cif2dmm` computation, 3rd attempt
Adds a multilevel
application that currently only performs a cif-to-dmm conversion, with optional output of the computed DMMs.
Idea is still the same, with adjustments for the updated approach (mostly the extension with requirement groups). Few notes:
-
The rules to compute the DMMs are documented as well.
They should be the same as discussed before in #368 (closed), except that input variables now always access themselves. The reason for the latter change is that a group needs to have at least one owning or accessing relation or it will never be merged or used. Also added a bit more text and split the rules into the basic cases, rather than having them merged into a single sentence.
-
The pre-checker only covers the needs of cif-to-dmm. In the future, a decision is needed how to add more other checks (eg to fulfill requirements of datasynthesis).
-
The unit tests cover finding relations and merging of groups. The
cif.tests
project contains test cases that compare the resulting DMMs.
Addresses #368 (closed)