Sunteți pe pagina 1din 13

Repblica Bolivariana de Venezuela

Ministerio del Poder Popular para la Educacin Universitaria


Universidad Alejandro de Humboldt

MDA
(Model Driven Architecture)

Integrantes:
Dennys Quintero
Jos Ortega
Simn Fagundez

Caracas, de 30 Enero 2015

ndice

Pag
Introduccin
3
MDA
(Model
Driven
Architecture)
.. 4
Ideas
Centrales
en
MDA

. 6
Importancia
de
los
modelos
MDA. 6

en

Ventajas
del
uso
del
MDA
.. 7
Principios
de
MDA
7
Herramientas
MDA
. 8
Conclusin
.. 10
Referencias
. 11

Introduccin

El papel de los modelos es fundamental en el desarrollo de


software para potenciar el reso de los diferentes elementos del
software y facilitar la labor de los diferentes roles que participan del
proceso. La Arquitectura Dirigida por Modelos (MDA) propone un proceso
de desarrollo basado en la realizacin y transformacin de modelos.
Los principios en los que se fundamenta MDA son la abstraccin, la
automatizacin y la estandarizacin. El proceso central de MDA es la
transformacin de modelos que parten del espacio del problema (CIM)
hasta modelos especficos de la plataforma (PSM), pasando por modelos
que describen una solucin independientemente de la computacin
(PIM). Para explicar el papel de los modelos en el proceso de desarrollo
de software este artculo explora los principales conceptos presentados
en la propuesta de MDA.

MDA (Model Driven Architecture)

El MDA es un enfoque de desarrollo de software (propuesto y


patrocinado por el Object Management Group). A travs del uso de
modelos previos al cdigo, estos proveen herramientas y mecanismos
que asisten al desarrollador para los procesos de concepcin, desarrollo,
implementacin y mantenimiento del software.
La Arquitectura Dirigida por Modelos (MDA) es un marco
arquitectnico abierto y neutral de proveedores que aprovecha los
estndares OMG asociados (y modelos especficamente) en el ciclo de
vida de desarrollo de sistemas a travs de varios dominios y tecnologas.
La MDA apoya ampliamente diferentes tipos de dominios de aplicaciones
y plataformas tecnolgicas. La MDA permite transformar o convertir los
modelos independientes de la plataforma para producir modelos
especficos de la plataforma mediante asignaciones. Dentro del proceso
de ciclo de vida de desarrollo del sistema, la MDA se aplica modelos
independientes de la plataforma y los modelos especficos de la
plataforma para sostener y aprovechar las inversiones en los requisitos,
las tecnologas y el ciclo de vida que sirve de puente entre ellos, ya que
independientemente cambian. Este enfoque conduce generalmente a la
flexibilidad a largo plazo de las implementaciones, la integracin, el
mantenimiento, las pruebas y simulacin, as como la portabilidad, la

interoperabilidad y la reutilizacin. Actualmente, MDA est proliferando


en la industria.

En este proceso se plantea el uso de tres modelos de desarrollo:


CIM: Representa los modelos independientes de la computacin
(Computationally-Independent Model) que caracterizan el dominio
del problema. Este tipo de modelos surge ante todo en procesos
de modelado de negocio e idealmente se conciben antes del
levantamiento de requisitos para una aplicacin particular.
PIM: Representa los modelos que describen una solucin de
software que no contiene detalles de la plataforma concreta en
que la solucin va a ser implementada, de ah su nombre de
modelos independientes de la plataforma (Platform-Independent
Models). Estos modelos surgen como resultado del anlisis y
diseo.
PSM: Son los modelos derivados de la categora anterior, que
contienen los detalles de la plataforma o tecnologa con que se
implementar la solucin, de ah su nombre de modelos
especficos de la plataforma (Platform-Specific Models).

La MDA se diferencia entre otras arquitecturas ya que es la forma de


desarrollar aplicaciones y escribir las especificaciones, basado en un
modelo independiente de la plataforma (PIM) de la aplicacin o la
funcionalidad del negocio de especificacin y el comportamiento de
OMG. Una especificacin completa MDA consiste en un modelo de
referencia independiente de la plataforma definitiva, ms uno o ms
modelos especficos de la plataforma (PSM) y conjuntos de definiciones
de interfaz, cada uno que describe cmo se implementa el modelo de
base en una plataforma middleware diferente. Una solicitud completa
MDA consiste en un PIM definitiva, ms uno o ms MEP e
implementaciones completas, una en cada plataforma que el
desarrollador de aplicaciones decide apoyar.
Desarrollo MDA se centra primero en la funcionalidad y el
comportamiento de una aplicacin o sistema, sin distorsiones distribuido
por idiosincrasia de la plataforma tecnolgica o plataformas sobre las
que se llevar a cabo. De esta manera, la MDA se divorcia de los detalles
de implementacin de las funciones de negocio. Por lo tanto, no es
necesario repetir el proceso de definicin de una aplicacin o la
funcionalidad del sistema y el comportamiento cada vez que una nueva
tecnologa (Servicios Web, por ejemplo) se presente. Otras arquitecturas
estn ligadas generalmente a una tecnologa en particular. Con MDA, la

funcionalidad y el comportamiento se modelan una vez y slo una vez.


Asignacin de un PIM a travs de un PSM para las plataformas
soportadas MDA est siendo implementado por herramientas, facilitando
la tarea de apoyar nuevo o diferente
Ideas Centrales en MDA
Separar la especificacin de la funcionalidad del sistema de su
implementacin sobre una plataforma en una tecnologa
especfica.
Controlar
la
evolucin
desde
modelos
abstractos
a
implementaciones
tendiendo a
aumentar el
grado
de
automatizacin.
Importancia de los modelos en MDA
El concepto del modelado, como una de las estrategias bsicas del
desarrollador para entender un problema y proponer una solucin, es
ampliamente aceptado en la ingeniera de software, mucho antes del
surgimiento de MDA. Sin embargo, la aplicacin del modelado en la
prctica diaria presenta problemas como los enunciados a continuacin:
Los modelos se usan solo como documentacin. Los modelos no
funcionan como un artefacto activo que contribuya en el proceso
de desarrollo.
Existen vacos entre el
sistemas. Los cambios en
los cambios en el cdigo
genera el cdigo de los
actualiza.

modelo y la implementacin de los


el modelo no se reflejan en el cdigo y
no se reflejan en los modelos, slo se
modelos la primera vez y nunca se

No hay una adecuada mezcla de modelos. Vistas desconectadas


de un sistema (desconexin horizontal) y grupos de modelos
desconectados (desconexin vertical).
No hay transformacin de modelos. Pocos lenguajes de
transformacin populares y pocas herramientas que soporten
estas transformaciones.
Lo anterior les atribuye a los modelos la fama de una costosa y
pesada carga que complica la labor de los participantes en el proceso de

desarrollo. La MDA rescata la importancia de los modelos como


estrategia clave para entender y especificar una solucin de software y
progresivamente obtener la solucin final. Las siguientes son algunas
definiciones de modelo de la comunidad de MDA:
Un modelo es la descripcin de un sistema (o de una parte)
en un lenguaje bien definido.
Un lenguaje bien definido es un lenguaje con una forma
definida (sintaxis) y significado (semntica) que sea
apropiado para ser interpretado automticamente por un
computador.
Un modelo se presenta con
combinacin de dibujos y de texto.

frecuencia

como

una

Ventajas del uso del MDA


Los desarrolladores no tienen que escribir mucho cdigo ya que
parte de ello lo genera los modelos PIM.
Portabilidad e independencia de la plataforma.
Aumentar el nivel de abstraccin.
Mayor facilidad de mantenimiento.
Cada fase de desarrollo puede ser desempeado por distintos
expertos.
Principios de MDA
La MDA aparece como respuesta a dos problemas fundamentales
dentro de la industria informtica.
La diversidad de plataformas y tecnologas: en la actualidad se oye
hablar con frecuencia de los objetos distribuidos, los componentes, los
aspectos o los web services, entre otras tantas estrategias tecnolgicas
en las que no hay mucha interoperabilidad y que tienen tendencia a
aumentar.
La Acelerada Evolucin Tecnolgica: esto ocasiona que
las plataformas muy pronto sean obsoletas. Surgen,

entonces, interrogantes como: Cul tecnologa va a salir


maana? Cunto va a durar la ltima versin de una
plataforma? Cmo protejo mi inversin? Por consiguiente,
nunca se tiene un verdadero estndar en el nivel de sistema
operativo, servidores, plataformas o middleware, lo cual
dificulta considerablemente el reso de los artefactos
software, y ms an en etapas tempranas del proceso. Las
estrategias para alcanzar beneficios fundamentales, como
productividad, interoperabilidad, "portabilidad" y facilidad de
mantenimiento, se plantean en las ideas del manifiesto MDA.

Representacin Directa: Esta estrategia se basa en el


principio de abstraccin, que hace nfasis en el dominio del
problema ms que en la tecnologa. Los diferentes tipos de
modelos mencionados buscan precisar una semntica que
claramente separe los aspectos relevantes del problema de
las decisiones de tecnologa. Esta estrategia parte de la
hiptesis de que los impactos considerables en el desarrollo
y mantenimiento de una solucin de software se dan por
cambios en el negocio, ms que por la diversidad de
plataformas y la evolucin tecnolgica.

Automatizacin: La propuesta de MDA fortaleci y


dinamiz el papel que las herramientas CASE tienen en el
desarrollo de soluciones. Surgen nuevas funcionalidades que
deben ser soportadas por las herramientas como el
intercambio de modelos, verificacin de consistencia,
transformacin de modelos y manejo de metamodelos, entre
otras. Desde la perspectiva de MDA, el papel de las
herramientas es esencial para apoyar de forma consistente y
sistmica el proceso de desarrollo visto como un proceso de
transformacin de modelos.

Estndares Abiertos: El uso de estndares se


constituido en el medio que ha posibilitado el reto
integrar herramientas robustas de apoyo al desarrollo.
ejemplo, los estndares como UML deben expresarse

ha
de
Por
en

XML, de esta forma resultan de gran utilidad en mecanismos


de transformacin de modelos que utilizan otros estndares
como XSLT.
Herramientas MDA
Las herramientas MDA deberan proveer la capacidad de transformar
modelos de negocios puro (CIMs) en aplicaciones completas,
desplegables y capaces de ejecutar con un mnimo de decisiones
tcnicas. Lamentablemente, nos encontramos muy lejos de que MDA o
alguna herramienta MDA provea todas estas facilidades para cualquier
negocio y problemtica a desarrollar. Tampoco existe un lder en
herramientas MDA, debido a que son muy sofisticadas. Algunas de las
herramientas ms conocidas son:

ATL ATLAS Transformation Language


OptimalJ is a MDA tool for J2EE.
ArcStyler is a MDA tool for J2EE and .NET.
UMT UML Model Transformation
ArgoUML
Codagen
Rational Architect
MDA Transf
Enterprise Architect
GReAT
AndroMDA

Conclusin

Uno de los principales objetivos de MDA es separar el diseo de la


arquitectura y de las tecnologas de construccin, facilitando que el
diseo y la arquitectura puedan ser alterados independientemente. El
diseo alberga los requerimientos funcionales (casos de uso) mientras
que la arquitectura proporciona la infraestructura a travs de la cual se
hacen efectivos requerimientos no funcionales como la escalabilidad,
fiabilidad o rendimiento. MDA se asegura de que el modelo

independiente de la plataforma (PIM), el cual representa un diseo


conceptual que concreta los requerimientos funcionales, sobrevive a los
cambios que se produzcan en las tecnologas de fabricacin y en las
arquitecturas software. De particular importancia en MDA es la nocin de
transformacin de modelos. Uno de los estndares definidos para la
transformacin de modelos se denomina QVT.

Referencias

Anacleto V. A. Corredera, L. E. MDA: Reusabilidad Orientada al


Negocio 2006.
Corredera, L. E. Arquitectura dirigida por modelos, 2006.
Model Driven Architecture, Springer-Verlag, ISBN 3-540-28240-8.

Model Driven Architecture: Applying MDA to Enterprise Computing,


David S. Frankel, John Wiley & Sons, ISBN 0-471-31920-1.
Model Driven Architecture With Executable UML, Chris Raistrick,
Paul Francis, John Wright, Colin Carter, Ian Wilkie Cambridge
University Press, ISBN 0-521-53771-1.

S-ar putea să vă placă și