دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: نویسندگان: Awais Rashid, Jean-Claude Royer, Andreas Rummler سری: ISBN (شابک) : 0521767229, 9780521767224 ناشر: Cambridge University Press سال نشر: 2011 تعداد صفحات: 471 زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 4 مگابایت
در صورت ایرانی بودن نویسنده امکان دانلود وجود ندارد و مبلغ عودت داده خواهد شد
در صورت تبدیل فایل کتاب Aspect-Oriented, Model-Driven Software Product Lines: The AMPLE Way به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب خطوط تولید نرم افزار با محوریت مدل ، مدل محور: راه AMPLE نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
خطوط تولید نرم افزار ابزاری سیستماتیک برای مدیریت تنوع در مجموعه ای از محصولات فراهم می کند. آنها فواید زیادی دارند اما سه مانع اصلی وجود دارد که می تواند مانع از دستیابی آنها به پتانسیل کامل خود شود. اول، چالش مقیاس وجود دارد: تعداد زیادی از انواع ممکن است در زمینه خط تولید وجود داشته باشد و تعداد روابط متقابل و وابستگی ها می تواند به طور تصاعدی افزایش یابد. ثانیاً، تغییرات طبیعتاً سیستمی هستند زیرا بر کل معماری خط تولید نرم افزار تأثیر می گذارند. ثالثاً، خطوط تولید نرمافزار اغلب زمینههای مختلف کسبوکار را ارائه میکنند که هر کدام پیچیدگیها و پیچیدگیهای خاص خود را دارند. رویکرد AMPLE (http://www.ample-project.net/) با ترکیب پیشرفتها در توسعه نرمافزار جنبهمحور و مهندسی مدلمحور، با این سه چالش مقابله میکند. مجموعه کاملی از روشها و ابزارهایی که این رویکرد را تشکیل میدهند در این جلد ویرایش شده به تفصیل مورد بحث قرار گرفته و با استفاده از سه مطالعه موردی صنعتی در دنیای واقعی نشان داده شدهاند.
Software product lines provide a systematic means of managing variability in a suite of products. They have many benefits but there are three major barriers that can prevent them from reaching their full potential. First, there is the challenge of scale: a large number of variants may exist in a product line context and the number of interrelationships and dependencies can rise exponentially. Second, variations tend to be systemic by nature in that they affect the whole architecture of the software product line. Third, software product lines often serve different business contexts, each with its own intricacies and complexities. The AMPLE (http://www.ample-project.net/) approach tackles these three challenges by combining advances in aspect-oriented software development and model-driven engineering. The full suite of methods and tools that constitute this approach are discussed in detail in this edited volume and illustrated using three real-world industrial case studies.
Contents......Page 6
Part I Software product line engineering challenges......Page 8
1 Introduction......Page 10
1.1 Software product line engineering......Page 12
1.1.2 Benefits of product line engineering......Page 13
1.1.3 Domain and application engineering......Page 15
1.1.4 Product line engineering for software......Page 16
1.2 Model-driven engineering......Page 18
1.2.1 Model-driven engineering basics......Page 19
1.2.3 Benefits and challenges for SPLE......Page 21
1.3 Aspect-oriented software development......Page 23
1.3.1 Synergies with MDE......Page 25
1.3.3 The industrial perspective......Page 26
1.3.4 Variability analysis and modelling......Page 28
1.3.5 Variability implementation and traceability......Page 29
1.4 Product-driven vs. solution-driven software product line engineering......Page 30
1.4.1 Future trends......Page 32
2 Case studies for software product line engineering......Page 34
2.1 The Sales Scenario......Page 35
2.2.4 Product management......Page 37
2.3 Change scenarios......Page 38
2.3.4 Additional customer groups......Page 39
2.4 Architecture......Page 40
2.5 Research challenges......Page 41
2.5.4 Binding time......Page 42
2.6 The Smart Home scenario......Page 43
2.6.1 Domain and scope......Page 44
2.7.2 Support for problem domain expert instantiation......Page 47
2.7.4 Traceability......Page 49
2.8 Research areas and solution proposals......Page 50
2.9 The Space Weather Decision Support System scenario......Page 51
2.9.1 Stakeholders......Page 53
2.9.2 Requirements......Page 54
2.9.3 Architecture......Page 55
2.9.4 Potential software product line artefacts......Page 57
2.10 Summary......Page 59
Part II Variability analysis and modelling......Page 60
3.1.1 Domain and application engineering......Page 62
3.1.2 Proactive, extractive and reactive SPLE......Page 63
3.2.1 Mining textual documents......Page 64
Heterogeneity......Page 65
Volume and legacy documentation......Page 66
3.2.2 Identifying commonality......Page 67
3.2.3 Recognising product variability......Page 70
3.2.4 Constructing the feature model......Page 71
3.2.5 Summary: the need for automation......Page 73
Chunking......Page 74
Requirements similarity analysis......Page 76
Clustering......Page 77
Variability identification......Page 78
3.3.2 The ArborCraftEA-Miner framework......Page 79
Requirements similarity analysis......Page 80
Inter-document variability......Page 81
3.4 Application to case studies......Page 82
3.4.1 Usage scenario......Page 83
3.4.2 Impact of the ArborCraft approach......Page 84
3.5 Summary and outlook......Page 87
4.1 Introduction......Page 89
4.2 Background and related work......Page 91
Variability model......Page 95
Variability unit......Page 96
Variant ordering......Page 97
Designator......Page 98
Product derivation......Page 99
Trace link generation......Page 100
Language instance architecture......Page 101
Action implementation......Page 102
Generating language instances......Page 103
LanguageInstanceModel......Page 104
Action descriptor......Page 105
TransformationAspect......Page 106
ActionTransformation......Page 107
VML4RE......Page 110
4.5 The family of languages in action......Page 112
Requirements core models......Page 115
VML4RE specification......Page 118
Generated composed models for the product......Page 121
4.5.2 Applying VML4Architecture......Page 124
4.6 Summary and outlook......Page 130
5.1 Introduction......Page 132
5.1.1 The problem......Page 133
5.1.2 What can we aim for?......Page 134
5.1.3 Traditional architectural assessment methods......Page 136
5.1.4 The usage of multi-criteria decision making in software engineering......Page 138
5.2 Background of the hybrid assessment method algorithm......Page 139
5.3.1 Our solution......Page 141
5.3.2 HAM main steps......Page 145
5.3.3 The scale......Page 146
5.3.4 Mathematical formulation......Page 147
5.3.5 Advantages of HAM......Page 148
5.4 Tool support......Page 149
5.5.1 Use scenario 1: stakeholders and requirements......Page 152
What-if analysis use scenario 1......Page 154
5.5.2 Use scenario 2: requirements and architectural styles......Page 155
5.5.3 Use scenario 3: requirements and products......Page 156
5.5.5 Scenarios: discussion and summary......Page 159
5.6 HAM evaluation......Page 162
5.7 Summary and outlook......Page 163
Part III Variability implementation and traceability......Page 166
6.1 Introduction......Page 168
6.2.1 Modularisation of static structures......Page 170
Variation of state-dependent behaviour......Page 173
6.3.1 Virtual classes......Page 174
6.3.2 Propagating mixin composition......Page 178
6.3.3 Abstract family classes......Page 179
6.3.4 Provided and required Interfaces......Page 181
6.3.5 Concrete combinations of features......Page 183
6.3.6 Advantages of virtual classes......Page 184
Unification of explicit and implicit events......Page 185
Decoupling event use from event definition......Page 188
Object relationships in events......Page 190
Extension and mixin composition of events......Page 191
Advantages of events......Page 193
6.4.2 Extensible state machines......Page 194
State machine constructs......Page 195
Extension and composition of state machines......Page 197
6.5 Application to case studies......Page 199
6.5.2 Sales Scenario......Page 200
6.6 Discussion......Page 201
6.7 Summary and outlook......Page 202
7.1 Introduction......Page 204
7.2 Designing a model-driven product line architecture: an overview......Page 205
7.3 Models as input for product derivation......Page 208
7.4 An AO-enhanced MDE tool-chain......Page 210
Name matching......Page 212
Pointcut expressions......Page 213
7.4.2 Implementing variability in model transformations......Page 215
7.4.3 Implementing variability in code generators......Page 217
7.5.1 Software architecture and product line architecture......Page 218
7.5.2 Viewpoints of model-driven software product lines......Page 219
7.5.4 Target architecture viewpoint......Page 220
7.5.7 Asset viewpoint......Page 221
7.6 Viewpoint-based support for the MDE-PL architect......Page 222
7.6.1 Scenario 1: AOP-based extension......Page 223
Extending the solution space meta-model......Page 224
Extending the reference architecture......Page 225
Implementing a video encryption interceptor......Page 226
7.7 Revisiting the AMPLE Challenges......Page 227
7.8 Summary and outlook......Page 228
8.1 Introduction to traceability in SPL......Page 229
8.2 Traceability challenges......Page 230
8.2.1 Larger number and heterogeneity of artefacts......Page 231
8.2.2 Explicit variability......Page 232
8.2.3 Relationships between product members and within the SPL architecture......Page 233
8.2.5 Tracing evolution......Page 234
8.2.6 MDE and AOSD......Page 236
8.3.1 Traceability dimensions for SPL......Page 237
Variability dimension......Page 239
Version dimension......Page 240
8.3.2 Requirements for a traceability management tool......Page 241
8.4 The ATF framework......Page 243
8.4.1 ATF core......Page 244
TraceableArtefactType......Page 245
TraceContext......Page 246
8.4.2 ATF front-end......Page 248
8.4.3 Connecting ATF and Subversion......Page 250
Initial connection......Page 251
Populate mechanism......Page 252
Fine-grained mechanism......Page 253
Tracing multi-criteria decisions......Page 254
Tracing model transformations......Page 255
Tracing the MAPLE chain......Page 256
8.4.5 Summary of ATF features......Page 257
8.5.1 ATF instantiation......Page 258
8.5.2 Basic trace exploration......Page 259
8.5.3 Test coverage scenario......Page 261
8.5.4 Comparison of product configurations......Page 263
8.5.5 Track an aspect weaving......Page 265
8.5.6 Discussion......Page 267
8.6 Summary and outlook......Page 268
9.1 Introduction......Page 270
9.2 Traceability challenges......Page 271
9.2.2 Design rationale management......Page 272
9.2.3 Other approaches......Page 273
9.3.1 Framework overview......Page 274
9.3.2 Artefact model......Page 276
9.3.3 Graphs and production rules......Page 277
9.3.4 Traces, rationale and heuristics......Page 280
9.4.1 The TAF tool architecture......Page 281
GROOVE built-in predicates......Page 283
9.4.2 Programming TAF for architecture rationale......Page 284
9.5 Extending the design rationale for traceability......Page 288
9.6 Summary and outlook......Page 289
Part IV Product-driven vs. solution-driven software product line engineering......Page 292
10.2 Product-driven software product line engineering......Page 294
10.3 Requirements for a product-driven software product line engineering approach......Page 296
10.4 Related work......Page 297
10.5 The TENTE approach......Page 299
Step 1: Architectural design......Page 300
Step 2: Transformation of architectural models into implementation......Page 307
Step 4: Derivation of a specific architectural model......Page 313
Step 5: Derivation of a specific implementation......Page 316
10.6 Discussion......Page 319
10.7 Summary and outlook......Page 322
11.2 Solution-driven software product line engineering......Page 323
11.3 Challenges for a solution-driven product line engineering approach......Page 325
11.4 The MAPLE approach......Page 326
11.4.1 Support for solution-driven SPL......Page 330
11.5 Case study: Smart Home......Page 331
11.5.1 Problem space modelling......Page 332
11.5.2 Solution space modelling......Page 334
11.5.3 Solution space implementation......Page 336
11.5.4 Mapping from problem space to solution space......Page 337
11.5.6 Configurative variability......Page 338
11.5.7 Automatic windows......Page 339
11.5.9 Outdoor temperature......Page 342
11.5.10 Reflective data structures......Page 344
11.5.11 Unanticipated variability......Page 346
11.6.1 Problem space......Page 347
11.6.2 Solution space......Page 348
11.6.4 Application engineering......Page 349
11.7 Summary and outlook......Page 350
Part V Future trends......Page 352
12.1 Introduction......Page 354
12.2.1 The challenge of handling combinatorial explosion......Page 356
12.3 Methodology for dynamic variability for adaptive systems......Page 357
12.3.1 DiVA backbone for dynamics variability support......Page 362
12.4.1 DiVA requirements engineering: conceptual approach......Page 363
Extracting the feature model with Arborcraft......Page 365
Enriching featuregoal models via EA-Miner......Page 366
Relating the requirements models to DiVA meta-model......Page 368
12.5.1 DiVA architecture derivation: conceptual approach......Page 369
12.5.2 DiVA architecture derivation: tool support and application to the D-CRM......Page 370
12.6.1 DiVA at runtime: conceptual approach......Page 374
Aspect models to encapsulate and compose dynamic features......Page 375
Keeping a model at runtime to dynamically reconfigure the system......Page 376
Aspect model weavers to produce configurations......Page 377
Validation of configurations......Page 379
Model comparison to detect changes......Page 380
Generation of reconfiguration scripts......Page 381
12.7 The way forward......Page 382
13.1 Introduction......Page 385
13.2 The problem of imperfect information during software product line engineering......Page 386
13.2.1 The need for perfect information during software product line engineering......Page 387
The introduction of risk into decision making activities......Page 389
The cascading of imperfect information through development phases......Page 391
13.2.3 Imperfect information spreading in multiple activities......Page 392
13.2.4 The current state of the art......Page 394
13.2.5 What is the benefit of supporting imperfect information?......Page 395
13.3 Sources and attributes of imperfect information in software product line engineering......Page 397
Classification of insufficient information according to type......Page 398
Classification of insufficient information according to nature......Page 399
13.3.2 Causes and sources of imperfect information......Page 400
13.3.3 Models for imperfect information......Page 401
Fuzzy set theory......Page 402
13.4 A generalised approach for handling imperfect information......Page 403
13.4.1 Formalisation of decision processes......Page 404
13.4.2 Extension with models for capturing imperfect information......Page 406
13.5.1 Standardisation of types of imperfect information......Page 411
13.5.2 Achieving life-cycle wide support for imperfect information......Page 412
13.5.3 (Semi-)automated detection of imperfect information......Page 413
13.5.4 Models and mechanisms for tracing imperfect information......Page 414
13.5.5 Empirical evaluation of support for imperfect information......Page 415
13.5.6 Tooling for imperfect information......Page 416
14.1 Introduction......Page 418
14.2 Empirical assessment in software engineering......Page 419
14.2.2 Current techniques......Page 420
14.2.3 Relevance of the measures......Page 421
14.3 Why is SPLE different?......Page 422
Challenges posed......Page 423
14.3.2 Lack of examples......Page 424
Challenges posed......Page 425
14.3.3 Issues of variability......Page 426
Challenges posed......Page 428
14.3.4 Product line derivation......Page 429
Challenges posed......Page 430
Demonstrations and prototyping exercises......Page 431
Controlled experiments......Page 432
Ethnographic studies......Page 433
Maintainability......Page 434
Stability......Page 435
Modularity......Page 436
Design stability......Page 437
14.5.1 Evaluating ArborCraft......Page 438
14.5.2 ECaesarJ......Page 440
Properties of requirements documents......Page 444
Extra steps needed......Page 445
New measures......Page 446
Assessing fuzziness......Page 448
Tool support......Page 449
14.6.2 The strategic importance of empirical research......Page 450
Epilogue......Page 451
References......Page 454
Index......Page 470