Conference Paper

On the Evolution of OCL for Capturing Structural Constraints in Modelling Languages.

DOI: 10.1007/978-3-642-11447-2_13 Conference: Rigorous Methods for Software Construction and Analysis, Essays Dedicated to Egon Börger on the Occasion of His 60th Birthday
Source: DBLP

ABSTRACT The Object Constraint Language (OCL) can be used to capture structural constraints in the context of the abstract syntax of
modelling languages (metamodels) defined in the MOF metamodelling architecture. While the expression language of OCL has been
revised and updated a number of times since its inception, the constructs used for capturing constraints (invariants) have
remained unchanged. In this paper we argue that the abstract and concrete syntax of OCL invariants should also be updated
to address a number of shortcomings and render OCL more usable in a contemporary modelling environment. To support our arguments
we have implemented the proposed extensions in the prototype Epsilon Validation Language (EVL). To demonstrate the benefits
delivered, we present and discuss a concrete example.

Download full-text


Available from: Fiona A. C. Polack, Jul 07, 2015
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: The Object Constraint Language (OCL) is widely used to enrich modeling languages with structural constraints, side effect free que-ry operations implementation and contracts. OCL was designed to be small and compact language with appealing short "to-the-point" expressions. When trying to apply it to larger EMF models some shortcomings appear in the language expressions, the invariant con-structs as well as in the supporting tools. In this paper we argue that some of these shortcomings are mainly related to the scalability of the OCL language and its trade-offs be-tween domain-specificity and general-purpose. We present an al-ternative approach based on an internal DSL in Scala. By using this modern multi-paradigm programing language we can realize an internal DSL with similar features found in OCL while taking full advantage of the host language including state-of-the-art tool support. In particular, we discuss the mapping between the OCL and Scala concepts together with some additional constructs for better scalability in both expressiveness and reusability of the ex-pressions.
    OCL 2012 - Workshop on OCL and Textual Modelling (MODELS'12); 09/2012
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: The Model Driven Development (MDD) has provided a new way of engineering today's rapidly changing requirements into the implementation. However, the development of user interface (UI) part of an application has not benefit much from MDD although today's UIs are complex software components and they play an essential role in the usability of an application. As one of the most common UI examples, consider view forms that are used for collecting data from the user. View forms are usually generated with a lot of manual efforts after the implementation. For example, in case of Java 2 Enterprise Edition (Java EE) web applications, developers create all view forms manually by referring to entity beans to determine the content of forms, but such manual creation is pretty tedious and certainly very much error-prone and makes the system maintenance difficult. One promise in MDD is that we can generate code from UML models. Existing design models in MDD, however, cannot provide all class attributes that are required to generate the practical code of UI fragments. In this paper, we propose a UML profile for view form generation as an extension of the object relational mapping (ORM) profile. A profile form of hibernate validator is also introduced to implement the practical view form generation that includes an user input validation.
    Information Science and Applications (ICISA), 2010 International Conference on; 05/2010
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: The ability to compose modular and interoperable model management tasks into automated workflows is essential for the wide-spread use of Model Driven Development. Driven by this need, we present a framework that enables develop-ers to define, execute and profile such workflows. The frame-work is based on the widely-used ANT tool and Epsilon, a platform of integrated task-specific model management lan-guages. We present the design and implementation of the framework and demonstrate its practicality and usefulness through a concrete case study.