RELIABILITY MODELLING AND SIMULATION OF COMPLEX DYNAMIC DISCRETE-EVENT SYSTEMS

This tutorial covers motivation, use, and advantages of stochastic Petri nets as a tool for reliability evaluation of complex systems. Rare-event simulation techniques are demonstrated, which are applicable to a wide class of reliability problems. While this approach is known in the academic world, is has not yet been adopted much in industrial applications despite its apparent benefits. Additional triggers for this tutorial are advances in rareevent simulation for this model class as well as the recent standard IEC62551 for dependability evaluation with Petri nets. New results in performability evaluation using an integration of simulation and numerical analysis are presented. Example case studies and tool support are demonstrated. INTRODUCTION AND MOTIVATION Reliability is an important non-functional requirement of many man-made systems, especially when failures may lead to catastrophic events. When such systems are too complex to be understood and designed by one person, the resulting effect of local design decisions on overall system properties are not obvious. Mathematical models can help to describe such systems and to compute their reliability [29, 2, 15, 23, 20] with the help of appropriate software tools. Unavoidable faults may be masked or tolerated by static or dynamic redundancy measures, all at a considerably increasing cost. The main task is to design a system such that its reliability and safety requirements are achieved with the least amount of resources. Classic models and tools for static analysis are not able to cover systems in which the complex behaviour influences failures, or if dynamic reconfigurations are applied (possibly because of a better resource / reliability trade-off). Depending on the complexity of the system behaviour and the corresponding size of the state space, Markov chains and stochastic Petri nets are applied to reliability problems [29, 18]. They are attractive models as long as the underlying assumption of a Markov behaviour is realistic (Phase-type distributions can emulate others up to a certain accuracy, but this is paid for with an even larger state space). Petri nets have been adopted as a suggested tool for reliability engineering of complex systems in an international standard recently [5]. However, non-Markovian delay distributions (necessary, for instance, in the case of deterministic deadlines or maintenance cycles) are characteristic of technical systems. Stochastic Petri net classes allowing them exist, and they can be used for reliability evaluation [19]. However, their numerical analysis is restricted, only allowing the application to special cases [8]. An alternative evaluation technique is simulation [6], but the problem here is that the computational effort to generate enough failure states to achieve statistical confidence in the estimated results is usually intractable [11]. This problem is well-known as rare-event simulation [12], and there are two main approaches used: importance sampling [10] and splitting [9]. They have the common goal to increase the frequency of the rare event in order to gain more significant samples out of the same number of generated events. For methods that can be automated and implemented in a software tool for industrial applications, the latter technique has the advantage of requiring less insight into the model details, and with the RESTART algorithm [33] there are efficient and robust implementations available [7, 31, 36, 37]. The tutorial will present motivation, introduction of background material, sample Petri net models of reliability issues, as well as ideas and algorithms towards simulation speedup for reliability evaluation. This will be done along the points mentioned so far in the introduction; some more details of planned contents are given in the subsequent sections. To avoid a purely theoretical lecture, the tutorial will be accompanied by practical application examples (c.f. Section ) demonstrated with the software tool TimeNET [37, 38]. Finally, recent results towards automated splitting simulations for stochastic Petri nets [25, 45] as well as