SOPHINA - Software Products and Processes with Integrated Variability Support
To meet market demands, companies need to offer a large number of individualized products and services to their customers. In the software industry, for example, this usually results in a multitude of related software product variants. In this context, variability management becomes crucial in order to foster the systematic reuse of the commonalities between similar software products. Moreover, variability regarding the software development process itself needs to be considered.
The SOPHINA project targets at a holistic approach that manages the variability of software products and software development processes in an integrated manner, considering all phases of the product and process lifecycle. In particular, SOPHINA will allow tracing variability across the various artifacts created during the software development process. Finally, a controlled evolution of software products, processes and related artifacts shall be enabled. As major application domain, SOPHINA considers the development process of the software for interdependent electric / electronic components in the automotive domain.
Software Product Variability
Figure 1 illustrates the idea of an integrated software variant management. It depicts an abstract lifecycle of the software development process, which comprises different stages, i.e., requirements engineering, system design, system implementation, and testing. Thereby, variability is realized through specific techniques across the different software development stages. Further, variability is explicitly documented; i.e., software variability becomes traceable. Finally, the centralized configuration of software variants based on their integrated management fosters the controlled evolution of software product variants.
As a first research objective, SOPHINA addresses the integrated support of software product variability along the development lifecycle. In detail, the following sub-goals are considered:
- Integration of various software variability techniques along the software development lifecycle.
- Explicit documentation of the existing interdependencies between the varying software artifacts of the different lifecycle stages.
- Traceability of software product variability over all lifecycle stages.
- Configuring software variants and related artifacts in all stages of the development lifecycle.
Software Process Variability
As a second research objective, SOPHINA addresses the integrated handling of variability in software development processes on one hand and the variability of software products on the other. In particular, we want to understand the influence of software product variability on the software development process and the variants it produces. In this context, the coexistence of software product variants and software development process variants must be examined and dependencies between software products and software development process artifacts be documented. Furthermore, the evolution of software product as well as software development process variants (i.e., explicit changes, new releases) must be investigated.
Figure 2 illustrates software variants as well as integrated variant management. Further, an example of an abstract software development process is shown on the bottom of Figure 2. Especially, maintaining the interdependencies between software product and software development process variants constitutes a fundamental challenge.
In order to tackle these challenges, the following sub-goals are considered:
- Integrated variability handling of software products and software development processes.
- Explicitly documenting the interdependencies that exist between the various software and process artifacts.
- Enabling the integrated tracing of software and process variability.
- Configuring software and process variants as well as their related artifacts over the entire product and process lifecycle
- Handling the evolution of product and process variability.
|Prof. Dr. Manfred Reichert|
Ulm University, Institute of Databases and Information Systems
Daimler AG, Corporate Research
The SOPHINA project has been running since 2012.
|Kaufmann, Tobias and Manz, Christian and Weyer, Thorsten (2014) Extending the SPES Modeling Framework for Supporting Role-specific Variant Management in the Engineering Process of Embedded Software. In: Software Engineering 2014 Workshops, Kiel, Germany, February 2014, CEUR Workshop Proceedings 1129, CEUR-WS.org, pp. 77-86.|
|Manz, Christian and Schulze, Michael and Reichert, Manfred (2014) An Approach to Detect the Origin and Distribution of Software Defects in an Evolving Cyber-Physical System. In: Workshop on Emerging Idears and Trends in Engineering of Cyber-Physical Systems (EITEC '14), Berlin, Germany, April 2014.|
|Manz, Christian and Reichert, Manfred (2013) Herausforderungen an ein durchgängiges Variantenmanagement in Software-Produktlinien und die daraus resultierende Entwicklungsprozessadaption. In: Software Engineering 2013 Workshops, Aachen, Germany, March 2013, Lecture Notes in Informatics (LNI) P-215, Koellen-Verlag, pp. 273-282.|
|Manz, Christian and Stupperich, Michael and Reichert, Manfred (2013) Towards Integrated Variant Management in Global Software Engineering: An Experience Report. In: 8th IEEE International Conference on Global Software Engineering (ICGSE'13), Bari, Italy, August 26-29, 2013, IEEE Computer Society Press, pp. 168-172.|
Master & Bachelor Theses
|Seiler, Sebastian (2013) Konzeption von durchgängigem Variantenmanagement für einen am V-Modell angelehnten Entwicklungsprozess anhand eines ausgewählten Use-Cases. Master thesis, Ulm University.|