PTTERN SED NLYSIS OF EI LNGUGES THE SE OF THE USINESS MODELING LNGUGE Peti Wohed, Erik Perjons Stokholm University/The Royl Institute of Tehnology Forum 100, 164 40 Kist, Sweden {peti, perjons}@dsvsuse Mrlon Dums, rthur ter Hofstede Queenslnd University of Tehnology GPO ox 2434, risne QLD 4001, ustrli {mdums, terhofstede}@quteduu Key words: strt: Enterprise pplition Integrtion, Workflow nd ommunition ptterns Enterprise pplition Integrtion (EI) is hllenging re tht is ttrting growing ttention from the softwre industry nd the reserh ommunity lndspe of lnguges nd tehniques for EI hs emerged nd is ontinuously eing enrihed with new proposls from different softwre vendors nd olitions However, little or no effort hs een dedited to systemtilly evlute nd ompre these lnguges nd tehniques The work reported in this pper is first step in this diretion It presents n in-depth nlysis of lnguge, nmely the usiness Modeling Lnguge, speifilly developed for EI The frmework used for this nlysis is sed on numer of workflow nd ommunition ptterns This frmework provides sis for evluting the dvntges nd drwks of EI lnguges with respet to reurrent prolems nd situtions 1 INTRODUTION The prdigmti shift from funtionl to proess (ross-funtionl) oriented pproh of informtion system development during the lst yers, rises new demnds for integrting the underlying informtion systems The tehnil prolems eliited during suh integrtion hve eome the min topi of Enterprise pplition Integrtion (EI), the purpose of whih is the integrtion of individul pplitions into semless whole, with minimum oding effort One of the tehniques for EI is to extrt ll the proess logi nd to enpsulte it in one ple (the Proess roker), seprted from the pplition logi whih is implemented y the underlying pplitions proess roker ommunites with the surrounding pplitions y mens of messges nd exeutes ording to the logi implemented in it (Linthium, 00) During the lst yers numer of tehniques nd pltforms for developing proess rokers hve een developed y different softwre vendors, eg (IM, 02; ION, 02; HP, 02; Vitri, 02) These pltforms implement proprietry modelling lnguges nd nottions With the ontinuously inresing numer of suh lnguges, the need of n in-depth omprison Reserh onduted while t the Queenslnd University of Tehnology of them eomes more nd more ovious The work presented in this pper is first step in this diretion n nlysis frmework sed on numer of workflow nd ommunition ptterns hs een used for nlyzing one of these lnguges, nmely the usiness Modeling Lnguge (ML) (Wåhlnder et l, 01; Johnnesson nd Perjons, 01) The ontriution of the pper is twofold: (i) the indepth nlysis of ML; nd (ii) the ssemlge nd testing of the frmework through this nlysis ML ws seleted s the strting lnguge for the nlysis, euse it is messge oriented proess modeling lnguge sed on ommuniting stte mhines This feture lerly distinguishes ML from the tivity-sed proess modeling lnguges implemented y trditionl Workflow Mngement Systems (WFMS), for whih n extensive omprison hs lredy een provided in (lst et l, 02) lthough the nlysis provided here is speifilly trgeted to ML, mny of the results re pplile to other lnguges of the sme fmily, suh s SDL 1 The frmework used for the nlysis is omposed of two prts: set of workflow ptterns identified y vn der 1 SDL - Strutured nd Desription Lnguge (ITU, 01) ws developed y the Interntionl Teleommunition Union for the purposes of speifying teleommunition servies 1
pplition pplition pplition D pplition pplition pplition D pplition pplition lst et l (lst et l, 02) Workflow (WF) pttern is n strted form of reurring sitution relted to the ordering of the tivities in workflow The WF ptterns defined in (lst et l, 02) re lnguge nd domin independent, mking them suitle nlysis instrument esides, they hve een suessfully used for ompring numer of ommeril WFMS (lst et l, 02), nd for nlyzing the expressive power of UML tivity digrms (Dums nd ter Hofstede, 01) set of ommunition ptterns desried in (Ruh et l, 01) Sine messges re the wy in whih proess roker ommunites with the pplitions tht it integrtes, this is neessry prt for hieving omprehensive nlysis This frmework is omplementry to the one presented in (Söderström et l, 02) This ltter frmework ddresses similr prolem: the ontinuously inresing numer of new proess modeling lnguges nd the need to understnd nd ompre them However it is intended to e used y IS/IT-mngers, usiness strtegists nd other stkeholders involved in usiness proess mngement, whih puts it t higher level of strtion thn the frmework proposed in this pper The rest of the pper is strutured s follows Setion 2 gives n overview of the EI domin nd introdues riefly the ML lnguge In setions 3 nd 4 the ML lnguge is evluted ginst the set of workflow nd ommunition ptterns Finlly, setion 5 onludes the work nd gives diretions for future reserh 2 KGROUND 21 EI We dopt Linthium s definition of enterprise pplition integrtion s the unrestrited shring of dt nd usiness proesses mong ny onneted pplitions nd dt soures in the enterprise (Linthium, 00) The point of deprture when pplying EI is filitting shring of dt nd proesses without pplying extensive hnges to the existing pplition nd dt strutures The pprohes used for EI hve evolved from deploying Point-to-Point solutions, to Messge roker rhitetures, nd then to Proess roker rhitetures (see fig 1, reprinted from (Johnnesson nd Perjons, 01)) This line of development lerly revels the two min fores driving it, nmely: 1) omplexity redution, y moving from Point-to-Point to Messge roker rhiteture, nd 2) proess logi extrtion nd enpsultion, whih is the essene of extending the messge rokers into proess rokers Seprting in this wy the proess logi from the pplition logi improves flexiility nd filittes mintenne pplition pplition pplition pplition D pplition pplition Messge roker pplition pplition D Figure 1: rhitetures of EI pplition pplition Proess roker pplition Person tehnology relted to the Proess rokers is tht of Workflow Mngement Systems (WFMS) The WFMS were initilly designed for mnging ommunition sed on doument routing Wheres the first genertion of WFMS imed to support simple tsk oordintion, the next genertion workflow tehnologies put the usiness proess in fous Following the development further, the workflow ommunity hs extended the prolem domin to even spn over enterprise-wide nd inter-orgniztionl workflows in the lst yers result from this is the development of the Wf-XML lnguge (WfM, 00), y the Workflow Mngement olition The Wf-XML lnguge defines numer of XML messge templtes, the instnes of whih n e used for inititing, monitoring nd ontrolling usiness proesses in/y remote systems 22 Overview of ML The usiness Modeling Lnguge (ML) (Wåhlnder et l, 01; Johnnesson nd Perjons, 01) is messge oriented proess modeling lnguge sed on ommuniting stte mhines proess digrm (see the right-hnd side in fig 2) models the sttes of proess nd wht is performed/proessed during the trnsitions etween these sttes During the trnsitions messges n e sent, utomted tsks n e performed, nd/or utomted deisions n e mde For eh proess digrm there is numer of proess instnes, tht re reted t runtime The proess instnes exeute independently of eh other, ut n ommunite y sending nd reeiving messges Eh instne hs n input queue (left-hnd side in fig 2), where reeived messges re stored proess instne n either e witing in stte or performing trnsition from one stte to nother trnsition is initited when messge in the input queue is onsumed or timer hs expired Following the exmple in fig 2, proess instne strts in Strt stte ( irle with the nme Strt) Only the messges m1 from proess nd m2 from proess n initite trnsition The messge m1 2
is first in the queue nd is therefore onsumed, nd the proess instne performs trnsition to the stte Wit for Event 1 During the trnsition messge m3 is sent to humn tor D nd timer T1 is strted Therefter the messge m9 is first in the queue Sine only messge m5 n initite further trnsition from Wit for Event 1, messge m9 is disrded (sent to the k of the queue) The next messge in the queue is then m5, whih initites utomted usiness Deision 1 nd the proess instne ontinues following the pth stisfying the speified usiness rule m10 m5 m9 proess m1 Strt proess messge m2 proess messge m1 utomted usiness tivity 1 humn tor D messge m3 pplition messge m4 Strt TimerT1 Wit for Event 1 humn tor D messge m5 Expire TimerT1 utomted usiness Deision 1 ~ Figure 2: proess instne with the input queue The min ML symols re s follows Wit for Event nd Strt: proess instne is witing in Wit for Event stte until messge is reeived or timer hs expired The strting stte is indited y Wit for Event symol nmed Strt The end of the flow of proess is desried y the symol Messge desries the onsumption of messge from the input queue nd Messge desries the sending of messge utomted usiness tivity defines opertions tht will e performed on the proess instne utomted usiness Deision defines how the ontrol flow is dynmilly hnged depending on different usiness rules Strt Timer nd Expire Timer pture the notion of time, whih filittes delys supervision When timer is strted it is provided with timeout vlue pplition nd Humn tor re oth symols denoting externl tors nd like the Proess symol they re used to model the sender/reipient of messge Eh proess digrm hs furthermore dt model tht desries the dt hndled in the model s well s the struture of the different messges exhnged during the proess exeution 3 WORKFLOW PTTERNS IN ML In this setion, we onsider suset of the 20 workflow ptterns presented in (lst et l, 02), nd we disuss how nd to wht extent these ptterns n e expressed in ML The ptterns onsidered here hve een seleted euse they put forwrd importnt strengths, weknesses, or speifiities of ML with respet to lterntive tivity-sed usiness proess modelling lnguges In prtiulr, we do not onsider ptterns tht diretly orrespond to primitive ML onstruts suh s the sequene pttern, the exlusive hoie pttern (wherey one mong severl rnhes is hosen sed on ondition), nd the simple merge pttern (the dul of the exlusive hoie, ie severl rnhes of whih only one is tive t moment, reonverge into one single rnh) 31 Prllel Split Desription point in the proess where single thred of ontrol splits into multiple threds of ontrol whih n e exeuted in prllel, thus llowing tivities to e exeuted simultneously or in ny order 2 Exmple fter tivity new ellphone susription order the tivity insert new susription in Registry pplition (Home Lotion Registry pplition) nd insert new susription in Moile nswer pplition re exeuted in prllel Solution In mny ontemporry workflow lnguges, this pttern is ptured y primitive opertor whih retes two prllel rnhes (or threds) within the sme proess In ontrst, ML does not support multiple threds within single proess instne Insted, prllel split is relized y simultneously reting instnes of two or severl (su-)proesses, whih then run in prllel (see fig 3) This feture is inherent to lnguges sed on ommuniting stte mhines (SDL for exmple) sine stte mhine n only e in one stte t time 3 Strt Strt Figure 3: Prllel Split 32 Synhroniztion Desription point in the proess where multiple prllel rnhes (ie su-proesses or tivities) onverge into one single thred of ontrol, thus synhronizing multiple threds (see lso (WfM, 99)) It is n ssumption of this pttern tht fter n inoming rnh hs een ompleted, it nnot e ompleted gin while the merge is still witing for other 2 This definition is lose to the definition introdued y WFM in (WfM, 99) 3 Hrel s sttehrts (Hrel, 87) nd similr formlisms re n exeption They re sed on stte mhines ut support prllel rnhes 3
rnhes to e ompleted lso, it is ssumed tht the threds to e synhronized elong to the sme glol proess instne (ie, to the sme se in workflow terminology) Exmple tivity rhive is exeuted fter the ompletion of oth tivity send tikets nd tivity reeive pyment Oviously, the synhroniztion ours within single glol proess instne: the send tikets nd reeive pyment must relte to the sme lient request (ie no synhroniztion ours etween the pyment of lient X nd the sending of the tikets to lient Y) Solution s disussed in the previous pttern, the threds to e synhronized re modelled in ML s distint proesses running in prllel These prllel proesses re denoted y nd in fig 4 To e le to synhronize, nd send messge to n lredy running instne of proess lled, whih ts s synhronizer The synhronizer wits for messges from oth nd nd then triggers the tivity or su-proess to e performed fter the synhroniztion point, whih in our exmple is tivity D Strt Strt Figure 4: Synhroniztion & in This solution presupposes tht the instnes of nd know to whih instne of they hve to send their synhroniztion messges Hene, instnes of nd must e provided t retion time with the identifier of the instne of whih will t s their synhronizer This in turn mens tht for every synhroniztion point there is orresponding prllel split, suh tht when the split is rehed, it is known for ertin tht the synhroniztion point will e rehed s well, nd therefore, it is ler tht n instne of needs to e reted nd its identifier needs to e given to oth nd This is not the se in the presene of ritrry (non-strutured) yles, ie yles going from point within lok delimited y prllel split nd synhroniztion point, to point preeding this region In these ses, when the prllel split is rehed, it is not known for ertin whether the orresponding synhroniztion point will e rehed or not Indeed, it my hppen tht the ritrry yle in the middle of the lok is tken, so tht the proess no yes D quits the lok efore rehing the synhroniztion point (Kiepuszewski et l, 00) nlyzes the properties of proesses ontining suh ritrry yles, nd identifies situtions in whih suh yles nnot e removed (or unfolded ) without hnging the ehviour of the proess However, we hve not yet found prtil situtions involving suh unfoldle ritrry yles in the ontext of EI 33 Multi-Merge Desription point in proess where two or more rnhes reonverge without synhroniztion If more thn one rnh gets tivted, possily onurrently, the tivity following the merge is strted for every tion of every inoming rnh Exmple Two tivities udit pplition nd proess pplitions running in prllel, should oth e followed y n tivity lose se, whih must e exeuted twie if the tivities udit pplition nd proess pplitions re oth exeuted Solution Two different solutions pply for this pttern The first one is s proposed y vn der lst et l in (lst et l, 02) It is sed on replition of the tivities triggered fter the merge, so tht they re inluded in eh prllel proess The seond solution (see fig 5) voids this replition y strting new proess instne of seprte proess, where the tivities following the merge re pled In this wy new proess instne is reted eh time one of the triggering tsks is ompleted s with the Synhroniztion pttern, this solution ssumes tht for every synhronizing merge, there is single orresponding multi-hoie point (or prllel split), tht preedes it nd tht strts the su-proesses to e synhronized Strt Strt d d Figure 5: Multi-Merge 34 N out of M Join d Strt Desription point in the proess where M prllel threds onverge into one The susequent tivity or su-proess should e tivted one N out of these M threds hve ompleted (N M) The ompletion of ll remining threds is ignored This pttern hs een identified in (sti et l, 95), where it is lled prtil join The Synhroniztion pttern presented ove is speil se of the N out of M pttern, where N = M D 4
Exmple To improve query response time, omplex serh is sent to two lterntive dtses over the Internet The first one tht omes up with the result should proeed the flow The seond result is ignored Solution s in the Synhroniztion pttern, the M inoming rnhes re modelled in ML s suproesses running in prllel (su-proesses 1,,M in fig 6) These su-proesses re triggered from prent proess Upon ompletion, eh of these su-proesses sends messge k to, whih wits until it reeives N messges from the su-proesses 1,,M, efore proeeding with the next tivity (tsk in fig 6) ssuming tht the proess never returns to the stte Wit, fter the exeution of tsk, the messges from 1,,M reeived from this point on, will not e onsumed 1 Strt M Strt m 1 1 M Wit 1 m Figure 6: N out of M join N in This solution ssumes tht the proess is not involved in loop If this ws the se, proess would ome k to the stte Wit in the seond itertion of the loop, nd onsequently, messges from 1,,M tht should e ignored, would now e onsumed In other words, ompletion messges relted to the first itertion of the loop would e mixed with ompletion messges relted to the seond itertion To void this hppening, solution is to trnsform the loop into reursive ll to proess 4 In other words, when n instne of proess rehes point where loop should e tken, new instne of proess is reted to hndle the next itertion of the loop Eventully, this new instne will rete instnes of 1,,M nd will synhronize them However, eh instne of 1,,M will e ssoited to unique instne of, therey eliminting the possiility of mixing instnes reted in different itertions of the loop However, this trnsformtion of loops into reursive lls is only possile if the loops re strutured (ie there re no unfoldle ritrry yles), s disussed in the Synhroniztion pttern 4 In MQSeries workflow, loops re lso modelled through suh reursive or itertive invotions to proess no yes 35 Multiple Instnes without Priori Runtime Knowledge Vn der lst et l present fmily of ptterns tht involve the retion of multiple instnes of n tivity or suproess (lst et l, 02) For spe resons, we only onsider the most omplex of these ptterns The other ptterns of this fmily n e hndled y restriting the solution to this pttern Desription point in workflow proess where n tivity is enled multiple times The numer of instnes of tht need to e enled is not known until ll these instnes hve een reted fter ll the reted instnes of hve ompleted, terminting tivity E hs to e exeuted one Exmple When ooking trip, the tivity ook flight is exeuted multiple times if the trip involves multiple flights One ll ookings re mde, n invoie is sent to the lient How mny ookings re mde is only know t runtime through intertion with the user Solution In ML, this pttern is implemented y three proesses tht ommunite with eh other: one wrpping the tivity, lled proess ; seond one proess, for inititing the neessry numer of instnes of the proess ; nd third one proess, tht wits for the ompletion of ll initited instnes of proess efore exeuting tivity E Proess reeives from proess the numer n of instnes of proess tht it needs to wit for, efore inititing tsk E This solution is presented in figure 7 Initilizing of the ounters n nd i to zero is done t strt time S Strt Strt Strt new S Yes/ No n Yes /No n=0 i:=i+1 n no yes n=i or n=0 n:=n+1 Figure 7: MI without priori runtime knowledge yes no E 5
36 Deferred hoie Desription point in proess where one mong severl lterntive rnhes is hosen sed on informtion whih is not neessrily ville when this point is rehed This differs from the norml exlusive hoie, in tht the hoie is not mde immeditely when the point is rehed, ut insted severl lterntives re offered to the proess roker, nd the hoie is delyed until signl is reeived Exmple When ontrt is finlised, it hs to e reviewed nd signed either y the diretor or y the opertions mnger, whoever is/re ville first The proess roker will notify oth the diretor nd the opertions mnger tht the ontrt is to e reviewed: the first one ville will review it Solution There is onstrut in ML for hndling this sitution, nmely the Wit for Event stte This ontrsts with other workflow modelling lnguges where the hoies etween rnhes re lwys mde immeditely when the point of hoie is rehed, nd there is no strightforwrd wy of expressing the ft tht the hoie needs to e delyed 37 Interleved Prllel Routing Desription set of tivities is exeuted in n ritrry order Eh tivity in the set is exeuted extly one The order is deided t run-time: it is not until one tivity is ompleted tht the deision on wht to do next is tken In ny se, no two tivities in the set n e tive t the sme time Exmple t the end of eh yer, nk exeutes two tivities for eh ount: dd interest nd hrge redit rd osts These tivities n e exeuted in ny order However, sine they oth updte the ount, they nnot e exeuted t the sme time Solution The ide is to wrp the tivities to e interleved in seprte ML su-proesses mster proess is responsile for deiding whih tivity is to e exeuted in the first ple fter tking this deision (sed on user input for exmple), the mster proess sends n invotion messge to the first tivity When this tivity is ompleted, the suproess sends messge k to the mster proess The mster proess then deides whih tivity will e exeuted in the seond ple, nd sends n invotion messge to the su-proess wrpping this seond tivity, nd so on solution sed on similr priniple is desried in the ontext of UML tivity digrms in (Dums nd ter Hofstede, 01) 38 Milestone Desription given tivity n only e enled if ertin milestone hs een rehed whih hs not yet expired milestone is defined s point in the proess where given tivity hs finished nd n tivity following it hs not yet strted Exmple fter hving pled purhse order, ustomer n withdrw it t ny time efore the shipping tkes ple To withdrw n order, the ustomer must omplete withdrwl request form, nd this request must e pproved y ustomer servie representtive The exeution of the tivity pprove order withdrwl must therefore follow the tivity request withdrwl, nd n only e done if: (i) the tivity ple order is ompleted, nd (ii) the tivity ship order hs not yet strted Solution The milestone is modelled y Wit for Event stte with two outgoing rnhes One of the rnhes is triggered y the expiry of the milestone (the eginning of the tivity ship order in the ove exmple), while the other rnh is triggered y request for exeuting the tivity linked to the milestone (tivity pprove order withdrwl in the exmple) This is illustrted in figure 8, where tivity is only enled if tivity hs ompleted nd tivity hs not yet strted tor Figure 8: Milestone 4 OMMUNITION PTTERNS IN ML In this setion we onsider the ommunition ptterns presented in (Ruh et l, 01), nd desrie their implementtion in ML ommunition is relized y exhnges of messges etween points loted in different proesses In messge oriented proess lnguges, the points of ommunition re expliitly modelled y two symols: one for sending nd nother one for reeiving messge In ML messge my lso e sent from proess (or pplition) to itself, whih implies tht pir of send-reeive messges does not neessrily need to e split ross two different proesses Two types of ommunitions re distinguished, nmely synhronous nd synhronous ommunition Synhronous ommunition Synhronous ommunition denotes the sitution in whih the sender nd the reeiver oordinte their proessing ording to their ommunition 6
41 Request/Reply Desription One pplition/proess sends request to n pplition/proess nd loks (ie, wits for reply) until sends reply fter reeiving the reply ontinues proessing The tsk performed then usully depends on the response it gets from Exmple fter the ustomer hs ooked flight, the ooking system sks (requests) the ustomer whih pyment method he/she prefers Depending of the ustomer s response, the ooking system performs different tivities No ustomer tivities n e performed efore the response is reeived Solution The solution for this pttern is shown in fig 9 Nturlly, two proesses/pplitions nd etween whih the ommunition is relized re modeled (see, lt1) fter sending messge to proess, proess gets into Wit for Event stte, witing for response from proess fter reeiving the response from proess hoie is mde sed on it, nd the exeution of proess ontinues ording to this hoie This solution is pplile when the owner of proess/pplition lso hs suffiient ontrol of the proess/pplition nd n gurntee tht proess/pplition lwys sends reply k to However, if it is not the se, eg if is n externl proess/pplition, it is etter to inlude n extr hek in the proess/pplition, limiting the witing for response time This is typilly done y inluding timer in (see lt2) nd speifying the exeution pth in se the time expires efore ny response from hs een registered one presented ove The only differenes re tht proess/pplition sends notifition for reeipt immeditely fter onsuming s messge When reeiving it simply ontinues to exeute without tking into onsidertion the ontent of the notifition 43 Synhronous Polling Desription Synhronous Polling prtilly llows the sender to ontinue proessing while witing for reply from the reeiver needs, though, to periodilly stop nd hek for the expeted reply Exmple During gme session, the system ontinuously heks if the ustomer hs terminted the gme Solution The solution for this pttern (see fig 10) is implemented through hekpoints, ie sttes in whih the proess n either: (i) onsume the messge reeived from efore ontinuing with its other tsks; or (ii) if the messge from hs not yet rrived, simply ontinue with its tsks until the next hekpoint is rehed hekpoints re modelled y Wit for Event stte with two outgoing rnhes: one tht will e fired if the messge from is lredy ville, nd the other pointing to timer whose vlue is set to zero, inditing the sene of witing time ut the presene of n interruption lt1 x1 lt2 T1 T1 x1 xn Figure 10: Synhronous Polling xn synhronous ommunition 42 One-Wy Figure 9: Request/Reply Desription One-wy ommunition is speil se of Request/Reply when the sender only requires onfirmtion for reeipt from the reeiver, efore ontinuing Exmple fter the ustomer hs ordered produts, the supplier onfirms to the ustomer tht the order is reeived The ustomer does not perform ny tivities until onfirmtion is reeived Solution Sine this is speil se of the Request/Reply pttern the solution is very lose to the In ontrst to synhronous ommunition, synhronous ommunition does not require the sender to synhronize proessing with ommunition The sender sends messge nd ontinues proessing immeditely 44 Messge Pssing Desription n pplition sends messge to n pplition nd ontinues proessing Exmple When n order is reeived, log is notified, efore the system exeute the order Solution Messge pssing n simply e represented y the messge symol lone 7
45 Pulish/Susrie Desription n pplition sends messges to numer of other pplitions whih hve previously lodged n expression of interest in reeiving this type of messge(s) Exmple n orgnistion offers informtion out the produts to its ustomers If the ustomers re interested in reeiving suh informtion, they hve to notify system, whih s interested ustomer When produt informtion is going to e distriuted to the ustomers, the orgnistion requests the urrent, inluding the ustomer s ddresses Solution There is no onstrut in ML tht diretly ptures the onept of susription It is however possile to model the ontrol-flow of susription hndling proess (see proess in fig 10) The proess is initited when request for susription is mde From there on, tors n susrie or unsusrie y sending Strt or Delete susription messges to the susription proess The susription n then e used for pulishing, ie sending informtion to the susriers on the The pulition is done y proess in the figure, requesting nd reeiving the susription from This solution does not pture the detils of the dt mnipultion required to mintin the susription Request susrier, d Strt susription Delete susription Susrier 46 rodst Strt Strt susrier Figure 11: Pulish/Susrie or d Strt susription Delete susription Request susrier Delete susrier Susrier Desription messge is sent to every pplition in system The reeiver deides whether it is interested in the messge or not If it hs interest the request is proessed ording to the logi progrmmed into the reeiver, otherwise the messge is ignored Exmple efore system is shut down, every lient onneted to it is informed out the sitution Solution In ML this is represented y messge symol, where ll the pplitions re expliitly speified s reipients of this messge The wy in whih the different reipients ret to the messge is implemented in the orresponding pplition logi 5 ONLUSION In this pper frmework sed on existing workflow nd ommunition ptterns ws used for n indepth nlysis of ML ML, s lnguge sed on ommuniting stte mhines, differs from the trditionl tivity-sed workflow lnguges Hevily foused on modeling ommunition, it provides omprtively simple representtion for most of the ommunition ptterns t the sme time, this emphsis on modelling the ommunition, does not seem to imply mjor drwks on its ility to model typil workflow (ie tsk-driven) senrios Most of the workflow ptterns n e represented in ML in reltively simple wy In prtiulr, stte-sed ptterns suh s the deferred hoie nd the milestone ptterns n e ptured nturlly in ML, sine ML integrtes the onept of sttes in etween the proessing of two usiness tivities These stte-sed ptterns re diffiult, nd sometimes impossile to express in existing workflow modeling lnguges (lst et l, 02) On the other hnd, modeling prllel threds in ML involves deomposing the proess into severl suproesses: one per prllel thred s result, for proesses with high degree of prllelism, the representtion in ML will ontin n eqully lrge numer of distint su-proess, whih my ffet the omprehensiility of the overll proess model limittion of ML identified during our nlysis reltes to the modeling non-strutured workflows However, given tht non-strutured workflows use prolems even for mny existing WFMS, this is not drwk speifi to ML summry of the nlysis on ML is presented in Tle 1 The tle lso shows omprison of ML with two Workflow Modelling Lnguges: IM s MQSeries Workflow nd TIO s Inonert, oth of whih re key omponents of the EI solutions of their respetive vendors (IM s WeSphere MQ nd TIO s tiveenterprise) The rtings for MQSeries Workflow nd Inonert in the tle re tken from (lst et l, 02) where n nlysis of mjor ommeril WFMS is provided + in ell of the tle refers to diret support; refers to indiret support (ie there is no unstrut whih diretly support the pttern, ut work-round solution hs to e pplied); +/ is n intermedite rnking; nd ne mens tht we hve not (onlusively) evluted the support for the pttern in the lnguge The frmework used in this pper n e pplied to the nlysis of other EI lnguges Furthermore, s EI is losely relted to We servie omposition, it is possile to use the sme frmework for evluting We servie omposition lnguges In (Wohed et l, 02; lst et l, 02) we hve reported the evlutions for PEL4WS nd PML 8
ML MQS In Sequene + + + Prllel Split + + + Synhroniztion + + + Exlusive hoie + + +/ Simple Merge + + +/ Multi hoie + + +/ Synhronizing Merge + + + Multi-Merge + N out of M Join +/ ritrry yles Impliit Termintion + + + MI without Synhroniztion + MI with priori Design Time Knowledge + + + MI with priori Runtime Knowledge +/ MI without priori Runtime Knowledge +/ Deferred hoie + Interleved Prllel Routing Milestone + nel tivity ne nel se ne Request/Reply + ne ne One-Wy + ne ne Synhronous Polling + ne ne Messge Pssing + ne ne Pulish/Susrie +/ ne ne rodst + ne ne Tle 1: omprison of ML ginst MQSeries Workflow (MQS) nd Inonert (In) knowledgement We would like to thnk Prof Wil vn der lst for his vlule omments on n erlier version of this pper REFERENES lst, W v d, Dums, M, ter Hofstede,, nd Wohed, P (02) Pttern-sed nlysis of PML (nd WSI) Tehnil report, FIT-TR-2002-05, Queenslnd University of Tehnology, risne lst, W v d, ter Hofstede,, Kiepuszewski,, nd rros, (02) Workflow ptterns Tehnil report FIT-TR-2002-2, Queenslnd University of Tehnology essed from http://wwwtmtue nl/it/reserh/ptterns To pper in Distriuted nd Prllel Dtses, Kluwer sti, F, eri, S, Pernii,, nd Pozzi, G (95) oneptul modeling of workflows In Ppzoglou, M, editor, Pro of the 14th Int Ojet-Oriented nd Entity- Reltionship Modelling onferene (OOER 95), volume 1021 of LNS, pges 341 354 Springer Verlg Dums, M nd ter Hofstede, (01) UML tivity digrms s workflow speifition lnguge In Gogoll, M nd Koryn,, editors, Pro of the 4th Int onf on the Unified Modeling Lnguge (UML01), volume 2185 of LNS, pges 76 90 Springer Verlg Hrel, D (87) Sttehrts: visul formlism for omplex systems Siene of omputer Progrmming, 8(3):231 274 HP (02) HP Proess Mnger, Intertive Edition essed Sep 02, wwwiehpom/y/f/00/ 101-0601pdf IM (02) IM WeShere MQ softwre essed Sep 02, wwwimom/softwre/ts/mqseries ION (02) Orix E2 pplition Server Pltform essed Sep 02, wwwionom/produts/ ppservhtm ITU (01) Int Teleommunition Union, Speifition nd Desription Lnguge (SDL) essed Nov 01 from wwwituint/re/reommendtion sptype=produts&prent=t-re-z Johnnesson, P nd Perjons, E (01) Design priniples for proess modelling in enterprise pplition integrtion Informtion Systems, 26(2):165 184 Speil Issue on Prtil pplitions of gents Kiepuszewski,, ter Hofstede,, nd ussler, (00) On strutured workflow modelling In Wngler, nd ergmn, L, editors, Pro of the 12th Int onf on dvned Informtion Systems Engineering (ise00), volume 1789 of LNS, pges 431 445 Springer Verlg Linthium, D S (00) Enterprise pplition Integrtion ddison-wesley Ruh, W, Mginnis, F, nd rown, W (01) Enterprise pplition Integrtion: Wiley Teh rief John Wiley nd Sons, In Söderström, E, ndersson,, Johnnesson, P, Perjons, E, nd Wngler, (02) Towrds frmework for ompring proess modelling lnguges In Pidduk,, Mylopoulos, J, Woo,, nd Özsu, M, editors, 14th Int onf on dvned Informtion Systems Engineering (ise02), volume 2348 of LNS, pges 600 611 Springer Verlg Vitri (02) usiness wre: The leding integrtion plttform essed Sep 02 from wwwvitriom/lirry/rohures/ vitri_usinesswre_rohurepdf WfM (00) Workflow Mngement olition Workflow Stndrd - Interoperility Wf-XML inding essed ug 02 from wwwwfmorg/ stndrds/dos/wf-xml-10pdf WfM (99) Workflow Mngement olition: Terminology nd Glossry, WFM-T-1011 essed Fe 99 from wwwwfmorg Wohed, P, vn der lst, W, Dums, M, nd ter Hofstede, (02) Pttern-sed nlysis of PEL4WS Tehnil report, FIT-TR-2002-04, Queenslnd University of Tehnology, risne Wåhlnder,, Nilsson, M, nd Törneohm, J (01) Visuer PM Modeler essed Jun 02 from www visuerom/en/indexhtm 9