Variability of Development Models

Introduction of process models (development models) is a common approach for organizations to aim for a better process quality and higher success rates in project conduction. In the context of this thesis, the notion of ‘process models’ will be extended to a notion of ‘development models’. This is due to the fact that in the common sense of process models, they are usually not only related to processes, but to other artifacts, as well. Prior to introduction of development models into an organization, a comprehensive customization is usually inevitable. Along with an intended customization, the following questions are relevant: What concepts can be used to. . . . . . support the customization in general? . . . minimize the customization effort? . . . assure conformity of the customized variant to the intentions of the original model? . . . keep the customized variant in line with a developing original model? There are different approaches implemented in actual development models like the V-Model XT and RUP to address these issues. Although they are effective in the details, they lack a holistic approach. This thesis offers an analysis of variability mechanisms in development models, software product lines, and other software/model related domains. The findings are integrated into a framework for variable development models. In addition to offering variability, this framework allows the definition of domain-specific and model-specific constraints that are used to discard models that do not structurally conform to the intentions of the original model’s creator. When adequately realizing this framework, a variable development model is understood as a development model line (DML). A DML is offered to an organization’s process engineer as a means to create variants of the original model. While doing this, he uses explicit variability mechanisms, namely configurability, extensibility, and modifiability. The target audience of this thesis is the engineer of development models. This includes both the engineer of an original (standard) model and the customizing engineer of an adapting organization.

[1]  Matthew Pittman,et al.  Lessons learned in managing object-oriented development , 1993, IEEE Software.

[2]  Colin Atkinson,et al.  Profiles in a strict metamodeling framework , 2002, Sci. Comput. Program..

[3]  Luis Mandel,et al.  On the Expressive Power of OCL , 1999, World Congress on Formal Methods.

[4]  Joyce Fortune,et al.  Framing of project critical success factors by a systems model , 2006 .

[5]  H. Dieter Rombach Integrated Software Process and Product Lines , 2005, ISPW.

[6]  Michael Gnatz,et al.  Vom Vorgehensmodell zum Projektplan , 2005 .

[7]  Tomi Männistö,et al.  Nivel: a metamodelling language with a formal semantics , 2009, Software & Systems Modeling.

[8]  Daniel Schreiber,et al.  Can programming be liberated from the two-level style: multi-level programming with deepjava , 2007, OOPSLA.

[9]  Timo Soininen,et al.  Extending and implementing the stable model semantics , 2000, Artif. Intell..

[10]  Markus Herrmannsdoerfer,et al.  Towards a generic operation recorder for model evolution , 2010, IWMCP '10.

[11]  Thomas Ternité Process Lines: A Product Line Approach Designed for Process Model Development , 2009, 2009 35th Euromicro Conference on Software Engineering and Advanced Applications.

[12]  Cristina Gacek,et al.  Implementing product line variabilities , 2001, SSR '01.

[13]  Robert L. Nord,et al.  Software Product Lines , 2004, Lecture Notes in Computer Science.

[14]  Steve R. Palmer,et al.  A Practical Guide to Feature-Driven Development , 2002 .

[15]  Itana Maria de Souza Gimenes,et al.  A variability management process for software product lines , 2005, CASCON.

[16]  Peter Wegner,et al.  Concepts and paradigms of object-oriented programming , 1990, OOPS.

[17]  Danilo Beuche,et al.  Variability management with feature models , 2004, Sci. Comput. Program..

[18]  Jonas Helming,et al.  EMFStore: a model repository for EMF models , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

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

[20]  Giovanni Toffetti Carughi,et al.  A Graph-Based Approach to Transform XML Documents , 2006, FASE.

[21]  Borislava I. Simidchieva,et al.  Representing Process Variation with a Process Family , 2007, ICSP.

[22]  Eugene T. Gendlin,et al.  Process Model , 2017, Encyclopedia of GIS.

[23]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[24]  Chris Verhoef,et al.  The rise and fall of the Chaos report figures , 2010, IEEE Software.

[25]  Andreas Rausch,et al.  Using XML/XMI for tool supported evolution of UML models , 2001, Proceedings of the 34th Annual Hawaii International Conference on System Sciences.

[26]  Kevin Forsberg,et al.  4.4.3 A Visual Explanation of Development Methods and Strategies including the Waterfall, Spiral, Vee, Vee+, and Vee++ Models , 2001 .

[27]  Jeannette M. Wing,et al.  A behavioral notion of subtyping , 1994, TOPL.

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

[29]  Pamela Zave,et al.  Feature interactions and formal specifications in telecommunications , 1993, Computer.

[30]  Klaus Pohl,et al.  Software Product Line Variability Management , 2006, 10th International Software Product Line Conference (SPLC'06).

[31]  Martin Fowler,et al.  Planning Extreme Programming , 2000 .

[32]  Stanley B. Zdonik,et al.  Inheritance as an Incremental Modification Mechanism or What Like Is and Isn't Like , 1988, ECOOP.

[33]  Ilkka Niemelä,et al.  Stable Model Semantics of Weight Constraint Rules , 1999, LPNMR.

[34]  Johannes Sametinger,et al.  Software Engineering with Reusable Components , 1997, Springer Berlin Heidelberg.

[35]  Reidar Conradi,et al.  Version models for software configuration management , 1998, CSUR.

[36]  Daniel D. McCracken,et al.  Life cycle concept considered harmful , 1982, ACM SIGSOFT Softw. Eng. Notes.

[37]  Krzysztof Czarnecki,et al.  Feature models are views on ontologies , 2006, 10th International Software Product Line Conference (SPLC'06).

[38]  P. Krutchen,et al.  The Rational Unified Process: An Introduction , 2000 .

[39]  Paul Allen,et al.  Component-Based Development for Enterprise Systems: Applying the SELECT Perspective , 1997 .

[40]  Ilkka Niemelä,et al.  Logic programs with stable model semantics as a constraint programming paradigm , 1999, Annals of Mathematics and Artificial Intelligence.

[41]  Andreas Rausch,et al.  Migration of Persistent Object Models Using XMI , 2005 .

[42]  Jan Bosch Object-Oriented Frameworks : Problems & Experiences , 1997 .

[43]  Arun Kishan,et al.  Dynamic Kernel Modification and Extensibility , 1973 .

[44]  Agile Manifesto,et al.  Manifesto for Agile Software Development , 2001 .

[45]  W. W. Royce,et al.  Managing the development of large software systems: concepts and techniques , 1987, ICSE '87.

[46]  Victor W. Marek,et al.  Stable models and an alternative logic programming paradigm , 1998, The Logic Programming Paradigm.

[47]  Andraž Cej,et al.  Agile software development with Scrum , 2010 .

[48]  Liming Zhu,et al.  Technical Software Development Process in the XML Domain , 2009, ICSP.

[49]  Marco Sinnema,et al.  Variability assessment in software product families , 2009, Inf. Softw. Technol..

[50]  H. D. Benington,et al.  Production of Large Computer Programs , 1983, Annals of the History of Computing.

[51]  Antero Taivalsaari,et al.  On the notion of inheritance , 1996, CSUR.

[52]  Christian Bartelt,et al.  Paradigmen zur Variabilitätsbeschreibung von Vorgehensmodellen , 2009, GI Jahrestagung.

[53]  Ramtin Khosravi,et al.  Modeling Variability in Business Process Models Using UML , 2008, Fifth International Conference on Information Technology: New Generations (itng 2008).

[54]  Timo Asikainen,et al.  A Conceptual Modelling Approach to Software Variability , 2008 .

[55]  James Noble Basic Relationship Patterns , 1997 .

[56]  Kathrin Berg,et al.  Tracing software product line variability: from problem to solution space , 2005 .

[57]  Kevin Forsberg,et al.  The Relationship of Systems Engineering to the Project Cycle , 1992 .

[58]  Arnd Schnieders Variability mechanism centric process family architectures , 2006, 13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06).

[59]  Tomi Männistö,et al.  A unified conceptual foundation for feature modelling , 2006, 10th International Software Product Line Conference (SPLC'06).

[60]  Jan Friedrich,et al.  Das V-Modell XT , 2009 .

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

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

[63]  Jürgen Münch,et al.  Scoping Software Process Models - Initial Concepts and Experience from Defining Space Standards , 2008, ICSP.

[64]  Jürgen Münch,et al.  Scoping software process lines , 2009, Softw. Process. Improv. Pract..

[65]  Alistair Cockburn,et al.  The Impact of Object-Orientation on Application Development , 1999, IBM Syst. J..

[66]  Robert L. Glass,et al.  The Standish report: does it really describe a software crisis? , 2006, CACM.

[67]  Hironori Washizaki Building Software Process Line Architectures from Bottom Up , 2006, PROFES.

[68]  Jan Bosch,et al.  On the notion of variability in software product lines , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[69]  Rod Johnson,et al.  Expert One-on-One J2EE Design and Development , 2002 .

[70]  James Odell,et al.  Power Types , 1994, J. Object Oriented Program..

[71]  Marco Kuhrmann Konstruktion modularer Vorgehensmodelle , 2008 .

[72]  A. Dorling SPICE: Software process improvement and capability dEtermination , 1993, Inf. Softw. Technol..

[73]  Jürgen Münch,et al.  Experiences and results from tailoring and deploying a large process standard in a company , 2008, Softw. Process. Improv. Pract..

[74]  Jürgen Münch,et al.  Rationale modeling for software process evolution , 2009, Softw. Process. Improv. Pract..

[75]  Victor W. Marek,et al.  The Logic Programming Paradigm: A 25-Year Perspective , 2011 .

[76]  Colin Atkinson,et al.  The Essence of Multilevel Metamodeling , 2001, UML.

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

[78]  Frank Puhlmann,et al.  Variability Mechanisms in E-Business Process Families , 2006, BIS.

[79]  Thomas E. Cheatham,et al.  Software Technology in the 1990's: Using a New Paradigm , 1983, Computer.

[80]  J. Paul Gibson Feature Requirements Models: Understanding Interactions , 1997, FIW.

[81]  Jürgen Münch,et al.  Incrementally Introducing Process Model Rationale Support in an Organization , 2009, ICSP.

[82]  Kyo Chul Kang,et al.  Feature Dependency Analysis for Product Line Component Design , 2004, ICSR.

[83]  Colin Atkinson,et al.  Meta-modelling for distributed object environments , 1997, Proceedings First International Enterprise Distributed Object Computing Workshop.

[84]  Jürgen Münch,et al.  Software process commonality analysis , 2005, Softw. Process. Improv. Pract..

[85]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[86]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[87]  Martín Soto,et al.  Connecting the Rationale for Changes to the Evolution of a Process , 2007, PROFES.

[88]  Vincent F. Russo,et al.  Reusing Object-Oriented Designs , 2007 .

[89]  Patrick Keil,et al.  Kategorisierung etablierter Vorgehensmodelle und ihre Verbreitung in der deutschen Software-Industrie , 2007 .

[90]  Ilkka Niemelä,et al.  Smodels: A System for Answer Set Programming , 2000, ArXiv.

[91]  Peter Knauber Managing the Evolution of Software Product Lines , 2004 .