Nuevo Doctor en Ciencias mención en Computación del DCC

Image preview

De izquierda a derecha: Alex Bergel, Éric Tanter, Andrés Vignaga, María Cecilia Bastarrica,Pablo Barceló y Claudio Gutiérrez


Compartir

 

 

Andrés Vignaga obtuvo dicho grado académico con una investigación teórico-práctica acerca de transformaciones complejas dentro de mega modelos.

 

“A Type System for Global Model Management” se titula la tesis con que Andrés Vignaga obtuvo el pasado 12 de diciembre el grado de Doctor en Ciencias mención Computación, y que fue guiada por la académica del Departamento de Ciencias de la Computación (DCC), María Cecilia Bastarrica.

 

La comisión evaluadora del examen estuvo integrada por los profesores del DCC: María Cecilia Bastarrica, Alex Bergel, Éric Tanter, Pablo Barceló y Claudio Gutiérrez, mientras que como profesor externo participó Jeff Gray, de la Universidad de Alabama, Estados Unidos.

 

“A Type System for Global Model Management” consiste en solucionar en forma teórico-práctica la gestión masiva de modelos, donde su aporte es totalmente genérico al área de Model-driven engineering (MDE). “El problema es inspirado por un concepto de mega modelos, sobre el cual el grupo de investigación francés “AtlanMod” desarrolló una herramienta”, explicó Andrés Vignaga.

 

Agregó que los modelos de software son una herramienta fundamental para la construcción de sistemas complejos. “La gran cantidad de modelos involucrados en un proyecto mediano o grande hace que dichos modelos deban ser gestionados apropiadamente para que no se vuelva complejo mantener en orden los modelos de la construcción del sistema”.

 

La idea de Andrés Vignaga se inspira en una herramienta en la cual identificó un problema mayor. “La gestión incluye la capacidad de ejecutar aquellos modelos que corresponden a transformaciones de estos”. Agregó además “que las transformaciones de los modelos fallan cuando el modelo que recibe no es del tipo que se esperaba, lo que permite que los sus usuarios cometan errores inadvertidos que conducen a resultados imprevistos”.

 

La investigación de Andrés Vignaga permite asignar un tipo de los modelos gestionables por la herramienta, lo cual es la base para poder caracterizar qué tipo de modelos espera una transformación para operar sin errores y qué tipo de modelos produce como resultado. “El trabajo incluye un conjunto de reglas (formales) que indican en forma precisa qué cosas se pueden hacer sobre un cierto modelo y qué cosas conducirán a un error. La formalidad permitió demostrar que el conjunto de reglas es correcto y además sirvió de especificación precisa para construir un nuevo componente para la herramienta francesa que avisa a los sus usuarios que cierta acción conducirá a un error antes de que éste ocurra”, expresó el recién Doctor.

 

En cuanto al rol que tuvo la académica del DCC María Cecilia Bastarrica, Andrés Vignaga contó que en su caso, por ser extranjero fue un gran apoyo. “Además de supervisar entregas, me ayudó a elegir el tema, cosa que no es fácil, debido a que debe ser un tema original, que signifique un avance en la ciencia. Cecilia me ayudó a decidir cómo resolver el problema central, y los diversos subproblemas que se presentaron en el camino, participó de la selección de los resultados, que deben ser publicados para que tengan una validación experta y puntual. También determinó en qué momento el tratamiento dado al problema había sido suficiente para su cierre y consolidación pública”.

 

En cuanto a las proyecciones, Andrés Vignaga, señala que por el momento se desempeña como Gerente de Operaciones en una empresa de desarrollo, pero en el mediano plazo espera poder destinar una parte de su tiempo a la industria y a la academia. “Mi área de conocimiento es muy aplicada y considero que retroalimentar la investigación con los problemas de la práctica y retroalimentar la práctica con las soluciones encontradas en la investigación es un círculo virtuoso ideal”, concluyó.

 

Andrés Vignaga es ingeniero Civil en Computación de la Universidad de la República de Uruguay (2000), donde también obtuvo el Magister en informática (2004). Lleva más de diez años dedicado a la ingeniería e investigación, a la gestión de equipos de trabajo, construcción, implantación y administración de servicios, proyectos y sistemas informáticos en empresas de minería, energía y retail.

 

Abstract 

A Type System for Global Model Management

 

Model-Driven Engineering (MDE) is positioned as a paradigm shift from code-centric software development to model-based development. The MDE approach is centered around machine processable artifacts that represent systems, and suggests basing software development and maintenance processes on chains of transformations on those artifacts. In the past years it has been increasingly used in real-world projects with interesting and promising results. However, when the number of machine processable artifacts rises, managing them becomes more complex. While a few artifacts are often quite easy to handle, in industrial use cases developers have to deal with large sets of MDE artifacts (e.g., models, metamodels, transformations) from which a solution has to be assembled. In order to effectively use those artifacts in practice, developers require more sophisticated ways of creating, storing, viewing, accessing, modifying, and using the information associated with all these modeling entities. This is the purpose of Global Model Management (GMM) introduced by the AtlanMod team. GMM proposes representing artifacts, including transformation composition and execution, within a model called a megamodel. Type information about artifacts can then be used for preventing type errors during execution, such as the attempted execution of a non-transformation, or the use of a transformation on arguments for which it is not defined.

 

Even if in GMM types are extensively used for preventing type errors, typing was not completely addressed in its original definition. In particular, GMM assumes that all managed artifacts are models conforming to precise metamodels. Typing is then simply based on the conformance relationship, and metamodels are used as types. This scheme suffices for most common cases, but it fails in others by not being able to assign a complete type to some elements. When this happens, type errors may be inadvertently introduced. Artifacts are related to each other by semantic links. For example, a transformation refers to its source and target metamodels. In such cases GMM additionally uses a part of those links for typing purposes. Despite that, manipulations of elements whose type actually involves their semantic links go beyond the limits of the current typing approach. Such manipulations include the case when a transformation is the input or output of another transformation, or when the type of the result of a transformation depends on an input value. This situation affects the behavior of AM3, a tool realizing GMM.

 

In this work we identify a number of limitations in GMM's current type approach and formally present cGMM, a sound and decidable type system that focuses on ensuring that transformations receive the right arguments, and on consistently typing the results of transformations. Our type system was developed in coordination with the AtlanMod team and constitutes the first effort specifically oriented to typing artifacts within a megamodel. It supports general MDE constructs included in the core definition of GMM such as models, metamodels and metametamodels, and specific constructs included in its current extensions: ATL and composite transformations, TCS projectors and textual entities, and AMW weaving models. Expressing MDE artifacts within a megamodel as cGMM terms enables the static typechecking of these elements and type inference in a mechanical fashion. Artifact manipulations that would cause a type error can be statically detected and thus their execution can be prevented. We illustrate the applicability of the type system on real-world case studies. A prototypical implementation of cGMM was used for validation purposes and was packed as an AM3 plugin.

 

--
Comunicaciones DCC