scieee Open visual document viewer

Identifying and Modelling Complex Workflow Requirements in Web Applications

Urbieta, Mario Matias; Rossi, Gustavo; Gordillo, Silvia; Schwinger, Wieland; Retschitzegger, Werner; Escalona Cuaresma, María José

Abstract

Workflow plays a major role in nowadays business and therefore its requirement elicitation must be accurate and clear for achieving the solution closest to business’s needs. Due to Web applications popularity, the Web is becoming the standard platform for implementing business workflows. In this context, Web applications and their workflows must be adapted to market demands in such a way that time and effort are minimize. As they get more popular, they must give support to different functional requirements but also they contain tangled and scattered behaviour. In this work we present a model-driven approach for modelling workflows using a Domain Specific Language for Web application requirement called WebSpec. We present an extension to WebSpec based on Pattern Specifications for modelling crosscutting workflow requirements identifying tangled and scattered behaviour and reducing inconsistencies early in the cycle.

Full text

Iden i ying and Modelling Complex Wo k low Requi emen s in Web Applica ions Ma io Ma ias U bie a1,2, Gus a o Rossi1,2, Sil ia Go dillo1,3, Wieland Schwinge 4, We ne Re schi zegge 4, and Ma ía José Escalona5 1 LIFIA, Facul ad de In o má ica, UNLP, La Pla a, A gen ina {mu bie a,gus a o,go dillo}@li ia.in o.unlp.edu.a 2 Conice 3 CiCPBA 4 Depa men o Coope a i e In o ma ion Sys ems, Johannes Keple Uni e si y Linz {wieland.schwinge ,we ne . e schi zegge }@jku.a 5 IWT2 G oup. Uni e si y o Se ille, Spain [email p o ec ed] Abs ac . Wo k low plays a majo ole in nowadays business and he e o e i s equi emen elici a ion mus be accu a e and clea o achie ing he solu ion closes o business’s needs. Due o Web applica ions popula i y, he Web is be- coming he s anda d pla o m o implemen ing business wo k lows. In his con ex , Web applica ions and hei wo k lows mus be adap ed o ma ke de- mands in such a way ha ime and e o a e minimize. As hey ge mo e popu- la , hey mus gi e suppo o di e en unc ional equi emen s bu also hey con ain angled and sca e ed beha iou . In his wo k we p esen a model-d i en app oach o modelling wo k lows using a Domain Speci ic Language o Web applica ion equi emen called WebSpec. We p esen an ex ension o WebSpec based on Pa e n Speci ica ions o modelling c osscu ing wo k low equi e- men s iden i ying angled and sca e ed beha iou and educing inconsis encies ea ly in he cycle. Keywo ds: Requi emen s, Wo k low, C osscu ing, Model-d i en pa adigm, Web applica ion. 1 In oduc ion Nowadays business mus adap o global ends in o de o keep use s engaged; un- planned ma ke ing campaigns, season p omo ions ( inal season sales), c isis manage- men , among o he s business equi emen s a e examples o unexpec ed equi emen s ha s ess he whole applica ions’ in as uc u e. We will ocus on he p oblem p oduced by hose equi emen s ha demand busi- ness p ocesses change acco ding o he use s’ con ex . Depending on con ex a i- ables like cu en day, paymen me hod, ac i e ma ke campaign, accessing de ice, e c. he sys em may modi y he unde lying wo k low model; his may imply execu - ing a sligh ly di e en wo k low p o iding adap a ions which suppo new equi e- men s like discoun s and ee-shipping, o in oduces new wo k low s eps like new o ms o be illed, e c. Un o una ely, hese changes may a ec di e en applica ion´s ea u es. In Web Applica ions hese changes comp omise se e al applica ions’ ie s (model, na iga ion, and in e ace). When he unde lying wo k low changes, use in- e aces may, o example, in oduce a new o m ha will demand new iew con ol- le s ha o ches a es alida ion and na iga ion, and inally he business model mus be modi ied o suppo ing new en i ies’ o ms and ields. To make ma e wo s , when new conce ns a e un o eseen and unp edic able like C isis Managemen [7] o Vola ile equi emen s[8], hese equi emen s a e usually in oduced in an ad-hoc way. The inadequa e implemen a ion o hese changes may lead o a decay o so wa e quali y comp omising applica ion main enance, s abili y, and complexi y, and inally he applica ion’s budge . In his pape we p esen a model-d i en app oach o analysing and modelling wo k low changes in Web adap a ions in he ea ly s age o equi emen ga he ing. The main con ibu ion is a model-d i en app oach o dealing wi h base and adap a- ion equi emen s. I is based on a clea sepa a ion o conce ns applied in he ea ly phase o he so wa e de elopmen p ocess. The app oach allows de ining symme i- cally bo h base and adap a ion equi emen s; la e hese models a e used o imple- men ing es sui es ha assess he inal applica ion beha iou . The es o he pape is s uc u ed as ollows: in Sec ion 2 he p oblem will be mo- i a ed wi h simple bu illus a i e examples; in Sec ion 3, we discuss some ela ed wo k; in Sec ion 4, we p esen some backg ound hemes; in Sec ion 5, we in oduce an ex ension o WebSpec ha uses Pa e n Speci ica ion; and in Sec ion 6 we p e- sen ou model-d i en app oach o modelling wo k low changes in Web Applica ion and in Sec ion 7, a unning example is p esen ed; inally in sec ion 8 we conclude and discuss some u he wo k we a e pu suing. 2 Mo i a ing Example We mo i a e ou esea ch wi h an example in he e-comme ce domain. In he check- ou p ocess o buying selec ed i ems, he use mus ollow a simple wo k low p e- sen ing se e al s eps such as choosing he w apping con igu a ion ( egula o special o bi hday), selec ing he shipping add ess, and he paymen me hod, e c. Suppose an un o eseen e en such as a ca as ophe ha leads o a dona ion campaign. We may equi e he in oduc ion o a new dona ion s ep in he wo k low, whe e use s can choose be ween di e en p e-se amoun s o money o dona e. This change will e- qui e a leas a se o modi ica ions: •Implemen a page ha holds a dona ion o m wi h i s co esponding ields; •The co esponding s ep mus be placed in he wo k low and he wo k low mus be modi ied o be cohe en ; •New da a needs o be s o ed and he e o e we need o add pe sis ence machine y o hese da a; •Na iga ion models demands modi ica ion o le use s na iga e o hei dona ions o example. In his case he se o changes mus be p esen only when he ca as ophe campaign is ac i e o he wise hey make no sense. In he mid- e m we ha e an adap a ion equi e- men ( he exis ing o a ca as ophe and he dona ion campaign) which lead o a “con- ex -awa e” wo k low beha iou . Addi ionally, he impac in he applica ion o he adap a ion may no be simple; ha is, he in oduc ion o his adap a ion may c oss o he wo k lows such as icke booking o a eci al, p oduc p e-o de , e c. The e o e, he way in which he adap a- ion equi emen s a e modelled is c i ical o assu e ha hey co ec ly implemen ed. To make ma e wo s , he incoming o new con ex -awa e equi emen s ha c oss- cu se e al wo k lows make he si ua ion mo e complex since di e en business do- mains a e comp omised by he same se o e en s. 3 Rela ed Wo k Adams [1] e al. p esen s he so ie “Ac i i y Theo y" as a d i e o a mo e lexible and be e di ec ed wo k low suppo . A subse o he main heo y´s p inciples high- ligh s he need o con ex awa eness in each possible wo k low ac ion execu ion. The au ho s p opose a se o c i e ia as equi emen s o Wo k low Managemen Sys ems (W MSs). One c i e ia “adap a ion by e lec ion” p omo es lexible, dynamic and e ol ing wo k lows. In his case, sys ems mus eco d de i a ions (excep ional lows in he wo k low de ini ion) cap u ing i s easons and i s esolu ion ha la e can be- come pa o he nex wo k low ins an ia ion. Al hough his a emp will help o im- plemen awa eness wo k lows, i wo ks eac i ely om excep ion ins ead o being a p oac i e solu ion. As excep ions a e cap u ed in eal- ime, he solu ion eco ded is ad-hoc and isn´ nei he modelled no op imized by domain expe s. This wo k was assessed wi h he implemen a ion o a W MS so called YAWL [2] ha allows imple- men ing dynamic wo k lows. The pla o m de ines Wo kle as a eusable uni o wo k. Each ime a wo k low de i a ion e en is de ec ed i is ei he possible o choose an al eady de ined wo kle o de ine a new one. AO4BPEL [3] is an aspec -o ien ed ex ension o BPEL ha allows desc ibing wo k low´s c osscu ing beha iou . The ex ension comp ises a language ha is used o decla e aspec s and an execu ion engine ha is esponsible o wea ing co e wo k- lows wi h wo k low aspec s. The language in oduces cons uc o s o poin cu , join poin and ad ice concep s. I is no ewo hy ha he ex ension suppo s p ocess- le el aspec s being ac i a ed in all wo k low ins ances and ins ance-le el being ac i- a ed on ce ain ins ance o he wo k low. AO4BPEL is a powe ul ool o desc ib- ing aspec s in Business P ocess models bu aspec s a e aken in o accoun la e (in he design phase) whe e c osscu ing can no be iden i ied and checked wi h s akeholde s. We a e no awa e abou any app oach ha allows iden i ying wo k lows and speci- ying i s aspec s in he equi emen ga he ing phase in such a way ha he whole ap- plica ion beha iou is desc ibed allowing assessing i s beha iou i s wi h he use and la e by au oma ic es ing. 4 Backg ound In his sec ion we in odu c namely WebSpec o mode speci ying he binding o e 4.1 WebSpec WebSpec [9] is a isual la n WebSpec diag am which c a A WebSpec diag am de is y. An in e ac ion (deno use can in e ac wi h he a p ions ha e a name (uniqu e boxes, e c. In WebSpec, a cally ep esen ed wi h a o igge ing ac ions a e disp l wi h a p e ix o he cha ac ollowing lines. The scena ios speci ied b g am using he dep h- i s s nodes called “s a ing” no d he edges ( ansi ions) o h As an example o Web S he use s o y: “As a cus o m de ails” in an e-comme ce a ica ion and i con ains 2 w i u he de ails). Fig. 1. We b WebSpec has a suppo i n equi emen ga he ing, ea in e aces and gene a ing i esul . c e some base wo k which we ha e used in ou app o a lling wo k low equi emen s and Pa e n Speci ica ions e qui emen s belonging o di e en conce ns. n guage; i s main a e ac o speci ying equi emen s is a n con ain in e ac ions, na iga ions and ich beha io s. ines a se o scena ios ha he web applica ion mus ed wi h a ounded ec angle) ep esen s a poin whe e p plica ion by using i s in e ace objec s (widge s). In e e pe diag am) and may ha e widge s such as labels, ansi ion (ei he na iga ion o ich beha io ) is g a p ws be ween in e ac ions while i s name, p econdi ion l ayed as labels o e hem. In pa icula , i s name app e e ‘#’, he p econdi ion be ween {} and he ac ions in b y a WebSpec diag am a e ob ained by a e sing he d s ea ch algo i hm. The algo i hm s a s om a se o spe d es (in e ac ions bo de ed wi h dashed lines) and ollo w h e g aph (diag am). S pec’s concep s we p esen in Fig. 1 he speci ica ion m e , I would like o sea ch p oduc s by name and see h a pplica ion. Home ep esen s he s a ing poin o he sp e i dge s: sea chField ex ield and sea ch bu on (see [9] b Spec diag am o he Sea ch by name scena io n g ool [16] wi h ea u es ha allows, in he ea ly phase lizing simula ion o applica ion in e ac ion agains m i ndependen Web es s o es ing he inal de elop m a ch, o he sa - he ac- lis p hi- and e a s he d ia- e cial w ing o h ei e ci- o s o m ock m en 4.2 Pa e n Speci ica ion Pa e n Speci ica ions (PSs) [6] is a ool o o malizing he euse o models. O igi- nally he no a ion o PSs was p esen ed using he Uni ied Modelling Language (UML) as a base bu in his wo k we will ins ead use he concep in he WebSpec ealm. A Pa e n Speci ica ion desc ibes a pa e n o s uc u e de ined o e he oles which pa icipan s o he pa e n play. Role names a e p eceded by a e ical ba (“|”). A PS can be ins an ia ed by assigning conc e e elemen s o play hese oles. 5 C osscu ing Beha iou Modelling Using Pa e n Speci ica ion WebSpec p o ides a powe ul language o desc ibing use ’s in e ac ion o Web ap- plica ion as i was in oduced in p e ious sec ion. None heless i lacks a means o po aying gene aliza ion o in e ac ion pa e ns; o example, common pa e ns e- qui ed in de e mined wo k lows’ poin s ( asks o ansi ions) ha s op he wo k low execu ion up o he manage au ho izes o con inue, o landma ks-like beha iou whe e a gi en subwo k low can be accessed om s eps belonging o a main wo k- low. This es ic ion inc ease size and complexi y o diag ams, and e o o docu- men he equi emen . So, we p opose he use o Pa e n Speci ica ions (PS) whe e, in ou case, a ole is a specializa ion o a WebSpec In e ac ion es ic ed by addi ional p ope ies ha any In e ac ion ul illing he ole mus possess. A model con o ms o a PS i i s model elemen s ha play he oles o he PS, sa is y he p ope ies de ined by he oles. In Figu e 2, a equi emen ha gene alizes an in e ac ion pa e n de ines wo oles: |sou ceIn e ac ion and | a ge In e ac ion. The |sou ceIn e ac ion ole (no ice ha ole’s name s a s wi h “|”) demands a widge o ype Label called manda o yWidge ha mus be p esen in he In e ac ion ha con o ms he ole, and de ines a new wid- ge o ype Tex Field called in oducedWidge ha will be pa o con o ming In e ac- ion. The | a ge In e ac ion ole is analogous o he p e ious ole; i demands a widge o ype Combobox called manda o yWidge o be pa o he in e ac ion ha ma ches he ole. Finally, when bo h oles a e bound in a gi en diag am, a new in e ac ion is in oduced wi h he co esponding ansi ions called In oducedIn e ac ion as i is de ined in Figu e 2. Fig. 2. In oducing in e ac ions and elemen s in a Wo k low equi emen In Figu e 2, PS was used o in oducing a new In e ac ion. Al e na i ely, i can be used o de ining cons ain s o e a diag am ha may lead o an o e iding o exis ing de ini ions. E.g. Na iga ions p econdi ions and ac ions may be in oduced by PS in o de o en ich he scena io o making consis en a se o changes. This kind o si ua- ions is usually p esen in adap i e equi emen s whe e some beha iou is in ended o be eplaced by o he . In Figu e 3, we show a gene aliza ion o a Web applica ion equi emen s ha p o- ides he op ion o dona e. This in oduces a banne be ween wo oles desc ibing he dona ion goal and allows a e sing owa ds a dona ion o m. This equi emen can be ins an ia ed in Figu e 1 example whe e |s epOne ole is bound wi h he Home in e ac- ion and |s epTwo wi h he Sea chResul in e ac ion. Fig. 3. Dona ion equi emen model using PS 5.1 Ye Ano he AOSD Visual Language? Al hough he e a e se e al AOSD (Aspec -O ien ed So wa e De elopmen ) o mal and isual languages al eady de ined o almos any model o a Web applica ion (concep ual, na iga ional, and in e ace models), none o hem co e s equi emen ga he ing phase and indeed hese a e ocused on desc ibing jus unc ional ea u es close o he concep ual model [17]. Tackling c osscu ing wo k low beha iou in he ea ly equi emen analysis phase allows iden i ying c osscu ing beha iou s in he sys em, and con ex a iables ha ules adap a ion beha iou . The use o WebSpec wi h PS, will help o sepa a e ma e o in e es in (WebSpec) equi emen diag ams and hus in he whole Sys em Re- qui emen Speci ica ion (SRS) documen s. In his case, he ex ension p o ided o WebSpec using PS no only allows de ining high le el eusable equi emen s o Web Applica ions; i also helps o de i e he se o es s ha will be used o alida ing he inal esul o he applica ion design and implemen a ion. 6 Ou App oach in a Nu shell Nex , we will p esen ou app oach o iden i y, design and implemen adap i e e- qui emen s in Web Wo k lows. The app oach is based on he idea ha any adap i e equi emen mus be ea ed as i s –class; as a consequence we conside hese e- qui emen s as belonging o sepa a e conce n1 [11] allowing us o isola e, model and la e compose bo h co e applica ion wo k lows wi h adap i e equi emen s. In his aspec we ocus on Web wo k low equi emen s, speci ically in analysis and model- ling aspec s. Thei impac in di e en applica ion ie s has been al eady p esen ed in[14,12]. Co e Web wo k low p ocess Adap a ion equi emen li ecycle Inconsis encies ound Fig. 4. O e all schema o wo k low equi emen modelling The app oach comp ises a se o s eps ha a e depic ed in Figu e 4 and desc ibed below: S ep 1: Wo k low equi emen ga he ing. Using well-known equi emen elici a- ion echniques such as mee ings, su eys, Join Applica ion De elopmen (JAD), e c. a So wa e Requi emen Speci ica ion (usually in na u al lan- guage) is p oduced. In he case o an agile unde lying de elopmen p ocess, a b ie e desc ip ion is usually p oduced wi h use s o ies [4]. S ep 2: Wo k low equi emen modelling. Web applica ion equi emen s a e o - malized using a equi emen Domain Speci ic Language (DSL). This o mal- iza ion is essen ial du ing he equi emen ga he ing p ocess wi h s ake- holde s. By means o using a equi emen DSL, he asks such as es s de i- a ion and scena ios simula ions can be au oma ed easily. In his wo k, we selec ed WebSpec as equi emen DSL. S ep 3: Wo k low equi emen gene aliza ions modelling. Base Wo k low changes a e modelled using he Pa e n Speci ica ion ex ension o he e- qui emen DSL; in his pape we exempli y wi h he WebSpec ex ension. S ep 4: Consis ency alida ion. Syn ac ic and seman ic analysis is pe o med o e equi emen s. By means o an algeb aic compa ison o models, candida e 1 In so wa e enginee ing a conce n ep esen s a ma e o in e es ha g oups a cohe en se o equi emen s. s uc u al and na iga ional con lic s a e de ec ed. On he o he hand, candi- da e con lic s a e analyzed and seman ic equi alences a e de ec ed. Fo each candida e con lic , bo h he new equi emen and he comp omised equi e- men a e ansla ed om a high abs ac ion le el ( he equi emen s DSL) o a minimal o m, using an a omic cons uc o in o de o de ec seman ic di e - ences. Seman ic equi alences be ween equi emen s a e de ec ed o wa ning equi emen analys s. Fo mo e in o ma ion see [13]. In he case o adap a ion equi emen s, a p e ious wea ing is pe o med among bo h kind o equi emen s ob aining ins an ia ed PS. S ep 5: Tes de i a ion. In his s ep, bo h adi ional WebSpec diag am and Web- Spec PS ex ension a e p ocessed o p oducing es s ha allow alida ing he inal Web Applica ion. This also allows assessing he se o equi emen wi h use s by using simula ions in he ea ly s ages o UI mocking. La e he same es s a e used in he es ing phase o he so wa e de elopmen p ocess. In he ollowing sec ion we p esen a simple bu illus a i e example o modeling wo k low equi emen s. Fi s , a simple wo k low o checking ou p oduc s in an e- comme ce Web applica ion is modelled using WebSpec. On he o he hand, a simple equi emen ha in oduces con ex awa eness in he wo k low is designed using PS. 6.1 Requi emen Ga he ing (S ep 1) We use as a unning example he de elopmen o an e-comme ce si e. In Figu e 5, use s o ies [4] de i ed om ga he ed equi emen s a e shown. The e a e h ee use s o ies: “Checkou p ocess” (US1), “Reduced checkou p ocess om sma phone” (US2), and “O de ing a p oduc ” (US3). The i s , on he le -hand side, de ines a basic wo k low o checking ou selec ed p oduc s in a s aigh o wa d way whe e issues such as p oduc w apping, deli e y and paymen me hod mus be co e ed. In he middle, i is equi ed ha he deli e y con igu a ion s ep in he wo k low mus be emo ed and in i s place he cu en loca ion is used o se ing up he shipping ad- d ess. Finally, on he igh -hand side, a use s o y de ines ano he iew poin o he checkou p ocess de ined by a di e en s akeholde . Fig. 5. Applica ion’s use s o ies 6.2 Wo k low Requi emen Modelling (S ep 2) Fo his s ep we will adop a wo k low’s de ini ion p esen ed in [15] whe e a wo k- low has as a main objec i e o deal wi h a case. A wo k low has a se o elemen s ha allows achie ing he objec i e: a s a e and a se o in e connec ed ask whe e each one can ha e condi ions ha enable i s execu ion. F om his de ini ion, we claim ha WebSpec can help modelling Wo k lows equi emen om a use in e ac ion pe spec- i e. Use s o ies de ine he case ha mo i a es wo k low design wi h WebSpec. WebSpec in e ac ion a e used o p esen ing a ailable asks and s a e in o ma ion, meanwhile ansi ion a e used o desc ibing wo k low condi ions and s a e changes. The e o e wo k lows a e desc ibed in a WebSpec scena io ha comp ises a se o (WebSpec) in e ac ions and ansi ion. Each In e ac ion desc ibes he expec ed wo k- low’s inpu and ou pu using widge s (Labels, Radio Bu on, e cs.) meanwhile ansi- ions ep esen s ac ions ha applica ion mus pe o m wi h i s co esponding gua d. In Figu e 6, he checkou p ocess in a Web applica ion is depic ed as a se o in e - ac ions whe e he use is able o selec a p oduc o s a se ing ou i s pu chase (in- e ac ion P oduc s); nex she is able o choose whe he a simple o gi w ap should be used; nex , deli e y in o ma ion mus be in oduced such as add ess and ci y; and inally he lis o cu en o de s is shown. Fig. 6. WebSpec scena io o Checkou p ocess based on US1 6.3 Wo k low Requi emen Gene aliza ions Modelling (S ep 3) So a , we ha e modelled wo k lows in Web applica ion using WebSpec. Some imes he e a e equi emen s, such as US2 – “Reduced checkou p ocess om sma phone”, ha in oduce enhancemen s o e main wo k lows like adap a ions o empo al changes. In o de o model his kind o equi emen s, we will use he p oposed ex en- sion o WebSpec ha in oduces PS concep s o gene alizing beha iou s. In Figu e 7, Use S o y 2 (US2) is modelled o e iding he de aul na iga ion p e- sen ed in Figu e 6 whe e deli e y in o ma ion speci ica ion (Deli e y in e ac ion) is by-passed, and, ins ead, O de S a us in e ac ion is exhibi ed a e selec ing Packag- ing con igu a ion. This “by passing” is achie ed de ining a ansi ion ha goes om “Packing” in e ac ion o “O de s a us” in e ac ion. As he speci ica ion is abs ac , i de ines he “|Packaging” ole ha la e binds o Packaging in e ac ion and “|O de s a us” ha la e binds o O de s a us in e ac ion o e iding he ansi ion iden i ied wi h #nex o iginally de ined in Figu e 6. Fig. 7. WebSpec diag am o “Reduced checkou p ocess o sma phones” use s o y {con ex [de ice.kind]=sma phone} click(Packaging.nex )