Framewrk fr Busness Prcess Redesgn W.M.P. van der Aalst K.M. van Hee Department f Mathematcs and Cmputng Scence, Endhven Unversty f Technlgy, P.O. Bx 513, 5600 MB, Endhven, The Netherlands, telephne: -31 40 474295, e-mal: wsnwa@wn.tue.nl A framewrk based n hgh-level Petr nets s used t mdel and analyse busness prcesses. Ths framewrk s a pwerful tl t supprt busness prcess reengneerng effrts. The What, hw and by whm? apprach s ntrduced t gude the applcatn f ths Petr net based framewrk. Keywrds: busness prcess (re)desgn; hgh-level Petr nets; smulatn; what f -analyss. 1 Intrductn An ncreasng number f frms are marchng t the drumbeat f busness prcess redesgn (BPR), alternatvely called reengneerng. The term reengneerng may be new, but the dea f prcess redesgn s famlar t mst engneers nvlved n lgstcs and prductn cntrl. Just-n-tme (JIT), Ttal Qualty Management (TQM), Flexble Manufacturng Systems (FMS), Cmputer Integrated Manufacturng (CIM) and Cmputer Integrated Lgstcs (CIL) are sme f the buzz wrds used t sgnfy prcess redesgn trends n lgstcs and manufacturng cntrl. Hwever, busness prcess redesgn s nt restrcted t lgstcs and manufacturng, t als apples t admnstratve, cmmercal and manageral prcesses. Nevertheless, we thnk that many f the technques, tls and methds develped fr lgstcs and prductn cntrl can be used n the cntext f busness prcess redesgn. Busness prcess redesgn fcusses n the fundamental rethnkng f busness prcesses, gnrng rgansatnal bundares. Hwever, befre mplementng new busness prcesses, we want t cmpare the exstng stuatn wth the new (redesgned) stuatn. Therefre, we need a tl t quckly capture and mdel exstng prcesses but als new prcesses. Ths tl shuld supprt rgrus changes and catalyze creatve thnkng. Mrever, we wuld lke t use ths tl t analyse and cmpare alternatve busness prcesses. In ths paper hgh-level Petr nets are prpsed as a tl fr the mdellng and analyss f busness prcesses. Petr nets have prved t be useful n the cntext f lgstcs and prductn cntrl (cf. [2, 4, 5, 19, 24]). Hwever, the applcatn f these Petr nets s nt restrcted t lgstcs and manufacturng, they can als be used t supprt busness prcess reengneerng effrts. Hgh-level Petr nets are based n the classcal Petr net mdel ntrduced by Carl Adam Petr ([23]). The hgh-level Petr net mdel used n ths paper s extended wth clur, tme and herarchy. These extensns allw fr the representatn and study f cmplex busness prcesses. The hgh-level Petr net nherts all the advantages f the classcal Petr net, such as the graphcal and precse nature, the frm mathematcal fundatn and the abundance f analyss methds. The graphcal nature f Petr net s a very mprtant feature n the cntext f busness prcess redesgn. Hwever, the practcal use f hgh-level Petr nets and related analyss methds hghly depend upn the avalablty f adequate cmputer tls. Frtunately, sme tls, based n hgh-level Petr nets, have been put n the market. These tls supprt the mdellng and analyss busness prcess. Thanks t these tls hgh-level Petr nets have been put nt practce successfully. T supprt the use f hgh-level Petr net fr reengneerng purpses, we have develped the What, hw and by whm? apprach. Ths apprach dentfes three cnsecutve phases n the applcatn f hgh-level Petr nets t busness prcess redesgn. In the what phase the prmary bjectves f a cmpany r busness unt are nvestgated. In the secnd phase, t s determned hw these bjectves can be reached. Ths phase s used t dentfy the requred actvtes and the rderng f these actvtes. In the by whm phase, the allcatn f resurces (e.g. manpwer and machnes) t these actvtes s determned. The remander f ths paper s rgansed as fllws. We wth a shrt ntrductn t busness prcess redesgn, fllwed by an ntrductn t hgh-level Petr nets. Then we shw hw the What, hw and by whm? apprach can be used t map busness prcesses nt a hgh-level Petr net. Ths s llustrated by an example. 2 Busness prcess (re)desgn Reengneerng busness prcesses means tssng asde exstng prcesses and ng ver. In Hammer and Champy [13] busness prcess redesgn (reengneerng) s defned as the fundamental rethnkng and radcal redesgn f busness prcesses t acheve dramatc mprvements n crtcal cntemprary measures f perfrmance such as csts, qualty and speed. Ths defntn cntans fur key wrds: fundamental Reevaluate the prmary gals f the cmpany, gnrng rules and assumptns frmulated n the past. radcal D nt try t mprve the exstng stuatn, nvent cmpletely new ways f accmplshng wrk.
dramatc D nt use busness prcess redesgn t btan margnal mprvements, am at rder-f-magntude mprvements. prcess Fcus n the busness prcesses nstead f rgansatnal structures. S, n a nutshell, busness prcess redesgn (BPR) s an ambtus and rule-breakng apprach fcussng n busness prcesses nstead f rgansatnal bundares. In ths paper we wll cncentrate n rethnkng busness prcesses. We wll nt dscuss the rgansatnal aspects f BPR, the rle f nfrmatn technlgy nr management and tranng ssues. Fr dscussns n these ther mprtant subjects, the reader s referred t Hammer and Champy [13] and Mrrs and Brandn [21]. By narrwng BPR dwn lke ths, three mprtant themes emerge: what, hw and by whm? What? Hw? Fgure 1: What, hw and by whm? By whm? 2.2 Hw? When we have determned what a cmpany shuld d, we have t determne hw t d t. Agan we shuld nt be hampered by exstng rules and assumptns. Prcesses, nt rgansatns, are the bject f BPR. Prcesses n a cmpany crrespnd t natural busness actvtes, but they are ften fragmented and bscured by rgansatnal structures. If we have fund a prcess t be redesgned, we shuld gve ths prcess a name and determne the nput and utput f the prcess. Then we determne the wrk that has t be dne between the and f the prcess,.e. all the requred steps are dentfed. We can thnk f a such step as a task r an actvty. Then we determne the rderng f these steps, e.g. task a has t be executed befre task b, but a can be executed n parallel wth task c. In Hammer and Champy [13] a number f gudelnes are gven t supprt ths actvty: The steps n a prcess shuld be perfrmed n a natural rder. Avd fragmentatn f related actvtes. If pssble, several steps are cmbned nt ne. If pssble, tasks are allwed t be executed n parallel. Avd cmplex prcesses t cpe wth cmplex actvtes. 2.1 What? What are the prme bjectves f a cmpany r busness unt? An attempt t reengneer a busness prcess shuld always wth ths questn. Cnsder fr example an autmble nsurance cmpany havng prblems wth the prcessng f clams because f the cntrl step t avd verbllng. Is t really necessary t check every clam? The bjectve f the nsurance cmpany s t reduce csts whle keepng the custmers happy. Therefre, t s nt necessary t apprve every clam befre the repar t take place. Select a number f garages that are checked perdcally. Ths way csts can be reduced whle keepng the custmers happy (damage s repared nstantly). Anther example s a truck cmpany havng prblems wth the dstrbutn f spare parts because regnal dstrbutn centres are runnng ut f stck frequently. By ncreasng the nventry levels n the regnal dstrbutn centres, we can mprve the custmers servce but the csts f stck keepng wll rse. Hwever, d we really need these regnal dstrbutn centres? By nvestng n rapd transprt, t may suffce t have nly ne central dstrbutn centre. These examples shw that we shuld always ask the basc questn: Why d we d what we d?. Make prcesses generc,.e. use multple versns f the same prcedure. Check whether mdern nfrmatn technlgy allws yu t mt steps. The result f applyng these gudelnes wll be a partally rdered set f tasks f steps. We wll use the term prcedure t refer t ths result. Nte that a prcedure des nt determne wh s dng the wrk,.e. a prcedure s just a recpe. 2.3 By whm? Fnally, we have t decde wh s gng t d the wrk and n what rder. By allcatng resurces (ften emplyees) t tasks, we are schedulng the busness prcess. We can use advanced schedulng technques t ptmze ths allcatn. Hwever, n practce smple and rbust heurstcs are mre apprprate. Therefre, we lst a number f gudelnes t supprt the cnstructn f these heurstcs. Reduce the number f peple nvlved n the executn f tasks related t ne jb. Thus avdng cmmuncatn and set-ups. Tasks are perfrmed where they make the mst sense. Reduce checks and cntrls as much as pssble. There shuld be a balance between specalsatn and generalsatn. There shuld be a balance between centralsatn and decentralsatn.
Snce Adam Smth s The Wealth f Natns ([25]), peple have been attemptng t break wrk nt ts smplest and mst basc tasks. Due t ths specalsatn, the prcesses have becme very cmplex. As a result the busness prcesses have becme hard t manage, thus causng lng prcessng tmes and a lt f wrk-n-prgress. Replacng a specalst by generalsts allws fr a smplfcatn f the busness prcesses. Mdern nfrmatn technlgy allws cmpanes t balance between centralsatn and decentralsatn. Ths way busness unts can be autnmus whle stll enjyng the benefts f centralsed cntrl (e.g. ecnmes f scale). cn cut Fgure 3: A classcal Petr net whch represents a machne What? Hw? By whm? bjectves tasks and prcedures resurces and schedulng cn cut Fgure 2: What, hw and by whm? Fgure 4: The state after frng Ths cncludes ur dscussn n busness prcess redesgn. We have seen that the rethnkng f busness prcesses bls dwn t answerng the What, hw and by whm? questn. In the remander we wll cncentrate n a frmalsm t supprt ths task. 3 Hgh-level Petr nets As ndcated by Hammer and Champy [13], BPR s characterzed by fur keywrds: fundamental, radcal, dramatc and prcess. Therefre we need a framewrk fr mdellng prcesses whch frces the user t examne the cre f the busness prcess, thus supprtng radcal and dramatc changes. In ths paper we use a framewrk based n hgh-level Petr nets. We wll shw that ths framewrk can be used t mdel and analyse busness prcesses. A hgh-level Petr net s a Petr net extended wth clur, tme and herarchy. We wth an nfrmal ntrductn t the classcal Petr net, fllwed by a shrt descrptn f each f the extensns. 3.1 The classcal Petr net mdel Hstrcally speakng, Petr nets rgnate frm the early wrk f Carl Adam Petr ([23]). Snce then the use and study f Petr nets has ncreased cnsderably. Fr a revew f the hstry f Petr nets and an extensve bblgraphy the reader s referred t Murata [22]. The classcal Petr net s a drected bpartte graph wth tw nde types called places and transtns. The ndes are cnnected va drected arcs. Cnnectns between tw ndes f the same type are nt allwed. Places are represented by crcles and transtns by rectangles wth a marked crner. (In lterature transtns are ften dsplayed as bars.) The marked crner s used t dstngush transtns frm subnets, see sectn 3.4. Places may cntan zer r mre tkens, drawn as black dts. The number f tkens may change durng the executn f the net. A place p s called an nput place f a transtn t f there exsts a drected arc frm p t t, p s called an utput place f t f there exsts a drected arc frm t t p. We wll use the net shwn n fgure 3 t llustrate the classcal Petr net mdel. Ths fgure mdels a machne whch prcesses jbs and has tw states ( and ). There are fur places (cn,, and cut) and tw transtns ( and ). In the state shwn n fgure 3 there are fur tkens; three n place cn and ne n place. The tkens n place cn represent jbs t be prcessed by the machne. The tken n place ndcates that the machne s and ready t prcess a jb. If the machne s prcessng a jb, then there are n tkens n and there s ne tken n. The tkens n place cut represent jbs whch have been prcessed by the machne. Transtn has tw nput places (cn and ) and ne utput place (). Transtn has ne nput place () and tw utput places (cut and ). A transtn s called enabled f each f ts nput places cntans enugh tkens. An enabled transtn can fre. Frng a transtn t means cnsumng tkens frm the nput places and prducng tkens fr the utput places,.e. t ccurs. Transtn s enabled n the state shwn n fgure 3, because each f the nput places (cn and ) cntans a tken. Transtn s nt enabled because there are n tkens n place. Therefre, transtn s the nly transtn that can fre. Frng transtn means cnsumng tw tkens, ne frm cn and
red rb black d:3241 prd:truck.a11 date:29-01-94 type:m35 mde:fm4 rr Fgure 5: A Petr net whch represents a ball-game ne frm, and prducng ne tken fr. The resultng state s shwn n fgure 4. In ths state nly transtn s enabled. Hence, transtn fres and the tken n place s cnsumed and tw tkens are prduced, ne fr cut and ne fr. Nw transtn s enabled, etc. Nte that as lng as there are jbs watng t be prcessed, the tw transtns fre alternately,.e. the machne mdelled by ths net can nly prcess ne jb at a tme. Smetmes there are multple arcs between a place and a transtn ndcatng that multple tkens need t be cnsumed/prduced. Cnsder fr example the net shwn n fgure 5. There are tw arcs cnnectng transtn rr and nput place red, ths means that rr s enabled f and nly f there are at least tw tkens n red. Ifrr fres, then tw tkens are cnsumed frm red and ne tken s prduced fr black. The Petr net shwn n fgure 5 mdels the fllwng game. The tkens n the places red and black represent red and black balls n an urn respectvely. As lng as there are at least tw balls n the urn, a persn takes tw balls frm the urn. If the balls are f the same clur, then a black ball s returned, therwse a red ball s returned. Transtn rb fres f the persn takes tw balls havng dfferent clurs. Transtn rr fres f tw red balls are taken, transtn bb fres f tw black balls are taken. It can be verfed that gven an ntal state there s precsely ne termnal state,.e. eventually a state s reached where n transtns are enabled. The classcal Petr net mdel has been used n many applcatn areas, e.g. cmmuncatn prtcls, flexble manufacturng systems and dstrbuted nfrmatn systems (see Murata [22]). Hwever, Petr nets descrbng real systems tend t be cmplex and extremely large. T slve these prblems, many authrs prpse extensns f the basc Petr net mdel. We wll dscuss three f these extensns; clur, tme and herarchy. Such extensns are a necessty fr the successful applcatn f Petr nets t the mdellng f large and cmplex systems. 3.2 Addng clur Tkens ften represent bjects (e.g. resurces, gds, humans) n the mdelled system. Therefre, we ften want t represent attrbutes f these bjects. If a truck s mdelled by a tken n the Petr net, then we may want t represent the capacty, regstratn number, lcatn, etc. f the truck. Snce these attrbutes are nt easly represented by a tken n a classcal Petr net, we extend the Petr net mdel wth clured r typed bb cn Fgure 6: Addng clur tkens. In a clured Petr net each tken has a value ften referred t as clur. Many clured Petr net mdels have been prpsed n lterature (cf. [2, 15, 17, 18]). One f the man reasns fr such an extensn s the fact that unclured nets tend t becme t large t handle. We wll use the machne mdelled n fgure 3 t clarfy ths cncept. Tkens n the places cn and cut represent jbs. These jbs may have attrbutes lke an dentfcatn number, a descrptn and a due-date. We can mdel ths by gvng the tkens n cn and cut a value (clur) whch crrespnds t these attrbutes. In fgure 6 we see that the jb n cn refers t a prduct TRUCK.A11 and has an dentfcatn number 3241 and a due-date 29-01-94. The tken n place represents a machne and ts value cntans nfrmatn abut ths machne (type and mde). Transtns determne the values f the prduced tkens n the bass f the values f the cnsumed tkens,.e. a transtn descrbes the relatn between the values f the nput tkens and the values f the utput tkens. It s als pssble t specfy precndtns, e.g. transtn may have a precndtn whch specfes that jbs requre a machne f a specfc type. 3.3 Addng tme Fr real systems t s ften mprtant t descrbe the tempral behavur f the system,.e. we need t mdel duratns and delays. Snce the classcal Petr net s nt capable f handlng quanttatve tme, we add a tmng cncept. There are many ways t ntrduce tme nt the classcal Petr net ([2]). We use a tmng mechansm where tme s asscated wth tkens and transtn determne delays. Cnsder the net shwn n fgure 7. Each tken has a tmestamp whch mdels the tme the tken becmes avalable fr cnsumptn. The tken n has tmestamp 0, the tkens n cn have tmestamps rangng frm 1 t 9. Snce these tmestamps ndcate when tkens becme avalable, transtn becmes enabled at tme 1. (Tme 1 s the earlest mment fr whch each f the nput places cntans a tken whch s avalable.) Therefre, transtn fres at tme 1, thereby prducng a tken fr wth delay 3. The tmestamp f ths tken s equal t 1+3=4. Transtn wll be the next t fre (at tme 4), etc. The delay f a prduced tken can be descrbed by a fxed value, an nterval r a prbablty dstrbutn (cf. [2, 9, 20, 22]). cut
0 machne 1 2 9 "d=3" cn Fgure 7: Addng tme cut arrve machne leave cn cut machne 3.4 Addng herarchy Fgure 8: The defntn f the machne system Althugh tmed clured Petr nets allw fr a succnct descrptn f many busness prcesses, precse specfcatns fr real systems have a tendency t becme large and cmplex. Ths s the reasn we prvde a herarchy cnstruct, called system. A system s an aggregate f places, transtns and (pssbly) subsystems. Fgure 8 shws the defntn f the machne system. Ths system s cmpsed f tw places ( and ) and tw transtns ( and ) and tw cnnectrs (cn and cut). These cnnectrs prvde an nterface wth the envrnment f the machne system. The cn cnnectr s an nput cnnectr (.e. tkens may enter the system va ths cnnectr), cut s an utput cnnectr (.e. tkens may leave the system va ths cnnectr). If a system s used then the cnnectrs are cnnected t places at a hgher level. Cnsder fr example the net shwn n fgure 9. In ths net the arrve machne machne machne leave Fgure 9: Three parallel machnes mdelled n terms f the machne system Fgure 10: The crrespndng flat net same defntn s nstalled three tmes. In ths case, fr each f these nstallatns the cn cnnectr s cnnected t the place arrve and the cut cnnectr s cnnected t the place leave,.e. the cnnectrs f the machne system are glued n tp f places at a hgher level. If we replace each system by t defntn we btan a flat net,.e. a net wthut herarchy. In fact, the semantcs f a net wth herarchy are gven by the crrespndng flat net. Fgure 10 shws the flat net whch crrespnds t the net shwn n fgure 9. Bth transtns and systems are able t cnsume and prduce tkens. In a sense, transtns are atmc systems,.e. systems wthut an nternal state. In ther wrds, a transtn s a memryless system. Therefre, we use smlar symbls fr transtns and systems. Bth transtns and systems are mdelled by rectangles and transtns have a marked crner t ndcate the fact that they are atmc. The system cncept allws fr herarchcal mdellng,.e. t s pssble t decmpse cmplex systems nt smaller subsystems. (Nte that t s pssble t have an arbtrary number f levels.) Fr practcal applcatns f Petr nets, the system cncept s f the utmst mprtance. The system cncept can be used t structure large specfcatns. At ne level we want t gve a smple descrptn f the system (wthut havng t cnsder all the detals). At anther level we want t specfy a mre detaled behavur. Fr a mre elabrate dscussn n herarchy cnstructs, the reader s referred t Jensen [17], van der Aalst [2, 7] and van Hee [15]. 3.5 Language and tls In the remander f ths paper we wll refer t Petr nets extended wth clur, tme and herarchy as hgh-level Petr nets.
Only a few hgh-level Petr net mdels (.e. herarchcal tmed clured Petr net mdels) have been prpsed n lterature. Even fewer hgh-level Petr net mdels are supprted by sftware tls. Nevertheless, there are at least tw sftware prducts, ExSpect ([2, 7, 16]) and Desgn/CPN ([17]), that are beng dstrbuted n a cmmercal bass. Bth sftware prducts prvde a graphcal nterface t create, mdfy and smulate hgh-level Petr nets. Mrever, they prvde analyss tls and reprtng facltes. T specfy the behavur f each transtn (.e. the number f tkens prduced and the value and delay f each prduced tken), Desgn/CPN prvdes an nscrptn language (expressns n the nput and utput arcs f a transtn). ExSpect (Executable Specfcatn Tl) uses a Z-lke specfcatn language (Spvey [26]) t descrbe the behavur f a transtn. Bth languages rgnate frm pure functnal languages. The apprach descrbed n ths paper s based n the sftware package ExSpect. ExSpect has been develped by the nfrmatn systems department f Endhven Unversty f Technlgy. Snce 1992, ExSpect s beng dstrbuted by Bakkenst 1. 3.6 Analyss f Petr nets The cmplexty f the desgn and cntrl prblems encuntered n mdern busness prcesses s ncreasng. Therefre, we need methds and technques t supprt bth the mdellng and analyss f these systems. Hgh-level Petr nets ften allw fr a representatn whch s clse t the prblem stuatn,.e. t s pssble t mdel the system n a natural manner. Ths representatn can be used as a ng pnt fr varus knds f analyss. In a sense, the Petr net representatn serves as an nterface between the prblem stuatn and the methd(s) f analyss. In fact, hgh-level Petr nets prvde a slver-ndependent medum that can be used t make a cncse blue-prnt f the busness prcess we want t analyse. Ths blue-prnt may be used at dfferent levels f decsn makng and can be used as a ng pnt fr varus means f analyss. Cmpared t the usual algrthmc appraches (where the emphass s n the analyss prcess rather than the mdellng prcess), ur apprach s characterzed by the fact that durng the mdellng prcess the user s nt shackled by the technques whch are gng t be used t analyse the mdel. Fr an vervew f the many analyss methds develped fr Petr nets the reader s referred t Jensen [18], Murata [22], Slva and Vallette [24] and [2, 3]. These methds can be used t prve prpertes (safety prpertes, nvarance prpertes, deadlck, etc.) and t calculate perfrmance measures (respnse tmes, watng tmes, ccupatn rates, etc.). In ths way t s pssble t evaluate alternatve desgns. 4 Mappng busness prcesses nt hgh-level Petr nets Hgh-level Petr nets are sutable fr the mdellng and analyss f busness prcesses. By usng a Petr net based framewrk, we are able t abstract frm rgansatnal aspects. T llustrate the applcatn f Petr-net t BPR, we wll shw hw these nets can be used t answer the What, hw and by whm? questn frmulated n sectn 2. 1 Bakkenst Management Cnsultants, Wsselwerkng 46, 1112 XR, Demen, The Netherlands. 4.1 What? After selectng a busness prcess t be redesgned, we determne the bundares f ths prcess. The nput and utput whch pass ths bundary sgnfy the meanng f ths prcess fr the cmpany. By fcussng n the nput and utput f a busness prcess, we shuld be able t destll the prme bjectves f ths prcess. Busness prcesses are mapped nt systems. The busness prcess t be reengneered s mdelled by an pen system,.e. a net exchangng tkens wth sme envrnment. Fgure 11 shws a busness prcess mdelled by a system wth ne nput place and ne utput place. We can determne what a busness prcess shuld d by bservng the busness prcess nput utput Fgure 11: A busness prcess s mdelled by a system relevant nteractns wth the envrnment,.e. nput and utput are nvestgated t determne the prme bjectves. Mdellng a busness prcess by a system frces us t recnsder the prme bjectves f a busness prcess. T llustrate the mappng f busness prcesses nt hgh-level Petr nets, we use a busness prcess n an autmble nsurance cmpany havng prblems wth the prcessng f clams. The prcess check clam handles clams related t car damage. If a clamant reprts car damage, ths prcess checks whether the clam s justfed. The nput f ths busness prcess s the nflw f clams f peple havng car damage, the utput s the utflw f clams that have been screened. The prcess check clam s mdelled by a system wth the same name. Fgure 12 shws that ths system has ne nput place (clam) and tw utput places (accepted clam and rejected clam). The tkens n these places represent clams. Place clam cntans clams that have t be checked. Clams n place accepted clam have been checked and turned ut t be justfed. Clams n place rejected clam have nt been accepted fr sme reasn. 4.2 Hw? If we have determned the nput and utput f a busness prcess, we fcus n the wrk that has t be dne between the and f the prcess. Frst, we dentfy the steps that are requred t d the wrk. Then we cnsder the rderng f these steps. We wll
clam clam check_ clam check_nsurance accepted_clam rejected_clam c1 Fgure 12: The prcess check clam use the term task nstead f the term step. A task s atmc whch means that t s cnsdered as an ndvsble amunt f wrk. Examples f tasks are: typng a letter, makng a telephne call, sgnng a dcument and makng an nvce. A busness prcess s cmpsed f a number f tasks, these tasks have t be executed n a partcular rder. Tasks are mapped nt transtns. Each task crrespnds t a transtn n the system whch represents the busness prcess t be reengneered. These transtns are lnked tgether by places and ther transtns, thus defnng a partal rderng f tasks. Ths way, we defne hw the busness prcess shuld wrk. At ths mment we d nt bther abut wh s gng t prcess these tasks, we nly determne the tasks requred and the rderng f these tasks. The prcess check clam requres three tasks: check nsurance, cntact garage and k?. The task check nsurance s executed t check whether the clamant s nsured fr the damage reprted. The task cntact garage s perfrmed t nqure abut the damage. If these tw tasks have been perfrmed, a decsn has t be made (task k?); the clam s accepted r nt. If transtn k? fres, t prduces ne tken. Ths tken s placed n utput place accepted clam r n utput place rejected clam, dependng n the results f the tw checks. Fgure 13 shws a pssble busness prcess cmpsed f these three tasks. The tasks are executed sequentally; frst check nsurance, then cntact garage and fnally k?. The tasks are represented by transtns and are lnked tgether by the places c1 and c2. Tkens n these tw places crrespnd t clams beng prcessed. The value f such a tken cntans nfrmatn abut the clam, e.g. clam number, name and address f clamant, lcense number, etc. It s nt a requrement that the three tasks are executed sequentally. The tasks check nsurance and cntact garage may be executed n parallel. Fgure 14 shws an alternatve busness prcess where these tw tasks are executed n parallel. The transtns frk and jn d nt represent tasks; they have been added t allw the tasks check nsurance and cntact garage t be executed n parallel. accepted_clam k? c2 cntact_garage rejected_clam Fgure 13: The prcess check clam (alternatve 1) Transtns such as frk and jn represent cntrl actvtes. Cntrl actvtes are used fr the rutng f wrk, synchrnsatn, etc. The places n a system whch represents a busness prcess are used t mdel the flw f wrk. Tkens n these places represent dcuments, sgnals, gds, frms, etc. The value f such a tken cntans nfrmatn abut the bject represented by the tken. Mst tkens have sme unque dentty, e.g. a dcument number r a case number. Prcedures are represented by systems. Systems may be cmpsed f subsystems (see sectn 3.4). Therefre, t s pssble t nest prcedures,.e. a cmplex prcedure may be cmpsed f less cmplex prcedures. The result f the hw -phase s a partally rdered set f tasks, represented n terms f a Petr net. In ths phase we d nt bther abut wh s gng t execute these tasks. Therefre, we wll use the term prcedure nstead f prcess. The fgures 13 and 14 shw tw alternatve prcedures fr the prcess check clam. Petr nets allw fr many analyss technques, see sectn 3.6. We can use these technques t analyse busness prcedures mdelled n terms f a Petr net. We can use Petr net thery t verfy the crrectness f a prcedure, e.g. absence f deadlck, nvarance prpertes, termnatn, etc. In fact, we can prve that, fr an external bserver, the tw prcedures shwn n fgure 13 and n fgure 14 behave (lgcally) the same!
c1 clam frk check_nsurance cntact_garage c2 In the by whm -phase we have specfy the lnk between tasks and resurces,.e. we have t descrbe a resurce manager whch assgns resurces t tasks. The resurce manager cntrls the allcatn f resurces. A resurce manager can be a persn, a cmputer system r a cmbnatn f the tw. In fgure 14 we have abstracted frm the fact that there are resurces. When we defne a prcedure, we assume that the tasks are executed nstantly. In realty ths s nt the case, sme tme passes between the mment a task emerges and the mment t s executed. Therefre, we have t mdel tasks by systems nstead f transtns. In fgure 14, we have t replace the transtns check nsurance, cntact garage and k? by three systems. Each f these systems s cmpsed f tw transtns and ne place, see fgure 15. Transtn execute fres when the task s actvated by a tken n the place c3 c4 cn execute execute_task jn c5 et cmplete k? task_cmpleted accepted_clam 4.3 By whm? rejected_clam Fgure 14: The prcess check clam (alternatve 2) A prcedure des nt determne wh s dng the wrk, e.g. fgure 14 des nt specfy whch emplyee wll check the nsurance f the clamant. In the by whm -phase we decde wh s gng t d the wrk and n what rder. By allcatng resurces t tasks, we are schedulng the busness prcess. We use the term resurce t dente sme entty capable f prcessng certan tasks, e.g. a persn r a machne. Resurces are able t perfrm a lmted set f tasks. A resurce class s a set f smlar resurces. Each task requres resurces frm a gven resurce class. A grup f telephne peratrs, a grup f ffce emplyees and a grup f clam apprasers are examples f resurce classes. cut Fgure 15: A task s a system cmpsed t tw transtns cnnected t utput cnnectr cn. Transtn cmplete fres when the task has been cmpleted and prduces a tken fr the place cnnected t utput cnnectr cut. The utput cnnectr execute task and the nput cnnectr task cmpleted are cnnected t a resurce manager. If transtn execute fres, a tken s sent t the resurce manager va utput cnnectr execute task. The value f ths tken cntans nfrmatn abut the task 2 t be executed (e.g. dentfcatn, wrklad and resurce class). When ths task has been executed, the resurce manager sends a tken t the task va nput cnnectr task cmpleted. The tkens n place et represent tasks that have nt been cmpleted yet. Transtn cmplete has a precndtn whch makes sure that the prper task s remved frm place et when a tken arrves va nput cnnectr task cmpleted. 2 We als use the term task t dente a task nstance.
If we replace each transtn whch represents a task by a system, we btan the Petr-net shwn n fgure 16. The resurce manager s als mdelled by a system and the places c1 frk clam c2 () a task dentfcatn, the name r the cde f a task, () a resurce class, a task requres a resurce frm a specfc resurce class, (v) and sme addtnal nfrmatn abut the task t be executed (e.g. prrtes, due dates). The resurce manager uses ths nfrmatn t schedule the tasks t be executed. A resurce manager s a scheduler whch allcates resurces t tasks,.e. t decdes wh s gng t d the wrk and n what rder. We can use advanced schedulng technques t ptmze ths allcatn. Hwever, n practce smple and rbust heurstcs are mre apprprate. Fgure 17 shws a system whch mdels a very smple resurce manager. In c3 check_nsurance cntact_garage c4 execute_task resurce_manager execute_task begn jn task_cmpleted end c5 task_cmpleted accepted_clam k? rejected_clam Fgure 16: The prcess check clam wth resurces execute task and task cmpleted have been added t enable the cmmuncatn between the tasks and the resurce manager. In ths case the tasks check nsurance, cntact garage and k? are cnnected t the same resurce manager. Hwever, t s als pssble t have multple resurce managers. A tken exchanged va execute task has a value whch cntans nfrmatn abut the task t be executed. The value f such a tken s typcally cmpsed f: () a jb dentfcatn, tasks are executed n behalf f a specfc case (e.g. a clam, an artcle, an rder), Fgure 17: A very smple resurce manager ths case, each resurce s mdelled by a tken n r. A tken n place crrespnds t a resurce whch s ready t execute a task. A tken n crrespnds t a resurce whch s executng a task. The tkens n the nput place execute task represent tasks watng t be executed. Transtn begn fres when a resurce s prcessng a task. Transtn begn has a precndtn whch makes sure that a resurce frm the prper resurce class s allcated t the task t be executed. The tasks are executed n frst-n-frst-ut (FIFO) rder. If transtn begn fres, then t prduces a tken fr place wth a delay. Ths delay crrespnds t the tme requred t execute the task. Transtn end fres when a task has been executed. We can als mdel a resurce manager whch uses advanced schedulng technques. In ths case, the resurce manager uses mre nfrmatn abut the task t be scheduled. By assgnng a prrty t each task, we can favur an mprtant task abve less mprtant tasks. We can use mst f the prrty rules fr rule based schedulng (cf. Haupt [14]). Typcal prrty rules are: SPT (shrtest prcessng tme), MWKR (mst wrk remanng), LWKR (least wrk remanng), DD (earlest due-date), etc.
Fgure 16 lks rather cmplcated because f the cnnectns between the tasks and the resurce manager. Hwever, we can autmate the cnstructn f ths part f the fgure. We nly have t descrbe the prcedure (see fgure 14) and the schedulng rules used by the resurce manager t specfy the busness prcess cmpletely. 4.4 Example By mdellng a prcedure and a resurce manager we are able t analyse the resultng busness prcess. Petr net based analyss technques can be used t evaluate the perfrmance f the mdelled busness prcess. We can use these technques t calculate the estmated thrughputf a prcess, the average thrughput tme f a jb, the estmated ccupatn rate, etc. Fr example, we are able t cmpare the perfrmance f the tw prcedures shwn n fgure 13 and 14 (gven a wrklad and a schedulng dscplne). Assume that the arrval f clams that have t be checked by the prcess check clam can be descrbed by a Pssn arrval prcess (.e. the tme between tw arrvals s negatve expnentally dstrbuted). The average tme between tw arrvals s 10 mnutes. Mrever, there are three ffce emplyees; Cndy, Jhn and Laura. Cndy s qualfed t cntact the garage (task cntact garage), Jhn can d tw types f tasks; check nsurance and k?. Laura s the nly ne qualfed t d all three types f tasks. We assume that the tme requred t execute a task s ndependent f the persn executng the task. Task cntact garage takes between 5 and 7 mnutes (unfrmly dstrbuted). The ther tw tasks take between 2 and 4 mnutes (unfrmly dstrbuted). We use smulatn t cmpare the tw prcedures descrbed n sectn 4.2, see fgure 18. Durng the smulatn f these tw alternatves, we measured the average thrughputtme f clams and the ccupatn rate f each ffce emplyee. Table 1 reprts the average thrughputtme f clams and the ccupatn rate fr the tw alternatves. Ths table subrun average thrughputtme ccupatnrate alternatve 1 alternatve 2 alternatve 1 alternatve 2 Cndy Jhn Laura Cndy Jhn Laura 1 13.34 10.76 41.6 35.6 40.4 37.3 41.1 41.0 2 13.19 11.33 41.3 35.2 40.2 37.2 40.7 40.8 3 13.42 10.97 41.5 35.7 40.3 37.2 40.9 40.9 4 12.96 10.48 41.6 35.2 39.8 36.9 41.0 41.2 5 13.44 10.52 40.8 35.3 39.9 37.1 41.3 41.2 6 13.31 10.61 41.1 35.6 40.1 36.9 41.4 41.1 7 13.27 10.50 41.2 35.7 40.2 37.3 41.0 41.3 8 13.25 10.75 41.3 35.3 40.4 37.0 41.2 41.4 9 13.27 10.98 41.7 35.2 40.6 37.6 41.1 41.0 10 13.50 10.97 41.6 35.8 40.5 37.3 41.2 40.9 Table 1: Sme smulatn results shws that alternatve 2 s preferable. The average thrughputtme f clams s reduced c1 c3 accepted_clam Alternatve 1 Alternatve 2 frk clam check_nsurance cntact_garage jn k? c5 c2 c4 rejected_clam accepted_clam k? clam c1 c2 check_nsurance cntact_garage Fgure 18: Tw alternatve prcedures fr the prcess check clam rejected_clam by the parallel executn f the tasks cntact garage and check nsurance. In bth alternatves, the wrklad s balanced ver the emplyees. We have used the Petr net based tl ExSpect ([7, 16]) t btan the results presented n table 1. By usng ths tl we can mdel bth alternatves n half an hur. Smulatng ne alternatve fr 70 days takes abut 5 mnutes n a SUN/SPARC wrkstatn. 4.5 Summary f the What, hw and by whm apprach In ths sectn we shwed that t s pssble t mdel busness prcesses n terms f hgh-level Petr nets. We dentfed three phases; (1) the What? phase, (2) the Hw? phase and (3) the By whm? phase. In the What? phase we dentfy the prcess t be reengneered. Ths prcess s mapped nt a system. In the Hw? phase we dentfy the requred tasks and the rderng f these tasks,.e. we defne a prcedure. Such a prcedure s mapped nt a system cmpsed f transtns and places. The tasks n ths prcedure are mapped nt transtns. Cntrl actvtes fr synchrnsatn and the rutng f wrk are als mdelled by transtns. The flw f wrk s mdelled by places. The By whm? phase s the fnal phase. In ths phase we allcate resurces t tasks. In ths phase we mdel tasks by systems nstead f transtns. Mrever, we add a system fr each resurce manager.
5 Cnclusn Several ther technques have been prpsed t supprt busness prcess reengneerng effrts. Dagrammng technques such as flwcharts, decsn trees, Warner-Orr dagrams, state transtn dagrams, fshbne dagrams, herarchy charts, dataflw dagrams and busness actvty maps (cf. Mrrs and Brandn [21]) have been used t represent busness prcesses. Mst f these technques suffer frm tw mprtant drawbacks: (1) the lack f frmal semantcs and (2) the absence f pwerful analyss methds and tls. Hgh-level Petr nets have a frmal semantcs. A Petr net mdel f a busness prcess s a precse and unambguus descrptn f the behavur f the mdelled prcess. The precse nature and the frm mathematcal fundatn f Petr nets have resulted n an abundance f analyss methds and tls. Despte f the frmal backgrund, Petr nets are easy t understand. The graphcal nature can be used t vsualse busness prcesses n a natural manner and supprts the cmmuncatn between peple nvlved n a BPR prject. The What, hw and by whm? apprach presented n ths paper can be used t mdel busness prcesses n a step by step manner. Imprvng an exstng busness prcess requres a thrugh understandng f ths prcess. Ths can be acheved by mdellng the as s prcess. The mdel f the as s prcess can be used as a steppng stne fr mdels f t be alternatves. Analyss technques, such as smulatn, can be used t cmpare the as s mdel wth the t be mdels. The buzzwrds busness prcess reengneerng and wrkflw management are ften bracketed tgether. Wrkflw management s cncerned wth the cntrl f busness prcesses. Wrkflw management sftware allws fr new busness prcesses,.e. recent develpments n nfrmatn technlgy enable cmpanes t reengneer busness prcesses. The apprach presented n ths paper can als be used t reengneer wrkflw prcesses and t (re)cnfgure wrkflw management systems (cf. Van der Aalst, van Hee and Huben [6] and Ells and Nutt [11]). Practcal experences shw that the What, hw and by whm? apprach s especally useful fr the mdellng and analyss f ffce lgstcs. References [1] W.M.P. van der Aalst. Mdellng and Analyss f Cmplex Lgstc Systems. In H.J. Pels and J.C. Wrtmann, edtrs, Integratn n Prductn Management Systems, vlume B-7 f IFIP Transactns, pages 277 292. Elsever Scence Publshers, Amsterdam, 1992. [2] W.M.P. van der Aalst. Tmed clured Petr nets and ther applcatn t lgstcs. PhD thess, Endhven Unversty f Technlgy, Endhven, 1992. [3] W.M.P. van der Aalst. Interval Tmed Clured Petr Nets and ther Analyss. In M. Ajmne Marsan, edtr, Applcatn and Thery f Petr Nets 1993, vlume 691 f Lecture Ntes n Cmputer Scence, pages 453 472. Sprnger-Verlag, New Yrk, 1993. [4] W.M.P. van der Aalst. Mdellng and analyss f prductn systems usng a Petr net based apprach. In T.O. Bucher, M.A. Jafar, and E.A. Elsayed, edtrs, Prceedngs f the cnference n Cmputer Integrated Manufacturng n the Prcess Industres, pages 179 193, East Brunswck, USA, 1994. [5] W.M.P. van der Aalst. Puttng Petr nets t wrk n ndustry. Cmputers n Industry, 25(1):45 54, 1994. [6] W.M.P. van der Aalst, K.M. van Hee, and G.J. Huben. Mdellng wrkflw management systems wth hgh-level Petr nets. In Prceedngs f the secnd Wrkshp n Cmputer-Supprted Cperatve Wrk, Petr nets and related frmalsms, 1994. [7] W.M.P. van der Aalst and A.W. Waltmans. Mdellng lgstc systems wth EXSPECT. In H.G. Sl and K.M. van Hee, edtrs, Dynamc Mdellng f Infrmatn Systems, pages 269 288. Elsever Scence Publshers, Amsterdam, 1991. [8] R. Ardhaldjan and M. Fahner. Usng smulatn n the busness prcess reengneerng effrt. Industral engneerng, pages 60 61, July 1994. [9] B. Berthmeu and M. Daz. Mdellng and verfcatn f tme dependent systems usng Tme Petr Nets. IEEE Transactns n Sftware Engneerng, 17(3):259 273, March 1991. [10] T.H. Davenprt. Prcess nnvatn : reengneerng wrk thrugh nfrmatn technlgy. Harvard Busness Schl Press, Bstn, 1993. [11] C.A. Ells and G.J. Nutt. Mdellng and Enactment f Wrkflw Systems. In M. Ajmne Marsan, edtr, Applcatn and Thery f Petr Nets 1993, vlume 691 f Lecture Ntes n Cmputer Scence, pages 1 16. Sprnger-Verlag, New Yrk, 1993. [12] M. Hammer. Reengneerng wrk: Dn t autmate, Oblterate. Harvard Busness revew, pages 104 112, July/August 1990. [13] M. Hammer and J. Champy. Reengneerng the crpratn. Nclas Brealey Publshng, Lndn, 1993. [14] R. Haupt. A survey f prrty rule-basedschedulng. OR Spectrum, 11:3 16, 1989. [15] K.M. van Hee. Infrmatn System Engneerng: a Frmal Apprach. Cambrdge Unversty Press, 1994.
[16] K.M. van Hee, L.J. Smers, and M. Vrheve. Executable specfcatns fr dstrbuted nfrmatn systems. In E.D. Falkenberg and P. Lndgreen, edtrs, Prceedngs f the IFIP TC 8 / WG 8.1 Wrkng Cnference n Infrmatn System Cncepts: An In-depth Analyss, pages 139 156, Namur, Belgum, 1989. Elsever Scence Publshers, Amsterdam. [17] K. Jensen. Clured Petr Nets: A Hgh Level Language fr System Desgn and Analyss. In G. Rzenberg, edtr, Advances n Petr Nets 1990, vlume 483 f Lecture Ntes n Cmputer Scence, pages 342 416. Sprnger-Verlag, New Yrk, 1990. [18] K. Jensen. Clured Petr Nets. Basc cncepts, analyss methds and practcal use. EATCS mngraphs n Theretcal Cmputer Scence. Sprnger-Verlag, New Yrk, 1992. [19] K. Jensen and G. Rzenberg, edtrs. Hgh-level Petr Nets: Thery and Applcatn. Sprnger-Verlag, New Yrk, 1991. [20] M. Ajmne Marsan, G. Balb, and G. Cnte. A Class f Generalsed Stchastc Petr Nets fr the Perfrmance Evaluatn f Multprcessr Systems. ACM Transactns n Cmputer Systems, 2(2):93 122, May 1984. [21] D. Mrrs and J. Brandn. Reengneerng yur busness. McGraw-Hll, New Yrk, 1993. [22] T. Murata. Petr Nets: Prpertes, Analyss and Applcatns. Prceedngs f the IEEE, 77(4):541 580, Aprl 1989. [23] C.A. Petr. Kmmunkatn mt Autmaten. PhD thess, Insttut für nstrumentelle Mathematk, Bnn, 1962. [24] M. Slva and R. Valette. Petr Nets and Flexble Manufacturng. In G. Rzenberg, edtr, Advances n Petr Nets 1989, vlume 424 f Lecture Ntes n Cmputer Scence, pages 274 417. Sprnger-Verlag, New Yrk, 1990. [25] A. Smth. The Wealth f Natns. 1776. [26] J.M. Spvey. The Z Ntatn: A Reference Manual. Prentce-Hall, Englewd Clffs, 1989.