Data-based synthesis should support boolean constants in predicates
Consider the following CIF model:
const bool enabled = false;
plant A:
controllable c_a;
location l1:
initial;marked;
edge c_a when enabled;
end
Starting data-based synthesis with this model (default settings) results in the following error:
ERROR: Data-based supervisory controller synthesis failed due to unsatisfied preconditions:
- Unsupported linearized guard: unsupported part "enabled" of guard(s) "enabled": predicate is not supported.
I have the following two remarks:
- The documentation does not specify that constants are not supported, i.e., it does not mention constants in the list of restrictions.
- Changing the constant variable into an algebraic variable (and never changing its value to create an implicit constant) is supported. As the documentation states that all types are supported for algebraic variables, I think all types of constants should also be supported.