Transcript Diapositiva 1 - Universidad Abierta Interamericana
Desarrollo de Software basados en Modelos:
conceptos, teorías y desafíos
Claudia Pons
LIFIA – Universidad Nacional de La Plata CAETI – Universidad Abierta Interamericana http://portal-lifia.info.unlp.edu.ar/ ~
cpons Congreso Internacional en Innovación Tecnológica informática Buenos Aires – 14 de Septiembre de 2005
Desarrollo basado en Modelos
(MDD) El problema…
Order Item Ship via Requirements
Model Driven Development (MDD) promueve la separación de la especificación de la funcionalidad del negocio de la implementación de esta funcionalidad en plataformas específicas.
Los modelos son los conductores primarios en todos los aspectos del desarrollo de software.
La solución…… … Modelos …
Software System
Congreso Internacional en Innovación Tecnológica informática Buenos Aires – 14 de Septiembre de 2005
¿Qué es un Modelo?
Order Client makeOrder : Client makeOrder Company new Order ** Item
Item Order
• ¿Qué características tiene?
• ¿Para que sirve?
Ship via Requirements
Congreso Internacional en Innovación Tecnológica informática Buenos Aires – 14 de Septiembre de 2005
Limitaciones de los modelos
(en IS) • Los modelos sólo se usan como documentación.
• “Gap” entre el modelo y la implementación del sistema: – Gap semántico entre los respectivos lenguajes.
– Los cambios en el modelo no se reflejan en el codigo.
– Cambios en el código no se reflejan en el modelo.) • Problemas de unión de modelos – Distintas vistas del sistema (horizontal) – Torres de modelos no relacionados (vertical) • Falencias en la “
transformación
” entre modelos – Pocos lenguajes de transformación. – Falta de herramientas.
Los modelos de software son inmaduros con respecto a al os modelos de otras ingenierías, tales como aeronáutica, electrónica, etc.
Congreso Internacional en Innovación Tecnológica informática Buenos Aires – 14 de Septiembre de 2005
El gran desafio… modelos: desde lo contemplativo a lo productivo
Code C#
"from human-readable to computer understandable“ J. B ézivin Congreso Internacional en Innovación Tecnológica informática Buenos Aires – 14 de Septiembre de 2005
MDD/MDA la nueva visión de OMG:
Mapear modelos a plataformas múltiples y evolutivas Modelos de plataforma neutral basados en UML & MOF
•
MOF & UML como base standard.
• Valores organizacionales expresados como modelos • Trasformación de modelos para su mapeo a plataformas específicas. Congreso Internacional en Innovación Tecnológica informática Buenos Aires – 14 de Septiembre de 2005
La idea central de MDD: PIMs & PSMs • Platform Independent Model (PIM)
– “Un modelo de un sistema que no contiene información acerca de la plataforma o la tecnología que es usada para implementarlo”
• Platform Specific Model (PSM)
– “Un modelo de un sistema que incluye información acerca de la tecnología especifica que se usará para su implementación sobre una plataforma especifica” Congreso Internacional en Innovación Tecnológica informática Buenos Aires – 14 de Septiembre de 2005
Ejemplos de modelos MDD
• CIM – “Se debe dar prioridad de embarque a las pedidos mas antiguos” • PIM – “Los pedidos están ordenados por fecha de recepción” • PSM/OOD – “
Los pedidos son ordenados por embarque
() en orden creciente, usando el atributo “fecha” • PSM/OOP – “Use
quicksort
() para ordenar Pedidos, usando
Pedido.fecha
como sorting key, antes de pasarlos a
embarque
()” Congreso Internacional en Innovación Tecnológica informática Buenos Aires – 14 de Septiembre de 2005
Transformaciones de modelos
• Transformación de modelos es el proceso de convertir un modelo en otro modelo del mismo sistema.
• Cada transformación incluye (al menos): – un PIM, – un Modelo de la Plataforma, – una Transformación, y – un PSM Congreso Internacional en Innovación Tecnológica informática Buenos Aires – 14 de Septiembre de 2005 Platform model
Ejemplos de transformaciones
UML Model (PIM) XMI XMI Document (PSM)
¿Cómo definir transformaciones? Marking
UML Profiles se usan para “marcar” los PIMs Los mappings se definen usando los lenguajes MOF QVT
Congreso Internacional en Innovación Tecnológica informática Buenos Aires – 14 de Septiembre de 2005
Marks
Las “marcas” permiten distinguir los diferentes “destinos” de la transformación.
Local Invocation Invocation <
Congreso Internacional en Innovación Tecnológica informática Buenos Aires – 14 de Septiembre de 2005
MDD: aplicando transformaciones sucesivas
Las transformaciones se aplican sucesivamente: – Un PSM resultante de la aplicación de una transformación será el PIM en la siguiente transformación.
Congreso Internacional en Innovación Tecnológica informática Buenos Aires – 14 de Septiembre de 2005
Tecnología MDD
– Meta Object Facility (MOF) – Unified Modelling Language (UML) – XML Model Interchange (XMI) – Common Warehouse Meta-model (CWM) – Software Process Engineering Meta-model (SPEM) – Action Semantics Language (ASL) – Query-View-Transformation (QVT) – UML profiles • EDOC (ECA, CCA),
.NET
• UML-RT, • EJB, • CCM, ...
EDOC BPML XML WSDL SOAP XML-Schema
Congreso Internacional en Innovación Tecnológica informática Buenos Aires – 14 de Septiembre de 2005
• • • • • • • • • • •
Herramientas para MDD
ATL
ATLAS Transformation Language is language for general transformation within the MDA framework
OptimalJ
is a MDA tool for J2EE.
ArcStyler
is a MDA tool for J2EE and .NET.
UMT
UML Model Transformation is a tool for model transformation and code generation of UML/XMI models
OpenModel
is a java-based framework for generating executable applications from UML models and it complements ArgoUML
Codagen Architect
is MDA tool for J2EE and .NET.
Rational Architect
is a MDA tool
MDA Transf
is a MDA transformation engine
GMT (Generative Model Transformer)
tools such as UMLX is a project to build MDA
JAMDA (Java Model Driven Architecture)
is an open-source framework for building applications generators which create Java code from a model of the business domain
GReAT
is a metamodel based graph transformation language useful for the specification and implementation of model-to-model transformation Congreso Internacional en Innovación Tecnológica informática Buenos Aires – 14 de Septiembre de 2005
Conclusiones
• MDD es una opción muy prometedora para desarrollo de software!
– Conceptualmente clara y bien definida.
– Protege las inversiones al separar el modelo del negocio de las tecnologías de soporte.
– Se centra en el modelo.
• Pero MDD no es la panacea… – No es posible generar código automáticamente al 100% – Las transformaciones son complejas y difíciles de definir!
– No es claro como transformar comportamiento.
– No es claro como manejar sistemas legados.
• Hace falta continuar investigando e implementar herramientas de soporte !
Congreso Internacional en Innovación Tecnológica informática Buenos Aires – 14 de Septiembre de 2005
Nuestro aporte en el área: el proyecto PAMPA
PAMPA : P
recise
A
ssistant for the
M
odeling
P
rocess
A
ctivities PAMPA es una herramienta CASE para desarrollo de software basado en modelos, usando notaciones gráficas con fundamentos formales.
Congreso Internacional en Innovación Tecnológica informática Buenos Aires – 14 de Septiembre de 2005
Funcionalidades de PAMPA
• -
Edición de Modelos UML
.
Microsoft Research University
• -
Persistencia de Modelos Evaluación
. •
Serialización de Modelos en XMI Relations
Le otorgó a este proyecto el premio: de restricciones en
OCL
.
Content and Curriculum on Software Engineering 2005
Generación de Código
.
Request for Proposal (RFP) -
Refinamiento de Modelos.
-
Refinamiento de Invariantes y aserciones de prueba .
-
Traducción a otros lenguajes de especificación formal (como Z).
-
Transformación de Modelos
. http://www.frlp.utn.edu.ar/pampa http://portal-lifia.info.unlp.edu.ar/eclipse Congreso Internacional en Innovación Tecnológica informática Buenos Aires – 14 de Septiembre de 2005
Fin de la Presentación
http://www.frlp.utn.edu.ar/pampa http://portal-lifia.info.unlp.edu.ar/eclipse Congreso Internacional en Innovación Tecnológica informática Buenos Aires – 14 de Septiembre de 2005