trabajo mda

14
República Bolivariana de Venezuela Ministerio del Poder Popular para la Educación Universitaria Universidad Alejandro de Humboldt Integrantes: Dennys Quintero José Ortega Simón Fagundez MDA (Model Driven Architecture)

Upload: david-ostos

Post on 30-Sep-2015

29 views

Category:

Documents


0 download

DESCRIPTION

mda

TRANSCRIPT

Repblica Bolivariana de VenezuelaMinisterio del Poder Popular para la Educacin UniversitariaUniversidad Alejandro de Humboldt

MDA (Model Driven Architecture)

Integrantes: Dennys Quintero Jos Ortega Simn Fagundez

Caracas, de 30 Enero 2015

ndice

Pag Introduccin 3MDA (Model Driven Architecture).. 4Ideas Centrales en MDA . 6Importancia de los modelos en MDA. 6 Ventajas del uso del MDA.. 7Principios de MDA 7Herramientas MDA. 8Conclusin.. 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 MDAEl 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 modelo y la implementacin de los sistemas. Los cambios en el modelo no se reflejan en el cdigo y los cambios en el cdigo no se reflejan en los modelos, slo se genera el cdigo de los modelos la primera vez y nunca se actualiza. 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 frecuencia como una combinacin de dibujos y de texto.

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 MDALa 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 ha constituido en el medio que ha posibilitado el reto de integrar herramientas robustas de apoyo al desarrollo. Por ejemplo, los estndares como UML deben expresarse en XML, de esta forma resultan de gran utilidad en mecanismos de transformacin de modelos que utilizan otros estndares como XSLT. Herramientas MDALas 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.