0.2.1 • Published 9 years ago

petri-net v0.2.1

Weekly downloads
1
License
ISC
Repository
github
Last release
9 years ago

Petri-Net v0.2.1

A simple library for modelling and executing Petri Nets.

Features

  • Representation of simple Nets using token counters
  • Typescript implementation
  • OO paradigm
  • Emit Events when Transitions are fired

Roadmap

  • Weighted Arcs
  • Adopt functional paradigm/immutable data
  • Persist Nets and state to storage backend
  • Extensions such as Coloured, Timed and Hierarchical Nets
  • Stepwise replay and analysis of previous executions

Usage

var petri = require('petri-net'),
	_ = require('lodash');

var p1 = new petri.Place('p1'),
	p2 = new petri.Place('p2'),
	p3 = new petri.Place('p3'),

	t1 = new petri.Transition('t1', [p1], [p2, p3]),

	net = new petri.Net(p1);

net.ingest(10);
t1.on('fire', function() {
	console.log('t1 fired');
});

_.times(5, function() {
	console.log(net.describe());
	console.log('----');
	net.execute();
});
0.2.1

9 years ago

0.2.0

9 years ago

0.1.1

9 years ago

0.1.0

9 years ago