NetXq is an open source business process management solution which is written in Java. It is a user-friendly application to manage workflows and business processes efficiently and effectively.

The engine is very fast and lightweight, without sacrificing functionality. Its main strengths are the very expressive Petri net based notation it uses to define workflows and the powerful resource selection mechanisms it provides.

Petri Nets and Workflow

Petri nets are a tool for modeling and analyzing dynamic processes. A Petri net is composed by places and transitions and has a standard graphical representation where places are circles and transitions are squares. Places and transitions are connected by directed edges, forming a directed bipartite graph, that is, following the direction of an edge it is only possible to go from a place to a transition or from a transition to a place. Figure 1 shows the graphical representation of a simple Petri net.

Figure 1. A simple Petri net.

Places and transitions represent the static aspect of a Petri net, the dynamic aspect is represented by tokens. A token is a mark that can only be in places and that changes places according to the firing of the transitions.

Stream and NetXq

Stream is the initiator and main contributor to the NetXq project. If you are interested in the project, please drop a line at and we will get you up to speed. You can check out our repositories for the source code of NetXq (or any of our other open source initiatives).