Event-Driven Grammars: Towards the Integration of Meta-modelling and Graph Transformation (original) (raw)
Related papers
Event-driven grammars: relating abstract and concrete levels of visual languages
Software and System Modeling, 2007
In this work we introduce event-driven grammars, a kind of graph grammars that are especially suited for visual modelling environments generated by meta-modelling. Rules in these grammars may be triggered by user actions (such as creating, editing or connecting elements) and in their turn may trigger other user-interface events. Their combination with triple graph transformation systems allows constructing and checking the consistency of the abstract syntax graph while the user is building the concrete syntax model, as well as managing the layout of the concrete syntax representation. As an example of these concepts, we show the definition of a modelling environment for UML sequence diagrams. A discussion is also presented of methodological aspects for the generation of environments for visual languages with multiple views, its connection with triple graph grammars, the formalization of the latter in the double pushout approach and its extension with an inheritance concept.
Fundamental Approaches to Software Engineering, 2004
Visual languages (VLs) play a central role in modelling various system aspects. Besides standard languages like UML, a variety of domain-specific languages exist which are the more used the more tool support is available for them. Different kinds of generators have been developed which produce visual modelling environments based on VL specifications. To define a VL, declarative as well as constructive approaches are used. The meta modelling approach is a declarative one where classes of symbols and relations are defined and associated to each other. Constraints describe additional language properties. Defining a VL by a graph grammar, the constructive way is followed where graphs describe the abstract syntax of models and graph rules formulate the language grammar. In this paper, we extend algebraic graph grammars by a node type inheritance concept which opens up the possibility to integrate both approaches by identifying symbol classes with node types and associations with edge types of some graph class. In this way, declarative as well as constructive elements may be used for language definition and model manipulation. Two concrete approaches, the GenGED and the AToM3 approach, illustrate how VLs can be defined and models can be manipulated by the techniques described above.
Defining visual notations and their manipulation through meta-modelling and graph transformation
Journal of Visual Languages and Computing, 2004
This paper presents a framework for the definition of visual notations (both syntax and semantics) based on meta-modelling and graph transformation. With meta-modelling it is possible to define the syntax of the notations we want to deal with. Meta-modelling tools are able to generate environments which accept models in the defined formalisms. These can be provided with further functionality by defining operations that can be performed to the models. One of the ways of defining such manipulations is through graph grammars, because models and meta-models can be represented as attributed, typed graphs. In this way, computations become high-level models expressed in the formal, graphical and intuitive notation of graph grammars. As an example, AToM 3 is used to automatically generate a tool for a Discrete Event Simulation notation. The tool's functionality has been completely defined in a visual way through graph grammars, and includes a simulator (formalism's operational semantics), a transformation into Timed Transition Petri nets (denotational semantics), an optimizer and a code generator for a GPSS simulator. r maintain. In this way, developers deal with less (accidental) details about the system they are building and concentrate on describing its essential properties [1].
Triple patterns: Compact specifications for the generation of operational triple graph grammar rules
2007
Triple Graph Grammars (TGGs) allow the specification of high-level rules modelling the synchronized creation of elements in two graphs related through a correspondence graph. Low-level operational rules are then derived to manipulate concrete graphs. However, TGG rules may become unnecessarily verbose when elements have to be replicated from one graph to the other, and their actual derivation cannot exploit the presence of reoccurring patterns. Moreover they do not take advantage from situations in which a normal creation grammar for one of the graphs exists, from which TGG operational rules can be derived to build the other graph.
A graphical specification of model transformations with triple graph grammars
Model Driven Architecture–Foundations …, 2005
Models and model transformations are the core concepts of OMG's MDA T M approach. Within this approach, most models are derived from the MOF and have a graph-based nature. In contrast, most of the current model transformations are specified textually. To enable a graphical specification of model transformation rules, this paper proposes to use triple graph grammars as declarative specification formalism. These triple graph grammars can be specified within the FUJABA tool and we argue that these rules can be more easily specified and they become more understandable and maintainable. To show the practicability of our approach, we present how to generate Tefkat rules from triple graph grammar rules, which helps to integrate triple graph grammars with a state of a art model transformation tool and shows the expressiveness of the concept.
Definitions and Formalizations
The definition of visual languages, of their semantics, and of the interactions with them, can all be referred to a notion of transformation of multisets of resources. Moreover, the concrete syntax for a particular language can be obtained in a semi-automatic way, by declaring the conformity of the language to some family of languages, specified by a metamodel. In a similar way, the generation of the associated semantics can take advantage of the identification of the variety of the semantics being expressed. According to the associated metamodel, one can obtain an abstract view of the semantic roles that visual elements can play with respect to the process being described. We propose here an integrated framework and interactive environment, based on a collection of metamodels, in which to express both syntactical characterizations of diagrammatic sentences and their semantic interpretations.
Graph grammar engineering: A software specification method
Lecture Notes in Computer Science, 1987
Graphs as conceptual data models are accepted and used in a wide range of different problem areas. Giving some examples we outline common aspects for modeling complex structures by graphs. We present a formal frame-work based on graph grammars to specify graph classes and the corresponding graph manipulations. We show that such a specification can be written in a systematic, engineering-like manner. This is achieved by an extension of the known programmed, attributed graph grammars. Node-set operators are introduced to facilitate graph queries. Concepts like abstraction, decomposition, refinement, parameterization, and integration have been adopted from software engineering to yield a comprehensive specification method. This method has successfully been applied to specify the central data structures in a software development environment project.
GENGED: a generic graphical editor for visual languages based on algebraic graph grammars
Proceedings. 1998 IEEE Symposium on Visual Languages (Cat. No.98TB100254), 1998
GENGED is a generic graphical editor supporting the graphical definition of visual languages. Given an alphabet and rules of a specific visual language GENGED generates a syntax-directed graphical editor for this language. GENGED as well as each visual language defined using GENGED is based on algebraic graph grammars. A sentence is given by a graphical structure consisting of a logical (abstract syntax) and a visual level (concrete syntax). Both levels are connected by layout operations. Visual language rules are defined by graph grammar rules. The underlying logical structure, however, is hidden from the user, but it is essential for a formal presentation and manipulation of graphical structures on both levels. The manipulations are performed by a graph transformation machine working on the logical level, whereas a graphical constraint solver manages the layout the user works with.
Metamodel specialization for graphical language support
Software and Systems Modeling, 2018
Most of current modeling languages are based on graphical diagrams. The concrete graphical syntax of these languages typically is defined informally-by text and diagram examples. Only recently, starting from UML 2.5, a formalism is offered for defining the graphical syntax of UML. This formalism is based on Diagram Definition standard by OMG, where the main emphasis is on enabling diagram interchange between different tools implementing the given language. While this is crucial for standardized languages such as UML, this aspect is not so important for domain-specific languages. In this paper, an approach is offered for a simple direct definition of concrete graphical syntax by means of metamodels. Metamodels are typically used for a language definition, but mainly the MOF-inspired approach via meta-metamodel instantiation is used. We offer an alternative approach based on core metamodel specialization which leads to a more direct and understandable definition staying at the same meta-layer. In addition, our approach permits a natural extension-facility for a graphical editor definition for the given language, which is vital in the world of DSLs. In contrast to most DSL development platforms, which are based on the abstract syntax metamodel of the language and a mapping to graphics, our facility is based directly on the graphical syntax. But we show that in those cases where the relation to the DSL abstract syntax is really required, a mapping from the graphical syntax to abstract syntax can be relatively easily defined by the specialization approach.
Relational Grammars: Theory and Practice in a Visual Language Interface for Process Modeling
Visual Language Theory, 1998
Relational Grammars (RGs) are one of the higher-dimensional grammar formalisms that have been proposed for representing visual languages (VLs). This paper serves as an overview of the formalism as well as a case study of its application in a visual language interface (VLI) for process modeling. Relational Grammars are a member of the context-free family of Constraint Multiset Grammars (Marriott and Meyer this volume), and several subclasses of Relational Grammars have been proposed that have been motivated by the algorithmic demands of specific applications. The applications that have been explored go beyond the exercise of recognizing visual expressions that can be constructed with standard graphical editors. Here we focus on a business process modeling tool called ShowBiz and discuss how grammatical representation and parsing is used dynamically in creating aggregations for process encapsulation and visual focusing.