41
Carlos Cetina, Joan Fons {ccetina,jjfons}@pros.upv.es Universitat Politècnica de València Desarrollo de Extensiones sobre MOSKitt: MOSKitt Feature Modeller

MFM EclipseDay '08

  • Upload
    jjfons

  • View
    857

  • Download
    0

Embed Size (px)

DESCRIPTION

MOSKitt Feature Modeller

Citation preview

Page 1: MFM EclipseDay '08

Carlos Cetina, Joan Fons {ccetina,jjfons}@pros.upv.es

Universitat Politècnica de València

Desarrollo de Extensiones sobre MOSKitt:

MOSKitt Feature Modeller

Page 2: MFM EclipseDay '08

I.  Interesados en extender y aplicar MOSKitt II.  Interesados en Feature Models

Aplicación de infraestructura MOSKitt

Público Objetivo

Page 3: MFM EclipseDay '08

Contenido • Modelos de Características

•  Principales Características de MFM

•  Configuración en MFM

•  Interoperabilidad

•  Análisis sobre modelos MFM

•  Infraestructura de MOSKitt para herramientas DSDM

Page 4: MFM EclipseDay '08

Modelos de Características

Concepto variabilidad Expresan diferentes configuraciones de un

sistema

Page 5: MFM EclipseDay '08

Características de MFM

Page 6: MFM EclipseDay '08

Feature Model View

Both Tree and Graphic

Características de MFM (1)

FMP Pure:Variants Otras herramientas tan

difundidas como Pure:Variants o FMP

sólo ofrecen la edición en forma de árbol

Page 7: MFM EclipseDay '08

Características de MFM (1)

Page 8: MFM EclipseDay '08

Semantic Tree Layout

Just one click!

Características de MFM (2)

•  Al modelar sistemas complejos el layout de los modelos toma gran importancia.

•  MFM es capaz de estructurar automáticamente modelos de características en forma de árbol.

Page 9: MFM EclipseDay '08

Características de MFM (2)

Page 10: MFM EclipseDay '08

Notation Flexibility

Feature

Relationship

Dynamically change notation

Características de MFM (3)

•  Existen distintas notaciones gráficas para representar modelos de características

•  MFM es soporta diferentes notaciones gráficas, permitiendo alternar entre ellas de forma dinámica

Page 11: MFM EclipseDay '08

Características de MFM (3)

Con MFM es posible tener distintas vistas de un mismo modelo, con

distintas notaciones gráficas en cada vista

Page 12: MFM EclipseDay '08

Feat

ure

Rel

atio

nshi

p

1 2 3 4

Características de MFM (3) Con MFM es posible especificar a nivel individual la notación de

cada elemento

También es posible seleccionar de forma intuitiva la notación de todos los elementos entre 16 combinaciones diferentes

Page 13: MFM EclipseDay '08

Características de MFM (3) MOSKitt proporciona infraestructura para crear pestañas de propiedades personalizadas

Page 14: MFM EclipseDay '08

Feature Explosion

Multi-model Support

Características de MFM (4)

• Cuando los modelos crecen es necesario ofrecer técnicas para manejar su complejidad.

• MFM introduce el concepto de explosión de características.

Page 15: MFM EclipseDay '08

Características de MFM (4)

Page 16: MFM EclipseDay '08

Customizador de Features Customizador de Relaciones

Configurador de Dependencias

Características de MFM (5) MFM utiliza dos metamodelos para separar la información

del dominio de la personalización de los modelos MFM

Page 17: MFM EclipseDay '08

Configuración en MFM

Al cambiar el estado de una Feature, MFM soporta la resolución automática de restricciones (desactivable)

Page 18: MFM EclipseDay '08

A través de la web de MOSKitt es posible acceder

a screencasts de la funcionalidad de MFM

Page 19: MFM EclipseDay '08

Interoperabilidad

Page 20: MFM EclipseDay '08

Interoperabilidad • FMP ha sido uno de los editores más utilizados para especificar

modelos de características. • MFM soporta transformación de modelos (M2M) MFM a FMP.

Page 21: MFM EclipseDay '08

Interoperabilidad El mecanismo clásico de lanzar transformaciones es algo rudimentario

Page 22: MFM EclipseDay '08

Interoperabilidad MOSKitt proporciona un gestor de transformaciones totalmente integrado en el entorno Eclipse

Page 23: MFM EclipseDay '08

Análisis sobre modelos MFM

Page 24: MFM EclipseDay '08

•  FAMA es un framework para el análisis automatizado de modelos de características.

•  Integra diversos motores de resolución basados las siguientes tecnologías: Boolean Satisfiability Problem, Binary Decision Diagram y Constraint Satisfaction Problem.

Análisis sobre modelos MFM

Page 25: MFM EclipseDay '08

Number of products Detect errors Explain errors Valid product Valid configuration Variability

Filter Products Valid model Commonality Set Variability

Operación de Análisis 1

- Your feature model is valid. -  The number of products is: 4. -  Commonality of the selected: 2. -  Number of products after applying the filter: 2. -  …

2

3

Análisis sobre modelos MFM

Page 26: MFM EclipseDay '08

Análisis sobre modelos MFM MOSKitt proporciona infraestructura para implementar la trazabilidad entre la representación de FAMA y los modelos MFM

Page 27: MFM EclipseDay '08

Infraestructura para DSDM

EMF GMF M2* Tabs GMF+ Engine

Traces

Page 28: MFM EclipseDay '08

EMF GMF M2*

Infraestructura para DSDM

-  EMF, GMF o M2* incrementan la productividad en el desarrollo de herramientas DSDM. -  Permiten centrarnos en QUÉ queremos hacer y no en CÓMO hacerlo.

MofScript, ATL, Xpand,

Jet, … (m2m o m2t)

Page 29: MFM EclipseDay '08

EMF GMF M2*

- MOSKitt proporciona infraestructura reutilizable para ser mas productivos en el desarrollo de herramientas DSDM, sobre las herramientas básicas (EMF, GMF, M2*)

- La infraestructura de MOSKitt permite especificar el QUÉ y no el CÓMO para definir aspectos más avanzados de las herramientas DSDM

MOSKitt para DSDM

EMF GMF M2* Tabs GMF+ Engine

Traces

Page 30: MFM EclipseDay '08

EMF GMF ATL Tabs GMF+ Engine

Traces

Pestañas de propiedades genéricas

Utilizando Infraestructura de MOSKitt

EMF - Tabs

Page 31: MFM EclipseDay '08

EMF GMF M2* Tabs GMF+ Engine

Traces

MOSKitt MOSKitt proporciona un catálogo de

secciones predefenidas que se pueden componer para pestañas de propiedades

Podemos centramos en qué queremos hacer con las secciones, no en las peculiaridades de cómo crearlas

Imagen

Slide

EMF - Tabs

Page 32: MFM EclipseDay '08

EMF GMF M2* Tabs GMF+ Engine

Traces

La infraestructura de MOSKitt proporciona funcionalidad a GMF lista para ser utilizada: •  Versión del Diagrama •  Cambiar la apariencia gráfica •  Anclas personalizadas de las relaciones •  Diagramas inicializados a partir de plantillas •  Vistas sobre diagramas •  Múltiples diagramas

Es posible extender los editores generados por GMF, pero eso implica un conocimiento del propio GMF: •  Modificar las plantillas de generación de GMF •  Extensiones de los modelos de GMF •  Modificaciones del código generado por GMF •  Puntos de extensión de GMF

GMF- GMF+

Page 33: MFM EclipseDay '08

EMF GMF M2* Tabs GMF+ Engine

Traces

1

2 3

Herramientas m2m o m2t proporcionan lanzadores genéricos

MOSKitt proporciona infraestructura para integrar las transformaciones m2m y m2t en el entorno

Menús contextuales

Pestaña de transformaciones

Asistentes

m2* - Engine

Page 34: MFM EclipseDay '08

EMF GMF M2* Tabs GMF+ Engine

Traces

Menús contextuales

1

3

2

Page 35: MFM EclipseDay '08

EMF GMF M2* Tabs GMF+ Engine

Traces

MFM 2 FAMA.GenericModel

MFM 2 FAMA.Product

Generic Model

Configuración del modelo

Product

Representación del modelo para análisis

m2* - Traces

Page 36: MFM EclipseDay '08

EMF GMF M2* Tabs GMF+ Engine

Traces

Generic Model

Configuración del modelo.

Product

Representación del modelo para análisis.

La infraestructura de MOSKitt nos proporciona sincronización ante

modificaciones. Cuando el usuario cambie la configuración de un modelo MFM se actualizara automáticamente

FAMA.Product De no disponer de esta infraestructura, sería necesario relanzar la

transformación ante cada selección del modelo MFM

m2* - Engine

Page 37: MFM EclipseDay '08

Conclusiones

Page 38: MFM EclipseDay '08

• Se ha desarrollado una herramienta, MOSKitt Feature Modeller (MFM) para la especificación y explotación de modelos de características, que incluye:

• Edición gráfica avanzada de modelos con soporte para múltiples notaciones • Explosión de características en múltiples diagramas • Asistentica en la edición de configuraciones (resolución de restricciones automáticas)

• Interoperabilidad con otras herramientas: MFM – FMP • Integración con FAMA para realizar análisis sobre los modelos

Conclusiones MFM

Page 39: MFM EclipseDay '08

• Durante el desarrollo de MOSKitt se han abordado problemas comunes a las herramientas DSDM a varios niveles: edición de modelos, diagramas avanzados, ejecución de transformaciones, trazabilidad, sincronización entre modelos…

• El objetivo de MOSKitt no ha sido desarrollar una solución particular a estos problemas para el propio MOSKitt, sino que se ha desarrollado una infraestructura reutilizable para el desarrollo de otras herramientas DSDM.

• Pensamos que la infraestructura de MOSKitt permitirá a la comunidad ser mas productivos en el desarrollo de herramientas DSDM.

EMF GMF M2* Tabs GMF+ Engine

Traces

Conclusiones Extensiones MOSKitt

Page 40: MFM EclipseDay '08

Contacto

Page 41: MFM EclipseDay '08

gr ci s