31 feature models and mda for product lines
play

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

Obligatory Literature Florian Heidenreich, Jan Kopcsek, and Christian Wende. Fakultt Informatik, Institut fr Software- und Multimediatechnik, Lehrstuhl fr Softwaretechnologie FeatureMapper: Mapping Features to Models. In Companion


  1. Obligatory Literature Ø Florian Heidenreich, Jan Kopcsek, and Christian Wende. Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl für Softwaretechnologie 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 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 11-0.2, Januar 25, 2012 Prof. U. Aßmann Feature-driven SPLE 2 References Object-Oriented Analysis vs Object-Oriented Design Ø [Aßm03] U. Aßmann. Invasive Software Composition. Springer, 2003. requirements specification [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. textual requirements [Cza06] K. Czarnecki and K. Pietroszek. Verifying Feature-Based Model Ø (stories) Templates Against Well-Formedness OCL Constraints. In Proceedings of the 5th context analysis International Conference on Generative Programming and Component model model Engineering (GPCE'06), pages 211-220, New York, NY, USA, 2006. ACM. [Hei08a] F. Heidenreich, J. Kopcsek, and C. Wende. FeatureMapper: Mapping analysis Ø Features to Models. In Companion Proceedings of the 30th International model domain Conference on Software Engineering (ICSE'08), pages 943-944, New York, NY, USA, May 2008. ACM. model use cases [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 architectural design 2008), collocated with the 12th Int‘l Software Product Line Conference (SPLC 2008), Limerick, Ireland, September 2008. detailed design [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 Slide 3 Prof. U. Aßmann 4 Feature-driven SPLE Feature-driven SPLE

  2. Extended to Model-Driven Architecture (MDA) Product Lines (Product Families) requirements requirements specification specification Feature Model textual textual requirements requirements (varability Product 1 (stories) analysis (stories) model) context model analysis model (CIM) Model context model analysis model domain domain model model use use cases cases Platform independent model Platform-1 specific model Product 2 Product n Platform-(1,.., n) specific model Prof. U. Aßmann Feature-driven SPLE 5 Prof. U. Aßmann Feature-driven SPLE 6 Configuration of Variabilities in Product Lines (MDA Adding Extensions to Abstract Models in the MDA for Product Lines) Ø The VIM (variant independent model) is the common model of the product family Ø In the following, we extend the MDA (below) with configuration Domain Model Platform independent Platform-1-specific extension (PSE) model (PIM) Analysis Model Configuration Model With Variants Product Line Model weaving FeatureModel Product Design Variants (Framework, VIM) Variants Model weaving Platform-1 specific Platform-2 specific extension (PSE) model (PIM) Configuration Product PIM Variants With Variants PSM FeatureModel Extensions Model Model weaving weaving Platform-(1+2) specific Product PSM model (PSM) Product PSM Product PSM Prof. U. Aßmann 7 Feature-driven SPLE Prof. U. Aßmann Feature-driven SPLE 8

  3. Feature Models for Product configuration Ø Feature models are used to express variability in Product Lines OR OR Ø alternative, Ø mandatory, Ø optional features, and Ø their relations XOR XO Ø A variant model represents a concrete product from the product line 31.1 PRODUCT LINES Ø The variant model results from a selection of a subgraph of the feature model WITH FEATURE TREES Ø The variant model can be used to parameterize and drive the product instantiation process AND FEATURE MODELS Feature-driven SPLE Prof. U. Aßmann Feature-driven SPLE 10 Prof. U. Aßmann 9 Feature Models Beispiel Ø Feature Tree Notation Ø A1 or A2 or A3 Group of AND Ø B1; B2 xor B3 Features Ø B4; optional B5 Ø B1; B7 Group of Mandatory Optional Group of Alternative (XOR) Feature Feature OR Features Features A1 A2 A3 FeatureA FeatureB FeatureC FeatureD B1 B2 B3 B4 B5 B6 B7 PhD Thesis, Czarnecki (1998) based on FODA-Notation by Kang et al. (1990) Prof. U. Aßmann 11 Prof. U. Aßmann 12 Feature-driven SPLE Feature-driven SPLE

  4. Ein Featuremodell für computergestützte Mapping Features to Model Fragments (Model Snippets) kognitive Reha Ø [K. Lehmann, Diplomarbeit] Ø Bridging the gap between configuration and solution space FM Ø Need for mapping of features from feature models to artefacts of the solution space K J E S CE CU NO NM . . . Ø Possible artefacts Ø Models defined in DSLs gE gZ IS IT T A IS IT gE gZ T A gE gZ IS IT T A gE gZ IS IT T A Ø Model fragments (snippets) [1-2] [1-2] [1-2] [1-2] Ø Architectural artefacts (components, connectors, aspects) A/K Ø Source code Ø Files Ø But how can we achieve the mapping... ? S K J E CE CU NO NM . . . [c1] [c1] [c1] [c1] T A IS IT IS IT T A 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 Prof. U. Aßmann Feature-driven SPLE 14 Ex: Plugins have Features (in Eclipse) 31.2 PRODUCT-LINE CONFIGURATION WITH FEATURE MODELS Feature-driven SPLE Prof. U. Aßmann 16 Prof. U. Aßmann 15 Feature-driven SPLE

  5. Different Approaches of Variant Selection Different Approaches of Variant Selection (2) Additive approach Subtractive approach Ø Map all features to model fragments (model snippets) Ø Model all features in one model Ø Compose them with a core model based on the presence of the Ø Remove elements based on absence of the feature in the variant feature in the variant model model Ø Pros: Ø conflicting variants can be modelled correctly Ø Pros: Ø strong per-feature decomposition Ø no need for redundant links between artifacts Ø Cons: Ø short cognitive distance Ø traceability problems Ø Cons: Ø increased overhead in linking the different fragments Ø conflicting variants can't be modelled correctly Ø huge and inconcise models Prof. U. Aßmann Feature-driven SPLE 17 Prof. U. Aßmann Feature-driven SPLE 18 The Mapping Problem between Features and Solution Mapping Features to Models Elements Ø 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 Problem ¡Space Solu5on ¡Space Ø Consistency of each product in the line is simple to check Creation Ø Model and code snippets can be traced to requirements FeatureA A B Visualisation FeatureB FeatureC D Validation E F G Derivation FeatureD FeatureE Prof. U. Aßmann Slide 19 Prof. U. Aßmann 20 Feature-driven SPLE Feature-driven SPLE

  6. FeatureMapper 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 FeatureA B E FeatureC G FeatureE FeatureB FeatureC D F FeatureC F G E FeatureE FeatureD FeatureE Prof. U. Aßmann Slide 21 Feature-driven SPLE Prof. U. Aßmann Feature-driven SPLE Slide 22 From Feature Mappings to Model Transformations Visualisation of Mappings (1) Ø Visualisations play a crucial role in Software Engineering • It’s hard to impossible to understand a complex system unless you look at it from different points of view Ø In many cases, developers are interested only in a particular aspect of the connection between a feature model and realising artefacts • How a particular feature is realised? • Which features communicate or interact in their realisation? • Which artefacts may be effectively used in a variant? Ø Solution of the FeatureMapper: MappingViews, a visualisation technique that provides four basic visualisations • Realisation View • Variant View • Context View • Property-Changes View Prof. U. Aßmann 23 Prof. U. Aßmann Slide 24 Feature-driven SPLE Feature-driven SPLE

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend