Projects




Version 15 (modified by 9simon, 6 years ago) (diff)

--

CCPN: Curry Coloured Petri Nets

The Curry-coloured Petri net formalism and its tool set provide the possibilities

  • to model CCPNs (Curry-coloured Petri nets) with Curry inscriptions in the Renew editor environment
  • to simulate CCPN models
  • to generate a reachability graph for CCPN models
  • to integrate the CCPN simulator as a Haskell library into Haskell programs

While Haskell is used as the implementations language, Curry is used as the inscription language. The main advantage is that CCPN inscriptions are side effect free due to the Curry's functional pureness and the control of side effects by its strong type system. Binding searches are based on the highly optimized Curry evaluation environment of the KiCS2 compiler.

Here we provide a download for reviewers: renew2.6devbase.zip

Prerequisites

  • Java Runtime Environment in Version 9 or later
  • Git

Installation

The CCPN tool set requires two components, Renew with the CurryCPN and the RefNetReachabilityGraph plugin, as well as the CCPN simulator (includes the KiCS2 compiler).

Renew

This package contains a precompiled version of Renew and the required plugins. To generate the startup scripts for Renew run the installrenew/installrenew.bat script in bin/unix or bin/win.

CCPN Simulator

The CCPN simulator has to be compiled manually. The setup script requires Git to clone the CCPN repository and its dependencies. The script uses the Haskell tool Stack to download and compile all required Haskell libraries. Stack is automatically installed, if it is not already available.

To compile the CCPN simulator and all its dependencies run:

chmod +x setup_ccpn.sh
./setup_ccpn.sh

Running the application

To start Renew with the CurryCPN plugin use the generated loadrenew script in bin/unix orbin/win.

References for CCPN

  • Michael Simon. Curry-Coloured Petri Nets: A concurrent simulator for Petri nets with purely functional logic program inscriptions. Master thesis, University of Hamburg, Department of Informatics, Vogt-Kölln Str. 30, D-22527 Hamburg, April 2018.
  • Michael Simon and Daniel Moldt. About the development of a Curry-Coloured Petri net simulator. In Robert Lorenz and Johannes Metzger, editors, Algorithms and Tools for Petri Nets, Proceedings of the 21th Workshop AWPN 2018, Augsburg, Germany, number 2018-02 in Reports / Technische Berichte der Fakultät für Angewandte Informatik der Universität Augsburg, pages 53–54, 2018.
  • Michael Simon and Daniel Moldt. Tools for Curry-Coloured Petri Nets. Internal Report 10 pages. (Please contact the authors.)