Faul Tole ance as an aspec using JReplica
José Luis He e o1, Fe nando Sánchez1, Miguel To o2
1 Compu e Science Depa men
Uni e si y o Ex emadu a.Spain
{jhe e o, e nando}@unex.es
2 Compu e Science Depa men
Uni e si y o Se illa.Spain
[email p o ec ed]
Abs ac
Reliabili y and a ailabili y a e e y impo an ends
in he de elopmen p ocess o dis ibu ed sys ems. In o de
o imp o e hese ea u es, objec eplica ion mechanisms
ha e been in oduced. P og amming eplica ion policies
o a gi en applica ion is no an easy ask, and his is he
eason why anspa ency o he p og amme has been one
o he mos impo an p ope ies o e ed by all eplica ion
models. Howe e , his anspa ency o he p og amme is
no always desi able. In his pape we p esen a eplica ion
model, JReplica, based on Aspec O ien ed P og amming
(AOP). JReplica allows he sepa a ed speci ica ion o he
eplica ion code om he unc ional beha iou o objec s,
p o iding no only a high deg ee o anspa ency, as done
by p e ious models, bu also he possibili y o
p og amme s o in oduce new beha iou o speci y
di e en aul ole ance equi emen s. Mo eo e , he
eplica ion aspec has been in oduced a design ime, and
in his way, UML has been ex ended in o de o conside
eplica ion issues sepa a ely when designing aul ole ance
sys ems.
1: In oduc ion
This wo k ies o in oduce eplica ion in objec
o ien a ion by means o a new aspec . Fo his pu pose, a
new language called JReplica has been de eloped. This
language cap u es he ele an aspec s o eplica ion, and
This wo k has been de eloped wi h he suppo o CICYT
unde con ac TIC99-1083-C02-02
encapsula es hem in o a componen o g oup o ela ed
componen s a ou ing he eusabili y and dynamic
adap abili y o eplica ion policies. This language also
a ou s he use and euse o eplica ion policies
independen ly om he middlewa e used o communica e
objec s (cu en ly se e al implemen a ions o CORBA and
RMI).
The wo k is no limi ed o he de ini ion o his new
language. AOP ideas ha e been ansla ed o he design
le el. In his way, he seman ic o UML has been ex ended
in o de o ep esen eplica ion p ope ies. F om a gi en
design, he same o wha e e middlewa e, a isual ool is
able o gene a e code.
The es o he pape is as ollows: sec ion 2 explains
he di e en app oaches o in oduce eplica ion in objec
o ien a ion. Ou p oposal is in oduced in sec ion 3. Sec ion
4 shows ela ed wo ks. Finally, u u e wo ks a e ou lined in
sec ion 5.
2: Faul ole ance app oaches
The e a e se e al di e en app oaches o in oduce
aul ole ance in objec o ien ed sys ems. They can be
ca ego ised in he ollowing way:
1. In eg a ion app oach: In his app oach, eplica ion is
in eg a ed inside he model. Replica ion is coded inside
he ORB so each ORB mus be modi ied in o de o
p o ide aul ole ance. Elec a [1], O bix+Isis [2] a e
wo models ha a e based on his app oach ( igu e 1).
Clien SS’
Replica ion
ORB
Com
Figu e 1. In eg a ion app oach
2. In e cep ion app oach: In his model, e e y message
is in e cep ed and edi ec ed o a eplica ion oolki .
This new ool is in cha ge o p o iding aul ole ance.
The ORB mus be modi ied in oducing he
in e cep ion mechanism. E e nal [3] is an example o
his app oach ( igu e 2).
Replica ion
In e cep ion
Clien
S
S’
ORB
Com
Figu e 2. In e cep ion App oach
3. Se ice app oach: A new eplica ion se ice is added
o he ORB. This se ice p o ides mechanisms o
objec eplica ion. OGS [4] and he new Co ba Faul
Tole ance speci ica ion [5] a e based on his app oach
( igu e 3).
Clien
S
S’
Replica ion
ORB
Com
Figu e 3. Se ice App oach
All hese models in oduce new elemen s o p o ide
aul ole ance h ough eplica ion. T anspa ency is he
mos impo an p ope y achie ed. In his way,
p og amme s do no ha e o ake ca e abou eplica ion, and
hey do no need o de ine any p o ocol o de elop aul
ole ance applica ions because eplica ion is ob ained
au oma ically by he model. Howe e , all hese models
ha e wo main d awbacks in he ollowing sense:
•Close: A o ally anspa en sys em doesn’ allow
p og amme s o change eplica ion mechanisms.
Replica ion p ope ies can no be es ablished, such as
he eplica ion g anula i y, o he momen when
eplica ion p o ocols mus be execu ed. These
p ope ies a e de ined au oma ically by he model and
hey a e he same o e e y sys em. In his way,
p og amme s can no ake ad an age om sys em
equi emen s.
•ORB dependen : Replica ion depends on he ORB
implemen a ion. Any eplica ion policy mus be coded
in o an indi idual ORB, and i can no be eused in a
di e en ORB. The e’s no way o po he same
eplica ion policy o o he ORBs.
Al hough anspa ency is a good p ope y o be
achie ed, i is no always necessa y, mo eo e , some imes
i is no desi able. Some imes he na u e o he p oblem
may equi e es ablishing he eplica ion p ope ies and
beha iou by he p og amme . E en mo e, i equi emen s
guide he eplica ion beha iou , he sys em could ake
ad an age o hem, and sys em pe o mance could be
inc eased. I he eplica ion model is o ally anspa en ,
he e is no way o de ine aul ole ance applica ions
acco ding wi h sys em equi emen s.
3: P oposal
The model he e p oposed is based on he pa adigm o
Aspec O ien ed P og amming (AOP). Ou esea ch g oup
has gained expe ience wi h AOP du ing he las ew yea s
wo king wi h he synch oniza ion, coo dina ion and
dis ibu ion aspec s [6, 7]. He e we go one s ep u he
in oducing he eplica ion aspec as a new non- unc ional
p ope y o he objec . Wi h his, sepa a ion anspa ency is
g an ed because eplica ion policies can be eused among
applica ions wi h no changes. In addi ion, p og amme s can
ge con ol o e he eplica ion policy using he speci ic
eplica ion language p o ided: JReplica.
3.1: F amewo k
The p oposed model keeps aspec s sepa a ed om he
unc ional code o he objec . A e lexi e a chi ec u e is
used in o de o in oduce wo di e en le els o execu ion:
•Func ional Le el: Objec unc ionali y is de ined a
his le el. Two new en i ies (in, ou ) ha e been
a ached o each objec in o de o communica e objec s
wi h i s aspec s.
•Aspec Le el: Aspec s a e de ined a his le el. Each
objec can be associa ed wi h one o mo e aspec s.
The model is show in he igu e 4.
Ou
In
Aspec 1
Aspec 2
Inpu
Messages
Ou pu
messages
Objec
Figu e 4. The aspec model
Each objec is composed o h ee di e en en i ies:
•In: This en i y in e cep s all he inpu messages and
edi ec s hem o he aspec le el.
•Func ional Objec : This is he place whe e he basic
beha iou o he objec is implemen ed.
•Ou : This en i y in e cep s all he ou pu messages and
ans o ms hem in o he igh middlewa e (CORBA o
Ja aRMI).
3.2: Replica ion Aspec
Acco ding o igu e 4, his wo k ies o ocus on he
eplica ion aspec ( igu e 5). Passi e eplica ion is he
eplica ion echnique ha has been conside ed. Al hough
he e a e o he di e en eplica ion echniques such as
ac i e eplica ion, passi e eplica ion allows eplica ing
de e minis ic and non-de e minis ic objec s, while ac i e
can no .
Ou
In
Replica ion
Aspec
Inpu
Messages Ou pu
messages
Objec
Figu e 5. The Replica ion Aspec
Unde his p e ious conside a ion, he eplica ion
aspec mus pe o m he ollowing asks:
•Decide when o ac i a e he eplica ion
mechanisms: I ’s e y impo an o de ine when o
send eplica ion messages because hey will a ec he
pe o mance o he whole sys em. I hese messages
a e sen e y o en, he sys em will collapse. While i
no , copies can be inconsis en o a long ime. The e
a e wo di e en ways o es ablish his ac i a ion:
•Di ec : eplica ion is ac i a ed jus a e a me hod
o he objec has been execu ed.
•Indi ec : eplica ion is ac i a ed depending on he
alue o some condi ions ha mus be checked
pe iodically.
•S a e Upda e: When he eplica ion mechanisms a e
ac i a ed, he eplica ion aspec cap u es he s a e o
he objec and sends i o e e y copy. In o de no o
b eak objec encapsula ion, ge and se me hods a e
called o ob ain and modi y he s a e.
•Faul Checking: In o de o es aul s, a pin p o ocol
is de eloped. This p o ocol ensu es ha i a aul
happens, each copy will be no i ied.
•Reco e y: When a aul is ound, ano he p o ocol will
selec one o he eplicas o ake he con ol.
Figu e 6 shows a ep esen a ion o a aul ole ance
sys em using his aspec model.
Objec
Copy 1
Copy 2
S a e
S a e
Ge S a e
Se S a e
Se S a e
Replica ion
Aspec
Replica ion
Aspec
Replica ion
Aspec
Figu e 6. Aspec sys em example
The main ad an ages o his model a e he ollowings:
•Those bene i s de i ed om he use o AOP, mainly
modula i y, eusabili y o code and adap abili y o
applica ions.
•ORB Independence: Replica ion algo i hms a e
independen om de ORB. In a p e ious wo k [7]
di e en dis ibu ion p o ocols we e de ined as a
sepa a ed aspec p o iding a dynamic, adap able and
anspa en objec dis ibu ion. Now, as he eplica ion
module is de ined ou side he ORB, he combina ion o
dis ibu ion and eplica ion aspec s o e he possibili y
o eusing he same eplica ion policy in di e en
ORBs.
•Open: Though eplica ion algo i hms a e hidden and
sepa a ed om objec beha iou , eplica ion p ope ies
and beha iou can be de ined. Re lec i e mechanisms
can communica e he objec le el wi h he eplica ion
le el. This communica ion p o ides he way o
in oduce new eplica ion ac ions.
3.3: JReplica: Ja a Faul Tole ance Language
JReplica is a language wi h he only pu pose o
de ining eplica ion policies. I s syn ax is based on Ja a. I
in oduces new p imi i es, which a e shown in igu e 7.
This Ja a ex ension in oduces wo main elemen s:
1. Replica ion Policy: A new en i y called Disguise
Replica ion de ines he eplica ion aspec . This en i y
is di ided in o he ollowing pa s:
•A ibu es: he in o ma ion ha de ines he
eplica ion policy.
•S a e: he se o eplica ion s a es.
•Ope a ions: me hods ha can manipula e he
eplica ion s a e.
•Gua d: a condi ion ha mus be ue be o e
eplica ion. I his condi ion is alse, eplica ion
won’ be execu ed.
•Be o e Replica ion: he se o ac ions ha mus be
execu ed jus be o e eplica ion.
•A e Replica ion: he se o ac ions ha mus be
execu ed jus a e he eplica ion is execu ed.
•E o : he se o ac ions ha mus be execu ed when
a eplica ion e o appea s.
2. Composi ion: A class can be composed wi h di e en
aspec s. In ou case, his means ha e e y objec will
ex end i s unc ionali y wi h eplica ion mechanisms.
3.4: Rep esen ing Replica ion a Design Le el
Replica ion policies now can be de ined wi h he
JReplica language. This language helps p og amme s o
de ine easily eplica ion p ope ies in objec o ien ed
sys ems. Bu we conside ha eplica ion mus be
in oduced a ea lie s ages o objec li e cycle, mo e
conc e ely a design le el. In his way, UML [8] is used as
he modelling language due o i being a s anda d. As UML
does no p o ide mechanisms o ep esen eplica ion, i s
seman ic has been ex ended in o de o exp ess eplica ion
p ope ies and beha iou .
Class <name>
{ ........
}
........................
x=new C1
Compose x wi h R;
y=new Replica o x;
........................
Diguise Replica ion <name>
{
A ibu es: .....
Ope a ions: .....
S a e: .....
Gua d: .....
Be o e Replica ion: ....
A e Replica ion: .....
E o : .....
}
Figu e 7. JReplica eplica ion p imi i es
UML seman ic can be ex ended wi h he in oduc ion
o new s e eo ypes. A his poin , we ha e conside ed ha
eplica ion policies can be designed sepa a ely and
independen ly, in he same way as has been explained a he
implemen a ion le el. As such, he aspec concep is
in oduced in UML o exp ess he AOP philosophy. The
eplica ion aspec is ep esen ed wi h a new s e eo ype,
called <Replica ion>. This new s e eo ype is shown in
igu e 8. The eplica ion s e eo ype ep esen s a pa icula
eplica ion policy. In o ma ion is ep esen ed as ollows:
•S e eo ype A ibu es: Rep esen he in o ma ion ha
de ines he eplica ion policy.
•S e eo ype Me hods: De ine he se o me hods ha
can manipula e he eplica ion s a e.
< Replica ion >
Name
A ibu es
Me hods
Class
A ibu es
Me hods
<Replica ed>
Figu e 8. UML ex ension
As i can be shown, he e a e o he elemen s ha can
no be ep esen ed in his s e eo ype. The dynamic
beha iou o eplica ion can no be ep esen ed in a no mal
class diag am. S a echa diag ams ep esen dynamic
beha iou . So he solu ion goes by a aching a s a echa
diag am o his eplica ion s e eo ype. In his way,
eplica ion s a ic p ope ies and dynamic beha iou can be
designed. The dynamic beha iou o eplica ion policies
can be ep esen ed in a s a echa diag am as i is shown in
igu e 9.
S a e 1 Replica ion
[Replica ion Gua d]
En y : Ac ions be o e eplica ion
Exi : Ac ions a e eplica ion
Figu e 9. S a echa Rep esen a ion
The elemen s ha a e ep esen ed in his s a echa
diag am a e:
•S a e: Each eplica ion s a e is ep esen ed by an s a e.
The e is a special s a e called Replica ion ha
ep esen s he momen when eplica ion is o be
execu ed.
•Gua d: Gua ds a e ep esen ed in he ansi ion o
each s a e.
•Be o e Replica ion: The se o ac ions ha is execu ed
jus be o e he eplica ion begins is ep esen ed in he
en y ac ions o he Replica ion s a e.
•A e Replica ion: The se o ac ions ha a e execu ed
jus a e he eplica ion ends a e ep esen ed in he exi
ac ions o he Replica ion s a e.
•E o : Replica ion e o s a e ep esen ed as a new
s a e.
A ool is being de eloped in o de o gene a e JReplica
code s a ing om his ex ension o UML. In his way
Replica ion aspec has been in oduced om design o
implemen a ion le el. This ool is based on o he one we
ha e de eloped o he synch onisa ion aspec [9].
4: Rela ed wo ks
The e a e se e al models ha p o ide eplica ion
mechanism o achie e aul ole ance. In [10], a new
in e cep ion mechanism called A oma is in oduced in he
Ja a RMI a chi ec u e. O he models a e based on he
in oduc ion o sepa a ed en i ies ha implemen eplica ion
p o ocols. The Cadmium Model [11] de ines a couple o
new en i ies called S ub and Scion, which a e a ached o a
clien and a se e espec i ely and o e eplica ion
mechanisms. In [12] a new eplica ion en i y and a
consis ency manage a e in oduced, bo h sepa a ed om
he objec . In Aspec IX [13] a single objec is di ided in o
agmen s, all o which ha e a di e en pu pose. One o
hese agmen s o e s eplica ion acili ies. The GARF [14]
model de ines wo di e en en i ies in o de o in oduce
eplica ion, hey a e called encapsula o and maile . A wo
le el e lec i e a chi ec u e was de ined o Ja a in [15];
objec unc ionali y is de ined in he i s le el, while
eplica ion p o ocols a e es ablished in he second one. All
hese models only ake in o accoun he implemen a ion
le el, hey a e ocused on eplica ion p o ocols and he
de ini ion o a amewo k ha p o ides aul ole ance,
igno ing he design phase.
A new pa e n [16] has been de ined in o de o
p o ide suppo o he ep esen a ion o eplica ed objec s.
Mo eo e , a new language ha helps p og amme s o build
aul ole ance sys ems has been de ined in [17, 18]. This
p oposal is based on he concep o sepa a ion o conce ns
and ex ends AspecJ language [19] wi h eplica ion
p imi i es. I is possible o de ine he a ibu es ha need
eplica ion and wha o do when a eplica ion e o happens.
Bu he e is no way o exp ess new eplica ion ac ions o
when eplica ion mus be execu ed. Al hough hese models
help p og amme s o implemen aul ole ance sys ems, i
is necessa y o in oduce mechanisms ha help so wa e
enginee s o design his kind o equi emen s.
5: Fu u e wo ks
Fu u e wo ks will conside ex ensions o JReplica in
o de o exp ess mo e complex eplica ion mechanisms.
The cu en e sion showed us he sui abili y o he model.
Re e ences
[1] S.Ma eis. Run-Time suppo o objec -o ien ed dis ibu ed
p og amming. Phd Thesis, Uni e si y o Zu ich, 1995.
[2] IONA and Isis. An In oduc ion o O bix+Isis. IONA
Technologies L d. and Isis Dis ibu ed Sys ems, Inc., 1994.
[3] L.E.Mose , P.M. Melia -Smi h and P. Na asimhan. Consis en
objec eplica ion in he E e nal sys em. Theo y and P ac ice o
Objec Sys ems, 81-92, 1998.
[4] Pascal Felbe . The CORBA Objec G oup Se ice. A Se ice
app oach o objec g oups in CORBA. Phd Thesis 1998.
Uni e si y o Lausanne.
[5] OMG TC documen p c/2000-03-04. Faul Tole an CORBA.
D a Adop ed Speci ica ion. 2000.
[6] J.M. Mu illo, J. He nández, F. Sánchez, L.A. Ál a ez.
Coo dina ed Roles: P omo ing Reusabili y o Coo dina ed Ac i e
Objec s Using E en s No i ica ion P o ocols. In Coo dina ion
Languages and Models. Sp inge -Ve lag, LNCS 1594, Ap il,
1999.
[7] F. Sánchez, J.He nández, J.M.Mu illo, J.L.He e o,
R.Rod íguez. Adap abili y o Objec Dis ibu ion P o ocols Using
he Disguises Model App oach. 2nd In l. Symposium, Dis ibu ed
Objec s & Applica ions (DOA 2000).
[8] Objec Managemen G oup. Uni ied Modeling Language,
e sion 1.3.
[9] J.L.He e o. In oducing sepa a ion o conce ns a design
ime. PhDOOS Wo kshop, Eu opean Con e ence on Objec -
O ien ed P og amming (ECOOP’2000).
[10] N. Na asimhan, L.E. Mose and P. M. Mellia -Smi h.
T anspa en Consis en Replica ion o Ja a RMI Objec s.2nd In l.
Symposium, Dis ibu ed Objec s & Applica ions (DOA 2000).
[11] Aline Baggio. Adap able and Mobile-Awa e Dis ibu ed
Objec s. PhD Thesis, Uni e si é Pie e e Ma ie Cu ie and INRIA,
Pa is, F ance, June 1999.
[12] Geo ges B un-Co an and Mesaac Makpangou.
Adap able Replica ed Objec s in Dis ibu ed En i onmen s.
BROADCAST TR No. 100. Appea ed in he p oceedings o he
2nd BROADCAST Open Wo kshop, G enoble, July 1995.
[13] Ma in Geie , Ma in S ecke meie , Ul ich Becke ,
F anz J. Hauck, E ich Meie , Uwe Ras o e . Suppo o mobili y
nd eplica ion in he Aspec IX a chi ec u e. Objec -O ien ed
Technology, ECOOP'98 Wo kshop Reade , LNCS 1543, Sp inge ,
1998; pp. 325-326.
[14] B. Ga bina o, R. Gue aoui, and K. R. Mazouni.
Implemen a ion o he GARF eplica ed objec pla o m.
Dis ibu ed Sys ems Enginee ing Jou nal, 2:14-27, 1995.
[15] Jü gen Kleinöde , Michael Golm. T anspa en and Adap able
Objec Replica ion Using a Re lec i e Ja a. Tech. Repo TR-I4-
96-07, Uni e si ä E langen-Nü nbe g: IMMD IV, Sep . 1996.
[16] Te esa Gonçal es and An ónio Ri o Sil a. Passi e Replica o :
A Design Pa e n o Objec Replica ion. Second Eu opean
Con e ence on Pa e n Languages o P og ams. July 1997.
[17] Johan Fab y. Replica ion as an Aspec - The Naming
P oblem. ECOOP Wo kshops 1998: 424-425.
[18] Johan Fab y. A F amewo k o eplica ion o objec s using
Aspec -O ien ed P og amming. Phd Thesis 1998. Uni e si y o
B ussel.
[19] C.V. Lopes. D: A Language F amewo k o Dis ibu ed
P og amming. Phd Thesis 1997. Uni e si y o No heas e n.