Dualistic Petri nets

[1] A Petri net (PN) is a graphical, bipartite modeling language that intuitively and mathematically represent theoretical relationships of moving objects in a network of interconnected constructs.

Instead, dualistic extensions to Place/Transition PNs have been introduced and used successfully in modeling the architecture of computer-based systems[2] and business processes.

Besides a propensity to modeling dualistic real-world behavior, PNs also offer a way to manage complex process systems hierarchically.

Once the manifested process is completely represented by a network of dPNs, small, well-coupled groups of dPN constructs can be lumped together to form higher level dPN constructs – creating a network of dPNs at a higher level of hierarchical abstraction.

A typical use of reverse engineering using dPNs in the business world is in the documentation of processes for quality certification against standards like ISO 9000.

This method for designing a complex process system is reflected in the general software development methodology known as the waterfall model.

Actually, this method is not well-suited for the development of complex software without adjusting it to handle the step-wise decomposition of the process architecture.

This decomposition occurs entirely within the domain of dPNs from the problem space context model down to the final mapping of the implementation language.

Whether a dPN hierarchical network map was created from the bottom up or from the top down, it shows the structure of the process system.

The final hierarchical dPN map documents the architectural decisions that were accepted and a specification is in place that can be used to maintain the system's future evolution.

Animation of a Dualistic Petri Net Simulation: Rectangles = Transformations, Ovals = Places
Animation of a dPNet-modeled Process Architecture