Managing Variability in Product Line Scoping Using Design Space Models - PowerPoint PPT Presentation

managing variability in product line scoping using design space models n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Managing Variability in Product Line Scoping Using Design Space Models PowerPoint Presentation
Download Presentation
Managing Variability in Product Line Scoping Using Design Space Models

play fullscreen
1 / 27
Managing Variability in Product Line Scoping Using Design Space Models
78 Views
Download Presentation
zamora
Download Presentation

Managing Variability in Product Line Scoping Using Design Space Models

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Managing Variabilityin Product Line ScopingUsing Design Space Models Bedir Tekinerdoğan & Mehmet Akşit University of Twente Dept. of Computer Science Software Engineering TRESE, Software Engineering (bedir | aksit)@cs.utwente.nl

  2. Contents • Reuse • Product Line Engineering • Product Line Scoping • Design Space Modeling • Conclusion

  3. This takes too much time! costs too much money! I want it faster and cheaper! Requirements Analysis Architecture Design Design Implementation Testing I want Car Insurance System I want Health Insurance System I want Life Insurance System I want House Insurance System I want Tarvel Insurance System Development from scratch… Car Insurance System Health Insurance System Life Insurance System House Insurance System Travel Insurance System

  4. Nokia Facts • sells phones in more than 130 countries • support 58 languages (Japanese, Arabic, Hebrew, Chinese, etc. ) • support multiple protocols • CDMA, TDMA, AMPS, GSM, GPRS, … • Hardware is constantly changing and software is constantly expanding. • Different UI support From Slide from Anders Heie, Nokia Mobile Phones

  5. Example – Nokia Mobile Phones

  6. Product Component-Based Software Engineering Product Product Insurance Components I want Car Insurance System I want Health Insurance System I want Life Insurance System I want House Insurance System I want Travel Insurance System Development with reuse

  7. Source of reusable components… But where did the class/component library come from?! How where these components planned for this application?! ? Insurance Components

  8. Domain Engineering (Reusable) Domain Knowledge Domain Engineering - Development for reuse Domain Engineering: • the process of analysis, • specification and • implementation of software assets • in a domain which are used in • the development of multiple software products. Relevant Domain Knowledge

  9. Example - Domain Model for Insurance Systems

  10. Domain Implementation • Generate reusable assets derived from domain architecture and catalog in component library Domain Implementation Reusable Assets... Domain Model Insurance Assets

  11. Application Engineering • The process of developing software products from software assets created by a domain engineering process. • Focus on a single system… • but development is basically composition Application n (Reusable) Domain Knowledge Application 2 generate Application 1

  12. Domain Engineering Application Engineering Application n (Reusable) Domain Knowledge Application 2 Application 1 Domain Engineering vs. Application Engineering • How to make domain knowledge reusable? • Domain Engineering • How to apply it for building many applications? • Application Engineering Relevant Domain Knowledge

  13. Domain Model Domain Software Architecture Reusable Assets Domain Design Domain Implementation Application Engineering Application Engineering APPLICATION ENGINEERING New Requirements Application Performance Specification Application Software Architecture Analysis Based on Domain Model System Software Architecture Design Application Development Two-Life Cycle Model DOMAIN ENGINEERING Domain Analysis

  14. 1. health insurance that covers illness with own risk and direct premium 2. life insurance with service and periodical payment 3. Car insurance with coverage for damage, own risk and periodical payment etc. Altern atives Product Alternatives Domain Model 2976 alternatives!

  15. What are thealternatives? Problem Statement:What are the product alternatives? Alternative Alternative Alternative Alternative Alternative Alternative Alternative Alternative Alternative Alternative Alternative Alternative Alternative Alternative Alternative Product Line Scoping

  16. Product Line Scoping Risks • Scope is too large • product members might vary too much • more difficult to define commonality and variability • waste of resources • Scope is too small • core assets might not be built in a generic enough fashion to accommodate future growth • product line will stagnate and no additional benefits

  17. Alternative Implementations Product Implementation alternatives Domain Model

  18. What are thealternatives? Problem Statement:What are the implementation alternatives? Alternative Alternative Alternative Alternative Alternative Alternative Alternative Alternative Alternative Alternative Alternative Alternative Alternative Alternative Alternative Product Implementation Scoping

  19. Design Spaces • A multi-dimensional representation • of a set of alternatives • for a given design problem

  20. Process for Scoping Design Space • Represent Design Spaces • Define constraints of alternatives • Unfolding design space • Reduce design space using selection and elimination • Map design space to implementation

  21. InsuranceProduct = (InsObj Λ Cov Λ Paym Λ Cond Λ Prem Λ Payee) Represent Design Space 2976 alternatives!

  22. Reducing Design Space

  23. Reducing Design Space • Define Constraints: 1. InsuredObject.Person mutex-with Coverage.Damage If the ensured object is a person then the insurance product cannot include coverage of damage (for physical objects) 2. Coverage.Loss requires InsuredObject.MoveableProperty If the insurance product includes coverage for loss then the insured object can only be a moveable property 3. Coverage.Illness mutex InsuredObject.Corporation If the insurance product includes coverage for illness then the insured object cannot be a person. 4. InsuredObject.Corporation requires Payee.Corporation If the insured object is a corporation then the claimer should also be a corporation.

  24. HealthInsuranceProduct :: Select from InsuranceProduct Where <Insbj.Person and (Cov.Illness or Cov.Life)> Reducing Design Space • Select/Eliminate subspaces InsuranceProduct = (InsObj Λ Cov Λ Paym Λ Cond Λ Prem Λ Payee)

  25. Design Space ObjectInsurance :: InsuranceProduct  Object Map to implementations • For example object-oriented implementation • Mapping is a model transformation InsuranceProduct = (InsObj Λ Cov Λ Paym Λ Cond Λ Prem Λ Payee) 512000 alternatives Object = (CL ; OP; AT)

  26. Constraint Definer Tool: For defining constraints among concepts and features. Design Space Composer: Map the defined models to the object model to depict the set of implementation alternatives, and set the adaptability properties. Alternative Generator Tool: Generate alternatives after models, their constraints, and the design spaces have been defined. Select the appropriate alternatives. Model Builder Tool: A model is defined as a set of concepts, relations and constraints. Feature Definer Tool: For defining distinctive features of concepts Launcher: Open other tools from here Rumi

  27. Conclusion • Quality is not improved how good the process is, but firstly what kind of process you have • Introducing a secondary lifecycle process (domain engineering) supports quality: • time-to-market • Reuse • Product Line Engineering consists of Domain Engineering and ApplicationEngineering • One of the most important issues in PLE is Product Line Scoping • Current Product Line Scoping Techniques fail to depict the set of alternatives explicitly • We have applied design space modeling to represent design spaces for Product Alternatives and Product Implementation Alternatives • Thetool Rumi implements design space modeling techniques.