Want to read any of the papers below, and you can’t access the online publication? Just drop me a line, and I’ll send you a preprint 🙂
ConferenceAbel Gómez, Isidro Ramos
Information Systems Development: Business Systems and Services: Modeling and Development, Springer New York, New York, NY, 2011, ISBN: 978-1-4419-9790-6, (Prague, Czech Republic).
Feature Modeling is a technique that uses diagrams to characterize the variability of software product lines. The arrival of metamodeling frameworks in the Model-Driven Engineering field (MDE) has provided the necessary background to exploit these diagrams (called feature models) in information systems development processes. However, these frameworks have some limitations when they must deal with software artifacts at several abstraction layers. This paper presents a prototype that allows the developers to define cardinality-based feature models with complex model constraints. The prototype uses model transformations to build Domain Variability Models (DVM) that can be instantiated. This proposal permits us to take advantage of existing tools to validate model instances and finally to automatically generate code. Moreover, DVMs can play a key role in complex MDE processes automating the use of feature models in software product lines.
Full Text AvailablePreprint
ConferenceAbel Gómez, Isidro Ramos
Fourth International Workshop on Variability Modelling of Software-intensive Systems – Proceedings, (37), VaMoS 2010 Institut für Informatik und Wirtschaftsinformatik (ICB) ICB Research Reports, Essen, Germany, 2010, ISSN: 1860‐2770, (Linz, Austria).
Tags: Feature Modeling (FM), Model-Driven Architecture (MDA), Model-Driven Engineering (MDE), Object Constraint Language (OCL), Query/View/Transformation (QVT), Software Product Lines (SPL), Unified Modeling Language (UML)| | |
Feature Modeling is a technique which uses a specific visual notation to characterize the variability of product lines by means of diagrams. In this sense, the arrival of metamodeling frameworks in the Model-Driven Engineering field has provided the necessary background to exploit these diagrams (called feature models) in complex software development processes. However, these frameworks (such as the Eclipse Modeling Framework) have some limitations when they must deal with software artifacts at several abstraction layers. This paper presents a prototype that allows the developers to define cardinality-based feature models with constraints. These models are automatically translated to Domain Variability Models (DVM) by means of model-to-model transformations. Thus, such models can be instantiated, and each different instantiation is a configuration of the feature model. This appproach allows us to take advantage of existing generative programming tools, query languages and validation formalisms; and, what is more, DVMs can play a key role in MDE processes as they can be used as inputs in complex model transformations.
ConferenceArtur Boronat, Joaquín Oriente, Abel Gómez, José Á. Carsí, Isidro Ramos
Proceedings of the 6th International Workshop on Rewriting Logic and its Applications (WRLA 2006), 176 (4), Electronic Notes in Theoretical Computer Science Elsevier, 2007, ISSN: 1571-0661, (Viena, Austria).
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 economy. 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 requirements, model transformations and model queries are relevant issues that must be addressed. In the MDA context, they are handled 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 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 demonstration, 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 import 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 metamodel/model and the simulation of higher-order functions for the sake of the reuse of collection operator definitions.
ConferenceArtur Boronat, Joaquín Oriente, Abel Gómez, Isidro Ramos, José Á. Carsí
Model Driven Architecture -- Foundations and Applications: Second European Conference, ECMDA-FA 2006, Bilbao, Spain, July 10-13, 2006. Proceedings, 4066 , Lecture Notes in Computer Science Springer, Berlin, Heidelberg, 2006, ISBN: 978-3-540-35910-4.
In the Model-Driven Architecture initiative, software artefacts are represented by means of models that can be manipulated. Such manipulations can be performed by means of transformations and queries. The standard Query/Views/Transformations and the standard language OCL are becoming suitable languages for these purposes. This paper presents an algebraic specification of the operational semantics of part of the OCL 2.0 standard, focusing on queries. This algebraic specification of OCL can be used within the Eclipse Modeling Framework to represent models in an algebraic setting and to perform queries or transformations over software artefacts that can be represented as models: model instances, models, metamodels, etc. In addition, a prototype for executing such OCL queries and invariants over EMF models is presented. This prototype provides a compiler of the OCL standard language that targets an algebraic specification of OCL, which runs on the term rewriting system Maude.