DESIGN AND MODELING IN THE SOFTWARE PERFORMANCE ENGINEERING DEVELOPMENT PROCESS
Performance related problems are becoming more and more strategic in the software development, especially recently with the advent of Web Services and related business-oriented composition techniques (software as a service, Web 2.0, orchestration, choreography, etc.). In particular, an early integration of performance specifications in the SDP has been recognized during the last few years as an effective approach to improve the overall quality of a software. The goal of our work is the definition of a software development process that integrates performance evaluation and prediction. The software performance engineering development process (SPEDP) we specify is focused on performance, which plays a key role driving the software development process, thus implementing a performance/QoS-driven (software) development process. More specifically, in this paper our aim is to formally define the SPEDP design process, posing particular interest on the basis, on the first step of SPEDP, the software/system architecture design, modeling and/or representation. We define both the diagrams to use and show how to model the structure of the software architecture, its behavior and performance requirements. This is the first mandatory step for the automation of the SPEDP into a specific tool, which we have partially implemented as a performance plug-in for ArgoUML, ArgoPerformance.
software performance engineering software development process model-driven engineering