Logo

software

data structures and software dependability

computer science department

brandenburg university of technology cottbus

S N O O P Y

latest update: October 27, 2014, at 01:02 PM


Please use the following reference to give credits to Snoopy:
M Heiner, M Herajy, F Liu, C Rohr and M Schwarick:
Snoopy a unifying Petri net tool;
In Proc. PETRI NETS 2012, Hamburg, Springer, LNCS, volume 7347, 398407, June 2012


News

  • 2014-04-01 bugfix release
  • 2014-01-27 Snoopy's Steering and Simulation Server (S4) goes online
  • 2013-07-30 bugfix release
  • 2013-06-20 new constant implementation and several bug fixes
  • 2012-04-27 loading of exported simulation data in simulation dialog and several bug fixes
  • 2012-01-30 export and import of Colored Abstract Net Description Language (CANDL) and simulation of colored hybrid Petri nets is now available
  • 2011-12-02 new netclass colored hybrid Petri nets (simulation is not available yet) and many improvements for colored Petri nets
  • 2011-05-19 improvements of handling larger colored Petri nets and several bug fixes again
  • 2011-02-18 new net class hybrid (continuous / stochastic) Petri nets
  • 2010-12-17 animation of Snoopy files in a web browser now available
  • 2010-09-28 new net classes: colored Petri nets, colored stochastic and continuous Petri nets
  • 2009-12-02 new net class Freestyle net
  • 2009-07-06 new export of stochastic attributes lists to csv
  • 2009-06-10 some bugfixes in the stochastic simulation
  • 2009-05-26 New stable version of snoopy
  • 2009-03-27 New Export from stochastic Petri nets to PRISM
  • 2009-03-06 New PRNG (Mersenne-Twister) for stochastic Simulation
  • 2009-02-04 Many bugfixes and small changes regarding the stability of snoopy
  • 2008-11-18 Snoopy is now Unicode capable, many bugfixes
  • 2008-10-09 New net class MusicNets available, again many bugfixes

Downloads

For our faithful long-term friends, who want to transfer their PED-files, we provide here a ped2snoopy converter, and some useful hints to use it.

Here are some examples to get used to the tool:


There is no all-covering manual available, but you will hopefully not miss it. Anyway, below you find some useful hints (tricks and tips, undocumented features, scheduled extensions, etc) - not supposed to be exhaustive. Please see also Manuals and FAQ.

General Description

Snoopy is a software tool to design and animate hierarchical graphs, among others Petri nets. The tool has been developed - and is still under development - at the University of Technology in Cottbus, Dep. of Computer Science, "Data Structures and Software Dependability".

The tool is in use for the verification of technical systems, especially software-based systems, as well as for the validation of natural systems, i.e. biochemcial networks as metabolic, signal transduction, gene regulatory networks, compare poster "overview on the research activities of our working group".

Basic Properties

  • extensible
  • generic design facilitates add on of new graph types
  • adaptive
  • simultaneous use of several graph types
  • GUI adopts dynamically to graph type in active window
  • platform independent
  • implementation: C++, wxWidgets, Xerces
  • supported for Windows, Mac OS X and Linux

Main Features

  • hierarchies by subgraphs
  • logical (fusion) nodes
  • different shapes for net elements
  • colouring of graph elements (e.g. paths or invariants)
  • automated layout by Graphviz library
  • digital signature by md5 hash function
  • animation of place/transition Petri nets
  • simulation of stochastic/continuous Petri nets
  • printing support: eps, Xfig, FrameMaker
  • import/export from/to analysis tools, see related software
  • SBML import/export (rules, events, functions not supported)
  • support of web-based Petri net animation, see sampler

Available Graph Classes

  • place/transition Petri net - QPN
  • extended Petri net (read / inhibitor / equal / reset / marking-dependent arcs) - XPN
  • time(d) Petri net - TPN
  • (extended) stochastic Petri net - XSPN
  • continuous Petri net - CPN
  • hybrid (continuous & stochastic) Petri nets - HPN
  • colored qualitative / stochastic / continuous / hybrid Petri nets - QPNc / XSPNc / CPNc / HPNc
  • modulo Petri net - MPN
  • "music" Petri net
  • reachability graph - RG
  • MTBDD/MTIDD
  • fault tree - FT
  • extended fault tree - XFT
  • freestyle net
  • EDL signature net
  • < your favourite graph class ? >

Upcoming

  • PNML support (export already included);
  • value sets for constants and merging of constants with parameters in all coloured Petri net classes (as already supported in uncoloured classes);
  • marking-dependent arcs in all coloured Petri net classes;

Imports and Exports

All imports and exports to non Snoopy file formats are listed here.

Imports

  • ANDL ⇒ QPN, XPN, CPN, XSPN, HPN
  • CANDL ⇒ QPNc, XPNc, CPNc, XSPNc, HPNc
  • APNN ⇒ QPN, XPN, XSPN
  • SBML ⇒ QPN, CPN, XSPN
  • PED ⇒ QPN
  • PNML ⇒ QPN (coming soon)
  • TINA ⇒ QPN
  • CSV (colored Declarations) ⇒ QPNc, XPNc, CPNc, XSPNc, HPNc
  • CSV (Markings, Functions, Parameters) ⇒ XSPN
  • DNF ⇒ FT, XFT
  • Simulation results in CSV ⇒ CPN, XSPN, HPN, CPNc, XSPNc, HPNc

Exports

  • EPS, Latex, MIF, XFig ⇒ all graph classes
  • ANDL ⇒ QPN, XPN, CPN, XSPN, HPN
  • CANDL ⇒ QPNc, XPNc, CPNc, XSPNc, HPNc
  • APNN ⇒ QPN, XPN, XSPN, QPNc, XPNc, CPNc, XSPNc, HPNc
  • SBML ⇒ QPN, XPN, CPN, XSPN
  • ODEs to Text ⇒ CPN, HPN
  • METATOOL ⇒ QPN, XPN, CPN, XSPN
  • Modelica ⇒ CPN, XSPN, HPN
  • CPNTool ⇒ QPNc, XPNc, XSPNc
  • CSV (colored Declarations) ⇒ QPNc, XPNc, CPNc, XSPNc, HPNc
  • CSV (Markings, Functions, Parameters) ⇒ XSPN
  • SMART ⇒ QPN, XSPN
  • INA ⇒ QPN
  • LoLA ⇒ QPN
  • Maria ⇒ QPN
  • PEP ⇒ QPN
  • PNML ⇒ QPN
  • Prod ⇒ QPN
  • TINA ⇒ QPN
  • PRISM ⇒ XSPN
  • Simulation results in CSV ⇒ CPN, XSPN, HPN, CPNc, XSPNc, HPNc

Manuals and Tutorials

  • [HH13]
    M Herajy and M Heiner:
    Snoopy Computational Steering Framework User Manual Version 1.0;
    Technical report 02-13, Brandenburg University of Technology Cottbus, Department of Computer Science, July 2013. [ pdf ] [ BibTeX ]
  • [MRH12]
    W Marwan, C Rohr and M Heiner:
    Petri nets in Snoopy: A unifying framework for the graphical display, computational modelling, and simulation of bacterial regulatory networks;
    In Methods in Molecular Biology – Bacterial Molecular Networks, (Jv Helden, A Toussaint and D Thieffry, Eds.), Humana Press, pages 409–437, 2012. [ url ] [ pdf ] [ BibTeX ]
  • [LHR12]
    F Liu, M Heiner and C Rohr:
    Manual for Colored Petri Nets in Snoopy;
    Technical report 02-12, Brandenburg University of Technology Cottbus, Department of Computer Science, March 2012. [ pdf ] [ BibTeX ]
  • [BHM11]
    MA Blätke, M Heiner, and W Marwan:
    Tutorial - Petri Nets in Systems Biology;
    Technical report, Otto von Guericke University Magdeburg, Magdeburg Centre for Systems Biology, August 2011. [ pdf ] [ BibTeX ]

Snoopy's Steering and Simulation Server (S4)

S4 is an extension of Snoopy, which permits to remotely simulate and interactively steer quantitative Petri net models during a running simulation. Users can share models and collaborate by controlling the execution of a model remotely from different machines (clients). S4 is shipped with an application programming interface (API) which enables user-defined extensions of the core functionalities. Stochastic, continuous and hybrid Petri nets are supported, both as low-level and coloured ones. S4 is platform-independent and distributed free of charge for academic use.

Downloads:

User guides:

References:

  • [HH14b]
    M Herajy and M Heiner:
    A Steering Server for Collaborative Simulation of Quantitative Petri Nets;
    In Proc. PETRI NETS 2014, Tunis, Springer, LNCS, volume 8489, pages 374–384, June 2014. [ url ] [ BibTeX ]
  • [HH14a]
    M Herajy and M Heiner:
    Petri Net-Based Collaborative Simulation and Steering of Biochemical Reaction Networks;
    Fundamenta Informaticae, 129(1-2):49-67, 2014. [ url ] [ doi ] [ BibTeX ]
  • [Herajy13]
    Mostafa Herajy:
    Computational Steering of Multi-Scale Biochemical Networks;
    PhD thesis, BTU Cottbus, Dep. of CS, January 2013. [ pdf ] [ BibTeX ]
  • [HH12]
    M Herajy and M Heiner:
    Hybrid Representation and Simulation of Stiff Biochemical Networks;
    J. Nonlinear Analysis: Hybrid Systems, 6(4):942959, November 2012. [ url ] [ BibTeX ]

Web Animation

We support web browser animation of Snoopy files (extended Petri nets only). Therefor we use XSL transformation to SVG and JavaScript for animation. Download: patty.zip

Installation notes:

  • Unpack patty.zip into the root folder of your web server.
  • Copy your Snoopy files on your web server.
  • Add the Snoopy files to the type text/xml, e.a. add the line "AddType text/xml spept spped" to your .htaccess file.
  • If that is not possible rename the files from "filename.spped" to "filename.xml".
  • Now you can open your Snoopy files in your browser basicStructures.spped.

Attention: Web browsers are constantly evolving and often differ in some subtle details. It is hardly possible to master this vast variety at the current state of technology. For known bugs see sampler.

This feature is based on:

  • [Schw09]
    Marcel Schwarze:
    Web-based Petri net animation (in German);
    Diploma thesis, FH Lausitz, Dep. of CS, November 2009. [ BibTeX ]
  • [Schu08]
    Krispin Schulz:
    An Extension of the Snoopy Software to Process and Manage Petri Net Animations (in German);
    Bachelor thesis, BTU Cottbus, Dep. of CS, November 2008. [ pdf ] [ BibTeX ]

Related Software

Bug Reports

Submit your bug reports and comments about Snoopy HERE.

  • Please check, if your problem still exists in the latest available version of Snoopy
  • Please include the information about your platform (Windows, Linux) and Snoopy build details (available in the Help->About window)

Mailing List

You can join our mailing list if you want to kept posted of Snoopy's development:

This mailing list is for discussion of new features, bug reports, and for announcements of new Snoopy versions.

For joining our mailing list write an email to majordomo [snail] informatik [period] tu-cottbus [period] de with no subject and the following text inside:

subscribe snoopy-l

Then you get a email with a authentication code to ensure that nobody can put others on the list. Reply to this email and send back only the line with the authentication code as described in the email.

For leaving our mailing list you may simply send the command "unsubscribe" followed by the list name:

unsubscribe snoopy-l

(This command may fail if your provider has changed the way your address is shown in your mail.)

To remove an address other than the one from which you're sending the request, give that address in the command:

unsubscribe snoopy-l jqpublic@my-isp.com

the end

Any comments or questions are welcome. Please direct them to: