~ t r ,
ePll
ii~dl, imlmlaal wtoimiorlrso PERGAMON
Computers & Industrial Engineering 37 (1999) 203-206
Integration of Workflow Management and Simulation Joon-Soo Bae*, Seok-Chan Jeong**, Youngho Seo*, Yeongho Kim*t, and SukHo Kang* * Department of Industrial Engineering, Seoul National University ** System Integration Department, Computer Software Development Centre, Electronic Telecommunication Research Institute Abstract. Addressed in this paper is a method of integrating a worldlow system and simulation
technology. It is often conceived that workflow systems are a major tool to support BPR. A key to apply the worldlow systems to BPR is how to analyse and evaluate the performance of newly designed processes in advance. A simulation module, called WFSIM, has been developed and interfaced with a workflow system to better support the BPR capability. We demonstrate the workability of translating from a workflow model to a simulation language. © 1999 Elsevier Science Ltd. All rights reserved.
Keywords: Workflow, Workflow management system, Simulation, Process definition language and model INTRODUCTION With the recent advancement of computer network technologies, it is a major trend in information systems that traditional stand-alone systems are inter-linked with each other. Workflow management systems in general terms are computer software that support control, management, and collaboration of business processes through automating flows of tasks, electronic information, and documents as well as consistent access to data and maintenance. The importance of the workflow systems has been incremented with the radical, rapid changes widely observed in the current business environment. The main issue addressed in this paper is a method of integrating a worldlow system and simulation technology. It is often conceived that workflow systems are a major tool to support Business Process Reengineering (BPR) which aims at reengineering an existing as-is process into a more efficient to-be process. A key to apply the worldlow systems to BPR is how to analyse and evaluate the performance of newly designed processes in advance. Most existing systems, however, do not provide satisfactory functions to support the need. To achieve this, we propose in this paper a method of using the powerful capability provided by simulation techniques. Recently, the Manufacturing Information Systems and Intelligent Manufacturing Systems Lab. in the Department of Industrial Engineering at Seoul National University have developed a workflow management system, called SNUFlow [Bae et al., 1998]. The system is composed of four main modules: Process Designer, Worldlow Engine, Worldlow Client, and Worldlow Monitor. The Process Designer provides a graphical user interface with which a designer can build business process models. The Workflow Engine executes and controls the process flows established by the Process Designer. This also supports the communications with workflow clients. The Workflow Client manages lists of tasks for each task performer, while continuously
t Correspondingauthor
0360-8352/99 - see front matter © 1999 Elsevier Science Ltd. All rights reserved. PII: S0360-8352(99)00055-8
204
Proceedings of the 24th International Conference on Computers and Industrial Engineering
communicating with the Engine. The communication is implemented via a CORBA (Common Object Request Broker Architecture) bridge. The Workflow Monitor can audit the trail of process flows for each process instance, and provide statistical data for a set of process instances that have already been closed. A simulation module has been augmented to the above workflow system to better support BPR capability. This module, called WFSIM (WorkFlow SIMulation), can assist process designers by analysing process models. A new business process model designed with the Process Designer in workflow language is input to the simulation module, but this requires a language translation from the workflow language into the simulation language. The main focus of this paper is placed on this language translation. PROCESS DEFINITION LANGUAGE Functions of workflow systems are so wide, ranging from simple extended e-mail systems to complex groupware like systems. Although a large number of commercial workflow systems are available, there exist many research issues that need still to be addressed. This includes enhancement of worldlow modeling power, process verification, failure recovery, distributed workflow execution, support of dynamic workflow, and so on. This paper is mainly related with the first two issues, that is, workflow modeling and process verification. The operation of workflow systems in general consists of four main phases: modelling, analysis, execution, and administration. The first and at the same time a prerequisite work to the use of workflow systems is process modelling. Methods of process modelling can be classified into two categories: communication-based and activity-based [Cichocki et al., 1998]. The communication-based modelling is adopted mainly by social scientists who focus on interactive communication occurring in workplace, whereas the activity-based modelling is generally used in workflow systems wherein it is emphasised to decompose a process into its component tasks. In this method, a process is specified by descriptions of individual tasks and their precedence relations using a Process Definition Language (PDL). Almost every workflow system has its own PDL. Currently available PDL's are categorised into script languages, net-based methods, logic-based languages, algebraic specifications, and ECA rules. Most workflow systems employ a net-based method with which a business process is represented by a directed graph consisting of a set of nodes connected by arcs. A node is a place-holder denoting a task that is a logical representation of a unit activity. A task is associated with a structured list containing task attributes, such as task ID, due date, performer, task type, etc. An edge represents a control flow that describes an inter-task Table 1. Six flow primitives (Metuflow) dependency between two tasks. Some researchers [Dogac et Block tTpe NotatioD ~, ~, ' al., 1997; Aalst, 1997] propose six types of primitive Serial B=(A1;A2;A3; .... ;An) interdependency, which are sequential, AND split, AND And parallel B=(A 1&A2&A3&...&An) join, OR split, OR join, and iterative. Table 1 presents these Or parallel B=(AIIIA211...IIAn) using formal notation. B=(AI,A2,A3,..,An) Contingency While modelling processes using a PDL, it is important to B=(condition,A1,A2) Conditional B=(condition,A 1;A2;... ;An) Iterative assure the validity of process definitions. This means that the model needs to be validated semantically as well as syntactically in advance of actual execution. Although many workflow systems are capable of checking grammatical errors at process build time, it is still an open research issue to provide semantic assessment which includes performance evaluation of processes. This paper is mainly concerned with analysing processes at semantic level using simulation technology. We propose a method of integrating a commercial simulation package with a workflow system to analyse process models. Performance analysis can now be carried out prior to actual workflow execution, so that it can predict potential problems that may occur during process execution. For instances, bottleneck activities and uneven load balancing among task performers can be diagnosed in advance. This will be greatly helpful to process designers since they can recognise such problems before a process is actually launched and can resolve or re-engineer the process. To perform the process simulation, it is needed to translate the PDL into a simulation language. This is described in the next section.
205
Proceedings of the 24th International Conference on Computers and Industrial Engineering
TRANSLATION OF PDL TO SIMAN Since workflow and simulation are both discrete-event systems, many of their characteristics are common. In general, both of them involve the concepts of activity and event. An activity is an action that takes some amount of time, while an event is an action that takes place instantaneously, like start or finish of an activity. A comparison between the entities used in PDL and those in SIMAN [Pegden, 1987], one of the most popular simulation package, is presented in Table 2. The basic issue in our approach to integrating workflow and simulation systems is to translate the language for the former into that for the latter.
Table 2. Comparison between PDL and SIAMAN PDL
Process definition Process instance Role Task Task ID Task list Task start Task end Flow split Flow merge
Model frame Entity Resource Activity LABEL QUEUE block SEIZE block RELEASE bock BRANCH block COMBINE block
The language translation is performed in three steps: The first step is loading a PDL file; Then, the contents of the file arc parsed; Finally, the process def'mitions are mechanically translated into simulation languages using a set of translation rules. To carry out SIMAN simulation, both model frame and experimental frame must be prepared. In this paper, only the translation creating model frames is described due to the space limitation. The essential information in the translation is the control flow types that specify precedence relations. We identified three classes of control flows: sequential, split, and merge flow. For each of the classes, a typical translation pattern is shown in Table 3. A task in a normal sequential flow is the simplest case since no split or merge is involved. In SIMAN, such a task can be simply described by a resource, which is seized at the starting event of the task and released at the finish event. Since every task in PDL is associated with a role, and this role is taken to be the resource in SIMAN. Split flows are further categorised into conditional, AND, and OR split. A special care should be exercised for the conditional split. This control flow is determined during actual process execution by users. However, this is obviously impossible for simulation, and thus is treated Scan tasklinkinfo[ probabilistically in SIMAN. Merge flows also have three categories, each of which is associate with a split type. Among Allocatetaskarray[ them, only AND merge requires some special translation steps because two separated flows should be joined. The translation for OR merge or CONTROL merge is similar to a normal sequential flow. A flow chart for the translation algorithm is J Scantaskinfo. I' ½ provided in Fig. 1. The algorithm converts each type of task [Scannewresourceinfo.] into a corresponding SIMAN model. Then, the algorithm converts each task into a simulation block, and generates an ]OR sp,ittrans.~ ' A N D splittrans.[ experimental frame based on performer and resource allocation. Though the workflow system and the simulation language both fall into discrete event systems, there exist some discrepancies between the two. Therefore, we had to introduce several assumptions as follows. First, a probabilistic split is used for a conditional split, as mentioned earlier. Secondly, execution time for each task that is deterministic in our workflow system is replaced with a probability distribution function. Thirdly, it is assumed that every process instance should be finished without any abortion. This is not the case in the real world since an instance may not be completed, even if not specified in the process definition.
I Con o',,li, n,.I Y ~
] i "n'-I
A N D merge
LEnterp~,o- I 1
I Fileoutpu' Fig. 1. Flow chart of translation
206
Proceedings of the 24th International Conference on Computers and Industrial Engineering
I M P L E M E N T A T I O N AND R E S U L T S WFSIM is implemented as a component module of SNUflow, and is tightly integrated with Process Designer. The designer provides a WFSIM main menu which includes submenus of Export w PDL, Translate to SIMAN, Edit SIMAN code, Set Experimental Data, Start Simulation, and View Analysis Results. The module is coded in Microsoft Visual C++ on a Window NT platform. Fig. 2 shows an example process designed on Process Designer. The example process is translated into SI2VIANcode. Then, simulation is carried out, and the results of the analysis are presented as shown in Fig. 3. !
u"
:
tl~:
'
,k','f,~
m u ; ~ : L m.u~;
Fig'. 2. Example process
Fig.3. Analysis result of the example process
CONCLUSIONS We demonstrated the workability of translating workflow models into a simulation language. The major contribution of this research is that a method of integrating workflow systems and simulation is developed, and its potential capability has been demonstrated through a prototype implementation. The approach enables us to analyse the performance of newly designed processes before actual execution. One difficulty using simulation technology is estimating various parameters. For example, task processing time in a workflow system is usually set to a value, while a simulation assumes a probability distribution for it. A user must input the data. However, if it is possible to use statistical data that can be obtained during execution of the workflow system, it can enhance the accuracy of the simulation. This means that parameter adjustment forms an important future research issue. Another issue is a formalisation of language translation. REFERENCES Aalst, W.M.P. (1998). The Application of Petri Nets to Workflow Management. The Journal of Circuits, Systems and Computers. pp 15-29. Bae, J., S. Jung, Y. Seo, Y. Kim, and S. Kang. (1998). Development of a Distributed Workflow Management System based on CORBA. The Proceedings oflE.MS98. Korea. Cichocki, A., A. Helal, M. Rusinkiewicz, and D. Woelk (1998). Workflow and process automation: Concepts and Technology. Kluwe Academic Publication. pp 4-18. Dogac. A., E. Gokkoca., S. Arpinar, P. Koksal, I. Cingil, B. Arpinar, N. Tatbul, P. Karagoz, U. Halici, and M. Altinel. (1997). Design and Implementation of a Distributed Workflow Management System: METUFIow. In: Advances in Workflow Management Systems and Interoperability (Dogoc, A., L. Kal~nichenko, M. T. Ozsu, A. Sheath, ed.), pp. 61-66. NATO Advanced Study lnstiu, te. Pegden. C. D. (1987). Introduction to SIMAN. System Modelling Group. pp. 19-116.