scieee Science in your language
[en] (orig)

Fault Tolerance as an aspect using JReplica

Abstract

Reliability and availability are very important trends in the development process of distributed systems. In order to improve these features, object replication mechanisms have been introduced. Programming replication policies for a given application is not an easy task, and this is the reason why transparency for the programmer has been one of the most important properties offered by all replication models. However, this transparency for the programmer is not always desirable. In this paper we present a replication model, JReplica, based on Aspect Oriented Programming (AOP). JReplica allows the separated specification of the replication code from the functional behaviour of objects, providing not only a high degree of transparency, as done by previous models, but also the possibility for programmers to introduce new behaviour to specify different fault tolerance requirements. Moreover, the replication aspect has been introduced at design time, and in this way, UML has been extended in order to consider replication issues separately when designing fault tolerance systems.

Read accessible full text

Fault Tolerance as an aspect using JReplica

Author: Herrero, José Luis; Sánchez, Fernando; Toro Bonilla, Miguel
Publisher: IEEE Computer Society
Year: 2001
DOI: 10.1109/FTDCS.2001.969642
Source: https://idus.us.es/bitstreams/57eb63cb-5b63-4bb6-a4cd-c0cc74cad3bc/download
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.