Petrix | Building Petri Nets in Javascript using Interaction

 by   mstn JavaScript Version: Current License: No License

kandi X-RAY | Petrix Summary

kandi X-RAY | Petrix Summary

Petrix is a JavaScript library. Petrix has no bugs, it has no vulnerabilities and it has low support. You can download it from GitHub.

Petrix is a Javascript framework to build Petri Nets. If you don't know what Petri Nets are, Wikipedia has a beautiful for this topic. The kind of Petri Nets you can build with Petrix are just a particular case of Petri Nets where places can store only one token at the time and communication is synchronous, that is, a global clock synchronizes every firing. I implemented the code because I was curious to understand dataflow networks where nodes have a state and are not just "functionals" as in Kahn networks. The simplest case of stateful nodes is represented by Petri nets where the state of a place can be on (full) or off (empty) depending on the past interactions with the enviroment. In addition it turned out that this kind of networks can be modelled easily using Interaction Categories. Interaction categories are a formal tool to define dynamical processes. You can find more about Interaction categories in the bibliography below. [1] is the seminal paper while [2] describes an application of the framework to dataflows. Following the interaction category paradigm, a Petri Net is a process of kind A->B, or equivalentely a subset of AxB where A and B are sets of symbols. In other words, we can represent Petri Nets as matrices (hence the name Petrix as a shorthand for Petri + matrix). Note that the matricial representation of Petri Nets is not the same as the standard one (see Wikipedia article above). In fact, the standard use of matrices captures the static structure of Petri Nets while matrices in Petrix representes the dynamical behavior of Petri Nets. [1] introduces Interaction Categories; the framework is a bit more general than that presented here. The idea of rapresenting processes as matrices is already present in this paper and in Abramsky's motto "processes are relations extended in time". However, my source of inspiration was [4] where circuit composition is defined in terms of matricial operations. [2] defines a denotational semantics for dataflow networks in terms of Interaction Categories and proves that this semantic is equivalent to traditional Kahn semantics for dataflows when networks are deadlock-free. [3] introduces a simplified notation for Petri nets where places have only one input and one output and transitions are not represented by node, but by multi-edges. Petrix defines Petri nets in this way.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              Petrix has a low active ecosystem.
              It has 11 star(s) with 3 fork(s). There are 2 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              Petrix has no issues reported. There are 1 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of Petrix is current.

            kandi-Quality Quality

              Petrix has no bugs reported.

            kandi-Security Security

              Petrix has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              Petrix does not have a standard license declared.
              Check the repository for any license declaration and review the terms closely.
              OutlinedDot
              Without a license, all rights are reserved, and you cannot use the library in your applications.

            kandi-Reuse Reuse

              Petrix releases are not available. You will need to build from source code and install.
              Installation instructions are not available. Examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of Petrix
            Get all kandi verified functions for this library.

            Petrix Key Features

            No Key Features are available at this moment for Petrix.

            Petrix Examples and Code Snippets

            No Code Snippets are available at this moment for Petrix.

            Community Discussions

            No Community Discussions are available at this moment for Petrix.Refer to stack overflow page for discussions.

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install Petrix

            You can download it from GitHub.

            Support

            See GitHub Wiki for this project.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/mstn/Petrix.git

          • CLI

            gh repo clone mstn/Petrix

          • sshUrl

            git@github.com:mstn/Petrix.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Consider Popular JavaScript Libraries

            freeCodeCamp

            by freeCodeCamp

            vue

            by vuejs

            react

            by facebook

            bootstrap

            by twbs

            Try Top Libraries by mstn

            apollo-link-swagger

            by mstnTypeScript

            fixed-size-array

            by mstnTypeScript

            MappoPhoneGap

            by mstnJavaScript

            Cat.js

            by mstnJavaScript