This is the GUI application of CAT, and represents an example of usage of the CAT Library (https://github.com/contractautomataproject/ContractAutomataLib) to build a tool for visualizing the automata, edit them, and use the main operations (e.g., composition, synthesis).
The main application is in the file App.java, under io.github.contractautomata.catapp package. Check the release for a runnable jar. The application is based on an existing framework called mxGraph for editing graphs in Java. The GUI is implemented by adapting the BasicGraphEditor available in mxGraph. The other classes are also modifications of the BasicGraphEditor example of mxGraph. The main operations using the CAT Library are under the package io.github.contractautomata.catapp.actions. For more info check https://jgraph.github.io/mxgraph/docs/manual_javavis.html.
The App has been developed using Eclipse/IntelliJ and tested on Windows machines.
The release in the right column features an executable jar. Download and run it by typing from a terminal
java -jar <jarfile>
where <jarfile>
is to be substituted with the name of the downloaded jar file.
The tool is available under this license, https://github.com/ContractAutomataProject/CAT_App/blob/master/license.html
The playlist of video tutorials and presentations about the tool is available at
https://www.youtube.com/playlist?list=PLory_2tIDsJvZB2eVlpji-baIz0320TwM
If you have any question or want to help contact me on [email protected].