Sie sind auf Seite 1von 32

1

Desarrollo de software basado en modelos MDD


Proceso de generacin de cdigo a partir de modelos.

http://pruebatest.milaulas.com/
Por: Olga Lucero Vega Mrquez
3

Agenda
Contexto Conceptos bsicos (revisin) Proceso de generacin de cdigo a partir de modelos Ejemplos Taller aplicacin Evaluacin
Olga Lucero Vega Mrquez, mayo 4 2012

Contexto

interactan

The Architecture of Choice for a Changing World1


www.omg.org Olga Lucero Vega Mrquez, mayo 4 2012
1

Agenda
Contexto Conceptos bsicos (revisin) Proceso de generacin de cdigo a partir de modelos Ejemplos Taller aplicacin Evaluacin
Olga Lucero Vega Mrquez, mayo 4 2012

Conceptos bsicos (revisin)


o Modelos
o Lenguajes de dominio especfico o Transformaciones

Olga Lucero Vega Mrquez, mayo 4 2012

Conceptos bsicos (revisin)


o Modelos
Formas de representar la realidad Abstraccin de un sistema o parte de l, para: disearlo, predecir su comportamiento, optimizarlo

o Lenguajes de dominio especfico o Transformaciones

Olga Lucero Vega Mrquez, mayo 4 2012

Conceptos bsicos (revisin)


o Modelos
Ejemplos En otras disciplinas:

Olga Lucero Vega Mrquez, mayo 4 2012

Conceptos bsicos (revisin)


o Modelos
Ejemplos En ingeniera de sistemas

Olga Lucero Vega Mrquez, mayo 4 2012

10

Conceptos bsicos (revisin)


es un lenguaje que permite a travs de notaciones apropiadas y abstracciones, expresar un dominio de problemas especfico2

o Modelos
o Lenguajes de dominio especfico o Transformaciones

http://techcollaborative.blogspot.com/2007/10/dsl-lenguajes-de-dominio-especfico.html Olga Lucero Vega Mrquez, mayo 4 2012

11

Conceptos bsicos (revisin)


o Lenguajes de dominio especfico
Ejemplos

SELECT FROM WHERE SELECT FROM WHERE

column_name(s) table_name column_name operator value * Persons City='Sandnes'

Olga Lucero Vega Mrquez, mayo 4 2012

12

Conceptos bsicos (revisin)


es el proceso por medio del cual un modelo expresado en un lenguaje se convierte a un modelo expresado en otro

o Modelos
o Lenguajes de dominio especfico o Transformaciones

Olga Lucero Vega Mrquez, mayo 4 2012

13

Conceptos bsicos (revisin)


o Transformaciones
Ejemplo Lo que ms comnmente hacemos"

package uniandes.cupi2.simuladorBancario.mundo; import uniandes.cupi2.simuladorBancario.util.Mes; public class CuentaBancaria { private String cedula; private String nombre; private Mes mesActual; private CuentaCorriente corriente; private CuentaAhorros ahorros; private CDT inversion; // Mtodos

Olga Lucero Vega Mrquez, mayo 4 2012

14

Conceptos bsicos (revisin)


Modelos
Lenguajes de dominio especfico Transformaciones

Olga Lucero Vega Mrquez, mayo 4 2012

15

Agenda
Contexto Conceptos bsicos (revisin) Proceso de generacin de cdigo a partir de modelos Ejemplos Taller aplicacin Evaluacin
Olga Lucero Vega Mrquez, mayo 4 2012

16

Proceso de generacin de cdigo a partir de modelos


Cambia el enfoque al desarrollar software, de estar centrado en el cdigo a crear modelos de dominio que sean artefactos con los cuales se genere automticamente el cdigo.
Models-driven solution

Client

Domain model

Aplication code

Los modelos son representaciones de un sistema, contiene conceptos, relaciones y reglas que, conforme al metamodelo (sintaxis) que le define, puede ser utilizado para generar el cdigo de la solucin de software.

Olga Lucero Vega Mrquez, mayo 4 2012

17

Proceso de generacin de cdigo a partir de modelos


Architecture model Client

Domain model Enterprise Business model

Estrategia de MTC Cadena de transformacin de modelos

Solution artifacts

Language Specific model

Platform Specific model

Aplication code

Olga Lucero Vega Mrquez, mayo 4 2012

18

Agenda
Contexto Conceptos bsicos (revisin) Proceso de generacin de cdigo a partir de modelos Ejemplos Taller aplicacin Evaluacin
Olga Lucero Vega Mrquez, mayo 4 2012

19

Ejemplos
MTC sistemas empresariales
o o o o Risk ChangeSet Juego Gerencial Academia

Olga Lucero Vega Mrquez, mayo 4 2012

20

MTC sistemas empresariales


Risk Model
This MTC generates:
JEE Enterprise Applications Management Information Systems Support CRUD operations

ChangeSet Model

MAGES Model

Academia Model
Real Applications

Business MTC

Risk Management Change Request Management Management Game Simulator Research Publication Management

Academia Risk

ChangeSet

MAGES

Olga Lucero Vega Mrquez, mayo 4 2012

21

MTC sistemas empresariales Ahorro en desarrollo


Architectural Model: 5750 elements (310%)

1 element

3 elements

JEE Model: 7245 elements (126%)(393%)

4 elements 92 element

Java Model: 171.069 elements (2361%)(2975%)(9222%) 340.000 Lines of Code (LOC)

Olga Lucero Vega Mrquez, mayo 4 2012

There is an explosion of elements at each step

22

Agenda
Contexto Conceptos bsicos (revisin) Proceso de generacin de cdigo a partir de modelos Ejemplos Taller aplicacin Evaluacin
Olga Lucero Vega Mrquez, mayo 4 2012

23

Taller de aplicacin
Domain Restaurants Web development company Domain clients

Hotels

Common website structure for a domain

Client A DATA

Client B DATA

Just insert a clients data


Olga Lucero Vega Mrquez, mayo 4 2012

24

Taller de aplicacin
o Caso de la compana desarrolladora de pginas web.

Olga Lucero Vega Mrquez, mayo 4 2012

Taller de aplicacin una solucin

Olga Lucero Vega Mrquez, mayo 4 2012

MONAD

Website model Transformation generator Company database Domain model

Platform metamodels

MONAD architect
Domain metamodel

Platform transformations

Olga Lucero Vega Mrquez, mayo 4 2012

27

Agenda
Contexto Conceptos bsicos (revisin) Proceso de generacin de cdigo a partir de modelos Ejemplos Taller aplicacin Evaluacin
Olga Lucero Vega Mrquez, mayo 4 2012

28

Evaluacin
Trabajo para desarrollar
o Caso de las pginas web de los grupos de estudio/investigacin de la Universidad de los Llanos. (presentacin anexa)

Olga Lucero Vega Mrquez, mayo 4 2012

29

Agenda
Contexto Conceptos bsicos (revisin) Proceso de generacin de cdigo a partir de modelos Ejemplos Taller aplicacin Evaluacin
Olga Lucero Vega Mrquez, mayo 4 2012

30

Agenda
Contexto Conceptos bsicos (revisin) Proceso de generacin de cdigo a partir de modelos Ejemplos Taller aplicacin Evaluacin
Olga Lucero Vega Mrquez, mayo 4 2012

31

Referencias
A. v. Deursen, P. Klint, and J. Visser, "Domain-specific languages: an annotated bibliography " SIGPLAN Not., vol. 35, pp. 26-36, 2000. Universidad de los Andes. (2011, Apr.) Juego Gerencial. [Online]. http://sistemas.uniandes.edu.co/~gerencial/dokuwiki/doku.php?id=inicio.

OMG - Object Management Group, OMG - We set the Standard, 01 09 2011. [En lnea]. Available: http://www.omg.org/technology/documents/modeling_spec_catalog.htm. [ltimo acceso: 09 04 2012].
Models CSw - TICSw Uniandes, Models CSw, Universidad de los Andes - Dpto de Sistemas y Computacin. , 01 12 2011. [En lnea]. Available: http://backus1.uniandes.edu.co/~models/dokuwiki/doku.php. [ltimo acceso: 01 05 2012]. A. Yie, R. Casallas, D. Wagelaar y D. Deridder, Realizing Model Transformation Chain interoperability, Software and System Modeling, vol. 11, n 1, pp. 55-75, 01 02 2012. H. Hoyos, R. Casallas, J. Fernando y D. Correal, HiLeS2: model driven embedded system virtual prototype generation, de Proceedings of the 2011 Symposium on Theory of Modeling & Simulation: DEVS Integrative M&S Symposium (TMS-DEVS '11), San Diego, CA, USA, 2011. A. Lagna, Understanding MDA, 10 10 2008. [En lnea]. Available: http://www.slideshare.net/alagna/understanding-mdapresentation-644061. [ltimo acceso: 01 05 2012]. J. Bezivin, In search of a Basic Principle for Model-Driven Engineering, Upgrade UML and Modeling Engineering, vol. 5, n 2, 2004. R. France y B. Rumpe, Model-driven Development of Complex Software:, de 29th International Conference of Software Engineering: Future of Software Engineering, 2007. T. Khne, What is a Model?, de Language Engineering for Model-Driven Software Development, Wadern, 2005.

Olga Lucero Vega Mrquez, mayo 4 2012

32

Das könnte Ihnen auch gefallen