Upload
jjfons
View
857
Download
0
Embed Size (px)
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