Title
MOMENT-OCL: Algebraic Specifications of OCL 2.0 within the Eclipse Modeling Framework
Published in
Electronic Notes in Theoretical Computer Science (ENTCS). 6th International Workshop on Rewriting Logic and its Applications. Demo Session. 1-2 Abril 2006. Vienna (Austria) - 2006
Abstract
Model-Driven Development is a field in Software Engineering that,
for several years, has been representing software artifacts as
models in order to improve productivity, quality, and economic
incomes. Models provide a more abstract description of a software
artifact than the final code of the application. Interest in this
field has grown in software development companies such as the
Model-Driven Architecture (MDA), supported by OMG, and the Software
Factories, supported by Microsoft, ensuring a model-driven
technology stock for the near future.
Model-Driven Development has evolved to the Model-Driven Engineering
field, where not only design and code generation tasks are involved,
but also traceability, model management, meta-modeling issues, model
interchange and persistence, etc. To fulfill these tasks, model
transformations and model queries are relevant tasks that must be
solved. In the MDA context, they are dealt from an open-standard
point of view. The standard Meta-Object Facilities (MOF) provides a
way to define meta-models. The standard proposal
Query/Views/Transformations (QVT) indicates how to provide support
for both transformations and queries. In QVT, while new languages
are provided for model transformation, the Object Constraint
Language (OCL) remains as the best choice for queries.
OCL is a textual language that is defined as a standard "add-on" to
the UML standard. It is used to define constraints and queries on
UML models, allowing the definition of more precise and more useful
models. It can also be used to provide support for meta-modeling
(MOF-based and Domain Specific Meta-modeling), model transformation,
Aspect-Oriented Modeling, support for model testing and simulation,
ontology development and validation for the Semantic Web, among
others. Despite its many advantages, while there is wide acceptance
for UML design in CASE tools, OCL lacks a well-suited technological
support.
In this demo, we present the MOMENT-OCL tool, which integrates an
algebraic specification of the operational semantics of part of the
OCL 2.0 standard into the Eclipse Modeling Framework (EMF). EMF is a
modeling environment that is plugged into the Eclipse platform and
that provides a sort of implementation of the MOF. EMF enables the
automatic importation of software artifacts from heterogeneous data
sources: UML models, relational schemas, and XML schemas. In
MOMENT-OCL, OCL queries and invariants can be executed over
instances of EMF models in Maude. An interesting feature of this
algebraic specification of the OCL 2.0 is the use of the
parameterization to reuse the OCL specification for any
meta-model/model and the simulation of higher-order functions for
the sake of the reuse of collection operator definitions.
BibTeX
@misc{issi_web:id:209,
title = "MOMENT-OCL: Algebraic Specifications of OCL 2.0 within the Eclipse Modeling Framework",
author = "Artur Boronat Moll and Joaquín Oriente Cantos and Abel Gómez Llana and Jose Angel Carsí Cubel and Isidro Ramos Salavert",
booktitle = "Electronic Notes in Theoretical Computer Science (ENTCS). 6th International Workshop on Rewriting Logic and its Applications. Demo Session. 1-2 Abril 2006. Vienna (Austria)",
year = "2006",
eprint = "http://issi.dsic.upv.es/publications/archives/",
url = "",
abstract = "Model-Driven Development is a field in Software Engineering that,
for several years, has been representing software artifacts as
models in order to improve productivity, quality, and economic
incomes. Models provide a more abstract description of a software
artifact than the final code of the application. Interest in this
field has grown in software development companies such as the
Model-Driven Architecture (MDA), supported by OMG, and the Software
Factories, supported by Microsoft, ensuring a model-driven
technology stock for the near future.
Model-Driven Development has evolved to the Model-Driven Engineering
field, where not only design and code generation tasks are involved,
but also traceability, model management, meta-modeling issues, model
interchange and persistence, etc. To fulfill these tasks, model
transformations and model queries are relevant tasks that must be
solved. In the MDA context, they are dealt from an open-standard
point of view. The standard Meta-Object Facilities (MOF) provides a
way to define meta-models. The standard proposal
Query/Views/Transformations (QVT) indicates how to provide support
for both transformations and queries. In QVT, while new languages
are provided for model transformation, the Object Constraint
Language (OCL) remains as the best choice for queries.
OCL is a textual language that is defined as a standard "add-on" to
the UML standard. It is used to define constraints and queries on
UML models, allowing the definition of more precise and more useful
models. It can also be used to provide support for meta-modeling
(MOF-based and Domain Specific Meta-modeling), model transformation,
Aspect-Oriented Modeling, support for model testing and simulation,
ontology development and validation for the Semantic Web, among
others. Despite its many advantages, while there is wide acceptance
for UML design in CASE tools, OCL lacks a well-suited technological
support.
In this demo, we present the MOMENT-OCL tool, which integrates an
algebraic specification of the operational semantics of part of the
OCL 2.0 standard into the Eclipse Modeling Framework (EMF). EMF is a
modeling environment that is plugged into the Eclipse platform and
that provides a sort of implementation of the MOF. EMF enables the
automatic importation of software artifacts from heterogeneous data
sources: UML models, relational schemas, and XML schemas. In
MOMENT-OCL, OCL queries and invariants can be executed over
instances of EMF models in Maude. An interesting feature of this
algebraic specification of the OCL 2.0 is the use of the
parameterization to reuse the OCL specification for any
meta-model/model and the simulation of higher-order functions for
the sake of the reuse of collection operator definitions.
"
}