Declarative Performance Engineering (DECLARE)
Performance is of particular relevance to software system design, operation, and evolution because it has a major impact on key business indicators. Consequently, during the life-cycle of a software system, performance analysts continuously need to provide answers to and act on performance-relevant questions about response times, hardware utilization, bottlenecks, trends, anomalies, etc. Various established methods, techniques, and tools for modeling and evaluating performance properties have been proposed, ranging from model-based prediction and optimization in early design phases, over measurement-based approaches in phases where implementations exist, up to solutions that continuously evaluate and control a system's performance during operation. However, particular challenges which hinder these techniques from being widely applied in practice include that it is hard to choose and to parameterize the various available approaches, as well as to filter and interpret the obtained results.
DECLARE will address these challenges introducing a Declarative Performance Engineering approach. We envision to reduce the current abstraction gap between the level on which performance-relevant concerns are formulated and the level on which performance evaluations are actually executed. Performance queries and goals are formulated in a declarative modeling language. Performance evaluation methods, techniques, and tools are integrated into the DECLARE platform based on capability models and adapters, and are selected based on corresponding decision algorithms. We will experimentally and empirically evaluate the results using benchmark systems and based on a large-scale industrial application system. We build on our expertise in the area of combining model-based and measurement-based performance evaluation techniques, including preliminary results on Declarative Performance Engineering. DECLARE will be integrated into the second phase of the Priority Programme "Design for Future - Managed Software Evolution" (SPP 1593), including collaborations with other projects inside the SPP and by contributing to the SPP case studies, focusing on CoCoME.