A simulation-based approach to software performance modeling
Abstract
Quantitative performance analysis of software systems should be integrated in the software development process from the early stages. Software performance modelling and analysis allows the software designer to address performance related issues such as the comparison of design alternatives. Software performance modeling based on simulation models allows the analyst to represent detailed characteristics of the system and makes it easier the integration of the performance model with the software specification model. We propose simulation-based performance modeling of software architectures specified in UML. We argue that simulation-based performance models are well suited for capturing the complex aspects and behaviors of software systems. We propose a methodology for deriving a simulation model from annotated UML software architectures. We introduce the annotation for some UML diagrams, i.e., Use Case, Activity and Deployment diagrams, to describe system performance parameters. Then we show how to derive a discrete-event simulation model by automatically extracting information from the UML diagrams. Simulation provides performance results that are reported into the UML diagrams as tagged values. The proposed methodology has been implemented into a prototype tool called SAPS (Software Architectures Performance Simulator). We describe an application example of the proposed methodology. Keywords Software Performance Models, Discrete-Event Simulation, Unified Modeling Language (UML). 1