Relational Growth Grammars
Relational growth grammars (RGG) are based on the concept of graph rewriting. Graphs themselves provide an expressive and versatile representation of data, graph rewriting is the equally expressive and versatile approach to the representation of dynamics. Relational growth grammars allow to benefit from these features when building complex models: In their concrete implementation XL, graphs, graph rewriting rules and graph queries are made available within a modelling language built on top of Java.
The history of relational growth grammars goes back to L-systems and their extensions, sensitive growth grammars. It turned out that the rule-based approach itself, which is the driving force behind L-systems and growth grammars, is well suited for the specification of models of various disciplines. However, when dealing with complex models exhibiting complex data and dynamics, L-system-based formalisms fall short of elegantly representing all aspects of the model. One reason is that one has to cut down a model until it fits into the plain string nature of L-systems. With this in mind, relational growth grammars were defined on top of graphs and their versatile relational structure.
Relational growth grammars exibit the following features (for more detailed information, have a look at the publications):