|title:||Graph Rewriters as Components|
This assignment involves the design and implementation of a (communication and programming) interface for the graph transformation engine GROOVE, an FMT-based open source tool written in Java.
Graph transformation systems can be seen as a particular kind of labelled transition systems, and so they can be used as models in, for instance, a tool chain with other FMT-based tools such as JTorX and LTSmin, or as stand-alone components in other contexts. This requires, however, that such a model or component can communicate with other parties using some well-defined interface, either as an API or through a message-based protocol.
In this assignment, the aim is to design and implement such an interface. Steps to be taken are:
- Get acquainted with GROOVE
- Study existing similar interfaces, such as the ones employed in JTorX and LTSmin
- Design an appropriate interface for GROOVE, and implement it as part of the tool
- Test the resulting system by designing and carrying out experiments, in conjunction with LTSmin and as a stand-alone component