Performability modelling tools, evaluation techniques, and applications

This thesis deals with three aspects of quantitative evaluation of fault-tolerant and distributed computer and communication systems: performability evaluation techniques, performability modelling tools, and performability modelling applications. Performability modelling is a relatively new modelling technique, which combines aspects of {performance modelling} and {dependability modelling}. Performability modelling is concerned with the derivation of performance measures of systems, given that these systems might change their structure, e.g., due to the occurrences of failures and repairs. With the proliferation of fault-tolerant and distributed computer and communication systems in all parts of society, the ability to model and evaluate these systems during their lifecycle is of key importance. Chapter 1 describes the need for modelling, the various types of model evaluation techniques, the structure of the thesis and the aims of the research. These research aims are: - to get insight in the requirements to be met by software tools for performability modelling and evaluation; - to design new performability modelling tools; - to demonstrate the usability of these newly developed tools; - to develop new, efficient evaluation techniques. - In order to fulfil these aims, it is necessary to get insight in: - existing performability modelling tools; - performability model evaluation techniques; - application areas for performability modelling and evaluation. Chapters 2 through 10 are devoted to these research aims. In Chapter 2 an overview is given of the existing performability evaluation techniques, where emphasis is put on evaluation techniques based on behavioural decomposition and Markov reward analysis. In Chapter 3 an overview is given of software tools for performability modelling and evaluation. A general modelling tool framework is discussed as well as a number of requirements that have to be fulfilled by any performability modelling tool to be designed. In Chapter 4 the application areas that are in the scope of this thesis are addressed. Fault-tolerant computer systems, distributed computer systems, and communication systems are discussed. By stressing the performance and dependability determining aspects of these systems, a list of system aspects is derived that a performability modelling tool must be able to model. In Chapter 5 the performability modelling tool Proper is discussed. With this tool performance models can be addressed in which some fault-tolerance aspects are included. An example is given of the use of Proper and its advantages and disadvantages are discussed. In Chapter 6 the dynamic queueing network concept is introduced, a performability modelling concept that in many respects does improve upon the tool Proper. Moreover, the dynamic queueing network concept fulfils practically all the requirements that have to be fulfilled according to the discussions in Chapters 2 to 4. In Chapter 7 the design and implementation of DyQNtool, a software tool supporting the dynamic queueing network concept is discussed. In Chapter 8 three applications of the dynamic queueing network concept are discussed. The first application addresses a distributed computer system. This application perfectly fits the dynamic queueing network concept, and due to its size, shows the need for software tools for performability modelling. The second example addresses a flexible manufacturing system. This application can not be completely modelled conveniently; the inconvenience follows from the limited applicability of product form queueing networks and not from the dynamic queueing network concept as such. In the last example we address systems with a very general dynamically changing structure. This application does not fit in the dynamic queueing network concept. However, a new, wider class of models is defined in which dynamic resource allocation plays an important role. Some examples of systems falling in this new class of models are given. In Chapter 9 the mathematical aspects of performability modelling are revisited. Since performability models tend to become very large, computationally efficient evaluation techniques are required. In this chapter therefore a number of product forms as well as a number of model size reduction (state space truncation) techniques are discussed. In Chapter 10 the overall conclusions are drawn from the thesis, the fulfilment of the research aims are discussed, and future research areas are indicated.