چه کسانی این کتاب را می‌خوانند

دانشجوعلاقه‌مند یادگیری
کتابخوان حرفه‌ایلذت مطالعه
نویسندهالهام‌گیری

Aspect-Oriented, Model-Driven Software Product Lines : The AMPLE Way

edited by Awais Rashid, Jean-Claude Royer, Andreas Rummler

قیمت نهایی

۴۹٬۰۰۰ تومان

نسخه اصلی و اورجینال

بلافاصله پس از خرید، فایل کتاب روی دستگاه شما آمادهٔ دانلود است.

تحویل فوری
پرداخت امن
ضمانت فایل
پشتیبانی

مشخصات کتاب

سال انتشار
۲۰۱۱
فرمت
PDF
زبان
انگلیسی
حجم فایل
۴٫۶ مگابایت
شابک
9780521767224، 9781107217683، 9781139003629، 9781139112840، 9781139117203، 9781139122948، 9781139124560، 9781139127868، 9781283296045، 9786613296047، 0521767229، 1107217687، 1139003623، 1139112848، 1139117203، 1139122940، 1139124560، 1139127861، 1283296047، 661329604X

دربارهٔ کتاب

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 "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"-- Provided by publisher.

قیمت نهایی

۴۹٬۰۰۰ تومان