Presentation is loading. Please wait.

Presentation is loading. Please wait.

II Taller sobre Desarrollo de Software Dirigido por Modelos, MDA y Aplicaciones (DSDM'05) MDA e Ingeniería de Requisitos para Líneas de Producto Bruno.

Similar presentations


Presentation on theme: "II Taller sobre Desarrollo de Software Dirigido por Modelos, MDA y Aplicaciones (DSDM'05) MDA e Ingeniería de Requisitos para Líneas de Producto Bruno."— Presentation transcript:

1 II Taller sobre Desarrollo de Software Dirigido por Modelos, MDA y Aplicaciones (DSDM'05) MDA e Ingeniería de Requisitos para Líneas de Producto Bruno González-Baixauli Miguel A. Laguna

2 Page 2 12 de Septiembre de 2005 Index Introduction MDA & Product Lines Support Conclusions

3 Page 3 12 de Septiembre de 2005 Index Introduction Product Lines (PL) Process – PL Requirements Engineering (RE) PL Models MDA MDA & Product Lines Support Conclusions

4 Page 4 12 de Septiembre de 2005 Product Lines (PL) Reuse Approach More successful Coarse-grained components Top-down systematic approach High effort & complex Lack of process definition Two Processes: Product Line Engineering Process (for reuse) Product Engineering Process (with reuse)

5 Page 5 12 de Septiembre de 2005 Product Line Process (1) Goal: reduce investment and present results earlier Features: Defined with SPEM Using best practices Two different process Iterative

6 Page 6 12 de Septiembre de 2005 Product Line Process (2) Product Line Engineering Process Product Line Engineering Process Asset management (Reuse library) Asset management (Reuse library) Product Engineering Process InicioElaboraciónConstrucción Transición InicioElaboraciónConstrucción Transición InceptionElaborationConstruction Transition Assets Requirement Engineering Reference Architecture definition Component Implementation Domain definition Assets

7 Page 7 12 de Septiembre de 2005 PL Engineering Process Three phases: PL inception PL elaboration PL construction Six disciplines: Domain definition PL Requirement engineering Reference architecture definition Component implementation Other (Test & Change management)

8 Page 8 12 de Septiembre de 2005 PL Requirements Engineering Initial: features & use-cases [solution oriented] Add Goals: Intentional viewpoint – explicit Problem oriented NFR dealing Analyze alternatives

9 Page 9 12 de Septiembre de 2005 Goal Model Examples

10 Page de Septiembre de 2005 PL Models Goal Model Feature Model Feature Sub Model Product Line Model Application Model Soft-goal Model Application Goal Model >

11 Page de Septiembre de 2005 MDA Model Driven Architecture (MDA) Introduced by OMG Based in models: Platform Independent Model (PIM) Platform Specific Model (PSM) Automatic transformations PIM -> PSM Can be applied to our process?

12 Page de Septiembre de 2005 Index Introduction MDA & Product Lines Process Model Transformation Support Conclusions

13 Page de Septiembre de 2005 MDA & Product Lines Several model types: Goal & Softgoal Feature Architecture (class) Different scope: All PL (variability & communality) Each application PIM models PIM to PIM transformations

14 Page de Septiembre de 2005 Process

15 Page de Septiembre de 2005 Model Transformations Horizontal Selection – Domain engineer Configuration – Trazability Application from PL – Trazability Vertical PL development Goals to Features Features to Architecture Application development (PIM to PSM)

16 Page de Septiembre de 2005 Transformation

17 Page de Septiembre de 2005

18 Page de Septiembre de 2005 Feature Metamodel

19 Page de Septiembre de 2005 UML Class Metamodel

20 Page de Septiembre de 2005 Features to Architecture Transformation Consist on: Feature model -> Package Each Feature -> Class Associate SolitaryFeatures to owner feature FeatureGroup -> super-class of owned features + association Describe transformations with Query/View/Transformation (QVT) OMG Last submited version

21 Page de Septiembre de 2005 FeatureModelToNamespace m:FeatureModel > name=fm n:Namespace name=fm > uml, efm, c FeatureModel to Namespace Feature Model is transformed in a Package

22 Page de Septiembre de 2005 when FeatureModelToNamespace(m,n) RootFeatureToClass f:RootFeature > name=fn m:FeatureModel c:Class name=fn > uml, efm, c where SolitaryFeatureToClass(f,c) FeatureGroupToClass(f,c) n:Namespace RootFeature to Class The RootFeature is transformed to the first class

23 Page de Septiembre de 2005 where SolitaryFeatureToClass(sf,sc); FeatureGroupToClass(sf,sc); SolitaryFeatureToClass f:Feature > sf:SolitaryFeature c:Class > uml, efm, c a:Association name=sn featureCardinality=fc sc:Class name=sn ae2:AssociationEnd multiplicity=fc ae1:AssociationEnd multiplicity=1..1 SolitaryFeature to Class SolitaryFeatures are transformed into classes and associated to the owner feature with multiplicity featureCardinality

24 Page de Septiembre de 2005 where GroupedFeatureToClass(fg,cg); FeatureGroupToClass f:Feature > fg:FeatureGroup uml, efm, c name=gn groupCardinality=gc c:Class > a:Association ae2:AssociationEnd multiplicity=gc ae1:AssociationEnd multiplicity=1..1 cg:Class name=gn FeatureGroup to Class FeatureGroups are transformed to super- classes of owned GroupedFeatures and associated with multiplicity groupCardinality

25 Page de Septiembre de 2005 where SolitaryFeatureToClass(f,c) FeatureGroupToClass(f,c) GroupedFeatureToClass fg:FeatureGroup > f:GroupedFeature gc:Class > uml, efm, c name=fn c:Class name=fn g:Generalization parent child GroupedFeature to Class GroupedFeatures are transformed to Classes

26 Page de Septiembre de 2005 Index Introduction MDA & Product Lines Support Conclusions

27 Page de Septiembre de 2005 Support Specification independent of implementation. Based on: Models representation. Transformation implementation. Two approaches: XML + XSLT / Java Graph Grammars + AGG

28 Page de Septiembre de 2005 XML + XSLT Under Eclipse Feature Model -> Xfeature plugin: XML Customizability of meta-model Architecture Model -> EMF XML vs XMI MDA based Ecore

29 Page de Septiembre de 2005

30 Page de Septiembre de 2005 XFeature

31 Page de Septiembre de 2005 Resulting Model

32 Page de Septiembre de 2005 Eclipse Integration

33 Page de Septiembre de 2005 Index Introduction MDA & Product Lines Support Conclusions

34 Page de Septiembre de 2005 Conclusions Exploration MDA to PL Transformation Feature -> Architecture Hidden set of NFR: Separate aspects explicitly Add NFR details manually from base PIM Use goals to derive optimal feature sub-graph From features, rebuild architectural PIM Trazability mechanism needed

35 Page de Septiembre de 2005 THANK YOU Questions?, Advices?, Ideas?, …?

36 Page de Septiembre de 2005 GRACIAS Alguna Pregunta?, Sugerencia?, Idea?, …?

37 Page de Septiembre de 2005 Índice Introducción Aplicación de MDA a Líneas de Producto Soporte Conclusiones

38 Page de Septiembre de 2005 Índice Introducción Líneas de Producto Proceso – Ingeniería de Requisitos Modelos MDA® – MDE Aplicación de MDA a Líneas de Producto Soporte Conclusiones

39 Page de Septiembre de 2005 Graph Transformations Models = Graphs Model Transformations = Graph Transformations Metamodel = Type Graph Models = Typed Graphs + Attributes Rule ordering: Layered Graph Grammars AGG: State of the art graph transformation tool Context + Layers + Attributes

40 Page de Septiembre de 2005 Graph Transformation Rules QVT rule translates into a set of GG rules: Create classes Classes in the target model matching features in the source model Move children Link Features in the source model to the transformed parent class Delete Feature Node Transformed Feature node has no children and can be deleted

41 Page de Septiembre de 2005 Rule Ordering Layers L0: FeatureModelToNamespace L1: RootFeatureToClass L2: SolitaryFeatureToClass L3: FeatureGroupToClass L4: GroupedFeatureToClass Dangling edges restriction Loop over layers

42 Page de Septiembre de 2005 RootFeature To Class Rules

43 Page de Septiembre de 2005 Initial Feature Model

44 Page de Septiembre de 2005 Resulting Architecture Model


Download ppt "II Taller sobre Desarrollo de Software Dirigido por Modelos, MDA y Aplicaciones (DSDM'05) MDA e Ingeniería de Requisitos para Líneas de Producto Bruno."

Similar presentations


Ads by Google