Process graph

In mathematics graph theory a process graph or P-graph is a directed bipartite graph used in workflow modeling.

Description
With a process graph, the vertices of the graph are of two types, operation (O) and material (M). These vertex types form two disjunctive sets. The edges of the graph link the O and M vertices. An edge from an operation vertex (O) connects to a material vertex (M) if M is the output of O, such as a 'document' (material) that is output by a 'write-up' (operation). An edge from M to O indicates that M is an element of the input set of O, e.g. a document may be part of the input to a 'review' operation.

Applications
Process-graph is in use in different fields of application in Process Network Synthesis (PNS). An example for an application is Process Network Synthesis. The method is in scientific use to find optimum process chains in chemical formulas, energy technology networks and other optimisation problems like evacuation routes in buildings or transportation routes. Process graphs are also used in understanding the control flow of multi-threaded processes. If there are n concurrent threads running, a process graph models the execution of n concurrent threads and their trajectories through an n dimensional Cartesian plane. The origin of the graph corresponds to the initial state where none of the threads have completed an instruction. Each directed edge corresponds to the execution of an instruction and transition to other. Valid edges can either go up or right because programs cannot run backward for the edges to left or down. Since two threads can't complete the same instruction at the same time, diagonal edges are not allowed.