Closed omarali75 closed 8 years ago
When I convert the model using verbose mode, I get the message:
Exported label 'jump_i' was not used in BaseComponent '
'. This would block all transitions using this label in other components, and is typically a mistake.
If you look at controller_i
and converter_i
, we see what this error means. In automaton converter_i
, we have a single mode with invariant control_i==1
. In controller_i
there are two modes, one with invariant control_i==1
and one with control_i==0
. Since the mode with control_i==0
could NEVER be entered (because there is no mode in converter_i
that satisfies the invariant), it is removed, along with all of its transitions.
In this way, controller_i
is left with no transitions, in particular no transitions that use the jump_i
label. This has the effect of blocking every other automaton that uses the jump_i
label (these transitions can never be taken, since there is no such transition in controller_i
), which is typically a mistake and is what is reported.
This is not a bug in Hyst, but a malformed model which I believe we'd be better off rejecting than allowing the user to think everything is okay. Hope that makes sense.
I have successfully analyzed this example in SpaceEx. But during hyst conversion, it failed the invariant pass as per following error message in hyst: "Automaton Export Exception while exporting: Hybrid Automaton IR structure was corrupted after running pass com.verivital.hyst.passes.basic.RemoveSimpleUnsatInvariantsPass".
invariants_pass_issue.zip