We describe the application of a performance engineering methodology based on UML diagrams with annotations taken from the Profile for Schedulability, Performance and Time. The methodology targets the early stages of the development process and works exclusively with system scenarios. These scenarios are mechanically translated into the stochastic process algebra FSP and are analysed using existing tools to study both the behavioural and performance properties of the system. A case study of a mobile telecommunications billing system is used to assess the effectiveness of the approach. The results show that our methodology is effective at detecting, quantifying and locating performance bottlenecks. A set of guidelines for resolving performance problems is devised and used with performance analysis results to drive a series of design changes until the performance requirements of the system have been met.
Andrew J. Bennett, A. J. Field