thesis

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

Abstract

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

    Similar works

    Full text

    thumbnail-image

    Available Versions