Guatemala 2009
Model Driven Architecture
ÍNDICE
Página .
Capítulos
I. INTRODUCCIÓN ………………………………………………………..
3
II.MODERN DRIVEN ARCHITECTURE …………………………………
4
A. El futuro a largo plazo para los MDA ……………………………….
6
B. Java y MDA ……………………………………………………….…..
6
III.METODOLOGÍA DE RAMBAUGH…….……………………………….
7
IV.METODOLOGÍA DE SHLAER Y MELLOR.......................................
10
V.CONCLUSIONES..............................................................................
12
VI.BIBLIOGRAFÍA …………………………………………………………..
13
3
I. INTRODUCCIÓN
Un MDA es, tal como su nombre lo indica, una forma de crear sistemas que
funcionan a base de un modelo. En otras palabras, en un MDA, a partir de un
modelo que describe al sistema y que está diseñado en un lenguaje
independiente de plataformas (como lo es UML) se establece la funcionalidad del
sistema. El modelo es traducido a un sistema funcional en plataformas
específicas por medio de una función que mapea el modelo independiente de
plataformas a uno que depende de las plataformas en las que se utilizará el
sistema y posteriormente a un código para esas plataformas. (Poole, 2001:2).
Ahora es necesario estudiar las ventajas que tiene un sistema hecho a base de
MDA. La primera ventaja es evidente: por medio de un modelo se puede
construir programas que funcionen en forma similar sobre diferentes plataformas.
Otra característica importante del MDA es que por medio de este el programador
podrá modificar el modelo para modificar el programa, y sus versiones en cada
plataforma para la que está hecho sin tener que recurrir a revisar el código ya
que este es producido a partir del modelo. En MDA “el programa es el
modelo” (Venners, 2007). Sin embargo, esta no es la única funcionalidad de usar
MDA. Resulta ser más interesante considerar el caso de un sistema de
información en el que actúan diferentes componentes que funcionan con
diferentes plataformas. Propongamos por ejemplo un juego de celular en el que
se almacenan los récords globales del juego en una página de Internet. Este
juego debe ser corrido por celulares con distintas plataformas y, más aún, el
celular deberá interactuar eventualmente con un computador en donde se están
guardando los récords. Las plataformas del celular pueden y suelen ser
totalmente diferentes a las del computador. Además si el juego tiene un modo
celular contra celular, distintos celulares con distintas plataformas deberán
interactuar en el sistema generado por el juego. Por lo tanto si esta interacción es
descrita por un modelo independiente de plataformas, este describirá el rol que
debe de tomar cada actor (en este caso cada plataforma distinta) sin importar de
cómo se realice el trabajo dentro del actor ya que esto lo determinará la función
que transforma el modelo independiente a uno dependiente. Por lo tanto los
sistemas MDA permiten un gran nivel de interacción entre plataformas que sería
difícil de alcanzar sin esta herramienta. A esto se le llama interoperabilidad.
Para conseguir que los metadatos son entendidos por todos los componentes es
necesario que el sistema MDA tenga verciones estándard del lenguaje formal
que se utiliza para representar los metadatos, el formato de intercambio y
publicación de metadatos, un modelo para acceder a los metadatos existentes o
para crear los metadatos necesarios al realizar una operación (como por ejemplo
al agregar un componente nuevo al sistema) (Poole 2001:5).
B. Java y MDA
Los objetos promueven una base para la implementación. La clase del objeto
describe al grupo de objetos con los mismos atributos. estos se representan en
diagramas. Aquí damos uso al principio de encapsulación. Ademas de los
atributos tenemos las operaciones y métodos. Los métodos implementan las
operaciones y llamamos firma del método a sus argumentos y tipo de valor
regresado.
8
Las relaciones entre clases son las asociaciones, de las que tenemos como caso
especial, las agregaciones. Las agregaciones refieren a asociaciones completas.
Las asociaciones puede ser también indican multiplicidad. se puede modelar
asociaciones como clases.
Figura 1.
9
Figura 2
Figura 3
Figura 4
10
En esta metodología se aplic ael método a cad auno de los dominios que forman el
sistema. Un dominio es un “mundo real, hipotético, o abstracto que esta compuesto de
objetos que se comportan de acuerdo a las características de ese mundo.” Los dominios
son:
1. Aplicación: Es el dominio que identifica el próposito del sistema. Este tiene que ver
con la utilidad que se quiere tener a disposición del cliente o usuario. Este dominio
dice qué servicio da el sistema.
2. Servicios: Formado por las funciones de utilidad que dicen como es que el próposito
es realizado, de for a general, el dominio de servicios que contiene el como prestar la
aplicación deseada por el usuario.
3. Arquitectura: Dominio que tiene una cualidad muy interesante. El qué y cómo estan
establezidos en un lenguaje que habla de objetos y como funcionan y se relacionan
sus propiedades(sus métodos y atributos). Este dominio esta constituido por
mecanismos, arquetipos, y reglas de traducción. Estos sirven como formatos
predefinidos, que son llenados por mecanismos e implementados al código ya con
las reglas de traducción.
La metodolgía usa cuatro diagramas para los dominios que consisten en los siguietes
modelos:
1. Información: Este tiene los objetos, y existe uno para cada subsistema. Para cada
objeto de un subtipo hay un supertipo y vice versa.
1. Relación de subsistemas.
4. Nivel subsistema:
A. Comunicación de objetos
B. Acceso objetos
Figura 5.
Este método se usa por los investigadores del Laboratorio de los Alamos para
desarrollar software para un colisionador de iones llamado PHENIX. Existe
documentación de desarrolladores que quisieron modificar el método y
terminaron desarrollándolo de nuevo.
12
V. CONCLUSIONES
VI. BIBLIOGRAFÍA
<http://www.omg.org/mda/mda_files/Model-Driven_Architecture.pdf>
2.
James Rumbaugh, Object oriented design. Prentice Hall New Jersey. 1991.
Capítulos 1, 3, 4, y 5.
<http://www.artima.com/lejava/articles/javaone_2007_no_magic.html>