Diapositiva 1 - Universidad Abierta Interamericana

Download Report

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) Red 4 2 IDL, Java… (PSM) interface Auto { Class Auto }; {public String color; } public int Door; public int Engine; XMI DTD, Schema (PSM) Congreso Internacional en Innovación Tecnológica informática Buenos Aires – 14 de Septiembre de 2005

¿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 <> PIM << isRemote >> PSM Remote 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