The precise specification of software models is a major concern in#R##N# the model-driven design of object-oriented software.    Models are commonly given as graph-like diagrams so that graph grammars are   a natural candidate for specifying them.    However, context-free graph grammars are not powerful enough to specify all static properties of a model.  Even the recently proposed adaptive star grammars cannot capture all properties of object-oriented models.  So we extend adaptive star rules by positive and negative application conditions to overcome these deficiencies without sacrificing parsing algorithms.  It turns out that conditional adaptive star grammars are powerful enough to generate program graphs, a software model with rather complicated contextual   properties.
['Berthold Hoffmann']
Conditional Adaptive Star Grammars