System analysis is often done with respect to qualitative and quantitative aspects. E.g. one feature of a fault-tolerant computer is that it will eventually recover from an error which is a qualitative property of the system. A designer of such a system is surely also interested in the time needed for recovery, a quantitative property.
Several formalisms have been developed for modelling and analysing qualitative properties. Petri nets (PNs) [22][17] belong to these formalism. They have been proved to be suitable for representation of concurrency and synchronisation aspects in modern distributed systems. Since PNs do not involve any notion of time, temporal descriptions have been incorporated to render them suitable also for quantitative analysis leading to Timed and Stochastic Petri nets. A well-known representative of this class are Generalized Stochastic Petri nets (GSPNs) [2][1], which have been used for modelling a variety of systems [21][20][19][18].
Apart from concurrency and synchronisation another characteristic of distributed systems is sharing of common resources. Modelling this aspect, especially the scheduling rule, of a system using (GS)PN elements is quite difficult and leads to large and complex models [3].
Consider, e.g., a queue where colours of tokens arrive according to exponentially distributed interarrival times and whose service times are exponentially distributed. If the scheduling strategy is FCFS, one has to encode the colour of the token in each position of the queue. Assume that an upper bound for the number of tokens in the queue is given, e.g. , then the GSPN in Fig. 1 would model the queue accurately. Transitions and model the arrival of a token of either colour and transitions and model the service of the token in front of the queue. The places and represent position of the queue and the place ensures that this position is occupied by at most one token. Since entering a position is modelled by immediate transitions, a token entering position of the queue will immediately advance to position and , if they are free. This way of modelling a FCFS queue with GSPN elements works fine if an upper bound for the number of tokens is known a priori. Performing several experiments with different initial markings will necessitate a modification of the GSPN model of the queue for each experiment. If there is no upper bound known beforehand it is even more difficult. Other service times and scheduling strategies lead to very complex models. If the service time of a queue is specified by, e.g. a Coxian distribution and the scheduling strategy is Last Come First Served - Preemptive Resume, it becomes just about impossible to model such a queue with a GSPN.
A popular modelling world to represent resource sharing are queues [15][7], where system behaviour can be modelled in a compact way. Receiving the benefits of both modelling worlds GSPNs have been enhanced by the usual descriptions of queues leading to a new model, Queueing Petri nets (QPNs) [3]. Queues can be directly integrated into Coloured GSPNs (CGSPNs) by associating them with the places of the net, since a basic property of queues is that customers entering the queue will eventually leave it. QPNs offer a specification paradigm where concurrency and synchronisation aspects are described by (CGS)PN elements and resource sharing is modelled by queues giving a structured model of a system.
Since analysis of modern systems can not be done without proper tool support, we have developed a program package (QPN-Tool) offering a convenient graphical user interface and several analysis algorithms for QPN models. Instead of specifying the transitions of a Coloured GSPN by predicates or functions, QPN-Tool automatically provides a local unfolding so that also unexperienced users can specify their QPN models. Furthermore QPN-Tool offers a variety of PN algorithms and automatically determines quantitative properties of the system employing efficient algorithms from PN and Markov theory. In Sect. 2 we introduce QPNs and the QPN-Tool is described in Sect. 3. A short comparison with other tools is given in Sect. 4.