#364 Add wafer_scanner CIF benchmark model + generator
- Best to review per commit.
- Added:
- Generator to generate
wafer_scanner
benchmark models with n = 1-7 production wafers (besides 2 dummy wafers). - Generated models for n = 1 and n = 2. The rest can be generated additionally.
- Benchmark script for n = 1 only, as that is currently difficult enough to synthesize, compared to the other benchmarks.
- Generator to generate
- Changes compared to original generator:
- Some things are in a slightly different order, due to use of ordered vs unordered sets/dicts/etc. But, for n = 1, the state spaces of the synthesized supervisors are language equivalent.
- Generated models had warnings due to having plants that refer to requirement state. The requirement is therefore split into a monitor and requirement, similar to what the synthesis tool now does under the hood. The original author agrees. The resulting supervisor state space for n = 1 is language equivalent to the one before this change.
- Other notes:
- Certain events are always disabled in the uncontrolled system or in the controlled system. This is by design. This is confirmed by the original author.
- The original first author is OK with contributing this to ESCET.
Addresses #364