FG Datenstrukturen und Softwarezuverlässigkeit
Snoopy is a powerful modelling and simulation tool for various types of Petri nets, which have been applied to a wide range of biochemical reaction networks. We present an enhanced version of Snoopy, now supporting coloured and uncoloured stochastic, continuous and hybrid Petri Nets with fuzzy kinetic parameters. Colour helps to cope with modelling challenges imposed by larger and more complex networks. Fuzzy parameters are specifically useful when kinetic parameter values can not be precisely measured or estimated. By running fuzzy simulation we obtain output bands of the variables of interest induced by the effect of the fuzzy kinetic parameters. Simulation is always done on the uncoloured level. For this purpose, coloured fuzzy Petri nets are automatically unfolded to their corresponding uncoloured counterparts. Combining the power of fuzzy kinetic parameters with the modelling convenience of coloured Petri nets provides a new quality in user support with sophisticated modelling and analysis features.
Over the last twenty years, Petri nets have been increasingly adopted for modelling and simulating biological systems, as they offer an intuitive and graphical approach for this purpose. Their usability convenience comes from the fact that they offer many types of elements to describe systems in a qualitative and quantitative way. Coloured Petri nets are particularly useful to model systems with repeated components in a compact fashion. Our tool Snoopy for modelling and simulating Petri nets is one of the most well-known tools supporting a family of related Petri net classes comprising stochastic, continuous and hybrid Petri nets, and covering uncoloured and coloured Petri nets alike. However, kinetic information of a biological system, i.e. kinetic parameters may be uncertain, due to many reasons, e.g. environmental factors. Besides, coloured Petri nets as they were previously supported in Snoopy suffered from some inconsistencies. Due to these inconsistencies, exploring the model behaviour using different sizes (scaleability) was not feasible. Both challenges call for a new and more powerful approach integrating the modelling of uncertainties together with modelling features supporting repeated structures in a compact and scalable way.
This thesis comprises two major contributions: Firstly, we introduce the definition and present the simulation algorithm for both uncoloured and coloured fuzzy Petri nets, by extending the existing quantitative uncoloured and coloured Petri nets in Snoopy. This includes discretising the uncertain kinetic parameters to crisp values by using sampling strategies. Secondly, we harmonise coloured Petri nets in Snoopy with their uncoloured counterparts and we extend the Snoopy’s coloured Petri nets by all the features, which are supported by the coloured abstract net description language - an exchange format of coloured Petri nets in our PetriNuts tool family.
By performing fuzzy simulation, one can obtain two kinds of output: fuzzy bands of each output variable and their corresponding timed-membership functions. Each fuzzy band describes the uncertainties associated with the input, whereas membership functions give more accurate information about the associated uncertainties. The most important features that we obtain by harmonising coloured Petri nets are to develop scaleable models, by defining scaling factors as constants and unifying the usage of coloured Petri nets with the other tools in our PetriNuts tool family.