Skip to content

#1264 Fix language equivalence check for differences wrt initial locations + some other improvements

  • Best to review per commit.
  • End-user visible changes:
    • Event-based language equivalence check: fixed for the only difference being in marking of initial locations, or language from initial locations. Previously, this was not detected.
    • Event-based language equivalence check: improved the output in case the counter example concerns a pair of initial states.
    • Event-based language equivalence check and DFA minimize: improved readability of partitioning blocks printed as part of debug output.
  • Other changes:
    • BlockLocation and Event now have a custom toString method for easier debugging.
    • CounterExample:
      • Asserts in constructor that its path is never null. No more handling null path in LanguageEquivalenceCheckApplication.printPath.
      • JavaDoc improvements.
    • org.eclipse.escet.cif.eventbased: Use autIdx instead of autNum.
    • LangEquivCalculation:
      • constructCounterExample improvements:
        • Comment improvements.
        • Add assert to check for exactly two automata, before using this fact.
        • Moved newLocs declaration a bit down, to section where it is used.
        • Don't swap locs and newLocs, but set their values explicitly.
        • Iterate with pathIdx instead of i.
        • Renamed numEventsEnabled to numAutsEnabled.
        • Split the method into two methods, to allow re-using the end of the method (used in fixing the bug).
      • getReversePath improvements:
        • Comment improvements.
        • Swap a comparison to be similar to earlier one (+ easier to read).
      • getSplitExplanationPath improvements:
        • Moved method, so that methods are in invocation order.
        • JavaDoc/comment improvements.
        • Use Assert.areEqual instead of Assert.check.
        • Handle the three possibilities in order.

Closes #1264 (closed)

Merge request reports

Loading