|title:||Extending the Groove Control Language with variables|
Selim Ciraci (SE) ,
Graphs can be used to model a variety of things, not only in computers but also in real-world settings. What we model with graphs, we would then like to check in some capacity, verifying its correctness. We do this with graph transformation tools, of which there are many and each has its own unique features. Groove is the graph transformation tool developed by the Formal Methods and Tools group of the University of Twente, and this project focuses on extending Groove with additional functionality.
Groove currently supports the scheduling of graph transformation rules using an im- perative control language. In this Master's Thesis we theoretically work out a method to further control not only when graph transformation rules are scheduled but also where, by parameterising the rules in order to both get information from the host graph into the con- trol structure as well as vice versa, telling Groove where to apply rules. We have also done the theory of letting users input constants directly from the control language, instead of having to write rules with hardcoded attributes in them. Both of these ideas have been implemented into the tool.
Using these new features, we reduce the amount of meta-information required in the rules as well as the underlying graph, instead keeping it where we think it belongs - together with the other control information. We show a number of examples which benet from each of these new features.