A software supervision approach for distributed system performance modelling

Large software systems, such as telecom applications, are often built on reused components. Such systems are often developed using components from previous similar projects, or simply using a reconfiguration of the same set of components from a previous similar project. Performance prediction of such software system architectural design provides a quantified measurement for better design quality. The design is specified in a communicating extended finite state machine model. The model is extended with stochastic information and simulated for performance prediction. The stochastic extension requires performance data for each component and load information of the system environment. This paper addresses the problem of abstracting stochastic performance model of a component to be reused in a software architectural design. We use a software supervision approach to monitor the performance of a deployed component and collect its execution trace, including individual time stamps of the externally observable signals. We then derive a stochastic performance model of the component from the trace. The model can be used later in performance prediction when the component is reused. We applied this method to a control program of a small telephone exchange. We were able to reuse a component and its performance data in a new exchange design.