Using an OCL Impact Analysis Algorithm for View-Based Textual Modelling

The Object Constraint Language (OCL) has become a vital part of many frameworks, tools and languages within model-driven engineering. One such application of OCL is the use for describing rules in concrete syntax definitions. Within the textual modeling framework FURCAS, OCL is extensively used for the definition of lookup and attribution rules. Based on these rules the model which is described by such a textual representation is created and updated accordingly. Changes on models over which such an expression is specified require the expression to be re-evaluated to keep the constructed model up-to-date. However, the effort for re-evaluating OCL expressions over a set of model elements grows with the number of elements, the complexity of the expressions, and the number of model changes. Thus, having large models and/or complex expressions places considerable performance costs on OCL evaluation. Techniques to reduce this effort have been presented in previous work but do not cover the full range of OCL expressions, in particular calls to operations defined in OCL, including recursive operations. In this paper, we present an approach that is applicable to the full range of OCL expressions. We validated our approach based on a large set of models and complex expressions to evaluate the performance impact of our newly introduced techniques.

[1]  Axel Uhl,et al.  Using an OCL Impact Analysis Algorithm for View-Based Textual Modelling , 2011 .

[2]  Thomas W. Reps,et al.  Incremental Context-Dependent Analysis for Language-Based Editors , 1983, TOPL.

[3]  Tony Clark,et al.  Object Modeling with the OCL: The Rationale behind the Object Constraint Language , 2002 .

[4]  Mirko Seifert,et al.  Derivation and Refinement of Textual Syntax for Models , 2009, ECMDA-FA.

[5]  Thomas Reps,et al.  Programming Techniques and Data Structures , 1981 .

[6]  Steffen Becker,et al.  Classification of Concrete Textual Syntax Mapping Approaches , 2008, ECMDA-FA.

[7]  Ákos Horváth,et al.  Incremental evaluation of model queries over EMF models , 2010, MODELS'10.

[8]  Jordi Cabot,et al.  Incremental integrity checking of UML/OCL conceptual schemas , 2009, J. Syst. Softw..

[9]  Thomas Goldschmidt View-based textual modelling , 2011 .

[10]  Michael Altenhofen,et al.  OCL support in an industrial environment , 2006, MoDELS'06.

[11]  Rastislav Bodík,et al.  DITTO: automatic incrementalization of data structure invariant checks (in Java) , 2007, PLDI '07.

[12]  Ralf Möller,et al.  Incremental Evaluation of OCL Invariants in the Essential MOF Object Model , 2008, Modellierung.

[13]  Jordi Cabot,et al.  Computing the Relevant Instances That May Violate an OCL Constraint , 2005, CAiSE.

[14]  Mirko Seifert,et al.  Static Source Code Analysis using OCL , 2008, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[15]  Steffen Becker,et al.  Textual Views in Model Driven Engineering , 2009, 2009 35th Euromicro Conference on Software Engineering and Advanced Applications.

[16]  Charles L. Forgy,et al.  Rete: a fast algorithm for the many pattern/many object pattern match problem , 1991 .