Model-Driven and Software Product Line Engineering

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.

[1]  Albert Einstein,et al.  Model Driven Product Line Engineering : Core Asset and Process Implications , 2010 .

[2]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

[3]  Iris Groher,et al.  Product Line Implementation using Aspect-Oriented and Model-Driven Software Development , 2007 .

[4]  Marina Egea,et al.  Formal executable semantics for conformance in the MDE framework , 2010, Innovations in Systems and Software Engineering.

[5]  Iris Groher,et al.  Handling Variability in Model Transformations and Generators , 2007 .

[6]  Jean-Marc Geib,et al.  The point of view notion for multiple inheritance , 1990, OOPSLA/ECOOP '90.

[7]  Michal Antkiewicz,et al.  Mapping features to models: a template approach based on superimposed variants , 2005, GPCE'05.

[8]  Jacques Klein,et al.  Reconciling Automation and Flexibility in Product Derivation , 2008, 2008 12th International Software Product Line Conference.

[9]  Kevin A. Clarke,et al.  What Is a Model , 2012 .

[10]  Colin Atkinson,et al.  Component-based product line development: the KobrA Approach , 2000, SPLC.

[11]  M Mernik,et al.  When and how to develop domain-specific languages , 2005, CSUR.

[12]  Tomi Männistö,et al.  Kumbang: A domain ontology for modelling variability in software product families , 2007, Adv. Eng. Informatics.

[13]  Krzysztof Czarnecki,et al.  Classification of Model Transformation Approaches , 2003 .

[14]  Paul Clements,et al.  On the Importance of Product Line Scope , 2001, PFE.

[15]  Wei Tang,et al.  Meta Object Facility , 2009, Encyclopedia of Database Systems.

[16]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[17]  Antonio Ruiz Cortés,et al.  Automated analysis of feature models: challenges ahead , 2006, CACM.

[18]  Norman E. Gibbs,et al.  The Software Engineering Institute (panel session) , 1986, CSC '86.

[19]  Iris Groher,et al.  An integrated aspect-oriented model-driven software product line tool suite , 2008, ICSE Companion '08.

[20]  John D. McGregor,et al.  Getting there from here: a roadmap for software product line adoption , 2006, CACM.

[21]  Klaus Pohl,et al.  Software product line testing , 2006, CACM.

[22]  1 Patterns for Handling Cross-Cutting Concerns in Model-Driven Software Development , 2005 .

[23]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[24]  Peter F. Sweeney,et al.  Three steps to views: extending the object-oriented paradigm , 1989, OOPSLA 1989.

[25]  C. A. R. HOARE,et al.  An axiomatic basis for computer programming , 1969, CACM.

[26]  M. Pantel The TOPCASED project a Toolkit in OPen source for Critical Applications & SystEms Design , 2007 .

[27]  Kelly Garcés,et al.  Variability Management in a Model-Driven Software Product Line , 2007 .

[28]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[29]  Frédéric Jouault,et al.  On the architectural alignment of ATL and QVT , 2006, SAC '06.

[30]  Krzysztof Czarnecki,et al.  Staged configuration through specialization and multilevel configuration of feature models , 2005, Softw. Process. Improv. Pract..

[31]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[32]  Mario Kolberg,et al.  Feature interaction: a critical review and considered forecast , 2003, Comput. Networks.

[33]  Ilka Philippow,et al.  EXTENDING FEATURE DIAGRAMS WITH UML MULTIPLICITIES , 2002 .

[34]  Barbara G. Ryder,et al.  Constructing the Call Graph of a Program , 1979, IEEE Transactions on Software Engineering.

[35]  Laurence Duchien,et al.  Context awareness for dynamic service-oriented product lines , 2009, SPLC.

[36]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[37]  Jean-Marc Jézéquel,et al.  Model driven design and aspect weaving , 2008, Software & Systems Modeling.

[38]  J C Boudreaux The Ample Project , 2017 .

[39]  Klaus Schmid,et al.  Software product lines in action - the best industrial practice in product line engineering , 2007 .

[40]  R. Schiffer,et al.  INTRODUCTION , 1988, Neurology.

[41]  Peng Xu,et al.  Improving the change-management process , 2008, CACM.

[42]  Robert B. France,et al.  Multi-view software evolution: a UML-based framework for evolving object-oriented software , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[43]  Pierre-Yves Schobbens,et al.  Model checking lots of systems: efficient verification of temporal properties in software product lines , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[44]  Janos Sztipanovits,et al.  A MOF-Based Metamodeling Environment , 2004, J. Univers. Comput. Sci..

[45]  Lidia Fuentes,et al.  Engineering Languages for Specifying Product-Derivation Processes in Software Product Lines , 2009, SLE.

[46]  David Lorge Parnas,et al.  On the Design and Development of Program Families , 2001, IEEE Transactions on Software Engineering.

[47]  Michal Antkiewicz,et al.  FeaturePlugin: feature modeling plug-in for Eclipse , 2004, eclipse '04.

[48]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[49]  Dennis Wagelaar,et al.  Composition Techniques for Rule-Based Model Transformation Languages , 2008, ICMT@TOOLS.

[50]  William B. Frakes,et al.  Software reuse research: status and future , 2005, IEEE Transactions on Software Engineering.

[51]  Marco Sinnema,et al.  Classifying variability modeling techniques , 2007, Inf. Softw. Technol..

[52]  Sébastien Gérard,et al.  Consolidated Product Line Variability Modeling , 2006, Software Product Lines.

[53]  Jean-Claude Royer,et al.  Dynamic Configuration of Software Product Lines in ArchJava , 2004, SPLC.

[54]  Markus Völter,et al.  Model-Driven Software Development: Technology, Engineering, Management , 2006 .

[55]  Charles W. Krueger,et al.  New methods in software product line practice , 2006, CACM.

[56]  John W. Lloyd,et al.  Practical Advtanages of Declarative Programming , 1994, GULP-PRODE.

[57]  Krzysztof Czarnecki,et al.  Feature-based survey of model transformation approaches , 2006, IBM Syst. J..

[58]  Jean-Claude Royer,et al.  Dealing with fine-grained configurations in model-driven SPLs , 2009, SPLC.

[59]  Jan Bosch,et al.  A taxonomy of variability realization techniques , 2005, Softw. Pract. Exp..

[60]  Michael Eichberg,et al.  Supporting the Evolution of Software Product Lines , 2008 .

[61]  Linda M. Northrop SEI's Software Product Line Tenets , 2002, IEEE Softw..

[62]  Bruce Trask,et al.  Using model-driven engineering to complement software product line engineering in developing software defined radio components and applications , 2006 .

[63]  Jeff Magee,et al.  The Koala Component Model for Consumer Electronics Software , 2000, Computer.

[64]  Lidia Fuentes,et al.  Language Support for Managing Variability in Architectural Models , 2008, SC@ETAPS.

[65]  Nicolas Anquetil,et al.  A model-driven traceability framework for software product lines , 2010, Software & Systems Modeling.

[66]  Joachim Bayer,et al.  Creating Product Line Architectures , 2000, IW-SAPF.

[67]  Frédéric Jouault,et al.  Transforming Models with ATL , 2005, MoDELS.

[68]  Jeff Magee,et al.  Dynamic structure in software architectures , 1996, SIGSOFT '96.

[69]  Klaus Schmid,et al.  PuLSE: a methodology to develop software product lines , 1999, SSR '99.

[70]  Krzysztof Czarnecki,et al.  Staged Configuration Using Feature Models , 2004, SPLC.

[71]  R. Lathe Phd by thesis , 1988, Nature.

[72]  Heiko Böck The OSGi Framework , 2012 .

[73]  Lianping Chen,et al.  Variability management in software product lines: a systematic review , 2009, SPLC.

[74]  Sooyong Park,et al.  Dynamic Software Product Lines , 2008, Computer.

[75]  C. Michael Sperberg-McQueen,et al.  World Wide Web Consortium , 2009, Encyclopedia of Database Systems.

[76]  Krzysztof Czarnecki,et al.  Verifying feature-based model templates against well-formedness OCL constraints , 2006, GPCE '06.

[77]  Jean-Marc Jézéquel,et al.  Software Product Line Engineering with the UML: Deriving Products , 2006, Software Product Lines.

[78]  Klaus Pohl,et al.  Variability management in software product line engineering , 2006, ICSE.

[79]  J. LaFountain Inc. , 2013, American Art.

[80]  Jan Bosch,et al.  Variability Issues in Software Product Lines , 2001, PFE.

[81]  Krzysztof Czarnecki,et al.  Generative Programming for Embedded Software: An Industrial Experience Report , 2002, GPCE.

[82]  J. M. Neighbors,et al.  Draco: a method for engineering reusable software systems , 1989 .

[83]  Jaejoon Lee,et al.  FORM: A feature-;oriented reuse method with domain-;specific reference architectures , 1998, Ann. Softw. Eng..

[84]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .

[85]  Sergio Segura,et al.  A Survey on the Automated Analyses of Feature Models , 2006, JISBD.

[86]  Michael Lawley,et al.  Implementing a practical declarative logic-based model transformation engine , 2007, SAC '07.

[87]  Dennis Wagelaar Context-Driven Model Refinement , 2004, MDAFA.

[88]  Rob C. van Ommering Building product populations with software components , 2002, ICSE '02.

[89]  Jean-Claude Royer,et al.  Automated Reasoning for Derivation of Model-Driven SPLs , 2010, SPLC Workshops.

[90]  Jean-Claude Royer,et al.  Implementing an MDA Approach for Managing Variability in Product Line Construction Using the GMF and GME Frameworks , 2007 .

[91]  Jean Bézivin,et al.  On the unification power of models , 2005, Software & Systems Modeling.

[92]  Richard N. Taylor,et al.  A comprehensive approach for the development of modular software architecture description languages , 2005, TSEM.