When retrieving counterexamples for disproven statements, the various AGREE viewers (console, spreadsheet and eclipse tree viewer) somehow skip output of the values on event data ports. Investigation has shown that JKind does output the event data port values, but AGREE fails to render them.
The text was updated successfully, but these errors were encountered:
This is a larger problem affecting all variable declarations in layers other than the root layer of a multi-layer (recursive) analysis. The root of the problem is fortunately simple. When the category for signals is calculated in the renaming visitor, it needs to know the instance path of that signal relative to the component instance that is the top of that layer of analysis. The present mechanism does not do this in a truly relative manner; it simply assumes that the path is only one segment deep. This works only for the highest level of a multi-layer analysis. Accordingly, the categories and reference maps for layers other than the top are incorrect, leading to signals being dropped in the counterexamples rather than being mapped to their originating AGREE element.
The fix will require passing in the root instance at each layer of the analysis. This requires changing the interface of the RenamingVisitor which affects AGREE's VerifyHandler, the TcgLinkerFactory, and the AADLSimulator AgreeProgramToSimulationProgram. Fortunately, the appropriate root instance is immediately available in those contexts making the required interface changes simple.
When retrieving counterexamples for disproven statements, the various AGREE viewers (console, spreadsheet and eclipse tree viewer) somehow skip output of the values on event data ports. Investigation has shown that JKind does output the event data port values, but AGREE fails to render them.
The text was updated successfully, but these errors were encountered: