Snoopy is a tool which is used for designing and animating hierarchical graphs along with others Petri nets. Snoopy also provides the facility to construct Petri nets and allows animation and simulation of the resulting token flow. This tool is used to verify technical systems specifically software-based systems and natural systems e.g. signal transduction, biochemical networks as metabolic and gene regulatory networks. Snoopy is in use for consideration of the qualitative network structure of a model under specific kinetic aspects of the specified Petri net class and investigation of Petri net models in several complementary conducts. Simultaneous usage of different Petri net classes in Snoopy is one of its outstanding features. Other features are:
Two particular types of nodes i.e. logical nodes and macro nodes are meant for supporting the systematic construction, neat arrangement and design of large Petri nets. Logical nodes act as connector or multiple used places or transitions sharing the same factor or function. Macro nodes allow hierarchically designing of a Petri net. Snoopy allows edition and coloring of all elements in each Petri net class and manual or automatic change of network layout too. Prevention of syntactical errors in the network structure of a Petri net is facilitated by the implementation of the graphical editor.
Editor Mode:
Start Snoopy and go to File New or press the new button in the tool bar. It results in opening of a template dialogue that allows selection of the document template.
File: New/Open/Close Window/Save/Save as, Print, Export/Import, Preferences (change the default visualization) and Exit.
Edit: Undo/Redo, Select All/Copy/Copy in new net/Paste/Cut, Clear/Clear all, Hide/Unhide, Edit selected elements/Transform Shapes, Layout (automatic layout function), Sort Nodes (by ID or name), Check Net (duplicate nodes, syntax, consistency) and Convert to.
View : Zoom 100%/Zoom In/Zoom Out, Net Information (number of each element used in the model), Toogle Graphelements/Hierachy browser/Filebar/Log window, Show Attributes (choose for each elements which attributes to be shown in the model), Start Anim-Mode/SimulationMode/Steering-Mode.
Elements (list of all available elements): Select/ Place/Transition/ Coarse Place/Coarse Transition/ Immediate Transition/Deterministic Transition/Scheduled Transition/Parameter/Coarse Parameter/LookupTable, Edge/Read Edge/Inhibitor Edge/Reset Edge/Equal Edge/Modifier Edge and Comment.
Hierarchy (edit and browse hierarchy): Coarse (chosen elements are encapsulate in a macro node)/Flatten and Go Up in Hierarchy/Go To First Child in Hierarchy/Go To Next Sibling in Hierarchy/o To Previous Sibling in Hierarchy.
Search : Search nodes (by ID or name).
Extra : Load node sets (visualize, e.g., T-, P-invariants, siphons and traps), Interaction and General Information (title, author, description, literature).
Window (arrange all opened windows): Cascade/Tile Horizontally/Tile vertically, Arrange Icons/Next/Previous and Open Files.
Help: Help, About (current version), check update.
The tool bar holds four shortcuts that facilitate:
Open a new document.
Load a document.
Save a document.
Select an element.
All elements accessible in the current net class are displayed in panel for the graph elements. Left-click on one of the elements enables user to use one of these elements. Right click on the respective element allows user to edit or select all elements of the same class. All levels are displayed in hierarchy browser and any hierarchical level can be opened in a new window by a left-click. The editor pane can be considered as the canvas which allows user to draw the network. A left-click on the Editor pane activates chosen element and places the selected element on the canvas. Click left onto one node, hold the left-click, drag the line to the other node and drop the left-click, to draw an arc between two nodes. To add edges to an arc push the CRTL key and click left on the arc which facilitates the user to drag the edge with another left-click. Grid in the canvas tab can also be used for a better orientation. User can also pick edge styles i.e. line or spline in the preference dialogue in the elements tab.
Elements:
Nodes:
Elements |
Graphics |
Standard transition |
|
Standard transition |
|
Coarse place |
|
Coarse transition |
|
Immediate transition |
|
Deterministic transition |
|
Scheduled transition |
Immediate Transition: Immediate transitions fire as soon as they are enabled. The waiting time is equal to zero.
Standard Transition (Timed Transition): A waiting time is computed as soon as the transition is enabled. The transition fires if the timer elapsed zero and the transitions is still enabled.
Deterministic Transition: Deterministic transitions fire as soon as the fixed time interval elapses during the entire simulation run time. The respective deterministic transitions must be enabled at the end of each repeated interval.
Scheduled Transition: Scheduled transitions fire as soon as the fixed time interval elapsed during the given time points. The respective deterministic transitions must be enabled at the end of each repeated interval.
Edges:
Elements |
Graphics |
Description |
Standard edge |
The transition is enabled and may fire if both pre-places and are sufficiently marked by tokens. After firing of the transition, tokens are removed from the pre-places and new tokens are produced on post place. |
|
Read edge |
The transition is enabled and may fire if both pre-places A and B are sufficiently marked by tokens. After firing of the transition, tokens are removed from the pre-place B but not from pre-place A, new tokens are produced on post place. The firing of the transition does not change the amount of tokens on pre-place A. |
|
Inhibitor edge |
The transition is enabled and may fire if pre-place B is sufficiently marked by tokens. The amount of tokens on pre-place A must be smaller than the given arc weight. After firing of the transition, tokens are removed from the pre-place B but not from pre-place A; new tokens are produced on place C. The firing of the transition does not change the amount of tokens on pre-place A. |
|
Reset edge |
The transition is enabled and may fire if pre-place B is sufficiently marked by tokens. The amount of tokens on pre-place A has no effect on the ability to enable the transition and affects only the kinetics. After firing of the transition, tokens are removed from the pre-place B according the arc weight and all tokens on pre-places A are deleted; new tokens are produced on place C. |
|
Equal edge |
The transition is enabled and may fire if number of tokens on pre-place A is equal to the corresponding arc weight and place B is sufficiently marked. After firing of the transition, tokens are removed from the pre-place B but not from preplace A; new tokens are produced on place C. The firing of the transition does not change the amount of tokens on pre-place A. |
|
Modifier edge |
The transition is enabled and may fire if pre-place B is sufficiently marked with tokens. The amount of tokens on pre-place A has no effect on the ability to enable the transition and affects only the kinetics. After firing of the transition, tokens are removed from the pre-place B but not from pre-place A; new tokens are produced on place C. The firing of the transition does not change the amount of tokens on pre-place A. |
Functions:
Name |
Meaning of function |
BioMassAction(.) |
Stochastic law of mass action. Tokens are interpretated as single molecules. |
BioLevelInterpretation(.) |
Stochastic law of mass action. Tokens are interpretated as concentration. |
ImmediateFiring(.) |
Refers to immediate transitions. |
TimedFiring(.) |
Refers to deterministic transitions. |
FixedTimedFiring Single(.) |
Refers to deterministic transitions that only res once after a given timepoint |
FixedTimedFiring(., ., .) |
Refers to scheduled transitions. |
abs(.) |
Absolute value |
acos(.) |
Arc cosine function |
asin(.) |
Arc sine function |
atan(.) |
Arc tangent function |
ceil(.) |
Rounding up |
cos(.) |
Cosine function |
exp(.) |
exponential function |
sin(.) |
Sine function |
sqrt(.) |
Square root |
tan(.) |
Tangent function |
floor(.) |
Round off |
log(.) |
Natural logarithm with constant e as base |
log10(.) |
Common logarithm with constant 10 as base |
pow(.) |
Exponent |
Parameters:
Parameters are used for defining individual parameters and rate or weight functions but are not able to define the number of tokens on a particular place. Third group of macro elements are coarse parameters which facilitate encapsulating parameters. High numbers of parameters are not visible on the top-level or can also be categorized by the use of coarse parameters.
Animation mode:
Snoopy allows user to observe the token flow in animation mode which starts by pressing F5 or going to View and then start AnimationMode. It will result in opening a new window which allow user to steer the animation. This part of snoopy is very beneficial to catch a first expression of the causality of a model and its workings as it provides information about the transitions too. In order to understand modeled mechanism, playing with the token flow prove to be worthwhile. The token flow can be animated manually by a single click on the transition. A message box is displayed revealing a message “This transition is not enabled” when user tries to fire a transition that is not enabled. Clicking-left and clicking-right on a place aids addition of tokens and extraction of tokens respectively. Animation of the token flow can also be controlled by using the radio buttons present on the animation steering panel. Usage of radio buttons involves step-wise forward and backward or sequentially as long as one transition can be enabled, otherwise a notification “Dead State: There are no more enabled transitions” is displayed on screen.
Simulation Mode
Pressing F6, going to view/Start Simulation or using the stochastic simulation button on the animation control panel, are three ways to perform stochastic simulations with the current model in the active window. Facilities of this mode include simulation of the time-dependent dynamic behavior of the model indicated by the token flow or the firing frequency of the transitions. The fluctuating concentration levels or the discrete number of the components over time is indicated by the token flow. This provides an impression of the time-dependent changes in model under consideration which is helpful in understanding the wet-lab system. More than a few simulation studies can be performed with considered model by manipulating the structure and perturbing the initial state and kinetics. All results can be manually and automatically exported in the standard *.csv-format and can be analyzed in other mathematical programs.
Simulation Control:
The simulation control allows selection of main settings and individualities for the simulation. It splits further into four panels:
Viewer/Node Choice:
It facilitates user by providing choices in displaying simulation results. It is divided into two panels:
Display:
This panel allows displaying the simulation results as data table or data plot. If data table is selected, the token flow for the selected places is presented in a table. Some options which are used for model checking are present at the bottom of the window. If data plot is chosen, the x-axis displays the time-interval and the y-axis indicates the average number of tokens. View of the plot can be altered via the buttons located below i.e. compress/stretch x-axis, compress/stretch y-axis, zoom in/out and centre view. A csv export button allows user to export the simulation results of the selected places manually. Image of the current plot can be saved by using print button.
Model Checking Mode:
Snoopy is enabled to perform model checking of linear-time properties based on the stochastic simulation. A subset of probabilistic linear-time temporal logic (PLTL) is employed to formulate and authenticate properties. Various features of snoopy also include checking several features at the same time. In order to perform model checking in Snoopy, user needs to open the simulation window and select the table view. To perform model checking on all simulation traces, user have to enter or load a property that is checked by simulating the time-dependent dynamic behavior. Simulation window allows following options:
Simulation run count is of assistance to state a number of simulation traces to which model checking can be applied. It splits into two types:
User can set the time interval where model checking should be applied with the help of interval start and interval end.
A log window displays model checking results that includes following elements:
Formula displays the formula checked during simulation.
Runs indicate the number of simulation runs performed.
Runtime shows the number of threads used for simulation.
Threads display the number of threads used for simulation.
Prop indicate the computed probability for the formula.
S ^2 displays the variance of the probability.
Confidence Interval indicates the size of the confidence interval.
[a,b] reveals the interval of the probability that is calculated from the confidence interval
You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.
Read moreEach paper is composed from scratch, according to your instructions. It is then checked by our plagiarism-detection software. There is no gap where plagiarism could squeeze in.
Read moreThanks to our free revisions, there is no way for you to be unsatisfied. We will work on your paper until you are completely happy with the result.
Read moreYour email is safe, as we store it according to international data protection rules. Your bank details are secure, as we use only reliable payment systems.
Read moreBy sending us your money, you buy the service we provide. Check out our terms and conditions if you prefer business talks to be laid out in official language.
Read more