Download presentation
Presentation is loading. Please wait.
Published byAvery Leake Modified over 10 years ago
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 10 12 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 11 12 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 12 12 de Septiembre de 2005 Index Introduction MDA & Product Lines Process Model Transformation Support Conclusions
13
Page 13 12 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 14 12 de Septiembre de 2005 Process
15
Page 15 12 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 16 12 de Septiembre de 2005 Transformation
17
Page 17 12 de Septiembre de 2005
18
Page 18 12 de Septiembre de 2005 Feature Metamodel
19
Page 19 12 de Septiembre de 2005 UML Class Metamodel
20
Page 20 12 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 21 12 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 22 12 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 23 12 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 24 12 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 25 12 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 26 12 de Septiembre de 2005 Index Introduction MDA & Product Lines Support Conclusions
27
Page 27 12 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 28 12 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 29 12 de Septiembre de 2005
30
Page 30 12 de Septiembre de 2005 XFeature
31
Page 31 12 de Septiembre de 2005 Resulting Model
32
Page 32 12 de Septiembre de 2005 Eclipse Integration
33
Page 33 12 de Septiembre de 2005 Index Introduction MDA & Product Lines Support Conclusions
34
Page 34 12 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 35 12 de Septiembre de 2005 THANK YOU Questions?, Advices?, Ideas?, …?
36
Page 36 12 de Septiembre de 2005 GRACIAS Alguna Pregunta?, Sugerencia?, Idea?, …?
37
Page 37 12 de Septiembre de 2005 Índice Introducción Aplicación de MDA a Líneas de Producto Soporte Conclusiones
38
Page 38 12 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 39 12 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 40 12 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 41 12 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 42 12 de Septiembre de 2005 RootFeature To Class Rules
43
Page 43 12 de Septiembre de 2005 Initial Feature Model
44
Page 44 12 de Septiembre de 2005 Resulting Architecture Model
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.