scieee Science in your language
[en] (orig)

Identifying and Modelling Complex Workflow Requirements in Web Applications

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.

Read accessible full text

Identifying and Modelling Complex Workflow Requirements in Web Applications

Author: Urbieta, Mario Matias; Rossi, Gustavo; Gordillo, Silvia; Schwinger, Wieland; Retschitzegger, Werner; Escalona Cuaresma, María José
Publisher: Springer
Year: 2012
DOI: 10.1007/978-3-642-35623-0_15
Source: https://idus.us.es/bitstreams/421aa9c9-2a19-44e0-b1e7-70bb820cdc84/download
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 )