Conclusiones y Futuros Trabajos

Documentos relacionados
Introducción a la ingeniería del software dirigida por modelos Curso

Una Aproximación Dirigida por Modelos para el Desarrollo de Bases de Datos Objeto-Relacionales

Transformación de Modelos para el Desarrollo de Bases de Datos Objeto-Relacionales

COORDINADORES AUTORES PRÓLOGO PREFACIO... 43

Hacia una integración de MDA y el Proceso Unificado a través de reglas de transformación QVT

Temario. Base de

Escuela Técnica Superior de Ingeniería Informática INGENIERÍA INFORMÁTICA. Curso Académico 2009/2010. Proyecto de Fin de Carrera

TRANSFORMACIONES DE MODELOS PARA EL DESARROLLO DE BASES DE DATOS XML

EXAMEN: BASES DE DATOS 4º Ingeniería Informática (31 de enero de 2008)

Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad de Cádiz

Transformaciones Genéricas para la Implementación de Web Services en Diferentes Plataformas

Transformación del Modelo de Negocio al Modelo de Caso de Uso del Sistema Utilizando QVT

TECNOLOGÍA CASE PARA MODELADO CIM CON BPMN Y SU TRANSFORMACIÓN A VISTAS DE MODELOS PIM CON UML

Adaptatividad y Adaptabilidad en el Modelado de Usuarios para Aplicaciones Web

Diseño de BD Objeto- Relacionales

Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad de Cádiz

Transformación de Modelos de Procesos del Negocio BPMN 2.0 a Componentes de la Capa del Negocio Java

Transformaciones de modelo a modelo con ATL

Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad de Cádiz

Análisis de herramientas MDA

Transformaciones de modelo a texto con MOFScript Curso

UML y UP. Programa de Estudio.

EXPERIENCIA DE DESARROLLO DE UNA APLICACIÓN WEB UTILIZANDO LA METODOLOGÍA UWE Y EL LENGUAJE QVT EN LA TRANSFORMACIÓN DE MODELOS

Analista Programador MySQL. Informática y Programación

Ingeniería dirigida por modelos (MDA) y casos prácticos. Carlos Enrique Montenegro Marín

Bases de Datos Relacionales y SQL: Una Introducción

UML y UP. Programa de Estudio.

Temario. Tema 5. Bases de Datos Activas Tema 6. Disparadores en Oracle Prácticas de Disparadores en Oracle III. BD Semiestructuradas

...8 CONCEPTOS BÁSICOS...8

UML y UP. Programa de Estudio.

Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad de Cádiz

Clasificación de las Herramientas CASE

Ingeniería de Software

Una Caracterización de Herramientas MDA de Código Abierto

Automatización de la reconfiguración dinámica de servicios Cloud

EXAMEN: BASES DE DATOS 4º Ingeniería Informática (29 de enero de 2009)

Contenido. Introducción. Herramientas de apoyo a RUP. Herramientas de apoyo en la captura de requisitos Herramientas de modelado con UML

Generación automática de API REST a partir de API Java, basada en transformación de Modelos (MDD).

GLOSARIO DE TÉRMINOS

MDA: Arquitectura Dirigida por Modelos

Gestión de Bases de Datos. Prof. Marlene Goncalves Universidad Simón Bolívar

Aplicación basada en web y en software libre para la gestión municipal de incidencias y actuaciones en el espacio público

FERNANDO ARANGO. Grupo de Investigación UN-INFO. Universidad Nacional de Colombia, sede Medellín. MARÍA CLARA GÓMEZ

Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad de Cádiz

MDA como herramienta para la interoperabilidad

Bases de Datos Presentación de la Asignatura. Curso

Sistemas Distribuidos Orientados a Objetos

Modelos de datos T Dpto. Lenguajes y Sistemas Informáticos. Universidad de Alicante

UNIDAD III. CICLO DE VIDA DE UNA BASE DE DATOS.

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMERICA)

UML, OCL y Patrones en el contexto MDA

Norma técnica para los órganos de la Administración del Estado sobre interoperabilidad de documentos electrónicos

OCL Object Constraint Language. Maestría en Ingeniería de Software

REFINAMIENTO DEL DIAGRAMA DE CLASES UML A ORACLE 9I EN ATOM 3 UML CLASS DIAGRAM ORACLE 9I REFINEMENT IN ATOM 3

Utilizando el Enfoque MDA para la Construcción de Aplicaciones Web Móviles Centradas en los Datos

LENGUAJES DE GENERACIÓN AUTOMÁTICA DE CÓDIGO QVT Y ATL

Capacitación adquirida por el alumno al finalizar este modulo

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMERICA)

Departamento de Lenguajes y Sistemas Informáticos

De los casos de uso a los casos de prueba

Herramientas Informáticas para la Edición, Creación e Implementación del Modelo CIM Francisco Javier Arias Sánchez Universidad Nacional de Colombia

Generación Automática de Aplicaciones Web Móviles Mediante Componentes Configurables

PROPUESTA PARA TRABAJO DE GRADO


Un enfoque de metamodelado ágil utilizando técnicas de templating

Introducción a SQL (DDL)

Departamento de Lenguajes y Sistemas Informáticos

Hacia la Integración de Técnicas de Pruebas en Metodologías Dirigidas por Modelos para SOA

Lenguaje Unificado de Modelado 2.0

UN ENFOQUE MDD PARA EL DESARROLLO DE RIA

Taller de Ingeniería Dirigida por Modelos (TMDE) Lenguajes y Sintaxis Concreta

Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad de Cádiz

Creación y administración de Bases de datos.

Una introducción al desarrollo de software dirigido por modelos. An introduction to the development of model-driven software

OGC GeoPackage como alternativa a GML y SHP Ejemplos y buenas prácticas

Bases de datos 1. Teórico: Diseño Conceptual

BASES DE DATOS 1. Teórico: Diseño Conceptual

Definición de Lenguajes de Modelos MDA vs DSL

Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad de Cádiz

ESCUELA POLITÉCNICA NACIONAL

Procesadores de Lenguajes II. Luis M a Montero de Espinosa Díaz Manuel Trinidad García. 17 de enero de 2013

MAGIC DRAW UML. Índice. José Ignacio Colmenero González Carlos Pérez Herrero José Luis Bravo Sánchez

Herramienta prototipo para generación automática de Servicios Web Semánticos a través del desarrollo de software dirigido por modelos

Sistemas de Bases de Datos

Universidad de Cantabria

1.1 Ciclo de vida de una Base de Datos 1.2 Qué es una metodología y para qué sirve? 1.3 Modelos de datos como instrumentos de diseño

El lenguaje Unificado de Modelado (UML)

Aplicación del patrón de transformación de síntesis para la comparación de los lenguajes ATL vs. QVT

Programación Orientada a Objetos

Diseñando Transformaciones de Modelos CIM / PIM: desde un enfoque de negocio hacia un enfoque de sistema

Definición. Tema 1: Introducción

El Lenguaje Unificado de Modelado (UML)

INDICE Prefacio Capitulo 1: Introducción Parte Primeras: modelos de datos Capitulo 2: Modelos entidad-relación Capitulo 3: El modelo relacional

Bases de datos. Modelos de datos. Modelo Relacional. Transformación ERE-Relacional Lenguaje de consulta SQL

Computación I. Unidad III. Sistemas de Información. Ing Angela Galea

Diseño Lógico Específico. Diseño Lógico Tema 13

Transcripción:

Ingeniería del Software Basada en Modelos Master Oficial en Tecnologías de la Información y Sistemas Informáticos Universidad Rey Juan Carlos 23 de Marzo de 2010 Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI U Universidad Rey Juan Carlos Belén Vela Sánchez belen.vela@urjc.es Grupo Kybele Universidad Rey Juan Carlos Índice Motivación Marco de Trabajo Arquitectura de MIDAS MIDAS MDA Tool M2DAT Módulo OR Módulo XML M2DAT/DB Demo Conclusiones y Futuros Trabajos Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 2 1

Motivación ME/R Metodologías clásicas de desarrollo de BD Relacionales MR Reglas de Transformación Código SQL Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 3 Motivación BD Relacionales ocupan todavía el primer lugar en el mercado tradicionales aplicaciones de gestión. Nuevas aplicaciones más sofisticadas que requieren almacenamiento de distinto tipo de información: Estructurada (pero más compleja) Semi-Estructurada Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 4 2

Motivación Información estructurada Limitaciones de las BD Relacionales Complejidad en las relaciones Nº de Tuplas Nº de Joins Rendimiento BD Objeto-Relacionales Mejoran el soporte para gestión de datos complejos Basadas en estándares (SQL:2003) Incorporada en productos comerciales Metodologías que guíen la tarea de diseño de BD OR Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI Motivación Información semi-estructurada XML se ha convertido en estándar de facto: Intercambio de información entre organizaciones Transporte de datos entre aplicaciones heterogéneas Almacenamiento de este tipo de información Definición de Estructura de documentos XML Document Type Definitions (DTDs) Carencias sintácticas y semánticas Estructura complicada Aparición del estándar XML Schema Definido en XML Sistema de tipos más rico (tipos definidos por el usuario) Soporte namespaces Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 3

Motivación Almacenamiento de datos XML Sistemas de Ficheros BD Convencionales Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI Motivación Almacenamiento de datos XML BD XML Mejor y más directa alternativa para el almacenamiento y la gestión de documentos XML BD XML nativas Extensiones XML para DB XML DB XML Extender SQLXML Metodologías que guíen la tarea de diseño de BD XML Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 4

Motivación Desarrollo de Software Dirigido por Modelos Uso de modelos en distintos niveles de abstracción Definición de reglas de transformación entre los diferentes modelos MDA - Model Driven Architecture Marco de trabajo para el DSDM PIM Platform Independent Model PSM Platform Specific Model Código Final Distintas Plataformas PIM2PSM PSM2Code Una aproximación MDA para el desarrollo dirigido por modelos del contenido en el marco de la metodología MIDAS Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI Índice Motivación Marco de Trabajo Arquitectura de MIDAS MIDAS MDA Tool M2DAT Módulo OR Módulo XML M2DAT/DB Demo Conclusiones y Futuros Trabajos Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 10 5

Marco de Trabajo Qué es MIDAS? Es una metodología dirigida por modelos para el desarrollo de aplicaciones orientadas a servicios. Basada en MDA contempla los tres niveles de abstracción (CIM PIM PSM) y la definición de mappings entre los mismos. Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 11 Marco de Trabajo Nuestro marco de trabajo está basado en dos pilares: 1. Una arquitectura dirigida por modelos (MDA), que incluye: Los principales aspectos a la hora de modelar un SI y el proceso. Los metamodelos para cada aspecto (CIM, PIM y PSM), las relaciones entre los metamodelos y los aspectos. Los mappings entre los metamodelos. 2. Herramienta MDA: Soporte a la arquitectura MDA propuesta, la transformación entre modelos y la generación de código. Fácilmente extensible para poder incoporar nuevos metamodelos y mappings siempre que se necesite. Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 12 6

Índice Motivación Marco de Trabajo Arquitectura de MIDAS MIDAS MDA Tool M2DAT Módulo OR Módulo XML M2DAT/DB Demo Conclusiones y Futuros Trabajos Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 13 Arquitectura de MIDAS Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 14 7

Semantics Security Quality Arquitectura de MIDAS: La tercera dimensión CIM PIM Architecture PSM Content Hypertext Behaviour Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 15 Arquitectura de MIDAS: Aspecto del Contenido MIDAS/DB Propuesta de MIDAS para el desarrollo del aspecto del contenido Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 8

CREATE OR REPLACE TYPE Jefe_Proyecto AS (Codigo_Id NUMBER, Nombre VARCHAR2(30), Telefono NUMBER, Dirige REF Proyecto); Arquitectura de MIDAS: Aspecto del Contenido MIDAS/DB " #$ SQL! Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 17 Arquitectura de MIDAS: Aspecto del Contenido Aproximación Dirigida por Modelos para el desarrollo de contenido de un SI en el marco de MIDAS: MIDAS/DB Especificación de perfiles UML y reglas de transformación Formalización de las reglas de transformación Construcción de la herramienta de soporte: M2DAT/DB Desarrollo DSLs para modelado del contenido Desarrollo de editores gráficos Codificación de reglas de transformación (M2M) Generación automática de código (M2T) Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 18 9

Arquitectura de MIDAS: El proceso Reglas de Transformación M2M Generación de Código M2T Modelo Conceptual (PIM) Modelo OR/XML (PSM) Código SQL/ XML Schema M2DAT Facilidades de EMF Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 19 Arquitectura de MIDAS: Mappings Los modelos dirigen el proceso de desarrollo propuesto Las transformaciones de modelos completan la definición del método the mapping description may be in natural language, an algorithm in an action language, or a model in a mapping language Definición de los Mappings Aproximación Inicial Formalización Posterior Implementación [MDA Guide OMG, 2001] Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 20 10

Arquitectura de MIDAS: Mappings 1. Definición de las reglas en lenguaje natural. 2. Utilización de gramáticas de grafos para la formalización de las transformaciones de modelos. Acercar a analistas y desarrolladores Detectar errores e inconsistencias en las primeras etapas del desarrollo software Incrementar la calidad de los modelos así como el código generado 3. Implementación de las reglas definidas mediante gramáticas de grafos (paso 2) mediante el lenguaje de transformación de modelos ATL (Atlas Transformation Language) y en QVT Operational Mappings (Open Canarias) QVT sin implementación completa (Relational, Operational y Core) ATL: estándar de-facto para las transformaciones de modelos (soporte e interoperabilidad) 4. Finalmente, para la generación de código a partir de modelos (PSM código) se ha usado MOFScript Lenguaje que actualmente está en proceso de revisión para ser adoptado por el grupo OMG como estándar para la transformación de modelos a texto. Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 21 Índice Motivación Marco de Trabajo Arquitectura de MIDAS MIDAS MDA Tool M2DAT Módulo OR Módulo XML M2DAT/DB Demo Conclusiones y Futuros Trabajos Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 22 11

Marco de Trabajo Nuestro marco de trabajo está basado en dos pilares: 1. Una arquitectura dirigida por modelos (MDA), que incluye: Los principales aspectos a la hora de modelar un SI y el proceso. Los metamodelos para cada aspecto (CIM, PIM y PSM), las relaciones entre los metamodelos y los aspectos. Los mappings entre los metamodelos. 2. Herramienta MDA: Soporte a la arquitectura MDA propuesta, la transformación entre modelos y la generación de código. Fácilmente extensible para poder incoporar nuevos metamodelos y mappings siempre que se necesite. M2DAT Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 23 MIDAS MDA Tool MIDAS MDA Tool - M2DAT M2DAT es una herramienta MDA para el desarrollo de SI, que nace con el propósito de dar soporte al marco de trabajo de MIDAS. M2DAT permitirá validar las propuestas de MIDAS. La funcionalidad de la herramienta da soporte para: La elaboración de cada uno los modelos que forman parte del proceso de desarrollo propuesto por MIDAS. La ejecución automática de transformaciones entre esos modelos. Parametrización de las transformaciones utilizando modelos weaving para realizar anotaciones a los modelos. Generación de código automático. Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 24 12

MIDAS MDA Tool MIDAS MDA Tool - M2DAT Está formada por un conjunto independiente de módulos (para cada aspecto) que trabajan de manera integrada: Contenido: módulos PIM y PSM, y los mappings entre ellos (OR y XML Schemas) M2DAT/DB Comportamiento: módulo PSM para la generación de WSDL. Se han implementado los editores y actualmente se están implementando los mappings. Hipertexto: se han implementado los mappings, actualmente se han implementando los editores. M2DAT tiene alto grado y sencillez de escalabilidad. Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 25 Índice Motivación Marco de Trabajo Arquitectura de MIDAS MIDAS MDA Tool M2DAT Módulo OR Módulo XML M2DAT/DB Demo Conclusiones y Futuros Trabajos Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 26 13

MIDAS MDA Tool: Módulo OR MIDAS/DB SQL #$ XML Schema Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 27 MIDAS MDA Tool: Módulo OR! " #$% Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 28 14

MIDAS MDA Tool: Módulo OR! % ECLIPSE! " # $ %! % " EMF GMF Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 29 Atributos Asociaciones & Data PIM Standard Data PSM (SQL:2003) Product Data PSM (Oracle10g) Clase Structured Type + Typed Table Object Type + Object Table Multivaluado Array/Multiset Varray/Nested Table Compuesto MIDAS MDA Tool: Módulo OR Definición de las transformaciones utilizando lenguaje natural Se formalizan las transformaciones usando gramática de grafos La implementación se realiza utilizando alguna propuesta de modelos de transformación existente (ATL y QVT Operational) ROW/Structured Type (column) Object Type (column) Calculado Trigger/Method Trigger/Method 1 a 1 Ref/Ref Ref/Ref 1 a N Ref- Multiset/Array Ref-Nested Table/Varray N a M Multiset/Array - Multiset/Array Nested Table/Varray - Nested Table /Varray Agregación Multiset/Array Nested Table/Varray of References Composición Multiset/Array Nested Table/Varray of Objects Generalización Types/Typed Tables Types/Typed Tables Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 30 15

MIDAS MDA Tool: Módulo OR ' UML2 : Es una implementación del meta-modelo de UML basada en EMF para la plataforma de ECLIPSE Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 31 MIDAS MDA Tool: Módulo OR & LHS - UML Class Diagram - 1???:UML::Class name:string=??? 3 ownedattibute :UML::Stereotype name: String= Persistent * 2???:UML::Property name:string=?? datatype:datatype=?? RHS - OR Model - 1 match(1).name:or::typed Table 1 match(1).name + _Type :OR::Structured Type * 2 match(2).name:or::attribute datatype = match(2).datatype 1 rule Class2UDT { 2 from 3 c : UML!Class 4 to 5 udt : modeloor!structuredtype( 6 Name <- c.name + '<<udt>>', 7 typed <- tt, 8 method <- meth_seq, 9 supertype <- if (not c.generalization-> first()->oclisundefined()) then 10 c.generalization->first().general 11 else 12 OclUndefined 13 endif, 14 model <- thismodule.package 15 ), 16 meth_seq : distinct modeloor!method foreach 17 (op in c.ownedoperation)(name <- op.name), 18 tt : modeloor!typedtable( 19 Name <- c.name + 's<<persistent>>') 20 } 21 22 rule Property2Attribute { 23 from 24 p:uml!property (not p.isderived and not p.ismultivalued() and 25 p.refimmediatecomposite().oclistypeof(uml!class)) 26 to 27 a : modeloor!attribute( 28 Name <- p.name, 29 Type <- p.type, 30 structured <- p->refimmediatecomposite()) 31 } Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 32 16

MIDAS MDA Tool: Módulo OR & ( ) LHS - UML Class Diagram - 1???:UML::Class name: String=??? ownedattibute * 2???:UML::Property name: String=??? upper = * lower =??? association???:uml::datatype 3 4???:UML::Property 5???:UML::Class name: String=??? RHS - OR Model - 1 match(1).name:or::typed Table match(1).name + _Type :OR::Structured Type 2 match(2).name:or::attribute match(2).name+ MS :OR::NESTEDTABLE match(2).name+ _Ref :OR::ReferenceType match(5).name + _Type :OR::Structured Type 5 match(5).name:or::typed Table 1 2 2 5 1 rule PropertyAssocMulti2Attribute { 2 from 3 p:uml!property(p.refimmediatecomposite().oclistypeof 4 (UML!Association) and p.ismultivalued() and 5 p.ischangeable()) 6 to 7 a : modeloor!attribute( 8 Name <- p.name, 9 Type <- thismodule.generatenestedtable(p.type), 10 structured <-p.getproperty().type), 11 st: modeloor!storednestedtable( 12 Name <- 'lista_' + p.name, 13 attribute <- a, 14 typed <- thismodule.resolvetemp 15 (p.getproperty().type,'tt')) 16 } 17 unique lazy rule generatenestedtable { 18 from 19 c:uml!class 20 to 21 nt : modeloor!nestedtabletype( 22 Name <- 'NT_' + c.name + '<<nt>>', 23 Type <- thismodule.generatereferences(c), 24 model <- thismodule.package) 25 } 26 unique lazy rule generatereferences { 27 from 28 c:uml!class 29 to 30 ref : modeloor!referencetype( 31 Name <- 'Ref_' + c.name + '<<ref>>', 32 Type <- c, 33 model <- thismodule.package) 34 } Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 33 MIDAS MDA Tool: Módulo OR & Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 34 17

MIDAS MDA Tool: Módulo OR Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 35 MIDAS MDA Tool: Módulo OR * Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 36 18

MIDAS MDA Tool: Módulo OR + % & " ' () * CREATE OR REPLACE TYPE Proyecto AS OBJECT ( Proyecto_id NUMBER(4), Nombre_Proy VARCHAR2(50), Dirigido_Por Ref_JefeProyecto, Tiene_Planos NT_Planos ); CREATE TABLE Proyectos OF Proyecto ( PRIMARY KEY (Proyecto_id), UNIQUE (Nombre_Proy), Dirigido_Por NOT NULL ) NESTED TABLE Tiene_Planos STORE AS Lista_Planos; Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 37 Índice Motivación Marco de Trabajo Arquitectura de MIDAS MIDAS MDA Tool M2DAT Módulo OR Módulo XML M2DAT/DB Demo Conclusiones y Futuros Trabajos Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 38 19

MIDAS MDA Tool: Módulo XML MIDAS/DB SQL #$ XML Schema Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 39 MIDAS MDA Tool: Módulo XML Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 40 20

MIDAS MDA Tool: Módulo XML, - ECLIPSE Representación textual con EMF Representación gráfica con GMF Generación del plugin correspondiente EMF GMF Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 41 & + " - ( ' $ * - ), + -. & + & 0 ( ( (.. ' / * +, + ' " + *! $ + + 1, + ' +. *! $ + + 1 ' + (*, + ' 2 + *! $ + '. * " ", +! $ + 1 & + % 4 MIDAS MDA Tool: Módulo XML &, + 3 + 0 5 + 1 Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 42 21

MIDAS MDA Tool: Módulo XML ' UML2 : Es una implementación del meta-modelo de UML basada en EMF para la plataforma de ECLIPSE Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 43 MIDAS MDA Tool: Módulo XML & 1 rule Class2ElementGlobal{ 2 --Clase UML a ElementGlobal 3 from LHS UML Class Diagram RHS XML Schema Model 4 5 6 c : UML!Class to xml : schemaxml!elementglobal 7 (id <- c.name,???:uml::class 1 match(1).name: XSM::Element 1 8 9 10 name <- c.name + '<<ElementGlobal>>', Owner <- thismodule.package.debug('model'), eleccion <- cmptyp ), name: String=??? name: String= match(1).name 11 12 cmptyp : schemaxml!complextypelocal 13 (id <- c.name + '_Type', 14 eleccion <- Other), 15 Other: schemaxml!other( 16 eleccion <- Seq), 17 Seq: schemaxml!sequences() 18 } Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 44 22

MIDAS MDA Tool: Módulo XML & ( " LHS UML Class Diagram 1???:UML::Class name: String=??? +class +ownedattribute * 2???: UML::Property /lower: String=??? /upper: String =??? RHS XML Schema Model 1 match(1).name:xsm:: Element name: String= match(1).name uses 3 XSM:: complextype 4 XSM:: sequence match(2).lower match(2)upper 2 match(2).name:xsm:: Element 1 rule Property2ElementLocal{ 2 --Atributos a ElementLocal 3 from 4 a: UML!Property (a.refimmediatecomposite().oclistypeof(uml!class)) 5 to 6 att: schemaxml!elementlocal( 7 name <- a.name, 8 minoccurs <- if (not a.lowervalue.oclisundefined())then 9 if(a.lowervalue.value = 1) then '1' 10 else 11 '0' 12 endif 13 else 14 OclUndefined 15 endif, 16 maxoccurs <- if (not a.uppervalue.oclisundefined())then 17 if (a.uppervalue.value <> 1) then 18 'unbounded' 19 else 20 '1' 21 endif 22 else 23 OclUndefined 24 endif, 25 owner <- if (not a.refimmediatecomposite().oclisundefined())then 26 thismodule.resolvetemp(a.refimmediatecomposite(),'seq') 27 else 28 OclUndefined 29 endif 30 ) 31 } Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 45 MIDAS MDA Tool: Módulo XML & ( LHS UML Class Diagram RHS XML Schema Model???:UML::Class 1 match(1).name: XSM::Element 1 name: String=??? +class +ownedattribute * 2???: UML::Property /lower: String=??? /upper: String = 1 memberend association 3???:UML::Association name: String=??? association memberend uses 6 XSM::complexType 7 XSM::Sequence 3 match(3).name: XSM::ELEMENT minoccurs: Integer = match(2).lower maxoccurs: Integer = match(2).upper 1 rule AssociationNM2ElementLocal{ 2 from 3 Ass: UML!Association (Ass.isAssociationNM() and not 4 Ass.isAssoAgregation() and not Ass.isAssoComposite()) 5 to 6 Elem: schemaxml!elementlocal ( 7 name <- Ass.name.debug('NM')+ '_<Association>', 8 owner <- thismodule.resolvetemp(ass.getpropertyasso().type,'seq'), 9 Ref <- Ass.getPropertyAssoLast().name, 10 maxoccurs <- 'unbounded' 11 ) 12 }???: UML::Property 4 XSM::REFattribute 8 /lower: String=??? /upper: String = N * +ownedattribute +class 5???: UML::Class name: String=??? points references 9 XSM::uses 5 match(5).name: XSM::Element Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 46 23

MIDAS MDA Tool: Módulo XML Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 47 MIDAS MDA Tool: Módulo XML Implementación con editor gráfico Representación inmanejable Diagramas demasiado grandes para ejemplos sencillos Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 48 24

MIDAS MDA Tool: Módulo XML * XML Schema Estándar XML DB de Oracle 10g Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 49 Índice Motivación Marco de Trabajo Arquitectura de MIDAS MIDAS MDA Tool M2DAT Módulo OR Módulo XML M2DAT Demo Conclusiones y Futuros Trabajos Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 50 25

Conclusiones y Futuros Trabajos Se ha completado la propuesta de un proceso de desarrollo dirigido por modelos para el aspecto del contenido, OR y esquemas XML, en MIDAS. Esta propuesta forma parte de la herramienta MIDAS MDA Tool (M2DAT), una herramienta case que integra todas las técnicas para la generación (semi-)automática de sistemas, propuestas por MIDAS. Actualmente se está trabajando en el desarrollo del resto de los módulos para dar soporte completo a MIDAS. Una aproximación metodológica dirigida por modelos para el desarrollo del aspecto del contenido de un SI 51 26