2 research outputs found

    Combining unit and specification-based testing for meta-model validation and verification

    Full text link
    This is the author’s version of a work that was accepted for publication in Information Systems. Changes resulting from the publishing process, such as peer review, editing, corrections, structural formatting, and other quality control mechanisms may not be reflected in this document. Changes may have been made to this work since it was submitted for publication. A definitive version was subsequently published in Information Systems, VOL 62, (2016)] DOI 10.1016/j.is.2016.06.008Meta-models play a cornerstone role in Model-Driven Engineering as they are used to define the abstract syntax of modelling languages, and so models and all sorts of model transformations depend on them. However, there are scarce tools and methods supporting their Validation and Verification (V&V), which are essential activities for the proper engineering of meta-models. In order to fill this gap, we propose two complementary meta-model V&V languages. The first one has similar philosophy to the xUnit framework, as it enables the definition of meta-model unit test suites comprising model fragments and assertions on their (in-)correctness. The second one is directed to express and verify expected properties of a meta-model, including domain and design properties, quality criteria and platform-specific requirements. As a proof of concept, we have developed tooling for both languages in the Eclipse platform, and illustrate its use within an example-driven approach for meta-model construction. The expressiveness of our languages is demonstrated by their application to build a library of meta-model quality issues, which has been evaluated over the ATL zoo of meta-models and some OMG specifications. The results show that integrated support for meta-model V&V (as the one we propose here) is urgently needed in meta-modelling environments.This work has been funded by the Spanish Ministry of Economy and Competitivity with project “Flexor” (TIN2014-52129-R), the region of Madrid with project “SICOMORO-CM” (S2013/ICE-3006), and the EU commission with project “MONDO” (FP7- ICT-2013-10, #611125)

    An agile process for the example-driven development of modelling languages and environments

    Full text link
    Tesis doctoral inédita leída en la Universidad Autónoma de Madrid, Escuela Politécnica Superior, Departamento de Ingeniería Informática. Fecha de lectura : 26-06-2017Los Lenguajes de Modelado de Dominio Específico (Domain-Specific Modelling Languages (DSMLs)) se utilizan con frecuencia en la Ingeniería del Software Dirigida por Modelos y en métodos de desarrollo por el usuario final. En comparación con los lenguajes de propósito general, los DSMLs presentan numerosas ventajas como la posibilidad de emplear primitivas de dominio específico, una sintaxis intuitiva para expertos en un dominio, y la posibilidad de generar código fuente complejo para dominios concretos. Algunos DSMLs tienen una sintaxis gráfica; sin embargo, construir entornos de modelado gráfico es una tarea altamente costosa a nivel técnico. Esto relega a los expertos del dominio a un rol pasivo en el desarrollo de dichos entornos, e impide una adopción más extensa de los DSML gráficos. El propósito de este trabajo de tesis es lograr un proceso sencillo para la construcción de DSMLs, en el que los expertos del dominio puedan contribuir de forma activa. Para ello, se propone un proceso basado en ejemplos para la generación automática de entornos de modelado de DSMLs gráficos. El sistema propuesto sintetiza, a partir de ejemplos del DSML esbozados por el experto del dominio en herramientas de dibujo, un entorno gráfico de modelado que emula la sintaxis de dichos ejemplos. Esto abarca un meta-modelo para la sintaxis abstracta del DSML, y una sintaxis concreta que además soporta la inclusión de relaciones espaciales. Adicionalmente, pese a tratarse de actividades esenciales en el campo del Desarrollo Dirigido por Modelos, existen muy pocas herramientas o métodos que den soporte a la Validación y Verificación (V&V) de DSMLs. Para cubrir esta necesidad se presentan tres lenguajes complementarios para la V&V de meta-modelos a través de tres métodos distintos: las pruebas unitarias, la comprobación de propiedades sobre el meta-modelo, y las pruebas inversas. Las dos contribuciones se han implementado en dos prototipos: metaBup, un sistema para construir editores de DSMLs a partir de ejemplos gráficos, y metaBest, su correspondiente entorno de pruebas. Tanto el proceso como el prototipo han sido validados mediante diversos experimentos, entre los que se incluye una validación con usuarios.Domain-Specific Modelling Languages (DSMLs) are heavily used in model-driven and enduser development approaches. Compared to general-purpose languages, DSMLs present numerous benefits like powerful domain-specific primitives, an intuitive syntax for domain experts, and the possibility of advanced code generation for narrow domains. While a graphical syntax is sometimes desired for a DSML, constructing graphical modelling environments is a costly and highly technical task. This relegates domain experts to a rather passive role in their development and hinders a wider adoption of graphical DSMLs. The aim of this dissertation is achieving a simpler DSML construction process where domain experts can contribute actively. For this purpose, an example-based process for the automatic generation of modelling environments for graphical DSMLs is proposed. This way, starting from examples of the DSML likely provided by domain experts using drawing tools, the proposed system synthesizes a graphical modelling environment that mimics the syntax of the provided examples. This includes a meta-model for the abstract syntax of the DSML, and a graphical concrete syntax supporting spatial relationships. Moreover, despite being essential activities in this field, there are scarce tools and methods supporting the Validation and Verification (V&V) of DSMLs. In order to fill this gap, three complementary meta-model V&V languages are presented. These languages provide means for testing a DSML through three V&V approches: unit testing, specification-based testing and reverse testing. These two contributions receive tool support in a prototype application comprising metaBup, a system for building DSML editors from graphical examples, and metaBest, its corresponding testing suite. The process and the prototype have been validated through several experiments, including a user study. Keywords: Model-Driven Engineering, Domain-Specific Modelling Languages, Meta-Modelling, Graphical Modelling Environments, Example-Based Meta-Modelling, Validation & Verification, Meta-Model Qualit
    corecore