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 )