This shows you the differences between two versions of the page.

— |
online:pdm2pm [2009/05/26 14:10] (current) |
||
---|---|---|---|

Line 1: | Line 1: | ||

+ | ====== Product Data Model to process model ====== | ||

+ | |||

+ | (Algorithms Alpha, Bravo, Charlie, Delta, Echo, Foxtrot, Golf) | ||

+ | ===== Author ===== | ||

+ | |||

+ | Irene Vanderfeesten, Johfra Kamphuis | ||

+ | ===== Input ===== | ||

+ | |||

+ | PDM model | ||

+ | ===== Output ===== | ||

+ | |||

+ | process model (represented as a Petri net or YAWL model) | ||

+ | ===== Description ===== | ||

+ | |||

+ | The seven Product Data Model to Process Model plugins can be used to translate a Product Data Model into a process model. Below a short description of each algorithm is given: | ||

+ | ==== Algorithm Alpha ==== | ||

+ | |||

+ | All alternative paths to the root element are elaborated top-down from the root element. Starting from a process model that only contains an input place, a transition for the root element and an output place, the final process model is obtained by replacing eacht transition with a subnet adding more detail. The process model is represented as a Petri net. | ||

+ | ==== Algorithm Bravo ==== | ||

+ | |||

+ | All alternative paths to the root element are elaborated top-down from the root element. The details of how to produce a data element are added to the process model, working from both the input and output place. The different paths are elaborated from root to leaf elements one-by-one. The process model is represented as a Petri net. | ||

+ | ==== Algorithm Charlie ==== | ||

+ | |||

+ | This algorithm builds the process model in a 'middle-out' way, i.e. every data element and operation are translated in an arbitrary order. First, all data elements are translated to a component consisting of an input place, a transition and an output place. Next, these components are connected in the right way and an initialising transition is added. The process model is represented as a Petri net. | ||

+ | ==== Algorithm Delta ==== | ||

+ | |||

+ | The basis of this algorithm is the same as algorithm Charlie. To solve the problems of soundness with the resulting process model some control places and cancellation arcs are added to the model. The resulting process model is a YAWL model. | ||

+ | ==== Algorithm Echo ==== | ||

+ | |||

+ | This algorithm also builds the process model in a 'middle-out' way. First, for each data element a component that consists of an input place connected to a transition is created. Then, for each operation a transition is added with the right number of input places. The transitions corresponding to a data element are connected to these input places in the right way. Finally, an extra control place is added to assure that the end product can not be procuced more than once. The resulting process model is represented as a Petri net | ||

+ | ==== Algorithm Foxtrot ==== | ||

+ | |||

+ | This algorithm starts with the leaf elements of the Product Data Model, i.e. a bottom-up approach to build the process model. A place in the process model represents the available data elements. Starting from the input place of the model, with no data elements available, the algoritm computes all possible steps that can be executed. The process model is represented as a Petri net. | ||

+ | ==== Algorithm Golf ==== | ||

+ | |||

+ | The approach for constructing the process model is a mix of top-down and bottom-up. First, all possible execution paths are determined reasoning from the root element top-down. Next, each of these paths is elaborated bottom-up, starting with the first element that should be produced from the start. A place is representing the available data elements in the same way as in algorithm Foxtrot. And a path is build from such a place. The resulting process model is represented as a Petri net. | ||

+ | |||

+ | |||

+ | A detailed description of these seven algorithms, including a classification on their characteristics, can be found in [2]. | ||

+ | ===== Examples / Test cases ===== | ||

+ | |||

+ | A number of test cases, including some small examples, are available on the ProM trac-site . | ||

+ | ===== Related work / Publications ===== | ||

+ | |||

+ | ==== [1] ==== | ||

+ | |||

+ | W.M.P. van der Aalst | ||

+ | On the automatic generation of workflow processes based on product structures. | ||

+ | Computers in Industry, 39, 2 (1999), pp. 97-111. | ||

+ | ==== [2] ==== | ||

+ | |||

+ | J. Kamphuis, I. Vanderfeesten, H.A. Reijers, M. van Hattem | ||

+ | From Product Data Model to Process Model | ||

+ | Beta Working Paper WP-238, 2008. http://fp.tm.tue.nl/beta/ | ||

+ | |||