Moderator: Automated Software Engineering
it was brought to my attention that there was a problem with the current version of MOPBox with respect to Sheet 4: it was very much impossible to access the automaton structure from the IndexingStrategy. This was mainly because the method initialState() in AbstractFSMMonitorTemplate was private. I have updated the code to make this method protected.
In addition, I have added a class OpenFSMMonitorTemplate, which subclasses AbstractFSMMonitorTemplate, and adds a convenient method for accessing all states in the automaton.
As a third change, I have added a constructor to SymbolBasedIndexing that uses this new class OpenFSMMonitorTemplate to determine the self-loops in the automaton. This should help you to get started more easily.
The classes in the packages competition.monitortemplates and competition.yourmonitortemplates were updated to be subclasses of OpenFSMMonitorTemplate.
Let me know in case there are additional problems with extending MOPBox.
the fact that the SymbolBasedIndexing class constructor now only takes an OpenFSMMonitorTemplate as argument seems to break the test cases (the ones in the test folder). The monitor templates used there (derived from AbstractFSMMonitorTestTemplate) are not a OpenFSMMonitorTemplate, thus the test suite cannot instantiate the SymbolBasedIndexing strategy.
As a workaround changing the AbstractFSMMonitorTestTemplate class to inherit from OpenFSMMonitorTemplate instead seems to work.