
Model-Driven and Software Product Line Engineering.
Title:
Model-Driven and Software Product Line Engineering.
Author:
Royer, Jean-Claude.
ISBN:
9781118569733
Personal Author:
Edition:
1st ed.
Physical Description:
1 online resource (188 pages)
Series:
Iste
Contents:
Cover -- Title Page -- Copyright Page -- Table of Contents -- Chapter 1. Introduction -- 1.1. Software product line engineering -- 1.2. Model-driven engineering -- 1.3. Merging model-driven and software product line engineering -- 1.4. The FieSta framework -- 1.5. Book structure -- Chapter 2. Software Product Line Engineering Basics -- 2.1. Introduction to product line engineering -- 2.2. Brief history -- 2.3. Application example: Smart-Home systems -- 2.3.1. Smart-Home system's domain -- 2.3.2. Requirements of the application example -- 2.4. Software product line engineering -- 2.5. Domain engineering -- 2.5.1. Component-based software engineering -- 2.6. Variability management -- 2.6.1. Feature modeling -- 2.7. Application engineering -- 2.7.1. Product configuration -- 2.7.2. Product derivation -- 2.8. Benefits and drawbacks -- 2.9. Issues in product line -- 2.9.1. Variability management -- 2.9.2. Product derivation -- 2.9.3. Testing -- 2.9.4. Traceability -- 2.9.5. Product line evolution -- 2.9.6. Tool support -- 2.10. Summary -- Chapter 3. Model-Driven Engineering -- 3.1. Introduction -- 3.2. Models and metamodels -- 3.2.1. The 4-level metamodeling framework -- 3.2.2. The nature of models -- 3.3. UML class diagrams and OCL -- 3.4. Model transformations -- 3.4.1. Scheduling of transformation rules -- 3.4.2. Model transformation patterns -- 3.4.3. Classification of model transformations -- 3.4.4. Vertical model transformations -- 3.4.5. Horizontal model transformations -- 3.4.6. Model composition or model weaving -- 3.5. Modeling framework -- 3.5.1. The eclipse modeling framework -- 3.5.2. The topcased toolkit -- 3.6. Model transformation languages -- 3.6.1. QVT -- 3.6.2. ATL -- 3.6.3. The open Architecture Ware framework -- 3.6.4. The Xtend language -- 3.7. Benefits and challenges for SPLE -- 3.8. Summary.
Chapter 4. Model-Driven and Software Product Line Engineering -- 4.1. Introduction -- 4.2. Problem space issues -- 4.2.1. Separating points of views -- 4.2.2. Capturing variability and configuring products -- 4.2.3. Relating several points of view -- 4.2.4. Configuring products in a multi-staged process -- 4.3. Solution space issues -- 4.4. Developing core assets -- 4.4.1. Developing decision models and deriving products -- 4.5. Variability expression and product configuration -- 4.5.1. Metamodels -- 4.5.2. Feature models -- 4.6. Core asset development and product derivation -- 4.6.1. Transformation rules in the Smart-Home systems SPL -- 4.6.2. Creating and using decision models -- 4.7. Summary -- Chapter 5. The FieSta Framework: Fine-Grained Derivation and Configuration -- 5.1. Introduction -- 5.1.1. Coarse-grained and fine-grained variations -- 5.2. Binding models and constraint models -- 5.2.1. Binding models -- 5.2.2. Constraint models -- 5.2.3. The cardinality property -- 5.2.4. The structural dependency property -- 5.2.5. The constraint metamodel and the binding metamodel -- 5.2.6. Validating binding models against constraint models -- 5.3. Deriving products based on constraint models and binding models -- 5.3.1. The extended decision metamodel -- 5.3.2. Creating executable model transformation workflows from decision models and constraint models -- 5.4. Identified limitations -- 5.4.1. Features combinatorial -- 5.4.2. Features interaction -- 5.4.3. Bindings interaction -- 5.5. Summary -- Chapter 6. Tools Support -- 6.1. Introduction -- 6.2. The FieSta process -- 6.3. The SPL of Smart-Home systems -- 6.4. Variability expression and product configuration -- 6.4.1. MD-SPL project creation -- 6.4.2. Metamodels and feature models creation -- 6.4.3. Constraint models creation -- 6.4.4. Domain models and binding models creation.
6.5. Completing and running the product derivation -- 6.5.1. Transformation rules creation -- 6.5.2. Decision models creation -- 6.5.3. Generation and execution of model transformation workflows -- 6.6. Summary -- Chapter 7. A Second Comprehensive Application Example -- 7.1. Domain of the collection manager system -- 7.2. Requirements of the application example -- 7.2.1. Kernel commonalities -- 7.2.2. GUI commonalities -- 7.2.3. Kernel and GUI variability -- 7.3. The overall process -- 7.3.1. Domain engineering -- 7.3.2. Application engineering -- 7.4. Variability expression and product configuration -- 7.4.1. Metamodels -- 7.4.2. The feature model -- 7.4.3. The constraint model -- 7.4.4. Binding models -- 7.5. Core assets development and product derivation -- 7.5.1. Rule transformations in the SPL of the collection manager systems -- 7.5.2. Decision models -- 7.6. Summary -- Chapter 8. Further Reading -- 8.1. Northop and Clements' book -- 8.2. Pohl, Böckle and Van der Linden's book -- 8.3. Gomaa's book -- 8.4. Van der Linden, Schmid, and Rommes' book -- 8.5. Stahl, Voelter, and Czarnecki book -- 8.6. AMPLE book -- 8.7. Feature modeling notations -- 8.8. Decision models -- 8.9. Model-driven software product lines -- 8.9.1. The Czarnecki and Antkiewicz's approach -- 8.9.2. The Wagelaar's approach -- 8.9.3. Loughran et al.'s approach -- 8.9.4. Voelter and Groher's approach -- 8.9.5. Comparison table -- 8.10. Dynamic variability -- 8.11. Domain specific languages -- 8.12. Additional references -- 8.13. Summary -- Chapter 9. Conclusion -- 9.1. Book summary -- 9.2. MD-SPL engineering -- 9.2.1. Metamodeling and feature modeling -- 9.2.2. Multi-staged configuration of products -- 9.2.3. Coarse and fine-grained variations and configurations -- 9.2.4. Core assets development and decision models -- 9.2.5. Product derivation -- 9.2.6. Comparison table.
9.2.7. Perspectives -- Bibliography -- Index.
Abstract:
Many approaches to creating Software Product Lines have emerged that are based on Model-Driven Engineering. This book introduces both Software Product Lines and Model-Driven Engineering, which have separate success stories in industry, and focuses on the practical combination of them. It describes the challenges and benefits of merging these two software development trends and provides the reader with a novel approach and practical mechanisms to improve software development productivity. The book is aimed at engineers and students who wish to understand and apply software product lines and model-driven engineering in their activities today. The concepts and methods are illustrated with two product line examples: the classic smart-home systems and a collection manager information system.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Genre:
Electronic Access:
Click to View