scieee Open visual document viewer

Fault Tolerance as an aspect using JReplica

Herrero, José Luis; Sánchez, Fernando; Toro Bonilla, Miguel

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.

Full text

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.