introduccion emf d alonso

24
EclipseDAY INTRODUCCIÓN A EMF DESDE UN PUNTO DE VISTA PRÁCTICO Diego Alonso Cáceres [email protected] Cristina Vicente Chicote [email protected]

Upload: diegoalonso

Post on 13-Jun-2015

1.273 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Introduccion Emf D Alonso

EclipseDAY

INTRODUCCIÓN A EMF DESDE UN PUNTO DE

VISTA PRÁCTICO

Diego Alonso Cá[email protected]

Cristina Vicente [email protected]

Page 2: Introduccion Emf D Alonso

TABLA DE CONTENIDOS

1. Brevísima introducción al DSDM:Conceptos básicosEclipse y los plug-ins de soporte para DSDM

2. Características de EMF, núcleo de DSDM en Eclipse

3. ¿Cómo definir meta-modelos?

4. ¿Cómo definir modelos?

5. Algunos ejemplos

6. Lecciones aprendidas

eclipseDay - Introducción a EMF - Diego Alonso Cáceres y Cristina Vicente Chicote 2

Page 3: Introduccion Emf D Alonso

INTRODUCCIÓN AL DSDM

MDA

Meta-Modelo

Modelo DSD

M

MOF

M2M

XMI

PSM

PIMCIM

DSLM2T EMF

¡¡ Un “meta-infierno” de siglas !!

1/4

eclipseDay - Introducción a EMF - Diego Alonso Cáceres y Cristina Vicente Chicote 3

Page 4: Introduccion Emf D Alonso

Meta-Modelo: conjunto finito de conceptos del dominio + conjunto de relaciones entre ellos.

Ejemplo 1: Palabras del diccionario de la lengua española + gramática de la lengua española.

Ejemplo 2: Meta-modelo para modelar máquinas de estados

Estado Transición

MaquinaEstados

* *1

1

origen

destino

INTRODUCCIÓN AL DSDM 2/4

eclipseDay - Introducción a EMF - Diego Alonso Cáceres y Cristina Vicente Chicote 4

Page 5: Introduccion Emf D Alonso

Lenguaje de modelado: conjunto infinito de todos los modelos válidos que se pueden construir a partir de un meta-modelo.

Ejemplo 1: Lenguaje español = conjunto de todas las posibles frases correctas que se pueden formar con las palabras del diccionario.

Ejemplo 2: Conjunto de todos los modelos de máquinas de estados que se pueden construir a partir del meta-modelo anterior. A continuación se muestran sólo algunos ejemplos:

S1

S2

S1

S3

S1 S2

S3 S4

S2

Modelos

...

INTRODUCCIÓN AL DSDM 3/4

eclipseDay - Introducción a EMF - Diego Alonso Cáceres y Cristina Vicente Chicote 5

Page 6: Introduccion Emf D Alonso

M3

M2

M1

Código

MOF

UML, SysML, ...

Diagramas UML, ...Modelo

Meta-Modelo

Meta-Meta-Modelo

INTRODUCCIÓN AL DSDM 4/4

eclipseDay - Introducción a EMF - Diego Alonso Cáceres y Cristina Vicente Chicote 6

Page 7: Introduccion Emf D Alonso

Eclipse es una plataforma de desarrollo abierta y de libre distribución.

En su desarrollo participan importantes empresas como Borland, IBM, Intel, Motorola, etc.

Actualmente, la comunidad Eclipse se organiza alrededor de múltiples proyectos que evolucionan en paralelo de manera independiente o cooperativa.

Los proyectos relacionados con el DSDM se encuentran entre los más activos: EMF, GMF, M2M, M2T, GMT, etc.

http://www.eclipse.org

http://www.eclipse.org/modeling/

LA PLATAFORMA ECLIPSE

eclipseDay - Introducción a EMF - Diego Alonso Cáceres y Cristina Vicente Chicote 7

Page 8: Introduccion Emf D Alonso

PLUG-INS PARA (META-) MODELADO

Eclipse Modeling Framework (EMF)http://www.eclipse.org/emf/

Creación / Manipulación / Almacenamiento de modelos y meta-modelos en formato XMI.

Proporciona: Editor reflexivo de modelos (tree-editor) integrado. Facilidades para la generación automática de editores

reflexivos como plug-ins Eclipse.

Herramientas gráficas de modelado Creación de editores gráficos de modelos a partir de

meta-modelos definidos en EMF .

Graphical Modeling Framework (GMF)http://www.eclipse.org/gmf/

TOPCASED http://topcased.gforge.enseeiht.fr/

eclipseDay - Introducción a EMF - Diego Alonso Cáceres y Cristina Vicente Chicote 8

Page 9: Introduccion Emf D Alonso

PLUG-INS ECLIPSE PARA M2M Y M2T

Transformaciones M2M Proyecto Model-to-Model (M2M)

http://www.eclipse.org/m2m/ Atlas Transformation Language (ATL)

http://www.eclipse.org/m2m/atl/

http://www.sciences.univ-nantes.fr/lina/atl/

Transformaciones M2T Proyecto GMT (Generative Modelling Technologies)

http://www.eclipse.org/gmt/

MOFScript: http://www.eclipse.org/gmt/mofscript/

Proyecto M2T (Model-to-Text)http://www.eclipse.org/modeling/m2t/

Xpand: http://www.eclipse.org/modeling/m2t/?project=xpand

JET: http://www.eclipse.org/modeling/m2t/?project=jet

eclipseDay - Introducción a EMF - Diego Alonso Cáceres y Cristina Vicente Chicote 9

Page 10: Introduccion Emf D Alonso

PROCESO DE DSDM

Fundamental el diseño del meta-modelo Establece los conceptos que

modelan la realidad con el grado de detalle requerido

Condiciona la expresividad de los modelos

Condiciona el resto de etapas: editor gráfico, M2M y M2T

Prueba y error

M3

M2

M1

EMF ≈ MOFeclipseDay - Introducción a EMF - Diego Alonso Cáceres y Cristina Vicente Chicote 10

Page 11: Introduccion Emf D Alonso

ECLIPSE MODELING FRAMEWORK

Soporte básico para DSDM en Eclipse EMF agrupa otros plug-ins que permiten:

Realizar consultas sobre los elementos de un modelo EMF y su contenido (Query)

Verificar si el modelo es conforme a su meta-modelo (Validation)

Generar implementación en Java del modelo Generar un editor de modelos

Implementación de Essential-MOF

eclipseDay - Introducción a EMF - Diego Alonso Cáceres y Cristina Vicente Chicote 11

Page 12: Introduccion Emf D Alonso

12

Page 13: Introduccion Emf D Alonso

PRINCIPALES ELEMENTOS DE EMF

EClass: conceptos del meta-modelo EAttribute: propiedad de una EClass en forma de tipos

primitivos (int, float, String, tipos enumerados,…) EReference: relación entre conceptos (EClass)

EEnum: define tipos de datos con valores enumerados EPackage: paquetes para organizar los elementos

anteriores EOperation: define métodos en los conceptos (EClass)

Multiplicidad Rol

Contención Navegabilidad

eclipseDay - Introducción a EMF - Diego Alonso Cáceres y Cristina Vicente Chicote 13

Page 14: Introduccion Emf D Alonso

EMF TIENE TIPOS DE DATOS …

eclipseDay - Introducción a EMF - Diego Alonso Cáceres y Cristina Vicente Chicote 14

Page 15: Introduccion Emf D Alonso

… Y MÁS TIPOS DE DATOS

eclipseDay - Introducción a EMF - Diego Alonso Cáceres y Cristina Vicente Chicote 15

Page 16: Introduccion Emf D Alonso

¿CÓMO DEFINIR UN META-MODELO?

Editor (tree-editor) de EMF Editor gráfico, por ejemplo GMF Otros plug-ins DSDM ofrecen sus

propios editores También se puede importar un modelo

UML (Rational, etc.)

El fichero importante es el .ecore

1/2

eclipseDay - Introducción a EMF - Diego Alonso Cáceres y Cristina Vicente Chicote 16

Page 17: Introduccion Emf D Alonso

<?xml version="1.0" encoding="UTF-8"?><ecore:EPackage xmi:version="2.0" … <eClassifiers xsi:type="ecore:EClass" name="Root"> <eStructuralFeatures xsi:type="ecore:EReference" name="componentes" upperBound="-1" eType="#//Componente" containment="true"/> <eStructuralFeatures xsi:type="ecore:EReference" name="conectores" upperBound="-1" eType="#//Conector" containment="true"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass“ name="Componente"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="nombre" lowerBound="1" eType="ecore:EDataType </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Conector"> <eStructuralFeatures xsi:type="ecore:EReference" name="origen" lowerBound="1" eType="#//Componente"/> <eStructuralFeatures xsi:type="ecore:EReference" name="destino" lowerBound="1" eType="#//Componente"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="nombre" lowerBound="1" eType="ecore:EDataType </eClassifiers></ecore:EPackage>

Example1.ecore

Example1.ecore_diagram

¿CÓMO DEFINIR UN META-MODELO? 2/2

eclipseDay - Introducción a EMF - Diego Alonso Cáceres y Cristina Vicente Chicote 17

Page 18: Introduccion Emf D Alonso

¿CÓMO CREAR MODELOS?

Instancia dinámica (editor reflexivo) EMF Creando un plug-in editor en Eclipse Editor gráfico, creado por ejemplo con

GMF Algunos plug-ins DSDM ofrecen sus

propios editores de modelos

1/2

eclipseDay - Introducción a EMF - Diego Alonso Cáceres y Cristina Vicente Chicote 18

Page 19: Introduccion Emf D Alonso

¿CÓMO CREAR MODELOS?

<?xml version="1.0" encoding="UTF-8"?><example:Root xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:example="example">

<componentes nombre="C1"/><componentes nombre="C2"/><componentes nombre="C3"/><conectores origen="//@componentes.0" destino="//@componentes.1" nombre="L12"/><conectores origen="//@componentes.2" destino="//@componentes.0" nombre="L31"/><conectores origen="//@componentes.1" destino="//@componentes.1" nombre="L22"/><conectores origen="//@componentes.1" destino="//@componentes.2" nombre="L23"/>

</example:Root>

2/2

eclipseDay - Introducción a EMF - Diego Alonso Cáceres y Cristina Vicente Chicote 19

Page 20: Introduccion Emf D Alonso

ANTES DE QUE SEA DEMASIADO TARDE …

EJEMPLOS

eclipseDay - Introducción a EMF - Diego Alonso Cáceres y Cristina Vicente Chicote 20

Page 21: Introduccion Emf D Alonso

REMM StudioBegoña Moros Valle (UMU)

Cristina Vicente Chicote (UPCT)

C. Vicente-Chicote, B. Moros, A. Toval, REMM-Studio: an Integrated Model-Driven Environment for Requirements Specification, Validation and Formatting, Journal of Object Technology, Special Issue TOOLS EUROPE 2007, Vol. 6, No. 9, pp. 437-454, October 2007. http://www.jot.fm/issues/issue_2007_10/paper22

APLICACIONES EJEMPLO

eclipseDay - Introducción a EMF - Diego Alonso Cáceres y Cristina Vicente Chicote 21

Page 22: Introduccion Emf D Alonso

StateML+

Diego Alonso Cáceres (UPCT)Cristina Vicente Chicote (UPCT)

D. Alonso, C. Vicente-Chicote, J. A. Pastor, B. Álvarez, StateML+: From Graphical State Machine Models to Thread-Safe Ada Code, Proc. 13th Int'l Conference on Reliable Software Technologies (Ada Europe 2008), 16-20 June, Venice (Italy), 2008

APLICACIONES EJEMPLO

eclipseDay - Introducción a EMF - Diego Alonso Cáceres y Cristina Vicente Chicote 22

Page 23: Introduccion Emf D Alonso

LECCIONES APRENDIDAS

Las herramientas Eclipse para DSDM están en fase de desarrollo y se liberan nuevas versiones frecuentemente.

Existen numerosas dependencias/incompatibilidades entre las distintas versiones de los plug-ins.

Los manuales están, como mínimo, desactualizados. news://news.eclipse.org/ es la mejor (o la única) fuente de ayuda fiable y actualizada!!

El meta-modelo es la pieza clave del DSDM. Es como los cimientos de una casa. Debe probarse exhaustivamente.

Existen varias formas de modelar la misma realidad.

eclipseDay - Introducción a EMF - Diego Alonso Cáceres y Cristina Vicente Chicote 23

Page 24: Introduccion Emf D Alonso

EclipseDAY

INTRODUCCIÓN A EMF DESDE UN PUNTO DE

VISTA PRÁCTICO

Diego Alonso Cá[email protected]

Cristina Vicente [email protected]

¡¡ Gracias por su atención !!