31 feature models and mda for product lines
play

31) Feature Models and MDA for Product Lines 1. Feature Models 2. - PowerPoint PPT Presentation

Fakultt Informatik, Institut fr Software- und Multimediatechnik, Lehrstuhl fr Softwaretechnologie 31) Feature Models and MDA for Product Lines 1. Feature Models 2. Product Linie Configuration with Feature Models 3. Multi-Stage Configuration


  1. Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl für Softwaretechnologie 31) Feature Models and MDA for Product Lines 1. Feature Models 2. Product Linie Configuration with Feature Models 3. Multi-Stage Configuration Ø Prof. Dr. U. Aßmann Ø Florian Heidenreich Ø Technische Universität Dresden Ø Institut für Software- und Multimediatechnik Ø Gruppe Softwaretechnologie Ø http://st.inf.tu-dresden.de Ø Version 12-0.2, January 23, 2013

  2. Obligatory Literature Ø Florian Heidenreich, Jan Kopcsek, and Christian Wende. FeatureMapper: Mapping Features to Models. In Companion Proceedings of the 30th International Conference on Software Engineering (ICSE'08), Leipzig, Germany, May 2008. • http://fheidenreich.de/work/files/ICSE08-FeatureMapper--Mapping-Features-to- Models.pdf Prof. U. Aßmann Feature-driven SPLE 2

  3. References [Aßm03] U. Aßmann. Invasive Software Composition. Springer, 2003. Ø [Cza05] K. Czarnecki and M. Antkiewicz. Mapping Features to Models: A Ø Template Approach Based on Superimposed Variants. In R. Glück and M. Lowry, editors, Proceedings of the 4th International Conference on Generative Programming and Component Engineering (GPCE'05), volume 3676 of LNCS, pages 422-437. Springer, 2005. [Cza06] K. Czarnecki and K. Pietroszek. Verifying Feature-Based Model Ø Templates Against Well-Formedness OCL Constraints. In Proceedings of the 5th International Conference on Generative Programming and Component Engineering (GPCE'06), pages 211-220, New York, NY, USA, 2006. ACM. [Hei08a] F. Heidenreich, J. Kopcsek, and C. Wende. FeatureMapper: Mapping Ø Features to Models. In Companion Proceedings of the 30th International Conference on Software Engineering (ICSE'08), pages 943-944, New York, NY, USA, May 2008. ACM. [Hei08b] Florian Heidenreich, Ilie Ş avga and Christian Wende. On Controlled Ø Visualisations in Software Product Line Engineering. In Proc. of the 2nd Int‘l Workshop on Visualisation in Software Product Line Engineering (ViSPLE 2008), collocated with the 12th Int‘l Software Product Line Conference (SPLC 2008), Limerick, Ireland, September 2008. [Hei09] Florian Heidenreich. Towards Systematic Ensuring Well-Formedness of Ø Software Product Lines. In Proceedings of the 1st Workshop on Feature- Oriented Software Development (FOSD 2009) collocated with MODELS/GPCE/ SLE 2009. Denver, Colorado, USA, October 2009. ACM Press Prof. U. Aßmann Feature-driven SPLE Slide 3

  4. Object-Oriented Analysis vs Object-Oriented Design requirements specification textual requirements (stories) context analysis model model analysis model domain model use cases architectural design detailed design Prof. U. Aßmann Feature-driven SPLE 4

  5. Extended to Model-Driven Architecture (MDA) Ø Horizontal product line: one product idea in several markets requirements specification textual requirements (stories) analysis context model model (CIM) analysis model domain model use cases Platform independent model Platform-1 specific model Platform-(1,.., n) specific model Prof. U. Aßmann Feature-driven SPLE 5

  6. Product Lines (Product Families) requirements specification Feature Model textual requirements (varability Product 1 (stories) model) analysis Model context model domain model use cases Product 2 Product n Prof. U. Aßmann Feature-driven SPLE 6

  7. Adding Extensions to Abstract Models in the MDA Ø In the following, we extend the MDA (below) with configuration Platform independent Platform-1-specific extension (PSE) model (PIM) Model weaving Platform-2 specific Platform-1 specific extension (PSE) model (PIM) Model weaving Platform-(1+2) specific model (PSM) Prof. U. Aßmann Feature-driven SPLE 7

  8. Configuration of Variabilities in Vertical Product Lines (MDA for Vertical Product Lines) Vertical product line: several products in one or several markets ► The VIM (variant independent model) is the common model of the product family ► Domain Model Analysis Model Configuration With Variants Product Line Model FeatureModel Variants Product Design (Framework, VIM) Variants Model weaving Configuration Product PIM Variants With Variants PSM FeatureModel Extensions Model weaving Product PSM Product PSM Product PSM Prof. U. Aßmann Feature-driven SPLE 8

  9. 31.1 PRODUCT LINES WITH FEATURE TREES AND FEATURE MODELS Feature-driven SPLE Prof. U. Aßmann 9

  10. Feature Models for Product configuration Ø Feature models are used to express variability in Product Lines OR OR Ø alternative, Ø mandatory, Ø optional features, and Ø their relations XO XOR Ø A variant model represents a concrete product (variant) from the product line Ø The variant model results from a selection of a subgraph of the feature model Ø The variant model can be used to parameterize and drive the product instantiation process Prof. U. Aßmann Feature-driven SPLE 10

  11. Feature Models Ø The Feature Tree Notation is derived from And-Or-Trees Group of AND Features Group of Mandatory Optional Group of Alternative (XOR) Feature Feature OR Features Features FeatureA FeatureB FeatureC FeatureD PhD Thesis, Czarnecki (1998) based on FODA-Notation by Kang et al. (1990) Prof. U. Aßmann Feature-driven SPLE 11

  12. Example Ø A1 or A2 or A3 Ø B1; B2 xor B3 Ø B4; optional B5 Ø B1; B7 A1 A2 A3 B1 B2 B3 B4 B5 B6 B7 Prof. U. Aßmann Feature-driven SPLE 12

  13. Ein Featuremodell for Computer-Aided cognitive Rehabilitation Ø [K. Lehmann-Siegemund, Diplomarbeit] FM J NO NM K E S CE CU . . . gE gZ IS IT T A IS IT gE gZ T A gE gZ IS IT T A gE gZ IS IT T A [1-2] [1-2] [1-2] [1-2] A/K S K J E CE CU NO NM . . . [c1] [c1] [c1] [c1] IS IT T A T A IS IT gE gZ IS IT T A IS IS IT IT T A gE [1-2] [1-2] [1-2] [1-2] Prof. U. Aßmann Feature-driven SPLE 13

  14. Mapping Features to Model Fragments (Model Snippets) Ø Bridging the gap between configuration and solution space Ø Need for mapping of features from feature models to artefacts of the solution space Ø Possible artefacts Ø Models defined in DSLs Ø Model fragments (snippets) Ø Architectural artefacts (components, connectors, aspects) Ø Source code Ø Files Ø But how can we achieve the mapping... ? Prof. U. Aßmann Feature-driven SPLE 14

  15. Ex: Plugins have Features (in Eclipse) Prof. U. Aßmann Feature-driven SPLE 15

  16. 31.2 PRODUCT-LINE CONFIGURATION WITH FEATURE MODELS Feature-driven SPLE Prof. U. Aßmann 16

  17. Different Approaches of Variant Selection Additive approach Ø Map all features to model fragments (model snippets) Ø Compose them with a core model based on the presence of the feature in the variant model Ø Pros: Ø conflicting variants can be modelled correctly Ø strong per-feature decomposition Ø Cons: Ø traceability problems Ø increased overhead in linking the different fragments Prof. U. Aßmann Feature-driven SPLE 17

  18. Different Approaches of Variant Selection (2) Subtractive approach Ø Model all features in one model Ø Remove elements based on absence of the feature in the variant model Ø Pros: Ø no need for redundant links between artifacts Ø short cognitive distance Ø Cons: Ø conflicting variants can't be modelled correctly Ø huge and inconcise models Prof. U. Aßmann Feature-driven SPLE 18

  19. The Mapping Problem between Features and Solution Elements Solu5on ¡Space Problem ¡Space Creation A FeatureA B Visualisation FeatureB FeatureC D Validation E F G Derivation FeatureD FeatureE Prof. U. Aßmann Feature-driven SPLE Slide 19

  20. Mapping Features to Models Ø FeatureMapper - a tool for mapping of feature models to modelling artefacts developed at the ST Group Ø Screencast and paper available at http://featuremapper.org Ø Advantages: Ø Explicit representation of mappings Ø Configuration of large product lines from selection of variants in feature trees Ø Customers understand Ø Consistency of each product in the line is simple to check Ø Model and code snippets can be traced to requirements Prof. U. Aßmann Feature-driven SPLE 20

  21. FeatureMapper Prof. U. Aßmann Slide 21 Feature-driven SPLE

  22. Mapping Features to Models Ø We chose an explicit Mapping Representation in our tool FeatureMapper Ø Mappings are stored in a mapping model that is based on a mapping metamodel Feature ¡Model Mapping ¡Model Solu5on ¡Models D FeatureC A B FeatureA E FeatureC G FeatureC FeatureE FeatureB D F FeatureC E G F FeatureE FeatureD FeatureE Prof. U. Aßmann Feature-driven SPLE Slide 22

  23. From Feature Mappings to Model Transformations Prof. U. Aßmann Feature-driven SPLE 23

Recommend


More recommend