Scalable Design and Performance Analysis for Long-living Software Families (DAPS)
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. In addition to satisfying functional requirements, such changes are to preserve existing service-level agreements. The focus of this 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 and feature composition 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, for instance by pruning certain subspaces with provably inferior estimated performance. The approach will be practically applied to the dynamic throughput optimization of a software-controlled automated assembly line, chosen as a representative case study of variant-rich long-lived software systems where changes are ideally applied online to avoid costly interruptions.