Muutke küpsiste eelistusi

Model-Driven and Software Product Line Engineering [Kõva köide]

  • Formaat: Hardback, 288 pages, kõrgus x laius x paksus: 241x163x21 mm, kaal: 569 g
  • Ilmumisaeg: 14-Sep-2012
  • Kirjastus: ISTE Ltd and John Wiley & Sons Inc
  • ISBN-10: 1848214278
  • ISBN-13: 9781848214279
Teised raamatud teemal:
  • Formaat: Hardback, 288 pages, kõrgus x laius x paksus: 241x163x21 mm, kaal: 569 g
  • Ilmumisaeg: 14-Sep-2012
  • Kirjastus: ISTE Ltd and John Wiley & Sons Inc
  • ISBN-10: 1848214278
  • ISBN-13: 9781848214279
Teised raamatud teemal:
Model-driven engineering and software product line engineering are different approaches to software engineering that are usually contrasted, though also have important features in common. Arboleda (ICESI U., Cali, Columbia) and Royer (Ecole des Mines de Nantes, France) propose a practical approach to engineering a software product line based on model-driven engineering. They present the basic concepts of both approaches, and the main challenges in defining a model-driven tool. At a level accessible to graduate students and software engineers, they consider technical aspects of modeling variability, defining a reference architecture, and constructing tool support. Annotation ©2012 Book News, Inc., Portland, OR (booknews.com)

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.

Chapter 1 Introduction
1(16)
1.1 Software product line engineering
2(1)
1.2 Model-driven engineering
3(2)
1.3 Merging model-driven and software product line engineering
5(3)
1.4 The FieSta framework
8(3)
1.5 Book structure
11(6)
Chapter 2 Software Product Line Engineering Basics
17(42)
2.1 Introduction to product line engineering
17(4)
2.2 Brief history
21(3)
2.3 Application example: Smart-Home systems
24(6)
2.3.1 Smart-Home system's domain
24(2)
2.3.2 Requirements of the application example
26(4)
2.4 Software product line engineering
30(4)
2.5 Domain engineering
34(3)
2.5.1 Component-based software engineering
36(1)
2.6 Variability management
37(6)
2.6.1 Feature modeling
40(3)
2.7 Application engineering
43(5)
2.7.1 Product configuration
44(2)
2.7.2 Product derivation
46(2)
2.8 Benefits and drawbacks
48(1)
2.9 Issues in product line
49(7)
2.9.1 Variability management
50(1)
2.9.2 Product derivation
50(1)
2.9.3 Testing
51(1)
2.9.4 Traceability
52(1)
2.9.5 Product line evolution
53(2)
2.9.6 Tool support
55(1)
2.10 Summary
56(3)
Chapter 3 Model-Driven Engineering
59(42)
3.1 Introduction
59(1)
3.2 Models and metamodels
60(8)
3.2.1 The 4-level metamodeling framework
65(2)
3.2.2 The nature of models
67(1)
3.3 UML class diagrams and OCL
68(6)
3.4 Model transformations
74(9)
3.4.1 Scheduling of transformation rules
76(2)
3.4.2 Model transformation patterns
78(1)
3.4.3 Classification of model transformations
79(1)
3.4.4 Vertical model transformations
80(1)
3.4.5 Horizontal model transformations
81(1)
3.4.6 Model composition or model weaving
81(2)
3.5 Modeling framework
83(3)
3.5.1 The eclipse modeling framework
83(3)
3.5.2 The topcased toolkit
86(1)
3.6 Model transformation languages
86(10)
3.6.1 QVT
87(2)
3.6.2 ATL
89(1)
3.6.3 The openArchitectureWare framework
90(2)
3.6.4 The Xtend language
92(4)
3.7 Benefits and challenges for SPLE
96(2)
3.8 Summary
98(3)
Chapter 4 Model-Driven and Software Product Line Engineering
101(38)
4.1 Introduction
102(5)
4.2 Problem space issues
107(4)
4.2.1 Separating points of views
107(1)
4.2.2 Capturing variability and configuring products
108(1)
4.2.3 Relating several points of view
109(1)
4.2.4 Configuring products in a multi-staged process
110(1)
4.3 Solution space issues
111(1)
4.4 Developing core assets
112(1)
4.4.1 Developing decision models and deriving products
112(1)
4.5 Variability expression and product configuration
113(13)
4.5.1 Metamodels
114(6)
4.5.2 Feature models
120(6)
4.6 Core asset development and product derivation
126(12)
4.6.1 Transformation rules in the Smart-Home systems SPL
127(5)
4.6.2 Creating and using decision models
132(6)
4.7 Summary
138(1)
Chapter 5 The FieSta Framework: Fine-Grained Derivation and Configuration
139(22)
5.1 Introduction
139(3)
5.1.1 Coarse-grained and fine-grained variations
140(2)
5.2 Binding models and constraint models
142(10)
5.2.1 Binding models
142(1)
5.2.2 Constraint models
143(3)
5.2.3 The cardinality property
146(1)
5.2.4 The structural dependency property
147(1)
5.2.5 The constraint metamodel and the binding metamodel
148(2)
5.2.6 Validating binding models against constraint models
150(2)
5.3 Deriving products based on constraint models and binding models
152(5)
5.3.1 The extended decision metamodel
155(1)
5.3.2 Creating executable model transformation workflows from decision models and constraint models
156(1)
5.4 Identified limitations
157(3)
5.4.1 Features combinatorial
157(1)
5.4.2 Features interaction
158(1)
5.4.3 Bindings interaction
159(1)
5.5 Summary
160(1)
Chapter 6 Tools Support
161(30)
6.1 Introduction
161(1)
6.2 The FieSta process
162(1)
6.3 The SPL of Smart-Home systems
163(7)
6.4 Variability expression and product configuration
170(14)
6.4.1 MD-SPL project creation
170(1)
6.4.2 Metamodels and feature models creation
170(3)
6.4.3 Constraint models creation
173(5)
6.4.4 Domain models and binding models creation
178(6)
6.5 Completing and running the product derivation
184(6)
6.5.1 Transformation rules creation
184(2)
6.5.2 Decision models creation
186(2)
6.5.3 Generation and execution of model transformation workflows
188(2)
6.6 Summary
190(1)
Chapter 7 A Second Comprehensive Application Example
191(22)
7.1 Domain of the collection manager system
191(1)
7.2 Requirements of the application example
192(4)
7.2.1 Kernel commonalities
193(1)
7.2.2 GUI commonalities
193(1)
7.2.3 Kernel and GUI variability
193(3)
7.3 The overall process
196(2)
7.3.1 Domain engineering
196(1)
7.3.2 Application engineering
197(1)
7.4 Variability expression and product configuration
198(9)
7.4.1 Metamodels
198(4)
7.4.2 The feature model
202(2)
7.4.3 The constraint model
204(1)
7.4.4 Binding models
205(2)
7.5 Core assets development and product derivation
207(4)
7.5.1 Rule transformations in the SPL of the collection manager systems
207(2)
7.5.2 Decision models
209(2)
7.6 Summary
211(2)
Chapter 8 Further Reading
213(30)
8.1 Northop and Clements' book
213(1)
8.2 Pohl, Bockle and Van der Linden's book
214(1)
8.3 Gomaa's book
214(1)
8.4 Van der Linden, Schmid, and Rommes' book
215(1)
8.5 Stahl, Voelter, and Czarnecki book
216(1)
8.6 AMPLE book
216(2)
8.7 Feature modeling notations
218(1)
8.8 Decision models
218(2)
8.9 Model-driven software product lines
220(16)
8.9.1 The Czarnecki and Antkiewicz's approach
222(2)
8.9.2 The Wagelaar's approach
224(5)
8.9.3 Loughran et al.'s approach
229(3)
8.9.4 Voelter and Groher's approach
232(3)
8.9.5 Comparison table
235(1)
8.10 Dynamic variability
236(2)
8.11 Domain specific languages
238(2)
8.12 Additional references
240(2)
8.13 Summary
242(1)
Chapter 9 Conclusion
243(14)
9.1 Book summary
244(3)
9.2 MD-SPL engineering
247(10)
9.2.1 Metamodeling and feature modeling
248(1)
9.2.2 Multi-staged configuration of products
249(1)
9.2.3 Coarse and fine-grained variations and configurations
249(1)
9.2.4 Core assets development and decision models
250(1)
9.2.5 Product derivation
251(1)
9.2.6 Comparison table
251(2)
9.2.7 Perspectives
253(4)
Bibliography 257(14)
Index 271
Jean-Claude Royer is Full Professor at EMN, Nantes, France.

Hugo Arboleda is Associate Professor at University of Icesi, Columbia.