Version management in a distributed workflow application

Most applications of workflow management in business are based on well-defined repetitively executed processes. Recently, workflow management principles have been applied to the scientific and engineering communities, where activities may dynamically change as the workflows are executed and may often evolve through multiple versions. These domains present new problems including tracking the progress of parts on which those activities are executed, particularly if the production process itself is distributed across multiple sites. A major requirement of the system is that the full production history of every part must be permanently stored. This paper reports on the activities of a large-scale distributed scientific workflow management project, entitled CRISTAL (Cooperating Repositories and Information System for the Tracking of Assembly Lifecycles), in which a product data management (PDM) system is used to store and maintain versions of workflow meta-objects and in which a light-weight workflow enactment component is implemented for execution. These versions must support the permanent recording of a constantly adapting production process. The workflow enactment component is based on Petri nets, which are designed to embody all aspects of the scientific workflow management.