Protos To Petri net conversion

Input

Protos model

Output

Petri net

Description

This plug-in converts a Protos model into a Petri net. The assumption is made that before the conversion all implicit conditions have been made explicit (have been 'added'). This is done by the Protos2Protos conversion. In the conversion from a Protos model into a Petri net, Protos activities are converted to Petri net transitions, Protos statusses to Petri net places and Protos arcs into Petri net edges. Furthermore, every explicit choice in the Protos model (modeled as a Protos activity with XOR semantics) is converted to an implicit choice in the Petri net. Because when a Protos activity with XOR-semantics is one-on-one translated to a Petri net transition, the transition will have AND-semantics and the choice behavior is lost. Therefore, when converting a Protos activity with XOR-semantics, the control flow of the Petri net has to be extended to capture the choice behavior. Figure 1 shows how to extend the control flow. The upper picture on the left hand side is a XOR-split. The corresponding Petri net construct is presented on the upper right side. In the middle, a XOR-join and its corresponding Petri net construct is given. At the bottom of Figure 1, the XOR-split-join and the corresponding Petri net construct is shown.

Translating XOR-behavior to Petri nets

Figure 1. : Translating XOR-behavior to Petri nets