Está en la página 1de 8

Utilización de Maude desde Eclipse Modeling Framework para

la Gestión de Modelos1

Artur Boronat, José Iborra, José Á. Carsí, Isidro Ramos, Abel Gómez
Departament de Sistemes Informàtics i Computació
Universitat Politècnica de València
Camí de Vera, s/n
46022 València
{aboronat | jiborra | pcarsi | iramos | agomez}@dsic.upv.es

Resumen este artículo se presenta un caso exitoso de


aplicación de especificaciones algebraicas a una
Los métodos formales proporcionan buenas herramienta industrial de modelado, en el contexto
propiedades para abordar problemas en Ingeniería de la Gestión de Modelos.
del Software. Sin embargo, en muchos casos no se En la Ingeniería de Modelos, cualquier
suelen aplicar en un ámbito industrial debido a artefacto software puede ser tratado o
prejuicios o malas experiencias. En este artículo, representado como un modelo [3]: ontologías,
se presenta un caso de éxito de la aplicación de modelos UML, esquemas relacionales, esquemas
especificaciones algebraicas en un entorno XML, etc. Un modelo describe una realidad física,
industrial de modelado para dar soporte a la abstracta o hipotética, recogiendo únicamente la
Gestión de Modelos. Esta disciplina es una nueva información necesaria que permite conseguir unos
tendencia dentro de la Ingeniería de Modelos que objetivos específicos: generación de código,
trata a los modelos como ciudadanos de primer integración de aplicaciones, interoperabilidad
orden y que proporciona una serie de operadores entre aplicaciones, etc. Trabajar directamente
genéricos para manipularlos. Se ha especificado sobre modelos aumenta el nivel de abstracción de
algebraicamente un conjunto de operadores de estas tareas y permite automatizarlas. Las
este tipo utilizando el lenguaje Maude. Estos herramientas que dan soporte a este tipo de tareas
operadores se utilizan de forma visual desde normalmente lo consiguen de una forma
Eclipse Modeling Framework (EMF). En este específica para un determinado contexto de
artículo se presenta el soporte que se ofrece para trabajo (ontologías, bases de datos relacionales,
la interoperabilidad entre Maude y EMF en una etc) o para una determinada tecnología
herramienta de gestión de modelos. (integración de modelos UML con Rational Rose
Integrator), generación de código a partir de
1. Introducción herramientas de modelado (como Rational Rose,
Visio), etc.
Dentro de la Ingeniería de Modelos, una
En la Ingeniería del Software aplicada a la
nueva disciplina, llamada Gestión de Modelos [4],
industria, la aplicación de formalismos para dar
trata con modelos mediante una serie de
soporte a herramientas industriales no ha sido
operadores genéricos que permiten realizar tareas
siempre bien recibida. Pese a que existen casos de
como las descritas anteriormente. Estos
exitosa aplicación [1], una serie de mitos y
operadores constituyen una solución abstracta y
creencias separa a la comunidad teórica de la
reutilizable para trabajar sobre los modelos como
industria. En [2] se plantea un interesante debate
ciudadanos de primer orden, independientemente
sobre los puntos críticos de este cisma, basándose
del contexto o tecnología utilizada para
en una década de discusiones sobre este tema. En
representarlos.

1
Este artículo ha sido financiado por el Proyecto Nacional de Investigación, Desarrollo e Innovación DYNAMICA TIC
2003-07804-C05-01.
Dada nuestra experiencia en la aplicación del 2. Visión global del framework
formalismo de especificaciones algebraicas a la MOMENT
recuperación de sistemas legados [5, 6], se está
desarrollando una herramienta que da soporte En MOMENT los operadores de gestión de
algebraico a este tipo de operadores genéricos modelos [10] han sido especificados
desde un entorno de modelado industrial. Nuestra algebraicamente utilizando el formalismo Maude.
aproximación demuestra la falacia de los mitos Los modelos se especifican como conjuntos de
basados en la poca productividad de las elementos de forma independiente del
herramientas formales y en el aumento del coste metamodelo, de manera que los operadores
del proceso software debido a su uso. Para ello pueden acceder a los elementos sin conocer la
hemos elegido un eficiente sistema de reescritura representación de un modelo. La interfaz de
de términos, Maude [7], que ya ha sido utilizado MOMENT está integrada en EMF, de manera que
en muchos ámbitos formales [8]. el formalismo de especificaciones algebraicas
Nuestra herramienta de gestión de modelos, queda totalmente transparente al usuario.
llamada MOMENT (MOdel manageMENT), Para ilustrar el funcionamiento de MOMENT,
utiliza el entorno Maude desde un entorno de se indica un pequeño ejemplo de integración de
modelado industrial, como es Eclipse Modeling esquemas XML. Para ello se ha definido una parte
Framework (EMF) [9]. Esta integración de un del metamodelo del lenguaje de definición XML
método formal en una herramienta industrial de (XSD), mostrado en la Figura 1 utilizando
desarrollo de software, combina los esfuerzos que notación UML.
se están realizando sobre ambas herramientas en
XSDSchema elements XSDElement sequence
direcciones divergentes: en Maude sobre aspectos
Name: EString Name: EString
teóricos, y en EMF sobre su aplicación a la
Ingeniería del Software. De esta manera, evitamos
el aislamiento de Maude en el ámbito industrial,
debido a la premisa “construyelo y ya vendrán”2, XSDSimpleElement XSDComplexElement
frecuentemente mantenida por los desarrolladores
Type: EString
de métodos formales. Este hecho permite utilizar
Maude para solucionar problemas reales en la Figura 1. Parte del metamodelo XSD.
Ingeniería del Software, sin limitarse únicamente Utilizando el editor en forma de árbol que
a la solución de los llamados ejemplos de juguete. proporciona EMF, definimos los esquemas XML
Este artículo presenta el mecanismo que se ha A y B en la Figura 2. Se aplica el operador Merge
desarrollado en el marco de MOMENT para a ambos, obteniendo el esquema XML integrado
conseguir una buena interoperabilidad entre C y dos modelos de trazas (mapAC y mapBC) que
Maude y EMF. La estructura del artículo es la enlazan los elementos de los modelos de entrada
siguiente: la Sección 2 presenta una visión global con los elementos del modelo de salida. La
de la aplicabilidad de la Gestión de Modelos invocación del operador es la siguiente: <C,
presentando un ejemplo que se utilizará a lo largo mapAC, mapBC> = Merge(A, B).
del trabajo; en la Sección 3, se realiza una
A B
discusión sobre herramientas de modelado en las
tendencias más relevantes de la Ingeniería de
Modelos; en la Sección 4, se presenta el marco
conceptual de nuestra solución para la
interoperabilidad entre Maude y EMF; en la
Sección 5, se presenta cómo se da soporte para la
proyección de modelos EMF sobre Maude;
finalmente, en la sección 6 se presentan una serie
mapAC
de conclusiones y trabajos futuros. C
mapBC

Figura 2. Aplicación del operador Merge.


2
Del inglés, “built-it-and-they-will-come”. Para poder realizar la integración de los
esquemas XML, estos deben ser traducidos a
términos en Maude, para que el operador Merge determinado, aumentando la calidad, la
pueda aplicarse sobre ellos. En los siguientes productividad y la automatización del proceso de
apartados se indica como se consigue esta desarrollo. La apuesta de Microsoft en este campo
interoperabilidad entre EMF y Maude mediante se enmarca en la herramienta Domain Specific
MOMENT. Language tools, aún en fase preliminar. También
existen propuestas de nuevas herramientas como
3. Herramientas de modelado Meta Programming System, y Graphical
Modelling Framework (que funcionará sobre
En esta sección se indican algunas herramientas EMF).
que dan soporte para la Ingeniería de Modelos, Entre todas estas herramientas, hemos elegido
teniendo en cuenta las últimas tendencias. De este EMF como entorno de modelado para nuestra
modo, se justifica el entorno de modelado elegido herramienta de Gestión de Modelos por su
para nuestra aproximación de gestión de modelos. situación dentro del marco de la Ingeniería de
Debido a la gran variedad de artefactos Modelos. EMF permite tratar con gran variedad
software, la interoperabilidad con herramientas de de artefactos software, como esquemas XML,
modelado de cualquier índole constituye una modelos UML (definidos en entornos visuales de
condición necesaria para que una herramienta de modelado como Rational Rose), esquemas
gestión de modelos tenga éxito. La iniciativa relacionales (a través de Rational Rose), y
Model-Driven Architecture (MDA) [11] ontologías, entre otros. Además, EMF es utilizada
proporciona una serie de estándares que permiten por las principales herramientas de IBM,
compartir metainformación entre herramientas de aportando una visión industrial a nuestro enfoque
modelado (XMI) y repositorios de de Gestión de Modelos.
metainformación (MOF).
Algunas herramientas que dan soporte a este 4. Espacios tecnológicos: EMF y Maude
enfoque son Eclipse Modeling Framework y
NetBeans MetaData Repository. Eclipse Modeling El concepto de espacios tecnológicos fue
Framework (EMF) es un entorno de modelado que introducido por Kurtev et al. en la discusión sobre
proporciona facilidades para la generación de el enlace de tecnologías heterogéneas [15]. Un
código. EMF puede ser utilizado como un marco espacio tecnológico (ET) es un contexto de trabajo
de metamodelado donde el lenguaje común es un en el que se dispone de un conjunto de conceptos
subconjunto de UML. NetBeans MetaData bien definidos, una base de conocimiento,
Repository da soporte tecnológico al estándar herramientas, y una serie de posibilidades de
MOF constituyendo un repositorio de aplicación específicas [16]. Por ejemplo, en este
metainformación que puede ser modelada en artículo tratamos con los ETs de Eclipse Modeling
UML a través de entornos visuales de modelado. Framework y de Maude.
Una aproximación similar es seguida en la En esta sección, se indica el marco conceptual
computación integrada en modelos (MIC – Model que se ha utilizado para representar artefactos
Integrated Computing) [12], con herramientas software mediante EMF y cómo estos son
como Generic Modeling Environment y proyectados sobre Maude, con el objetivo de
MetaEdit+. Todas estas herramientas constituyen utilizar los operadores algebraicos de MOMENT
un marco de metamodelado basadas en un sobre ellos.
lenguaje abstracto para definir la sintaxis,
semántica y visualización de lenguajes específicos 4.1. Marco conceptual para la representación
a dominio. de artefactos software en Maude
Siguiendo el enfoque de la Ingeniería
Específica a Dominio [13], un nuevo paradigma Siguiendo un enfoque de Ingeniería de Modelos,
de desarrollo de software está emergiendo con las para tratar con artefactos software utilizamos la
llamadas Factorías de Software (Software terminología que define el estándar Meta-Object
Factories [14]). Esta aproximación se basa en la Facility de la iniciativa MDA. Este estándar
definición de lenguajes específicos a dominio para presenta una arquitectura de cuatro capas de
abordar el desarrollo de software en un contexto modelado que permite clasificar artefactos
software con diferente propósito: M3 como el lenguaje de definición de metamodelos en
(metametamodelos), M2 (metamodelo), M1 el nivel M3. En el nivel M2, los metamodelos son
(modelo), M0 (sistema real). los módulos que proporcionan especificaciones
Una estrategia para trabajar con metamodelos algebraicas Maude.
consiste en definir una sintaxis básica en el nivel Una especificación algebraica representa un
M3, que pueda ser utilizada para definir artefactos metamodelo, proporcionando la descripción
software en niveles inferiores. En EMF, el sintáctica de las primitivas (llamadas
metametamodelo se llama Ecore y proporciona constructores en el campo de las especificaciones
una serie de primitivas de modelado: un algebraicas), necesarias para especificar un
subconjunto del diagrama de clases del artefacto software en el nivel M1. Cuando la
metamodelo UML. Estas primitivas se utilizan especificación algebraica es interpretada como
para definir metamodelos en el nivel M2, álgebra, se obtiene la visión como tipo del
constituyendo un paradigma de modelado. Como metamodelo, donde los constructores se pueden
por ejemplo, el lenguaje de definición de utilizar para definir artefactos software en el nivel
esquemas XML (XML Schema Definition M1. Éstos son representados sintácticamente
language - XSD). como términos, representando la información en
Los elementos de un metamodelo son forma de árbol.
utilizados como tipos para definir los elementos Para manipular modelos EMF con los
que constituyen un modelo en el nivel M1. En el operadores algebraicos de MOMENT se han
caso del metamodelo XSD, un modelo es un definido una serie de proyecciones entre ambos
esquema XML específico. Los elementos de un ETs (ver Figura 3). Estas proyecciones permiten
modelo también se comportan como tipo para representar un modelo como un término
definir información en el nivel M0 de la algebraico, manipularlo desde Maude, y
arquitectura MOF. Por ejemplo, un esquema XML devolverlo como un modelo EMF.
define los elementos que se pueden utilizar en un ET EMF ET Maude

documento XML. ElEllenguaje


Metametamodelo Ecore lenguaje
Ecore Maude
Maude
4.2. Proyecciones de artefactos software EMF
sobre Maude Metamodelo
Metamodelo
M2-EMF2Maude
Espec.
Espec.
Metamodelo (.ecore)
(.ecore) algebraicas
algebraicas

Un ET se caracteriza por el soporte tecnológico


M1-EMF2Maude
que se proporciona a un determinado paradigma Modelo
Modelo
Modelo Término
Término
de modelado. Cada paradigma de modelado se M1-Maude2EMF

organiza entorno a un metametamodelo común y


persigue unos objetivos específicos. Figura 3. Enlaces entre el ET EMF y el ET Maude.
El ET EMF se caracteriza por las facilidades
que ofrece para representar una buena variedad de
4.3. Interoperabilidad en el nivel M2
artefactos sofware como modelos y por su
interoperabilidad con otras herramientas
industriales de modelado. El ET Maude se En el nivel de metamodelos se establece un enlace
caracteriza por las ventajas que aporta el unidireccional que proyecta un metamodelo EMF
formalismo de especificaciones algebraicas: sobre el ET Maude, obteniendo una especificación
abstracción, subtipado, modularización, algebraica. De este modo, un metamodelo se
genericidad mediante parametrización, etc. Este interpreta como un álgebra que proporciona los
ET también puede ser visto como un paradigma constructores necesarios para definir modelos y
de modelado3, considerando el lenguaje Maude

3
Para simplificar el discurso, utilizamos una visión Maude proporciona. Otra visión es la semántica, donde
sintáctica de las especificaciones algebraicas y no las capacidades de reflexión de Maude sitúan el Álgebra
tenemos en cuenta las capacidades de reflexión que Universal como metametamodelo en el nivel M3.
las operaciones necesarias para manipularlos, en Merge, cuando se utiliza en el metamodelo XSD,
el contexto de la Gestión de Modelos. permite integrar esquemas XML. Para definir este
Este enlace es unidireccional pues los tipo de integración de forma más precisa, se
metamodelos se especifican mediante pueden añadir relaciones de equivalencia que
herramientas visuales de modelado a través de tengan en cuenta las primitivas del metamodelo
EMF (el nombre que hemos asignado a este XSD: elemento simple, elemento complejo, etc.
enlace es M2-EMF2Maude). Este hecho permite Estas relaciones de equivalencia específicas al
hacer transparente el uso del formalismo Maude al metamodelo XSD se añaden al módulo spXSD en
usuario final del framework MOMENT. forma de axiomas. La especificación algebraica
MOMENT trabaja directamente sobre un resultante constituye el álgebra de un metamodelo.
álgebra de operadores genéricos de manipulación El módulo spXSD también es generado
de modelos, especificados en el módulo automáticamente por la herramienta MOMENT a
MOMENT-OP(X::TRIV). Estos operadores partir de la especificación de los nuevos axiomas
pueden ser adaptados a un metamodelo específico en interfaces visuales6.
haciendo uso de las capacidades de Espec. parámetro Inclusión del parámetro formal Especificación
formal parametrizada
parametrización que ofrece Maude, basándose en p
MOMENT-OP(X::TRIV)
TRIV
el concepto formal de Pushout [17] de teoría de Morfismo de
paso de Morfismo
categorías. parámetros
vXSD h inducido

En el diagrama del mecanismo de paso de


parámetros4 (Figura 4), TRIV constituye el Espec.
parámetro real
sigXSD
p’
MOMENT-OP(vXSD) Especificación
valor

parámetro formal del módulo parametrizado Inclusión del parámetro real


Importación segura
MOMENT-OP(X::TRIV). La especificación
spXSD
sigXSD constituye el parámetro real para el Espec. Algebraica para el metamodelo XSD
módulo parametrizado. sigXSD proporciona los
Figura 4. Diagrama del mecanismo de paso de
constructores correspondientes a las primitivas de parámetros en Maude.
un metamodelo específico. Esta especificación
algebraica está relacionada con el parámetro
formal mediante la vista vXSD. Como ejemplo se 4.4. Interoperabilidad en el nivel M1
ha utilizado el metamodelo XSD simplificado. En
él, a partir de la metainformación5 que describe la Existe otro tipo de enlace entre el ET EMF y el
clase XSDSimpleElement, que indica cómo ET Maude en el nivel de modelos. Este enlace es
definir un elemento simple en un esquema XML, bidireccional y consta de dos tipos de
se obtiene un constructor que permite definir un proyecciones:
elemento simple en un esquema XML como un • M1-EMF2Maude: Este mecanismo proyecta
término del álgebra. un modelo EMF, definido mediante un
El módulo MOMENT-OP(vXSD) representa metamodelo EMF, sobre el ET Maude como
la instaciación del módulo parametrizado con el un término. Para proyectar un modelo sobre el
parámetro real sigXSD. Esta especificación valor ET Maude, la herramienta MOMENT
es importada por el módulo spXSD, en el que se consulta el correspondiente metamodelo y
extiende la presentación axiomática de los obtiene el constructor de la correspondiente
operadores genéricos adaptándola a un especificación algebraica, que es necesario
metamodelo específico. Por ejemplo, el operador

6
El objetivo del artículo se centra en el soporte que
4
En la figura, p y p’ son morfismos que indican MOMENT ofrece para la proyección de artefactos
inclusión de especificaciones algebraicas, y h es el software de EMF a Maude. Como la generación del
morfismo inducido a partir de la vista vXSD, que módulo spXSD concierne más a la semántica de las
obtiene los elementos de MOMENT-OP(vXSD) a partir operaciones de manipulación de modelos, nos centramos
de los elementos del módulo parametrizado. en la obtención del parámetro real para el álgebra
5
Expresada como una instancia de la clase EClass del genérica de operadores (en el caso del metamodelo
metametamodelo Ecore. XSD, es el módulo sigXSD).
para especificar el término de forma lugar, se detalla la implementación de los enlaces
automática. entre ETs presentados conceptualmente en la
• M1-Maude2EMF: Este mecanismo sección anterior.
proporciona la proyección inversa a la
anterior, obteniendo un modelo EMF a partir 5.1. Maude en Eclipse
de un término Maude. En este paso, cuando la
herramienta MOMENT lee un término que Para hacer uso de las características de Maude, se
representa un modelo, determina las ha desarrollado dos plug-ins que nos permiten su
primitivas del metamodelo EMF que debe uso directamente desde el entorno de Eclipse.
utilizar para construir el modelo EMF a partir El primero consta de todas las funcionalidades
de los símbolos de los constructores utilizados para configurar, ejecutar, e interactuar con Maude
en el término. Con estas primitivas se desde Java. Este plug-in incluye una ventana de
construye el modelo dinámicamente y se configuración integrada en las preferencias de
persiste en formato XMI. Eclipse para indicar dónde se encuentran los
Los enlaces, que han sido descritos entre el ficheros necesarios, así como otras opciones. El
ET EMF y el ET Maude, permiten la aplicación plug-in, a su vez, proporciona dos APIs para
de operadores algebraicos sobre modelos invocar a Maude desde el código de una
definidos de forma gráfica mediante entornos aplicación: de forma interactiva o por lotes.
industriales de modelado. Por ejemplo, El segundo plug-in se trata de un editor con
supongamos que se desea realizar la integración coloreado de sintaxis que facilita la escritura de
de dos esquemas XML, cuyo metamodelo ha sido programas y su ejecución directamente en una
definido mediante Ecore. El proceso seguido es el consola de Maude. Proporciona los
siguiente: correspondientes asistentes para la creación de
1. Se obtiene la especificación algebraica spXSD ficheros nuevos, así como una barra de
a partir del metamodelo XSD. herramientas para interactuar con el proceso.
2. Se proyectan los esquemas XML A y B a
términos del álgebra, interpretada a partir de
5.2. Soporte para la interoperabilidad en el
spXSD.
nivel de metamodelos
3. Se aplica el operador Merge a ambos términos
y se obtiene el término resultante mediante el
mecanismo de reducción de Maude. Como El enlace del nivel M2 obtiene la especificación
resultado de la operación de integración se algebraica correspondiente a un metamodelo
obtiene el término C7, que representa el especificado en Ecore. En concreto, para cada tipo
esquema XML integrado. del metamodelo se incluye un sort, y para cada
4. Finalmente, el término C es proyectado al ET tipo no abstracto8 se incluye en la especificación
EMF como un modelo. algebraica un constructor.
La obtención de la especificación algebraica
de un metamodelo se ha automatizado mediante
5. Soporte tecnológico para la técnicas generativas a través de patrones. Con este
interoperabilidad entre EMF y Maude objetivo, se ha utilizado el motor de plantillas
Velocity [18]. Un motor de plantillas toma como
En esta sección, se detalla la implementación del entrada una plantilla y un contexto para la
soporte para la interoperabilidad entre el ET plantilla, que proporciona información para
Maude y el ET EMF, que ofrece MOMENT. En generar código, como la resolución de referencias.
primer lugar, se indica cómo se ha integrado En el contexto de la proyección de
Maude en la plataforma Eclipse. En segundo metamodelos a Maude se ha definido una plantilla
que hace posible la generación automática de la

7
El operador Merge también produce dos modelos de
trazabilidad que relacionan los modelos de entrada A y
8
B con el modelo de salida C, respectivamente. Ambos En el contexto de MOF y EMF, el concepto de tipo
modelos se han obviado para simplificar el ejemplo. abstracto incluye las interfaces y las clases abstractas.
especificación algebraica correspondiente. Para • Sustitución de tipos de datos de EMF por tipos
realizar la proyección de un metamodelo en el de datos de Maude.
espacio tecnológico de Maude se siguen los • Identificación de todos los metamodelos que
siguientes pasos: intervienen en la definición del modelo
1. Previamente a la generación, el metamodelo • Generación de identificadores únicos. Cada
es analizado y procesado para producir una término generado a partir de un elemento de un
estructura más cercana a la representación en la modelo EMF tiene asignado un identificador, que
plantilla destino. El procesado incluye: la es utilizado para dar soporte a las referencias en
clasificación de los tipos en abstractos y Maude.
concretos, la definición de la jerarquía de sorts, y • Obtención del constructor de la especificación
la obtención de la signatura de los constructores. algebraica, que corresponde al tipo de un
2. El motor de plantillas recibe el resultado de elemento del modelo.
este procesado y la plantilla a utilizar, y produce
la correspondiente especificación algebraica del 5.4. Soporte para la interoperabilidad en el
metamodelo. nivel M1: M1-Maude2EMF
En la Figura 5, se muestra una captura de
pantalla en la que aparece la especificación El problema de la obtención de modelos EMF a
generada a partir del metamodelo XSD del partir de términos algebraicos se ha abordado
ejemplo, en la interfaz del editor Maude. como un problema de análisis de lenguaje,
teniendo en cuenta la sintaxis Maude para
especificar términos.
Para generar los analizadores léxico, sintáctico
y semántico requeridos se ha empleado el
generador de parsers ANTLR [19], cuyo
funcionamiento es similar a los conocidos Bison y
Flex. La mayor parte de la lógica presente en el
proceso de análisis se concentra en el analizador
semántico, encargado de recorrer el Arbol
Abstracto (Abstract Syntax Tree, AST), que está
formado por representantes de los términos
algebraicos procedentes del código fuente, y de ir
construyendo el modelo en EMF a medida que se
analice. Para cada término el proceso es el
siguiente:
1. A partir del símbolo del constructor del
Figura 5. Especificación sigXSD generada a partir del término se identifica el metamodelo que contiene
metamodelo XSD simplificado. al tipo que representa a este término, y se carga la
clase del elemento representado por el término. El
analizador semántico crea una instancia
5.3. Soporte para la interoperabilidad en el dinámicamente, que ya es la proyección en EMF
nivel M1: M1-EMF2Maude del término algebraico.
2. Seguidamente se rellenan los atributos de la
La proyección de un modelo en el espacio instancia creada con los valores de los
tecnológico de Maude equivale a un conjunto de subtérminos encontrados en el término. Las
términos de la especificación algebraica referencias se dejan pendientes.
correspondiente al metamodelo utilizado. Para 3. Una vez se han procesado todos los términos
este mecanismo se ha utilizado la misma técnica se resuelven las referencias entre ellos, de forma
generativa que en el caso anterior. Por lo tanto el similar al proceso seguido con los atributos.
proceso seguido es similar, y en este caso las
responsabilidades del preprocesado son las
siguientes:
6. Conclusiones Special issue on Breakthroughs and
Challenges in Software Engineering. Vol. 10
En este artículo se ha presentado una visión global (issue 4). April 2004.
de la herramienta MOMENT, y el marco [6] Boronat, A., Carsí, J.Á., Ramos, I.: Automatic
conceptual en el que se está trabajando dentro de Reengineering in MDA Using Rewriting
la Ingeniería de Modelos. Se ha presentado el Logic as Transformation Engine. IEEE
soporte para la interoperabilidad entre los espacios Computer Society Press. CSMR 2005.
tecnológicos EMF y Maude, que permite aplicar Manchester, UK. 2005.
operadores definidos algebraicamente a modelos [7] Clavel, M., Durán, F., Eker, S., Lincoln, P.,
definidos mediante herramientas visuales de Martí-Oliet, N., Meseguer, J., Quesada, J.F.:
modelado. Además, este hecho permite combinar Maude: specification and programming in
los esfuerzos que se están realizando actualmente rewriting logic. Theoretical Computer
sobre cada una de estas herramientas, en el campo Science, 285(2):187-243, 2002.
industrial de EMF y en el campo teórico de [8] Martí-Oliet N., Meseguer, J. Rewriting logic:
Maude. Roadmap and bibliography. Theoretical
Como trabajo futuro, se está desarrollando el Computer Science, 285(2):121–154, 2002.
soporte para definir las relaciones existentes entre [9] El sitio web de EMF:
modelos de forma visual. El objetivo consiste en http://download.eclipse.org/tools/emf/scripts/
proporcionar una herramienta que permita definir [10] Bernstein, P.A: Applying Model
operadores de gestión de modelos Management to Classical Meta Data
algebraicamente y que permita su aplicación Problems. pp. 209-220, CIDR 2003.
desde una herramienta visual de modelado. [11] OMG Model-Driven Architecture.
http://www.omg.org/mda/
[12] Sztipanovits J. y Karsai G., Model-Integrated
Agradecimientos Computing, Computer, Apr. 1997, pp. 90-92.
[13] Czarnecki, K., Eisenecker, U.: Generative
A Francisco Durán, por facilitarnos la Programming: Methods, Tools, and
documentación y la implementación de Maude Applications.Addisson-Wesley (2000). ISBN
Workstation, en el que nos hemos basado para 0-201-30977-7, pag. 267-304.
ejecutar Maude sobre Windows. [14] Greenfield, J., Short, K., Cook, S., Kent, S.,
Crupi, J. Software Factories: Assembling
Referencias Applications with Patterns, Models,
Frameworks, and Tools. Wiley. 2004. ISBN:
[1] Bowen, J.P., Hinchey, M.G. Seven More 0-471-20284-3
Myths of Formal Methods. IEEE Software. [15] Kurtev, I., Bézivin, J., Aksit, M.:
July 1995 (Vol. 12, No. 4). Technological Spaces: An Initial Appraisal.
[2] Gogolla, M. Benefits and Problems of Formal Int. Federated Conf. (DOA, ODBASE,
Methods. Proc. 9th Int. Conf. Reliable CoopIS), Industrial track, Irvine, 2002.
Software Technologies Ada- [16] Bézivin, J., Devedzic, V., Djuric, D.,
Europe (RST'2004), pages 1-15. Springer, Favreau, J.M., Gasevic, D., Jouault, F.: An
Berlin, LNCS 3063, 2004. M3-Neutral infrastructure for bridging model
[3] Bézivin, J.: On the Unification Power of engineering and ontology engineering.
Models, in: "Software and System Modeling INTEROP-ESA. Switzerland. 2005.
(SoSym)", 2004, vol. 3, no 4. [17] Ehrig, H., Mahr, B.: Fundamentals of
[4] Bernstein, P.A., Levy, A.Y., Pottinger, R.A.: Algebraic Specification 1. Springer-Verlag
A Vision for Management of Complex Berlin Heidelberg New York Tokio (1985).
Models. MRS Tech. Rep. MSR-TR-2000-53, ISBN: 3-540-13718-1.
(short version in SIGMOD Record 29, 4 (Dec. [18] El motor de plantillas Apache Velocity:
'00)). http://jakarta.apache.org/velocity
[5] Boronat, A., Pérez, J., Carsí, J. Á., Ramos, I.: [19] El generador de parsers ANTLR:
Two experiencies in software dynamics. http://www.antlr.org
Journal of Universal Science Computer.

También podría gustarte