scieee Science in your language
[en] (orig)

Aspect-oriented interaction in multi-organisational web-based systems

Abstract

Separation of concerns has been presented as a promising tool to tackle the design of complex systems in which cross-cutting properties that do not fit into the scope of a class must be satisfied. Unfortunately, current proposals assume that objects interact by means of object-oriented method calls, which implies that they embed interactions with others into their functional code. This makes them dependent on this interaction model, and makes it difficult to reuse them in a context in which another interaction model is more suited, e.g., tuple spaces, multiparty meetings, ports, and so forth. In this paper, we show that functionality can be described separately from the interaction model used, which helps enhance reusability of functional code and coordination patterns. Our proposal is innovative in that it is the first that achieves a clear separation between functionality and interaction in an aspect-oriented manner. In order to show that it is feasible, we adapted the multiparty interaction model to the context of multiorganisational web-based systems and developed a class framework to build business objects whose performance rates comparably to handmade implementations; the development time, however, decreases significantly.

Read accessible full text

Aspect-oriented interaction in multi-organisational web-based systems

Author: Corchuelo Gil, Rafael; Pérez Castellanos, José Antonio; Ruiz Cortés, Antonio
Publisher: Elsevier
Year: 2003
DOI: 10.1016/S1389-1286(02)00398-5
Source: https://idus.us.es/bitstreams/8eb0fc8a-f3d2-4522-b3f7-39aa859697b3/download
Aspec -o ien ed in e ac ion in mul i-o ganisa ional
web-based sys ems
Ra ael Co chuelo , Jose
eA. Pee 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.