Translating essential OCL invariants to nested graph constraints for generating instances of meta-models

Domain-specific modeling languages (DSMLs) are usually defined by meta-modeling using the Object Constraint Language (OCL) for specifying invariants. This approach is purely declarative in the sense that instance construction is not supported. In contrast, grammar-based language definition incorpora...

Full description

Saved in:
Bibliographic Details
Published inScience of computer programming Vol. 152; pp. 38 - 62
Main Authors Radke, Hendrik, Arendt, Thorsten, Becker, Jan Steffen, Habel, Annegret, Taentzer, Gabriele
Format Journal Article
LanguageEnglish
Published Elsevier B.V 15.01.2018
Subjects
Online AccessGet full text
ISSN0167-6423
1872-7964
DOI10.1016/j.scico.2017.08.006

Cover

Loading…
More Information
Summary:Domain-specific modeling languages (DSMLs) are usually defined by meta-modeling using the Object Constraint Language (OCL) for specifying invariants. This approach is purely declarative in the sense that instance construction is not supported. In contrast, grammar-based language definition incorporates the stepwise construction of instances by applying production rules. Since the underlying structure of models are generally graphs, graph grammars are well suited to define modeling languages. Establishing a formal relation between meta-modeling and graph grammars opens up the possibility to integrate techniques of both fields. This integration can be advantageously used for optimizing DSML definition. We follow an approach where a meta-model is translated to a type graph with a set of nested graph constraints. While previous meta-model translations neglected OCL constraints, we focus on the translation of Essential OCL invariants to nested graph constraints in this paper. We show that a model satisfies an Essential OCL invariant iff its corresponding instance graph satisfies the corresponding nested graph constraint. In addition, nested graph constraints can be translated to application conditions of graph transformation rules. Composing both translations, an instance-generating graph grammar can be equipped with application conditions such that it generates instances of the original meta-model only.
ISSN:0167-6423
1872-7964
DOI:10.1016/j.scico.2017.08.006