Detailseite
Scalable design and performance analysis for long-living software families (DAPS2)
Antragstellerin
Professorin Dr.-Ing. Ina Schaefer
Fachliche Zuordnung
Softwaretechnik und Programmiersprachen
Förderung
Förderung von 2012 bis 2021
Projektkennung
Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 221770164
Long-living software systems are typically available in a rich set of variants to deal with differing customer requirements and application contexts. Furthermore, users are often given the possibility to change to a different configuration online to dynamically adapt to varying environmental conditions. The focus of the DAPS project is to define a methodology for expressing system variability and its impact on performance. Motivated by its widespread use in certain domains, we consider a model-driven approach based on behavioral models, using notions of delta modeling enriched with information needed to automatically derive a performance model. We are concerned with the usually very large number of variations in models of realistic systems, which impede naive approaches based on exhaustive exploration for predictive purposes, especially at runtime when requirements on execution times are stringent. We offer a symbiotic approach which harnesses a structure of variability inferred by deltas to efficiently analyzing the whole configuration space. The approach is practically applied to the Pick and Place Unit (PPU), chosen as the representative case study of variant-rich long-living software systems. DAPS2 builds upon this foundational work and adds a new dimension to the model-driven approach. The introduction of a problem space variability model fosters the reuse of software artifacts which is a necessary task taking large-scale systems into account. This model has to be interdisciplinary to cope with the different domains in automation engineering, while maintaining a low level of complexity across its views. We provide an appropriate method to connect problem and solution space models with respect to a high usability. Product line analysis strategies, e.g. validation of the configuration space, are integrated as well as measures for error prevention and repair functions during development. The performance aspects are extended to deal with evolving software systems. Evolution is not fully known during development requiring incremental performance analysis, since a family-based analysis must know the complete variability beforehand. In the course of an incremental solution, we relax assumptions of the family-based analysis by means of handling non-exponential service time distributions. DAPS considered general feasibility of the developed concepts for runtime adaptation. In accordance with the planned PPU extensions, DAPS2 pursues the goal of making both models runtime-aware. The design-level models control and change the behavior of the system, while the performance model predicts if a planned adaptation can be fulfilled in a given time boundary. Hence, changes can ideally be applied online to avoid costly interruptions and downtimes.
DFG-Verfahren
Schwerpunktprogramme
Teilprojekt zu
SPP 1593:
Design for Future - Managed Software Evolution