MFM EclipseDay '08

Preview:

DESCRIPTION

MOSKitt Feature Modeller

Citation preview

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

Universitat Politècnica de València

Desarrollo de Extensiones sobre MOSKitt:

MOSKitt Feature Modeller

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

Aplicación de infraestructura MOSKitt

Público Objetivo

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

Modelos de Características

Concepto variabilidad Expresan diferentes configuraciones de un

sistema

Características de MFM

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

Características de MFM (1)

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.

Características de MFM (2)

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

Características de MFM (3)

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

distintas notaciones gráficas en cada vista

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

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

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.

Características de MFM (4)

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

Configuración en MFM

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

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

a screencasts de la funcionalidad de MFM

Interoperabilidad

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.

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

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

Análisis sobre modelos MFM

•  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

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

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

Infraestructura para DSDM

EMF GMF M2* Tabs GMF+ Engine

Traces

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)

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

EMF GMF ATL Tabs GMF+ Engine

Traces

Pestañas de propiedades genéricas

Utilizando Infraestructura de MOSKitt

EMF - Tabs

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

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+

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

EMF GMF M2* Tabs GMF+ Engine

Traces

Menús contextuales

1

3

2

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

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

Conclusiones

• 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

• 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

Contacto

gr ci s

Recommended