Aspec -o ien ed in e ac ion in mul i-o ganisa ional
web-based sys ems
Ra ael Co chuelo , Jose
eA. Pee ez, An onio Ruiz-Co e
es
Depa amen o de Lenguajes y Sis emas In o maa icos, Uni e sidad de Se illa, A da. de la Reina Me cedes, s/n, Se illa 41012, Spain
Abs ac
Sepa a ion o conce ns has been p esen ed as a p omising ool o ackle he design o complex sys ems in which
c oss-cu ing p ope ies ha do no fi in o he scope o a class mus be sa isfied. Un o una ely, cu en p oposals
assume ha objec s in e ac by means o objec -o ien ed me hod calls, which implies ha hey embed in e ac ions wi h
o he s in o hei unc ional code. This makes hem dependen on his in e ac ion model, and makes i difficul o euse
hem in a con ex in which ano he in e ac ion model is mo e sui ed, e.g., uple spaces, mul ipa y mee ings, po s, and
so o h. In his pape , we show ha unc ionali y can be desc ibed sepa a ely om he in e ac ion model used, which
helps enhance eusabili y o unc ional code and coo dina ion pa e ns. Ou p oposal is inno a i e in ha i is he fi s
ha achie es a clea sepa a ion be ween unc ionali y and in e ac ion in an aspec -o ien ed manne . In o de o show
ha i is easible, we adap ed he mul ipa y in e ac ion model o he con ex o mul io ganisa ional web-based sys ems
and de eloped a class amewo k o build business objec s whose pe o mance a es compa ably o handmade im-
plemen a ions; he de elopmen ime, howe e , dec eases significan ly.
Keywo ds: Aspec o ien a ion; In e ac ion models; Mul ipa y in e ac ions
1. In oduc ion
Dis ibu ed objec compu ing is nowadays
conside ed he way o wa d in de ising mul i-
o ganisa ional solu ions. Many leading companies
ha e ealised ha he In e ne is mo e han a sell-
and-buy a ena and offe s many oppo uni ies o
h i e in he web wo ld. As he In e ne se les,
companies a e finding ways o ake ad an age o
i s capabili ies, and he e is an e e -inc easing
demand o amewo ks [36–39] o build mul io -
ganisa ional web-based sys ems (MOWS) [26–
28,49] a sensible cos s. Such amewo ks ypically
desc ibe a MOWS as a collec ion o componen s
ha a e exposed o p og amme s as se ices ha
a e usually implemen ed as a se o in e ela ed
business objec s ha encapsula e a seman ic p o-
ocol o a logical uni o wo k, e.g., ans e ing
money, p ocessing an o de , upda ing a cus ome
q
Suppo ed by he Spanish In e minis e ial Commission on
Science and Technology unde g an TIC2000-1106-C02-01.
*
Co esponding au ho .
E-mail add esses: [email p o ec ed] (R. Co chuelo), jpe ez@
lsi.us.es (J.A. P
ee ez), [email p o ec ed] (A. Ruiz-Co
ees).
eco d o mo ing a ask o he nex pe son in a
wo kflow queue [36,38]. F om an abs ac poin o
iew, business objec s model eal-wo ld ac o s and
da a, and his is he eason why hey g ea ly en-
hance communica ion amongs de elope s and
cus ome s and help educe p oduc ion cos s
[40,41].
In heo y, p og amme s should only ca e abou
he unc ionali y hey p o ide. Un o una ely, his
ision is a oo idealis ic because business objec s
need o ca e abou conce ns such as synch onisa-
ion, pe sis ence, o eplica ion, and hey a e sel-
dom isola ed in a sys em, i.e., hey cons i u e he
unc ional pieces o a seman ic p o ocol and ha e
o wo k coo dina ely wi h o he s in o de o
achie e a common goal. Sepa a ion o conce ns
was p esen ed as a p omising ool o enhance
modula i y, unde s andabili y and eusabili y o
unc ional code du ing he de elopmen o a
business objec . In ac , his is he co ne s one o
he new aspec -o ien ed p og amming (AOP)
pa adigm [3,33,34,57], which go inspi a ion om
Dijks aÕs and Pa nasÕs ea ly exp essions o he
semina p inciple o so wa e decomposi ion
[31,34,69].
Since he ea lies wo ks on sepa a ion o con-
ce ns, synch oniza ion [61], dis ibu ion [61,80],
secu i y [83], coo dina ion [5,74], pe sis ence [59],
eplica ion [13] and o he domain-specific ea u es
such as he one desc ibed in [50] ha e been con-
side ed as clea conce ns ha can be deal wi h by
using aspec languages o amewo ks. Un o u-
na ely, p ominen aspec -o ien ed app oaches do
no succeed in isola ing compu a ion om in e -
ac ion wi h o he objec s in a sys em, i.e., he
mechanism by means o which wo o mo e objec s
ge in ouch and can ca y ou an elemen a y piece
o wo k. As we show in Sec ion 5, cu en
p oposals ely on a ia ions o he classical
message-passing in e ac ion model and embed
objec -o ien ed me hod calls in o he unc ional
code, which p e en s de elope s om adap ing
hei code easily i he in e ac ion model needs o
be changed o an objec needs o wo k in con ex s
in which diffe en in e ac ion models a e used.
Fu he mo e, seman ic p o ocols a e o en ha d-
wi ed in o he unc ional co e, which makes hem
difficul o euse, oo [5,46].
Besides poin - o-poin communica ion, many
o he in e ac ion models ha e been p oposed in
he li e a u e [68], some o which also p o ide
synch onisa ion o coo dina ion mechanisms.
Each one has i s own s eng hs and weaknesses, so
ha he e is no a uni e sally accep ed in e ac ion
model, bu a wide spec um o choices. Thus, i
seems desi able o aspec -o ien ed languages
dealing wi h in e ac ion o exis . Such languages
would enhance eusabili y o unc ional code and
coo dina ion pa e ns, which could be applied o
simila si ua ions as long as adequa e mapping
languages exis ed. Such languages would also
allow p og amme s o decide which in e ac ion
model bes sui s hei needs, which has a di ec
effec on unde s andabili y, main ainabili y and
e ol abili y. Fu he mo e, his echnology o
objec in e ac ion should be applied au oma ically
so ha business objec s emain as much abs ac ,
handy and eusable as possible [5,46]. The e o e,
he conce ns o abs ac ness and eusabili y a gue
o an aspec -o ien ed solu ion o he p oblem o
sepa a ion amongs coo dina ion, in e ac ion
models and unc ionali y. This way, business ob-
jec s would no embed in e ac ions in o hei
unc ionali y, and hey migh be coo dina ed using
diffe en in e ac ion models depending on he
con ex in which hey a e going o be eused.
This mo i a ion is suppo ed by p e ious e-
sea ch esul s by o he au ho s. Fo ins ance, in
[67], he au ho s men ion ha much o he so -
wa e e olu ion, euse and in eg a ion a e o an
unexpec ed na u e. Howe e , his is no necessa ily
due o a poo design, bu a he due o he ac
ha he wo ld is changing so as ha i is im-
possible o p edic he pa hs h ough which so -
wa e will e ol e. Selec ing an adequa e in e ac ion
model is an impo an decision, and he same
unc ionali y encapsula ed in a class migh be in-
eg a ed mo e easily in o a scena io using message-
passing, bu using uple spaces in ano he scena io.
Thus, ha ing a way o change he in e ac ion
model whils p ese ing unc ionali y seems o be
qui e a easonable mo i a ion.
Fu he mo e, in [29], he au ho s p esen ed a
case s udy compa ing aspec -o ien ed echnolo-
gies. They concluded ha hey make i easie o
w i e and change some conce ns and also ha he
unde lying design o aspec ual applica ions is mo e
impo an han he conc e e mechanisms p o ided
by hose echnologies. The la e is an impo an
esul , because i is wo h no ing ha sepa a ion o
conce ns has been add essed om poin s o iew
o he han AOP. Fo ins ance, in [10], composi ion
fil e s a e used o compose c oss-cu ing conce ns
on mul iple objec s; in [30], he au ho s p esen a
p oposal based on decomposing so wa e in o wo
le els called aspec ual and unc ional; in [60,81],
he au ho s show wo app oaches based on e-
flec ion capabili ies. Gene ally speaking, sepa a-
ion o conce ns can be hough o as an app oach
ha can be beneficial no only a he p og amming
phase, bu also a diffe en s ages o he so wa e
li e cycle and a a ious le els o abs ac ion [48],
including he abs ac ion le el ha he conc e e
in e ac ion mechanism used p o ides.
These esul s suppo ou mo i a ion o sepa-
a e in e ac ion om unc ionali y, which, o he
bes o ou knowledge, is an inno a i e, o iginal
conce n ha has no been add essed so a in he
con ex o aspec o ien a ion.
1
We illus a e ha
ou idea is easible by p esen ing a new in e ac ion
model o MOWS called open mul ipa y in e ac-
ion model (OMIM). I builds on he basis o a
well-known in e ac ion model and enhances i so
as o deal wi h bo h passi e and ac i e objec s in
an open con ex . We also p o ide a class ame-
wo k o implemen business objec s using his
model, and p o e ha i does no affec pe o -
mance bu educes de elopmen ime significan ly.
The amewo k allows o use diffe en algo i hms
o implemen coo dina ion and communica ion,
hus making i possible o cus omise he unde ly-
ing implemen a ion.
The es o he pape is o ganised as ollows: in
Sec ion 2, we p o e ha ou idea can go beyond
classical objec -o ien ed me hod calls and p esen
a no el, highe -le el in e ac ion model ha is ad-
equa e in he con ex o MOWS; in Sec ion 3, we
p esen a class amewo k we designed o imple-
men ou p oposal; in Sec ion 4, we show how he
de elopmen o a MOWS may benefi om using
ou amewo k and e alua e i ega ding pe o -
mance and de elopmen ime; in Sec ion 5, we
analyse o he au ho sÕwo k and conclude ha
none o hem a emp s o sepa a e in e ac ion
om o he aspec s; finally, we p esen ou main
conclusions in Sec ion 6.
2. A high-le el in e ac ion model o MOWS
Roughly speaking, a MOWS can be iewed as a
sys em composed o se e al coa se-g ained busi-
ness objec s ha eside on diffe en o ganisa ions
and need o coope a e equen ly by means o he
In e ne . They seem o be he co ne s one o nex
gene a ion dis ibu ed so wa e de elopmen s.
Clien /se e p imi i es such as emo e p oce-
du e call o message passing a e he de ac o in-
dus ial s anda d o objec in e ac ion in his
con ex , and new ma e ialisa ions such as SOAP
[12,35] a e sp ou ing ou a an inc easing pace.
Howe e , solu ions ha a e based on (sequences
o one-way) bina y in e ac ions a e difficul o
apply in ypical MOWS in which se e al objec s
need o coope a e simul aneously in o de o
achie e a common goal [44]. Such p oblems in-
clude: ans e ing money om a bank o ano he
by means o a poin o sales e minal ( h ee ob-
jec s), paying axes on-line ( h ee objec s in Spain:
a axpaye , he Excheque , and SpainÕs Ce ifica-
ion Au ho i y), fil e ing in e-comme ce [36] (a
cus ome , a fil e sys em, and se e al se ice p o-
ide s), o eaching a i ual ag eemen in an
auc ion sale (mul iple objec s). Cu en echnology
p o ides ansac ional se e s o g ouping indi-
idual bina y in e ac ions, bu he e is no a clea
sepa a ion be ween he p oblem o be sol ed and
he unde lying echnology o be used o he p o-
ocol needed o coo dina e he objec s in ol ed in
a ansac ion.
1
No ice ha we use he e m Ôin e ac ionÕ o e e o he
unde lying mechanism used o s imula e objec s, independen ly
om he synch onisa ion o coo dina ion mechanism used o
implemen seman ic p o ocols in business objec s. This may be
con using i he eade akes a look a old pape s on his opic.
In [5] o [46], o ins ance, he au ho s use he same e m o e e
o coo dina ion. Howe e , we decided o use he e m Ôin e -
ac ionÕbecause i cap u es he idea behind an objec ge ing o
sending s imuli om/ o o he s; coo dina ion conce ns a e
highe le el, and i seems o be a well-es ablished esea ch a ea
in which his e m is conside ed a he obsole e.
Mos objec -o ien ed analysis and design
me hods ecognise he need o coo dina ing se -
e al objec s and p o ide designe s wi h ools o
model such mul iobjec collabo a ions. Diffe en
e ms a e used o e e o hem: objec diag ams
[11], p ocess models [16], message connec ions [18],
da a-flow diag ams [78], collabo a ion g aphs
[84], scena io diag ams [76] o collabo a ions [32,
79]. These p oposals a e accompanied by a ich
se o examples ha show he adequacy o such
modelling ools in fields including finance, ele-
communica ion, insu ance, manu ac u ing, embed-
ded sys ems, p ocess con ol, fligh simula ion,
a el and anspo a ion, o sys ems manage-
men . Recen ly, his need o mul iobjec in e ac-
ion has also been ecognised in he field o
mul iagen socie ies [6,8,9,14,66], and i has also
dese ed he a en ion o indus ial in as uc u e
p o ide s such as Mic oso , which p o ides a ool
o o ches a e any g oup o web se ices on he
In e ne as a pa o hei new .NET pla o m [75].
The unde lying in e ac ion model, howe e , is
objec -o ien ed me hod calls in all cases, which
implies designe s s ill need o decompose complex
collabo a ions in o a ca e ully designed sequence
o calls. Se e al au ho s ha e also epo ed on
design pa e ns and amewo ks ha allow o
model and implemen hose collabo a ions as
business objec s ha allow o euse o common
coo dina ion pa e ns [36–39].
Un o una ely, cu en p og amming languages
do no seem o ha e adequa e suppo so ha
se e al objec s can in e ac simul aneously, al-
hough a g ea deal o heo e ical esea ch has
been ca ied ou in his field [68]. Ja aSpaces [45] is
one o he mos p ominen ecen p oposals in his
con ex . I is a Linda-based [15] model o coo -
dina ing Ja a objec s on he web ha p o ides a
mechanism o s o ing a g oup o ela ed objec s
and e ie ing hem based on a alue-ma ching
lookup o specified fields. I allows he p og am-
me o easily build dis ibu ed seman ic p o ocols
ha can be designed as flows o objec s h ough
one o mo e se e s. I you applica ion can be
modeled his way, Ja aSpaces echnology will
p o ide many benefi s, bu wo kflow is no enough
o en, chiefly in he field o MOWS and e-
comme ce applica ions. The eason is ha many
p oblems in his con ex equi e se e al objec s o
coope a e simul aneously in o de o achie e a
global goal, and ans o ming hem in o wo kflow
asks o sequences o me hod calls may ha m ex-
p essi eness and hus easy adap a ion o new en-
i onmen s.
Fo ins ance, assume we ha e o design a
debi -ca d sys em [77], which is one o he basic
beha iou pa e ns in a dis ibu ed e-comme ce
applica ion. Such a sys em is composed o a se o
poin o sales e minals and a numbe o com-
pu e s ha hold cus ome accoun s and me chan
accoun s; he goal is o design a business objec
esponsible o ans e ing money om a cus-
ome accoun o a me chan accoun e e y ime a
cus ome pays wi h his o he debi ca d. Wi h
Ja aSpaces, o ins ance, i is ela i ely easy o
de ise a simple solu ion o sol e his p oblem, bu
i would ha e wo main d awbacks: fi s , he whole
ansac ion can be iewed as an a omic e en co-
o dina ing h ee objec s, bu his in e ac ion model
leads o a solu ion in which his e en needs o be
decomposed in o a numbe o me hod calls ha
need o be coo dina ed by means o a specific
p o ocol based on uple spaces; u he mo e, his
p o ocol may be eusable in o he sys ems, bu
cu en echnology me ges p o ocols and unc-
ionali y so much ha so ing ou he diffe ence is
almos impossible [57].
2.1. Ou p oposal
The conce ns p esen ed abo e a gue o an in-
e ac ion model able o desc ibe coo dina ion
pa e ns amongs an a bi a y numbe o objec s
independen ly om he unc ionali y hey imple-
men and he cu en unde lying echnology.
In o de o de ise such an in e ac ion model, we
go inspi a ion om he well-known mul ipa y
in e ac ion model [44], which is well sui ed o
cap u e he essence o p oblems in which se e al
objec s esiding on diffe en machines need o co-
ope a e coo dina ely and simul aneously. I p o-
ides a highe le el o abs ac ion because i allows
hem o exchange da a and pe o m some join
ac ions coo dina ely wi hou aking implemen a-
ion de ails in o accoun . Mul ipa y in e ac ions
a e highe le el in he sense ha hey abs ac he
conc e e mechanism used o synch onise, coo di-
na e o communica e se e al objec s simul a-
neously. They hus make i easible o cus omise
he implemen a ion o mul iobjec in e ac ion since
he low-le el coo dina ion p o ocols a e no longe
ha d-wi ed in o business objec s, bu specified by
means o high-le el language cons uc s. Mul i-
pa y in e ac ions hide se e al unde lying poin -
o-poin communica ion ope a ions, as well as he
o de in which hey mus occu o he algo i hm
used o achie e mul ipa y synch onisa ion. The
p og amme does no need o ca e abou hese low-
le el de ails, which can be gene a ed in a com-
ple ely au oma ic way, hus easing main ainabili y.
Al hough his in e ac ion model has a ac ed
he a en ion o many esea che s who ha e o-
cused on implemen a ion issues [1,22,24,25,43,
44,51,53,85], i suffe s om se e al d awbacks ha
need o be add essed be o e using i in he con ex
o a MOWS. In pa icula , he model does no
allow o passi e objec s, objec s pa icipa ing in
an in e ac ion need o be known a compile ime,
and hey need o ha e access o he local s a e o
he objec s wi h which hey communica e. Tha is
he eason why we ha e de eloped an enhanced
e sion ha add esses hese p oblems and sol es
hem adequa ely. We e e o i as OMIM.
In o de o suppo OMIM, we ha e designed a
language called CAL [23] and a se o algo i hms
ha allow o implemen i qui e efficien ly [71–73].
In he ollowing subsec ions, we summa ise ou
esul s so ha he eade may ha e an o e all idea
o he wo k we ha e al eady done. In Sec ion 3, we
epo on he amewo k we ha e buil , which is
one o he con ibu ions o his pape . I in eg a es
hese algo i hms and p oposals by o he au ho s,
hus p o ing ha in e ac ion may be sepa a ed
om unc ionali y; he esul benefi s om en-
hancing eusabili y and allows o cus omise he
implemen a ion by quickly changing he algo-
i hms used o implemen a sys em. The impac on
he de elopmen ime is qui e significan , as shown
in Sec ion 4.3.
2.2. Linguis ic suppo
In his sec ion, we glance a CAL and desc ibe
i s main ea u es by means o he debi -ca d sys em
p esen ed p e iously. This p oblem can be easily
desc ibed by means o mul ipa y in e ac ions be-
cause a h ee-pa y in e ac ion needs o be ca ied
ou when a cle k inse s a debi ca d in o a e -
minal in o de o ans e unds om a cus ome Õs
accoun o a me chan Õs accoun . Fig. 1 shows a
desc ip ion o he debi -ca d sys em in CAL, and i
is analysed in he ollowing subsec ions.
2.2.1. Desc ibing in e ac ions
In e ac ions a e defined by means o he ol-
lowing syn ax:
in e ac ion hnamei[hpa icipan si](hslo si)
whe e h ead/w i e pe missionsi
Each in e ac ion is gi en a diffe en name, a
numbe o pa icipa ing objec s, a numbe o slo s,
and some ead/w i e pe missions. In he example
in Fig. 1, an in e ac ion called ans e has been
defined, and i is a h ee-pa y in e ac ion ha
allows o in e ac a e minal ha plays ole e m
and wo bank accoun s ha play oles sou ce and
des . This in e ac ion is in ended o be he channel
by means o which hey can coo dina e so ha
unds can be ans e ed om he sou ce accoun
o he des ina ion accoun .
In e ac ions a e equipped wi h a local s a e ha
is composed o se e al slo s. In ou example, in-
e ac ion ans e has wo slo s called sum and
app o al.sum is used o s o e he amoun o money
o be ans e ed, and app o al is a flag ha indi-
ca es whe he he sou ce accoun can ans e such
a sum o he des ina ion accoun . These slo s make
up a local s a e ha simula es he empo a y glo-
bal combined s a e in he basic mul ipa y in e -
ac ion model [44], being he mos impo an
diffe ence ha an objec does no need o ha e
access o he local s a e o o he objec s in o de o
ge he in o ma ion i needs.
The ead/w i e pe missions s a e which pa ici-
pan in an in e ac ion can ead and/o w i e each
slo . In ou example, he e minal is esponsible o
s o ing he sum o be ans e ed in slo sum,
whe eas i only eads slo app o al in o de o
display a message on i s sc een; he accoun play-
ing ole sou ce can ead slo sum o decide whe he
i can ans e such a sum, and i can w i e slo
app o al o s o e i s decision; finally, he des ina-
ion accoun can ead bo h slo s, bu i is no al-
lowed o w i e any o hem.
E e y objec can offe pa icipa ion in one o
mo e in e ac ions simul aneously. In e e y offe , a
pa icipan s a es which ole i plays in he in e -
ac ion, and may es ablish cons ain s on wha
objec s should play he o he oles. An in e ac ion
may be execu ed as long as a se o objec s sa is-
ying he ollowing cons ain s is ound: (i) he e is
an objec pe ole willing o pa icipa e in ha
in e ac ion and o play ha ole; (ii) hose objec s
ag ee in in e ac ing wi h each o he , i.e., he con-
s ain s hey es ablish a e sa isfied. A se o objec s
which can execu e an in e ac ion is wha we call a
enablemen .
Fig. 1. A desc ip ion o he debi -ca d sys em in CAL.
Since exclusion mus be gua an eed, an objec
canno commi o mo e han one in e ac ion a a
ime. Howe e , since an objec can offe pa ici-
pa ion simul aneously in mo e han one in e ac-
ion, i can be in mo e han one enablemen . So,
when wo o mo e enablemen s sha e objec s, hey
canno be execu ed simul aneously. The se o
enablemen s ha canno be execu ed a e said o be
e used.
2.2.2. Desc ibing beha iou s
Each in e ac ion equi es a numbe o objec s,
and hey mus beha e he igh way. We use he
ollowing syn ax o desc ibe beha iou pa e ns:
beha iou hnamei
equi es hin e acesi
{
hbeha iou s a emen i
}
Each one is gi en a diffe en name, and equi es
a numbe o ope a ions (i.e., an in e ace) o be
implemen ed by he objec s on o which i can be
mapped. In he example in Fig. 1, wo beha iou
pa e ns a e desc ibed: Te minal, which desc ibes
he beha iou o a e minal, and Accoun , which
desc ibes he beha iou o a bank accoun , bo h as
deb o and c edi o .
Pa e n Te minal equi es ha he ope a ions
in in e ace ITe minal (Fig. 2) be implemen ed by
he objec s ha can beha e he way i desc ibes:
Wai _Fo _Sale, which encapsula es he de ails
conce ning wai ing o a new sale and in e ac ions
wi h he cle k ini ia ing i , Ge _P ice, which can be
in oked a e a new sale has been ini ia ed and
epo s i s p ice, Ge _Cus ome _Accoun and
Ge _Me chan _Accoun , which p o ide e e ences
o he in ol ed accoun s, and Repo _Resul ,
which can be in oked o epo whe he a ans e
has been done o no . Simila ly, pa e n Accoun
equi es ha he h ee ope a ions in in e ace
IAccoun be implemen ed: Cha ge, o wi hd aw
money om an accoun , Pay_In, o pay money
in o i , and Au ho ise_Paymen , which decides
whe he an accoun can affo d a paymen o no .
The ope a ions equi ed by a beha iou pa e n
a e he ope a ions whose execu ion is coo dina ed
by means o mul ipa y in e ac ions. In o de o
model how a e minal o an accoun coope a e, we
use in e ac ion s a emen s o he o m I[exp es-
sion_lis ]{comm_s a }, whe e Iis he name o an
in e ac ion, he exp essions wi hin b acke s iden-
i y he objec s wi h which he objec execu ing
such a s a emen is in e es ed in coope a ing, and
comm_s a is a communica ion s a emen in ol -
ing he slo s o in e ac ion I. The exp essions be-
ween b acke s a e o he o m ole!id, which
means ha ole ole mus be played by he objec
iden ified by id. The exp ession ole!sel is used o
deno e he ole played by he objec ha issues he
offe . I no exp ession is gi en o a ole, i means
ha i can be played by any objec .
The e o e, he beha iou o a e minal can be
summa ised as ollows: i is an infini e loop whe e
i fi s wai s o a new sale ope a ion o begin and
hen ies o engage in e ac ion ans e oge he
wi h he objec s ha model he cus ome Õs accoun
and he me chan Õs accoun . I his in e ac ion is
fi ed, he e minal pa icipa ing in i execu es hen
i s communica ion code, which consis s o s o ing
he sum o be ans e ed in slo sum, and dis-
playing a message on i s sc een. The beha iou o
an Accoun also consis s o an infini e loop whe e
engaging in e ac ion ans e is offe ed ei he as a
sou ce accoun o a des ina ion accoun . I he
in e ac ion whe e an accoun plays he fi s ole is
fi ed, i checks whe he i can affo d he cha ge,
s o es he esul in slo app o al and upda es i s
balance acco dingly. I he in e ac ion in which i
Fig. 2. In e aces equi ed he by beha iou s in Fig. 1.
plays he o he ole is fi ed, i simply eads slo
app o al and hen upda es i s balance acco dingly.
Ob iously, a mul ipa y in e ac ion delays an
objec ha ies o ead a slo ha has no been
ini ialized ye , e.g., a e minal ha execu es he
s a emen Repo _Resul (app o al) is delayed un il
he sou ce accoun pa icipa ing in he same in-
e ac ion has w i en slo app o al. Thus, he com-
munica ion s a emen s a e execu ed in a c i ical
egion whe e no ace condi ions can occu .
2.2.3. Mapping beha iou s on o objec classes
Beha iou pa e ns a e abs ac because hey
desc ibe how an objec ha implemen s a se o
ope a ions coope a es wi h o he s. These ope a-
ions a e also abs ac , and hey usually need o be
adap ed when we need o map a beha iou on o an
objec class.
CAL p o ides a simple mechanism o adap ing
ope a ions, and i is shown in Fig. 3. In his ex-
ample, beha iou Accoun has been mapped on o
a Ja a class called bankAccoun , bu i does no
p o ide he ope a ions his pa e n equi es. Fo
ins ance, he e is no an ope a ion o deciding
whe he cha ging a sum is affo dable o no .
Fo una ely, he exp ession ge BalanceðÞPsum
implemen s i easily.
This mapping allows us o w i e ully abs ac ,
eusable beha iou specifica ions. This is impo -
an , because in o he aspec languages such as
COOL [61], RIDL [61], Aspec J [56] o AML [50],
aspec specifica ions e e ence he classes on o
which hey a e applied by name, which makes i
difficul o euse hem effec i ely.
3. The amewo k
We ha e ca e ully designed a amewo k ha
offe s a numbe o high-le el se ices o imple-
men ing CAL.
2
We ha e a i ed a i s design
la gely h ough expe imen a ion, and ou main
design goals we e he ollowing:
(1) The amewo k should be ex ensible, so ha
new middlewa es o coo dina ion algo i hms
may be easily inco po a ed. This enhances
he choices he designe has o p oduce he
final e sion o his o he business objec s inde-
penden ly om he unc ionali y he o she has
p og ammed.
(2) I should allow o passi e objec s. The adi-
ional mul ipa y in e ac ion model assumes
ha e e y objec pa icipa ing in a mul ipa y
in e ac ion is ac i e, i.e., hey can au ono-
mously offe o pa icipa e in an in e ac ion.
Howe e , objec s a e passi e in many eal-
wo ld p oblems, i.e., hey offe in e ac ion on
demand; hus, a good amewo k should be
able o deal wi h hem wi hou comp omising
effec i eness.
(3) I mus allow o desc ibe o he o hogonal as-
pec s using well-known aspec -o ien ed lan-
guages.
Fig. 4 shows a snapsho o a unning sys em
ha ske ches he a chi ec u e o ou solu ion. I is
composed o he ollowing elemen s:
The ga ekeepe : I is one o he mos impo an
componen s o ou a chi ec u e because i is e-
sponsible o asks such as secu i y policies, billing,
gene a ing and managing UUIDs, loca ing in e -
ac ion coo dina o s o in e ac ing wi h he sys em
adminis a o .
In e ac ion coo dina o s: They a e esponsible
o de ec ing enabled in e ac ions and a bi a ing
amongs conflic ing ones, i.e., in e ac ions ha
canno be execu ed simul aneously because hey
sha e a common objec .
Fig. 3. Mapping beha iou Accoun on o class bankAccoun .
2
The amewo k is a ailable on eques . Please, send mail o
[email p o ec ed] o ask o he package.
P oxies: In ou amewo k, use objec s a e
conside ed o be ex e nal en i ies ha use p oxies
o in e ac . This makes a clean sepa a ion be ween
unc ionali y and coo dina ion de ails and simpli-
fies he amewo k implemen a ion because i does
only need o ca e abou p oxies, independen ly
om he objec s hey ep esen . This implies ha
hose objec s may ha e pu e unc ionali y o may
ha e been wo en wi h o he aspec s p e iously.
Fo ins ance, an objec ha ing synch onisa ion o
eplica ion cons ain s may be implemen ed by
wea ing unc ional code wi h a COOL [61] speci-
fica ion and he p oposal desc ibed in [13].
Communica ion manage s: They a e esponsible
o managing communica ion amongs a numbe
o objec s ha ha e commi ed o an in e ac ion.
This way, many diffe en occu ences o he same
in e ac ion may be unning simul aneously and
independen ly om each o he . Communica ion
manage s a e also esponsible o coping wi h
aul s du ing mul ipa y communica ion [85].
A a fi s glance, i migh seem ha he ga e-
keepe is a bo leneck componen , bu i is no .
The eason is ha he unc ionali y i offe s is used
only when new objec s o in e ac ions a e added o
he sys em, o when an objec needs o e ch e -
e ences o he coo dina o s esponsible o he
in e ac ions in which i may be in e es ed. I is also
wo h no ing ha no hing p e en s us om c e-
a ing se e al ins ances o he ga ekeepe , hus e-
ducing he impac o a c ash. Howe e we usually
e e o his componen as Ô he ga ekeepe Õbecause
all o i s ins ances a e unc ionally equi alen .
I is also wo h men ioning ha ha ing p oxies
does no amoun o inefficiency because hey eside
in he same memo y space as he objec s hey
ep esen . Fu he mo e, sepa a ing coo dina ion
conce ns om business objec s a un ime is
wo hwhile because his d aws a clea line be ween
he unc ionali y hey encapsula e and he way
hey in e ac wi h o he s. This acili a es he
cons uc ion o a wea e because p oxies may be
implemen ed using a combina ion o design pa -
e ns ha a e collec i ely called he ole objec
pa e n [38]. This helps keep he diffe en con ex s
in which a business objec may pa icipa e sepa-
a ed.
Fig. 5 shows he class amewo k we ha e de-
signed. No ice ha ou design is gene al enough
o accommoda e se e al middlewa es as well as
se e al coo dina ion o communica ion algo i hms
p oposed in he li e a u e. The designe may make
a choice depending on he applica ion domain and
he p oblem o be sol ed. I all o he objec s know
he objec s wi h which hey ha e o in e ac , he
designe migh use a classical algo i hm o coo -
dina ing hem; howe e , i some objec s a e se-
lec ed a un ime, he designe may use he
algo i hms we ha e implemen ed o deal wi h open
mul ipa y in e ac ions [71,73]. I is wo h men-
ioning ha p oxies implemen wo in e aces be-
cause hey ha e o communica e wi h bo h objec s
and coo dina o s. We ha e spli hei in e ace
in o IPa P oxy, which g oups he ope a ions an
objec needs, and ICoo dP oxy, which g oups he
ope a ions coo dina o s need.
Fig. 4. The a chi ec u e o ou solu ion.
as e han he eams wo king wi h s anda d Ja a.
The expe imen s we e epea ed in oducing e o s
in he seman ic p o ocol, he base class, and he
coo dina ion pa e n, and hey all concluded in
simila esul s. Fu he mo e, we no iced ha he
eams ha used Aspec J o ou amewo k had less
discussions abou he seman ics o he base code,
which was expec ed acco ding o he esul s e-
po ed in [63].
We also measu ed he ime ou eams ook o
change hei code a diffe en le els. In his case,
he eams using Aspec J o ou amewo k did no
ook significan ly less ime han he eams using
s anda d Ja a, as shown in Fig. 14. We hink ha
he eason may be ha p og amme s ha use
aspec -o ien ed echnologies end o hink ha
changes can be la gely deal wi h by using he as-
pec language. Tha is he eason why hey did no
ake enough ime o analyse he code be o e hey
began making changes. No ice ha some eams in
G oup B ou pe o med he o he eams in some
cases. Howe e , we do no hink his diffe ence is
impo an because he ime hey ook was almos
he same in a e age. The e is no a concluding
eason o explain why hose eams excelled a
changing hei code.
5. Rela ed wo k
Coo dina ion is a conce n ha has a ac ed he
a en ion o many esea che s in he aspec -o ien-
a ion a ena. I has been deal wi h om e y
diffe en poin s o iew, so he e is a wide a ie y
o ela ed p oposals in he li e a u e. In his sec-
ion, we summa ise and compa e some o he wo k
ha has been done, and conclude ha none o
hem has add essed a clea sepa a ion be ween he
in e ac ion model used o ge objec s in ouch and
o he aspec s.
One o he fi s p oposals ha conside ed co-
o dina ion as a c oss-cu ing aspec was COOL
[61]. In COOL, a special cons uc called coo di-
na o can be associa ed wi h each class (one co-
o dina o pe class) desc ibing a synch onisa ion
policy. The coo dina o o a class desc ibes he
possible s a es o he class om he coo dina-
ion poin o iew, how he s a e changes when
me hods o he class a e called, and es ablishes
cons ain s on how a me hod call is execu ed de-
pending on he s a e.
COOL de ia es om ou p oposal in ha i
does only deal wi h in a-objec coo dina ion, i.e.,
p o ocols ha con ol whe he a me hod call needs
o be delayed un il a synch onising condi ion
holds. The e o e, coo dina ion amongs a numbe
o objec s needs o be coded manually in o he
unc ional code. Fu he mo e, COOL assumes
ha he unde lying in e ac ion model is me hod
call, which makes i difficul o change i .
Fo me ly, in [46], he au ho s p esen ed a p o-
posal called language amewo k o mul iobjec
coo dina ion (LFMOC). I uses mul iobjec con-
s ain s implemen ed by synch onise s ha allow
o desc ibe coo dina ion pa e ns.
3
Concep ually,
a synch onise is an objec ha cons ain s he
in oca ions accep ed by a se o o dina y objec s
ha a e being cons ained. They allow o en o ce
empo al o de ing cons ain s and a omici y on
g oups o in oca ions. Consequen ly, his p o-
posal imp o es COOL in ha i akes coo dina-
ion amongs se e al objec s in o accoun and can
also deal wi h a omici y.
Abs ac communica ion ypes (ACT) [5] is a
p oposal simila o LFMOC. I is based on com-
posi ion fil e s [4], which a e used o design me a-
objec s ha con ol how a se o me hods in one o
se e al objec s ge synch onised. LFMOC and
Fig. 14. Time o make a change.
3
No ice ha he au ho s use he e m Ôin e ac ionÕ o e e o
coo dina ion, bu no he mechanism by means o which wo o
mo e objec s can s imula e each o he .
ACT a e simila in spi i , bu diffe in ha he
language composi ion fil e s p o ides is much
iche han he language LFMOC p o ides.
Howe e , LFMOC allows o gene a e low-le el
p o ocols au oma ically, and hey can be cus o-
mised acco ding o specific-domain cons ain s.
Con a ily, low-le el p o ocols mus be imple-
men ed in composi ion fil e s, bu hey can be
eused la e in simila si ua ions.
Ou p oposal is simila o bo h LFMOC and
ACT in ha i also allows o coo dina e g oups o
objec s wi hou ha d-coding low-le el p o ocols
in o he unc ional code. Howe e , i diffe s in ha
seman ic p o ocols in bo h LFMOC and ACT
need o be ha d-wi ed by means o sequences o
me hod calls ha a e synch onised by he mecha-
nisms hey p o ide. Objec s a e hus dependen on
he in e ac ion model used, which is no easy o
change once an objec encapsula es a pa o a
seman ic p o ocol.
Ano he in e es ing app oach can be ound in
[74]. The au ho s p esen a dynamic aspec -o i-
en ed amewo k (DAOF) which can deal wi h
diffe en conce ns by means o me hod call adap-
a ion. In DAOF, aspec s a e fi s -o de en i ies
ha can be composed a un ime by using he in-
o ma ion s o ed in a middlewa e laye . To deal
wi h an aspec , i mus be encapsula ed in o a
handmade class and egis e ed in he middlewa e,
which is esponsible o applying hem in a gi en
o de each ime i in e cep s a call o an objec .
The p oposal is illus a ed by means o he coo -
dina ion aspec , which is e y simila o LFMOC
o composi ion fil e s. In DAOF he coo dina ion
aspec is implemen ed by means o an objec ha
encapsula es a piece o logic ha allows o moni-
o and con ol he in oca ions o a me hod in
an objec . Howe e , i is no clea whe he he
au ho s can add ess mul iobjec synch onisa-
ion. Con a ily o LFMOC and ou p oposal,
DAOF does no p o ide an au oma ic mecha-
nism o gene a e low-le el p o ocols au oma i-
cally.
DAOF is simila in spi i o he aspec mode -
a o amewo k (AMF) [20,21], which was ecen ly
enhanced and ans o med in o he laye ed aspec
mode a o amewo k (LAMF) [64,65]. The
LAMF is an a chi ec u al p oposal ha aims a
decomposing sys ems in o a numbe o well-
defined laye s composed o unc ional componen s
and aspec ual p ope ies con olled by an aspec
mode a o , which is simila in essence o he ob-
jec s ha implemen aspec s in DAOF.
Al hough he laye ed app oach g ea ly en-
hances decomposi ion and abs ac ion, aspec s
need o be coded manually and coo dina ion is
no add essed explici ly, al hough i can be inco -
po a ed simila ly o DAOF. Nei he does his
amewo k achie e a clea sepa a ion be ween
unc ional code and he unde lying in e ac ion
model, which is also assumed o be objec -o ien ed
me hod calls. In ac , he amewo k wo ks by
in e cep ing me hod in oca ions a un ime and
deciding which aspec s need o be applied be o e
he me hod begins execu ing. Thus, seman ic
p o ocols also need o be ha d-coded in o he
unc ional code, whe eas low-le el p o ocols
a e coded in o specific classes and hus kep sep-
a a ed.
Me a-objec p o ocols (MOP) [81] is a ecen
p oposal ha aims a adding aspec s o an objec
by using a limi ed se o eflec ion capabili ies ha
allow p og amme s o modi y how an objec be-
ha es a un ime. The p oposal is simila in spi i
o COOL and allows o implemen his language
efficien ly. Howe e , he aspec s ha can be in e-
g a ed a un ime a e no limi ed o synch oni-
sa ion because hey a e coded using he same
p og amming language. Al hough his p oposal
allows o in eg a e mul iple aspec s, hey need o
be coded manually, and does no allow o aspec s
such as coo dina ion because hey c oss-cu he
bounda ies o se e al classes. The unde lying in-
e ac ion model is also assumed o be objec -
o ien ed me hod calls.
MOP builds on he spi i o languages such as
MAUD [2], which p o ide ull eflec ion. How-
e e , ull eflec i e languages ha e complica ed
seman ics and may b ing unnecessa y addi ional
complexi y [5], which a gues o mo e effec i e
solu ions such as MOP. Each objec in MAUD,
o ins ance, has h ee me a-objec s, namely a
dispa che , a mail queue and acquain ances. The
messages sen and ecei ed a e handled by he
dispa che and mail queue objec s, espec i ely.
The acquain ances objec con ains a lis o objec s
ha may be add essed by i s owne . In MAUD,
one can implemen coo dina ed beha io by e-
placing he me a-objec s wi h he objec s im-
plemen ing he equi ed p o ocol. To ins all a
p o ocol o an objec , he o iginal mail queue and
dispa che mus be eplaced by a pai implemen -
ing he equi ed p o ocol. In MAUD, a sha ed
p o ocol amongs objec s is implemen ed by mail
queues and dispa che s. Coo dina ed beha io is
dis ibu ed amongs mail queue and dispa che
objec s which a e added o all pa icipa ing ob-
jec s.
In a sense, ou p oposal esembles MAUD in
ha we a ach an objec called p oxy o each use
objec . The main diffe ence is ha we do no e-
qui e he unde lying language o be eflec i e,
which has a di ec effec on efficiency, and he se-
man ic p o ocol is encapsula ed in an indepen-
den business objec ha can be cons uc ed using
he mos app op ia e in e ac ion model in each
con ex . Un o una ely, MAUD objec s assume
ha he in e ac ion model is message passing, so
ha e en i he me a-objec s a e changed, hey s ill
communica e and embed seman ic p o ocols by
means o sequences o messages.
The p oposal desc ibed in [60] also dese es
some a en ion. The au ho s p esen a solu ion
called adap i e me hods (AM) o deal wi h c oss-
cu ing conce ns in scena ios in which a se o in-
e ela ed objec s need o ca y ou a common
ask. I consis s o a Ja a lib a y ha allows o
implemen a e sal s a egies [58]. Such s a egies
allow o desc ibe high-le el coope a ions as a high-
le el desc ip ion o how o each he pa icipan s
o a compu a ion, plus a desc ip ion o wha o do
when each pa icipan is eached. Al hough AM
migh seem simila o ou s, i is comple ely di -
e en because AM a e a ge ed owa ds designing
wo kflow algo i hms in which pa icipan s a e
designed ca e ully o accomplish a pa o he
wo kflow. No eal coo dina ion is needed amongs
a se o dis ibu ed objec s, jus a desc ip ion o
how o each each pa icipan and he wo k i has
o do. As he au ho s poin ou , AM can only deal
wi h a limi ed class o beha iou al conce ns and
coo dina ion o objec s ha un independen ly
does no seem o be amongs hem, excep o he
case o wo kflow coo dina ion.
6. Conclusions
In his pape , we ha e explo ed he aspec -o i-
en ed pa adigm, he mul ipa y in e ac ion model,
and how p og amming dis ibu ed sys ems may
benefi om bo h. Sepa a ing compu a ion om
in e ac ion encou ages euse, imp o es comp e-
hension, and eases main enance and e olu ion o
so wa e because classes ha a e pu ely unc ional
can be easily eused in con ex s in which specific
in e ac ion models a e mo e sui ed han objec -
o ien ed me hod calls. We ha e also shown ha
he p oposal is easible, and he efficiency o he
amewo k we ha e p esen ed a es compa ably o
handmade implemen a ions, bu educes de elop-
men ime significan ly.
To he bes o ou knowledge, his piece o wo k
is no el in ha none o he e e ences consul ed
aims a sepa a ing he unde lying in e ac ion
model om o he aspec s. I is assumed ha ob-
jec s communica e by means o me hod calls,
which make hem dependen on his in e ac ion
model and makes i difficul o euse hem in
con ex s in which o he in e ac ion models a e bes
sui ed.
OMIM also seems aluable in he con ex o
MOWS because i allows se e al objec s o in e -
ac simul aneously. Al hough mos analysis and
design me hods use cons uc s in which se e al
objec s need o in e ac simul aneously, e y li le
suppo is a ailable in cu en p og amming lan-
guages, which makes ou amewo k aluable be-
cause i can be used o educe he gap be ween he
cons uc s such me hods p o ide and hei imple-
men a ion.
Acknowledgemen s
We a e hank ul o ou e e ees o hei in-
sigh ul sugges ions on an ea lie e sion o his
pape , o ou edi o s, and also o he s uden s who
se ed as guinea pigs o e alua e ou p oposal.
Re e ences
[1] A. Adi , Compiling p og ams wi h mul ipa y in e ac ions
and eams, Ph.D. hesis, Technion, 1994.
[2] G. Agha, S. F ølund, R. Panwa , D. S u man, A linguis ic
amewo k o dynamic composi ion o dependabili y
p o ocols, in: C.E. Landweh , B. Randell, L. Simoncini
(Eds.), P oceedings o he 3 d Wo king Con e ence on
Dependeble Compu ing o C i ical Applica ions, IFIP
T ansac ions, Sp inge , Be lin, 1993, pp. 345–363.
[3] M. Aksi , Sepa a ion and composi ion o conce ns in he
objec -o ien ed model, ACM Compu ing Su eys, 28(4es)
(1996).
[4] M. Aksi , L. Be gmans, S. Vu al, An objec -o ien ed
language-da abase in eg a ion model: he composi ion-
fil e s app oach, in: O.L. Madsen (Ed.), P oceedings o
he Eu opean Con e ence on Objec -o ien ed P og am-
ming, ECOOPÕ92, Lec u e No es in Compu e Science,
U ech , The Ne he lands, July 1992, Sp inge , Be lin,
1992, pp. 372–395.
[5] M. Aksi , K. Waki a, J. Bosch, L. Be gmans, A. Yonez-
awa, Abs ac ing objec in e ac ions using composi ion
fil e s, in: R. Gue aoui, O. Nie s asz, M. Ri eill (Eds.),
P oceedings o he Wo kshop on Objec -Based Dis ib-
u ed P og amming, ECOOPÕ93, Lec u e No es in
Compu e Science, ol. 791, Sp inge , Be lin, 1994, pp.
152–184.
[6] E. Ande sen, Concep ual modeling o objec s: a ole
modeling app oach, Ph.D. hesis, Uni e si y o Oslo, 1997.
[7] R.L. Bag odia, P ocess synch oniza ion: design and pe -
o mance e alua ion o dis ibu ed algo i hms, IEEE
T ansac ions on So wa e Enginee ing 15 (9) (1989)
1053–1065.
[8] B. Baue , J. M€
uulle , J. Odell, Agen UML: a o malism o
speci ying mul iagen in e ac ion, in: P. Cianca ini, M.
Woold idge (Eds.), P oceedings o he 22nd In e na ional
Con e ence on So wa e Enginee ing ICSEÕ01, Lec u e
No es in Compu e Science, ol. 1957, Sp inge , Be lin,
2001, pp. 91–103.
[9] B. Baue , J. M€
uulle , J. Odell, Agen UML: a o malism o
speci ying mul iagen so wa e sys ems, In e na ional Jou -
nal o So wa e Enginee ing and Knowledge Enginee ing
11 (3) (2001) 207–230.
[10] L. Be gmans, M. Aksi , Composing c osscu ing conce ns
using composi ion fil e s, Communica ions o he ACM 44
(10) (2001) 51–57.
[11] G. Booch, Objec -O ien ed Design wi h Applica ions,
Benjamin/Cummings, Redwood Ci y, CA, 1990.
[12] D. Box, D. Ehnebuske, G. Kaki aya, A. Layman, N.
Mendelsohn, H.F. Nielsen, S. Tha e, D. Wine , Simple
objec access p o ocol (SOAP 1.1), Technical Repo .
A ailable om <h p://www.w3.o g/TR/SOAP>, W3C
Conso ium, 2000.
[13] A. B odsky, D. B odsky, I. Chan, Y. Coady, J. Pomkoski,
G. Kiczales, Aspec -o ien ed inc emen al cus omiza ion o
middlewa e se ices, Technical Repo TR-2001-06, De-
pa men o Compu e Science, Uni e si y o B i ish
Columbia, 2001.
[14] G. Cai e, F. Leal, P. Chainho, R. E ans, F. Ga ijo, J.
G
oomez, J. Pa
oon, P. Kea ney, J. S a k, P. Massone , Agen
o ien ed analysis using MESSAGE/UML, in: P oceedings
o Agen -O ien ed So wa e Enginee ing, AOSEÕ01, Mon-
eeal, 2001, pp. 101–108.
[15] N. Ca ie o, D. Gele n e , Linda in con ex , Communica-
ions o he ACM 32 (4) (1989) 444–458.
[16] D. de Champeaux, Objec -o ien ed analysis and op-down
so wa e de elopmen , in: P oceedings o he Eu opean
Con e ence on Objec -O ien ed P og amming, ECOOPÕ91,
Lec u e No es in Compu e Science, ol. 512, Sp inge ,
Be lin, 1991, pp. 360–375.
[17] K.M. Chandy, J. Mis a, Pa allel P og am Design: A
Founda ion, Addison-Wesley, Reading, MA, 1988.
[18] P. Coad, E. You don, Objec -O ien ed Analysis, Compu -
ing Se ies, You don P ess, Englewood Cliffs, NJ, 1990.
[19] E.G. Coffman, M.J. Elphick, A. Shoshani, Sys em dead-
locks, Compu ing Su eys 3 (2) (1971) 67–78.
[20] C. Cons an inides, A. Bade , T. El ad, An aspec -o ien ed
design amewo k o concu en sys ems, in: A.M.D.
Mo ei a, S. Demeye (Eds.), ECOOP Wo kshops, 1999, p.
302.
[21] C.A. Cons an inides, A. Bade , T. El ad, P. Ne inan ,
M.E. Fayad, Designing an aspec -o ien ed amewo k in
an objec -o ien ed en i onmen , ACM Compu ing Su eys
32 (1es) (2000) 41.
[22] R. Co chuelo, O. Ma
ıın, An IP-based language o he
desc ip ion o dis ibu ed, eac i e p og ams, in: P oceed-
ings o he V Eu opean Concu en Enginee ing Con e -
ence ECECÕ98, E lagen-Nu embe g, Ge many, Ap il 1998,
pp. 267–270.
[23] R. Co chuelo, J.A. P
ee ez, M. To o, A mul ipa y coo di-
na ion aspec language, ACM Sigplan 35 (12) (2000) 24–32.
[24] R. Co chuelo, D. Ruiz, M. To o, J.M. P ie o, J.L. A jona,
A dis ibu ed solu ion o mul ipa y in e ac ion, in: Recen
Ad ances in Signal P ocessing and Communica ions,
Wo ld Scien ific Enginee ing Socie y, Singapo e, 1999,
pp. 318–323.
[25] R. Co chuelo, D. Ruiz, M. To o, A. Ruiz-Co
ees, Imple-
men ing mul ipa y in e ac ions on a ne wo k compu e ,
in: P oceedings o he XXV h Eu omic o Con e ence
(Wo kshop on Ne wo k Compu ing), Milan (I aly), Sep-
embe 1999, IEEE P ess.
[26] R. Co chuelo, A. Ruiz-Co
ees, Ad ances in Business
Solu ions, Ca ed al, 2002.
[27] R. Co chuelo, A. Ruiz-Co
ees, J.R. M€
uuhlbache , J. Ga c
ııa-
Consueg a, Objec -o ien ed business solu ions, in: Objec -
O ien ed Technology, Lec u e No es in Compu e Science,
ol. 2323, Sp inge , Be lin, 2002, chap e 8.
[28] R. Co chuelo, A. Ruiz-Co
ees, R. W embel, Technologies
Suppo ing Business Solu ions, No a Science Publishe s,
2002.
[29] J.A. D
ııaz-Pace, M.R. Campo, Analyzing he ole o
aspec s in so wa e design, Communica ions o he ACM
44 (10) (2001) 66–73.
[30] J.A. D
ııaz-Pace, F. T ilnik, M.R. Campo, How o handle
in e ac ing conce ns, in: P oceedings o he ACM Con e -
ence on Objec -O ien ed P og amming, Sys ems, Lan-
guages, and Applica ions OOPSLAÕ00, Minneapolis,
Minneso a, USA, Oc obe 2000.
[31] E.W. Dijks a, A Discipline o P og amming, P en ice-
Hall, Englewood Cliffs, NJ, 1976.
[32] D.F. DÕSouza, A.C. Wills, Objec s, Componen s, and
F amewo ks wi h UML: The Ca alysis App oach, Addi-
son-Wesley, Reading, MA, 1999.
[33] T. El ad, M. Aksi , G. Kiczales, K. Liebe he , H. Osshe ,
Discussing aspec s o AOP, Communica ions o he ACM
44 (10) (2001) 33–38.
[34] T. El ad, R.E. Filman, A. Bade , Aspec -o ien ed p o-
g amming, Communica ions o he ACM 44 (10) (2001)
29–32.
[35] R. Englande , Ja a and SOAP. OÕReilly and Associa es,
2002.
[36] M. Fayad, E- ame: a p ocess-based, objec -o ien ed
amewo k o e-comme ce, in: P oceedings o he In e -
na ional Con e ence on In e ne Compu ing ICÕ2001, ol.
1, Las Vegas, Ne ada, USA, June 2001, CSREA P ess,
2001, pp. 124–128.
[37] M. Fayad, R.E. Johnson (Eds.), Domain-Specific Appli-
ca ion F amewo ks: F amewo ks Expe ience by Indus y,
Wiley, New Yo k, 1999.
[38] M. Fayad, D.C. Schmid (Eds.), Building Applica ion
F amewo ks: Objec -O ien ed Founda ions o F amewo k
Design, Wiley, New Yo k, 1999.
[39] M. Fayad, D.C. Schmid , R.E. Johnson (Eds.), Imple-
men ing Applica ion F amewo ks: Objec -O ien ed
F amewo ks a Wo k, Wiley, New Yo k, 1999.
[40] M.E. Fayad, D.S. Hamu, D. B ugali, En e p ise ame-
wo ks cha ac e is ics, c i e ia, and challenges, Communi-
ca ions o he ACM 43 (10) (2000) 39–46.
[41] M.E. Fayad, D.C. Schmid , Lessons lea ned building
eusable OO amewo ks o dis ibu ed so wa e, Com-
munica ions o he ACM 40 (10) (1997) 85–87.
[42] P. Fe guson, W.S. Humph ey, S. Khajenoo i, S. Macke, A.
Ma ya, Resul s o applying he pe sonal so wa e p ocess,
Compu e 30 (5) (1997) 24–31.
[43] I.R. Fo man, Design by decomposi ion o mul ipa y
in e ac ions in Raddle. in: 5 h In e na ional Wo kshop on
So wa e Specifica ion and Design, May 1989, pp. 2–10.
[44] N. F ancez, I. Fo man, In e ac ing P ocesses: A Mul i-
pa y App oach o Coo dina ed Dis ibu ed P og amming,
Addison-Wesley, Reading, MA, 1996.
[45] E. F eeman, S. Hup e , K. A nold, Ja aSpaces P inciples,
Pa e ns, and P ac ice, Addison-Wesley Longman, Read-
ing, MA, 1999.
[46] S. F ølund, G. Agha, A language amewo k o mul i-
objec coo dina ion, in: O. Nie s asz (Ed.), P oceedings o
he Eu opean Con e ence on Objec -o ien ed P og amming
ECOOPÕ93, Kaise slau e n, Ge many, 1993, Sp inge ,
Be lin, 1993, pp. 346–360.
[47] C. Ghezzi, M. Jazaye i, D. Mand ioli, In oduc ion o he
Pe sonal So wa e P ocess, Addison-Wesley, Reading,
MA, 1997.
[48] J. G ay, T. Bap y, S. Neema, J. Tuck, Handling c osscu -
ing cons ain s in domain-specific modeling, Communica-
ions o he ACM 44 (10) (2001) 87–93.
[49] P. G e en, K. Abe e , Y. Hoffne , H. Ludwig, C ossflow:
c oss-o ganiza ional wo kflow managemen in dynamic
i ual en e p ises, In e na ional Jou nal o Compu e
Sys ems Science and Enginee ing 15 (5) (2000) 277–290.
[50] J. I win, J.-M. Loing ie , J.R. Gilbe , G. Kiczales, Aspec -
o ien ed p og amming o spa se ma ix code, in: P oceed-
ings o he 1997 In e na ional Scien ific Compu ing in
Objec -O ien ed Pa allel En i onmen s, Lec u e No es in
Compu e Science, ol. 1343, Sp inge , Be lin, Decembe
1997, pp. 249–256.
[51] Y.J. Joung, A comp ehensi e s udy o he complexi y o
mul ipa y in e ac ion, in: P oceedings o he 19 h Annual
ACM Symposium on P inciples o P og amming Lan-
guages POPLÕ92, ACM P ess, Janua y 1992, pp. 142–153.
[52] Y.J. Joung, Two decen alized algo i hms o s ong
in e ac ion ai ness o sys ems wi h unbounded speed
a iabili y, Theo e ical Compu e Science 243 (1–2) (2000)
307–338.
[53] Y.J. Joung, S.A. Smolka, A comp ehensi e s udy o he
complexi y o mul ipa y in e ac ion, Jou nal o he ACM
43 (1) (1996) 75–115.
[54] Y.J. Joung, S.A. Smolka, S ong in e ac ion ai ness ia
andomiza ion, IEEE T ansac ions on Pa allel and Dis-
ibu ed Sys ems 9 (2) (1998) 137–149.
[55] J. Kama a , W. Hayes, An expe ience epo on he
pe sonal so wa e p ocess, IEEE So wa e 17 (6) (2000) 85–
89.
[56] G. Kiczales, E. Hilsdale, J. Hugunin, M. Ke sen, J. Palm,
W.G. G iswold, An o e iew o Aspec J, in: P oceedings
Eu opean Con e ence on Objec -O ien ed P og amming
ECOOPÕ01, Lec u e No es in Compu e Science, ol. 2072,
Sp inge , Be lin, 2001, pp. 327–353.
[57] G. Kiczales, J. Lamping, A. Mendheka , C. Maeda, C.
Lopes, J. Loing ie , J. I win, Aspec -o ien ed p og am-
ming, in: P oceedings o he Eu opean Con e ence on
Objec -O ien ed P og amming ECOOPÕ97, Lec u e No es
in Compu e Science, Sp inge , Be lin, 1997, pp. 220–242.
[58] K.J. Liebe he , Adap i e Objec -O ien ed So wa e: The
Deme e Me hod wi h P opaga ion Pa e ns, PWS Pub-
lishing Company, Bos on, USA, 1996.
[59] K. Liebhe he , F om ansience o pe sis ence in objec -
o ien ed p og amming: pa e ns and a chi ec u es, ACM
Compu ing Su eys 28A (4) (1996) 39–41.
[60] K. Liebhe he , D. O leans, J. O linge , Aspec -o ien ed
p og amming wi h adap i e me hods, Communica ions o
he ACM 44 (10) (2001) 39–41.
[61] C.V. Lopes, D: a language amewo k o dis ibu ed
p og amming, Ph.D. hesis, Xe ox Palo Al o Resea ch
Cen e , 1998.
[62] G.C. Mu phy, R.J. Walke , E.L.A. Baniassad, E alua ing
eme ging so wa e de elopmen echnologies: lessons
lea ned om assessing aspec -o ien ed p og amming,
IEEE T ansac ions on So wa e Enginee ing 25 (4) (1999)
438–455.
[63] G.C. Mu phy, R.J. Walke , E.L.A. Baniassad, M.P.
Robilla d, A. Lai, M.A. Ke s en, Does aspec -o ien ed
p og amming wo k?, Communica ions o he ACM 44 (10)
(2001) 75–77.
[64] P. Ne inan , C. Cons an inides, T. El ad, M.E. Fayad,
Suppo ing aspec ual decomposi ion in he design o
ope a ing sys ems, in: J. Malen an , S. Moisan, A.M.D.
Mo ei a (Eds.), P oceedings o he 3 d In e na ional
Wo kshop on Objec -O ien a ion and Ope a ing Sys ems,
ECOOP 2000, Sophia, F ance, 2000.
[65] P. Ne inan , T. El ad, M.E. Fayad, A laye ed app oach
o building open aspec -o ien ed sys ems: a amewo k
o he design o on-demand sys em demodula iza-
ion, Communica ions o he ACM 44 (10) (2001) 83–
85.
[66] J. Odell, H.V.D. Pa unak, B. Baue , Rep esen ing agen
in e ac ion p o ocols in UML, in: P. Cianca ini, M.
Woold idge (Eds.), P oceedings o he 22nd In e na ional
Con e ence on So wa e Enginee ing ISCEÕ01, Lec u e
No es in Compu e Science, ol. 1957, Sp inge , Be lin,
June 2001, pp. 121–140.
[67] H. Osshe , P. Ta , Using mul idimensional sepa a ion o
conce ns o ( e)shape e ol ing so wa e, Communica ions
o he ACM 44 (10) (2001) 43–50.
[68] G. Papadopoulos, F. A bab, Coo dina ion models and
languages, in: Ad ances in Compu e s, ol. 46, Academic
P ess, New Yo k, 1998.
[69] D.L. Pa nas, On he c i e ia o be used in decomposing
sys em in o modules, Communica ions o he ACM 15 (12)
(1972) 1053–1058.
[70] R. Pawlak, L. Duchien, G. Flo in, An au oma ic aspec
wea e wi h a eflec i e p og amming language, in: P.
Coin e (Ed.), P oceedings o he 2nd In e na ional Con-
e ence on Me ale el A chi ec u es and Reflec ion, Lec u e
No es in Compu e Science, S . Malo, F ance, July 1999,
ol. 1616, Sp inge , Be lin, 1999, pp. 147–149.
[71] J.A. P
ee ez, R. Co chuelo, D. Ruiz, M. To o, A amewo k
o aspec -o ien ed mul ipa y coo dina ion, in: New
De elopmen s in Dis ibu ed Applica ions and In e ope -
able Sys ems, Kluwe Academic Publishe s, Do d ech ,
2001, pp. 161–174.
[72] J.A. P
ee ez, R. Co chuelo, D. Ruiz, M. To o, An enable-
men de ec ion algo i hm o open mul ipa y in e ac ions,
in: P oceedings o he 2002 ACM Symposium on Applied
Compu ing SACÕ02, Mad id, Spain, Ma ch 2002, ACM
P ess, 2002, pp. 378–384.
[73] J.A. P
ee ez, R. Co chuelo, D. Ruiz, M. To o, An o de -
based, dis ibu ed algo i hm o implemen ing mul ipa y
in e ac ions, in: Coo dina ion Models and Languages.
P oceedings o he 5 h In e na ional Con e ence COOR-
DINATION 2002, Lec u e No es in Compu e Science,
Yo k, Uni ed Kingdom, 2002, Sp inge , Be lin, 2002, pp.
250–257.
[74] M. Pin o, L. Fuen es, M.E. Fayad, J.M. T oya, Sepa a ion
o coo dina ion in a dynamic aspec -o ien ed amewo k, in:
P oceedings o he Fi s In e na ional Con e ence on
Aspec -O ien ed So wa e De elopmen AOSDÕ01, Ensche-
de, The Ne he lands, Ap il 2002.
[75] D.S. Pla , In oducing Mic oso .NET, second ed.,
Mic oso P ess, 2002.
[76] T. Reenskaug, P. Wold, O.A. Lehne, Wo king Wi h
Objec s. The OO am So wa e Enginee ing Me hod,
Manning Publica ions Co., Augus 1995.
[77] A. Ruiz-Co
ees, R. Co chuelo, J.A. P
ee ez, A. Du
aan,
M. To o, An aspec -o ien ed app oach based on mul i-
pa y in e ac ions o speci ying he beha iou o a sys-
em, in: P inciples, Logics, and Implemen a ions o
High-Le el P og amming Languages PLIÕ99. Wo kshop
on Objec -O ien ed Specifica ion Techniques o Dis ib-
u ed Sys ems and Beha iou s, Pa is, F ance, 1999, pp. 56–
65.
[78] J. Rumbaugh, M. Blaha, W. P eme lani, F. Eddy, W.
Lo ensen, Objec -O ien ed Modeling and Design, P en ice-
Hall, Schenec ady, NY, 1991.
[79] J. Rumbaugh, I. Jacobson, G. Booch, The Unified
Modeling Language Re e ence Manual. Objec Technol-
ogy Se ies, Addison-Wesley Longman, Reading, MA,
1999.
[80] A.R. Sil a, P. Sousa, J.A. Ma ques, De elopmen o
dis ibu ed applica ions wi h sepa a ion o conce ns, in:
P oceedings o he 1995 Asia-Pacific So wa e Enginee ing
Con e ence APSECÕ95. IEEE P ess, 1995.
[81] G.T. Sulli an, Aspec -o ien ed p og amming using eflec-
ion and me aobjec p o ocols, Communica ions o he
ACM 44 (10) (2001) 95–97.
[82] B. Vanhau e, E. T uyen, W. Joosen, P. Ve bae en, Com-
posing non-o hogonal me a-p og ams, in: P oceedings o
he 1s Wo kshop on Mul iDimensional Sepa a ion o
Conce ns a OOPSLAÕ99, 1999.
[83] J. Viega, D. E ans, Sepa a ion o conce ns o secu i y, in:
P. Ta , A. Finkels ein, W. Ha ison, H. Nusibeh, H.
Osse , D. Pe y (Eds.), P oceedings o he Wo kshop on
Mul i-Dimensional Sepa a ion o Conce ns in So wa e
Enginee ing a ICSEÕ00, 2000.
[84] R. Wi s-B ock, B. Wilke son, Designing Objec -
O ien ed So wa e, P en ice-Hall, Englewood Cliffs, NJ,
1990.
[85] A.F. Zo zo, R.J. S oud, A dis ibu ed objec -o ien ed
amewo k o dependable mul ipa y in e ac ions, ACM
Sigplan 34 (10) (1999) 435–446.