Performance analysis of a software specification in a language such as UML can assist a design team in evaluating performance-sensitive design decisions and in making design trade-offs that involve performance. Annotations to the design based on the UML Profile for Schedulability, Performance and Time provide necessary information such as workload parameters for a performance model, and many different kinds of performance techniques can be applied. The Core Scenario Model (CSM) described here provides a metamodel for an intermediate form which correlates multiple UML diagrams, extracts the behaviour elements with the performance annotations, attaches important resource information that is obtained from the UML, and supports the creation of many different kinds of performance models. Models can be made using queueing networks, layered queues, timed Petri nets, and it is proposed to develop the CSM as an intermediate language for all performance formalisms. This paper defines the CSM and describes how it resolves questions that arise in performance model-building.
Performance analysis of software specificationsPreliminary performance analysis can be effective not only in avoiding performance disasters in software projects [24], but in understanding the many design tradeoffs that involve performance. There are many suitable modeling techniques, which are surveyed in [2], however, the time and effort necessary to create the performance models may be prohibitive. The UML Profile for schedulability, performance and time (SPT) [14] was developed to assist in the capture of performance data, and in the automation of the model-building step. This should make the analysis more accessible to developers who are concerned about performance issues in their designs. Fig. 1 illustrates the type of processing that is envisaged by the SPT Profile.The SPT Profile addresses a broad range of applications, from embedded systems with schedulability concerns (as described by Liu [11]), to applications with statistical performance requirements, such as telecommunications, business systems and web services. The Core Scenario Model (CSM) defined here supports building performance models from the specifications of such systems.The change of perspective from a functional specification model in UML to a performance model is profound and requires a re-orientation of the model information. Resources, which are peripheral in functional specification, are central for performance. Performance is determined by the way operations use resources (which resources, for how long, and in what order). The CSM metamodel expresses resource-centric models, which may be derived from UML via the SPT Profile, in a precise way which supports the generation of different kinds of performance models.