scieee Science in your language
[es] (orig)

Interacción orientada a aspectos en entornos multiorganizacionales

Abstract

Por desgracia, las propuestas actuales de separación de aspectos asumen que los objetos interactúan mediante invocación de métodos, lo que implica que tienen que embeber las interacciones dentro del código funcional. Esto los hace dependientes de este modelo de interacción y hace difícil reutilizarlos en un contexto en el que otro modelo de interacción sea más adecuado. En este artículo mostramos que la funcionalidad puede ser descrita de forma independiente al modelo de interacción usado, lo que mejora la facilidad de reutilización del código funcional y los patrones de coordinación. Para demostrar que es viable, hemos adaptado el modelo de interacción entre múltiples participantes al contexto de los sistemas multiorganizacionales basados en la web y hemos desarrollado un framework de clases que permite construir objetos de negocio cuyo rendimiento es comparable al de una implementación artesanal; el tiempo de desarrollo, por el contrario, se reduce de forma muy significativa.

Read accessible full text

Interacción orientada a aspectos en entornos multiorganizacionales

Author: Corchuelo Gil, Rafael; Pérez Castellanos, José Antonio; Ruiz Cortés, Antonio
Publisher: Universidad Autónoma de Bucaramanga
Year: 2002
Source: https://idus.us.es/bitstreams/36225873-300a-490e-bacb-1ea75e83bed6/download
In e acci´on O ien ada a Aspec os en En o nos
Mul io ganizacionales∗
Ra ael Co chuelo†Jos´eA.P´e ez‡An onio Ruiz–Co ´es§
Abs ac
Un o una ely, cu en p oposals ha ocus on sepa a ion o conce ns assume ha ob-
jec 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. 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 eusabil-
i y o unc ional code and coo dina ion pa e ns. 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 i-O 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 a handmade implemen a ion; 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.
Resumen
Po desg acia, las p opues as ac uales de sepa aci´on de aspec os asumen que los obje os
in e ac ´uan median e in ocaci´on de m´e odos, lo que implica que ienen que embebe
las in e acciones den o del c´odigo uncional. Es o los hace dependien es de es e mod-
elo de in e acci´on y hace di ´ıcil eu iliza los en un con ex o en el que o o modelo de
in e acci´on sea m´as adecuado. En es e a ´ıculo mos amos que la uncionalidad puede
se desc i a de o ma independien e al modelo de in e acci´on usado, lo que mejo a la
acilidad de eu ilizaci´on del c´odigo uncional y los pa ones de coo dinaci´on. Pa a
demos a que es iable, hemos adap ado el modelo de in e acci´on en e m´ul iples pa -
icipan es al con ex o de los sis emas mul io ganizacionales basados en la web y hemos
desa ollado un amewo k de clases que pe mi e cons ui obje os de negocio cuyo
endimien o es compa able al de una implemen aci´on a esanal; el iempo de desa -
ollo, po el con a io, se educe de o ma muy significa i a.
Palab as cla e:O ien aci´on a aspec os, modelos de in e acci´on, in e acciones mul i-
pa i as.
∗Es e abajo es ´a sub encionado po la Comisi´on In e minis e ial de Ciencia y Tecnolog´ıa de Espa˜na
(TIC2000-1106-C02-01)
†Depa amen o de Lenguajes y Sis emas In o m´a icos. Escuela T´ecnica Supe io de Ingenie os In-
o m´a icos. Uni e sidad de Se illa, Espa˜na. e–mail: [email p o ec ed]
‡Depa amen o de Lenguajes y Sis emas In o m´a icos. Escuela T´ecnica Supe io de Ingenie os In-
o m´a icos. Uni e sidad de Se illa, Espa˜na. e–mail: [email p o ec ed]
§Depa amen o de Lenguajes y Sis emas In o m´a icos. Escuela T´ecnica Supe io de Ingenie os In-
o m´a icos. Uni e sidad de Se illa, Espa˜na. e–mail: [email p o ec ed]
1 In oducci´on
Los sis emas dis ibuidos se conside an hoy en d´ıa piezas cla e en el desa ollo de sis emas
mul io ganizacionales. Muchas compa˜n´ıas pun e as se han dado cuen a de que In e ne es
mucho m´as que una zona de comp as y en as y o ece innume ables posibilidades de iun-
a en el mundo de la web. Con o me In e ne se asien a, las compa˜n´ıas es ´an encon ando
nue as o mas de saca pa ido a las capacidades que o ece y exis e una demanda c ecien e
de amewo ks [14, 15, 16] pa a cons ui sis emas mul io ganizacionales basados en la web
(MOWS, Mul i-O ganisa ional Web-based sys ems) [11, 12] a unos p ecios azonables. Es os
amewo ks desc iben gene almen e los MOWS como colecciones de componen es que im-
plemen an un conjun o de obje os de negocio que encapsulan un p o ocolo sem´an ico pa a
ealiza una unidad de abajo l´ogico: ans e i dine o, p ocesa una ac u a, ac ualiza
el egis o de un clien e, e c´e e a. Desde un pun o de is a abs ac o, los obje os de ne-
gocio modelan ac o es y da os eales, po lo que pe mi en mejo a la comunicaci´on en e
desa ollado es y clien es y ayudan a educi los cos es de desa ollo [17].
En eo ´ıa, los p og amado es s´olo ienen que p eocupa se po la uncionalidad que p o-
po cionan. Po desg acia, es a isi´on es muy idealis a pues o que los obje os de negocio
deben p eocupa se de aspec os ales como la sinc onizaci´on, la pe sis encia o la eplicaci´on
y en a as ocasiones es ´an aislados den o de un sis ema. Es deci , cons i uyen la pa e
uncional de un p o ocolo sem´an ico y deben abaja con o os pa a consegui un obje-
i o com´un. La sepa aci´on de aspec os ha sido p esen ada como una he amien a muy
p ome edo a pa a mejo a la modula idad, acilidad de comp ensi´on y de eu ilizaci´on del
c´odigo uncional. De hecho, es a es la pied a angula del nue o pa adigma de p og amaci´on
o ien ada a aspec os (AOP) [13, 23, 25].
Desde los p ime os abajos en es a ma e ia, la sinc onizaci´on [25], la dis ibuci´on [25, 36],
la segu idad [37], la coo dinaci´on [1, 32], la pe sis encia [24] o la eplicaci´on [5] han sido con-
side ados aspec os cla os que se pueden a a usando lenguajes espec´ı icos. Po desg acia,
ninguna de las p opues as o ien adas a aspec os ac uales log an sepa a la uncionalidad
de la in e acci´on con o os obje os en un sis ema, es deci , el mecanismo median e el cual
dos o m´as obje os en an en con ac o y pueden desa olla conjun amen e una pa e del
abajo. Tal y como mos amos en la secci´on 5, las p opues as ac uales es ´an basadas en
a iaciones del modelo de in e acci´on cl´asico de paso de mensajes y embeben las llamadas a
m´e odos en el c´odigo uncional de los obje os, lo que impide a los desa ollado es adap a su
c´odigo con acilidad si el modelo de in e acci´on debe se cambiado. Adem´as, los p o ocolos
sem´an icos suelen es a codi icados den o del c´odigo uncional, lo que hace di ´ıcil ambi´en
su eu ilizaci´on en escena ios simila es [1, 21].
M´as all´a de la comunicaci´on pun o a pun o, exis en o os muchos modelos de in e -
acci´on [28], algunos de los cuales ambi´en p opo cionan mecanismos de sinc onizaci´on y
coo dinaci´on. Cada uno iene sus p opias en ajas e incon enien es, de o ma que no exis e
ning´un modelo de in e acci´on uni e salmen e acep ado, sino un amplio abanico de posi-
bilidades. Po lo an o, pa ece azonable que exis an lenguajes o ien ados a aspec os que
a en el p oblema de la in e acci´on. Es os lenguajes mejo a ´ıan la acilidad de eu ilizaci´on
del c´odigo uncional y de los pa ones de coo dinaci´on. Adem´as, pe mi i ´ıan a los p og a-
mado es decidi qu´e modelo de in e acci´on se adap a mejo a sus necesidades, lo que iene
un e ec o di ec o sob e la acilidad de comp ensi´on, de man enimien o y e oluci´on. Adem´as,
es a ecnolog´ıa pa a la in e acci´on de obje os debe ´ıa se aplicada de o ma au om´a ica de
o ma que los obje os de negocio sean an eu ilizables como esul e posible [1, 21].
Es a mo i aci´on es ´a a alada po esul ados p e ios de in es igaci´on de o os au o es.
En [27], po ejemplo, se indica que g an pa e de la e oluci´on, eu ilizaci´on e in eg aci´on
del so wa e es de na u aleza inespe ada. No obs an e, es o no es necesa iamen e debido a
un pob e dise˜no, sino al hecho de que la ecnolog´ıa cambia de una o ma an ´apida que
es imposible p edeci los caminos a a ´es de los que e oluciona ´a. Selecciona un modelo
de in e acci´on adecuado es una decisi´on impo an e pues o que la misma uncionalidad
encapsulada en una clase pod ´ıa se in eg ada de una o ma m´as simple en un escena io
usando paso de mensajes, pe o espacios de uplas en o o. Po lo an o, ene una o ma de
cambia el modelo de in e acci´on mien as se p ese a la uncionalidad, pa ece azonable.
Has a donde alcanza nues o conocimien o, la sepa aci´on en e uncionalidad e in e -
acci´on es algo nue o e inno ado que no ha sido a ado has a aho a en el con ex o de la
o ien aci´on a aspec os. En es e a ´ıculo demos amos que la idea es iable p esen ando un
modelo de in e acci´on pa a MOWS denominado Open Mul ipa y In e ac ion Model yun
amewo k de clases que pe mi e implemen a nues as ideas de o ma muy e ec i a. El
es o del abajo se o ganiza como sigue: en la secci´on 2 demos amos que nues a idea
puede i m´as all´adelain ocaci´on de m´e odos y p esen amos el modelo de in e acci´on al
que aludimos p e iamen e; en la secci´on 3 p esen amos el amewo k de clases que hemos
dise˜nado pa a implemen a la p opues a; en la secci´on 4 demos amos que el desa ollo de
un MOWS puede bene icia se del uso de nues o amewo k y lo e aluamos eniendo en
cuen a el endimien o y el iempo de desa ollo; en la secci´on 5 analizamos el abajo de
o os au o es y concluimos que ninguno de ellos in en a sepa a el modelo de in e acci´on de
o os aspec os; inalmen e, p esen amos nues as conclusiones en la secci´on 6.
2 Un modelo de in e acci´on de al o ni el pa a MOWS
Un MOWS se puede e como un sis ema compues o de a ios obje os de negocio de g ano
g ueso que esiden en di e en es o ganizaciones y necesi an coope a ecuen emen e. Las
p imi i as clien e/se ido como el paso de mensajes o la llamada a p ocedimien os emo os
son el es ´anda indus ial de ac o pa a la in e acci´on en e obje os en es e con ex o. Po
desg acia, las soluciones basadas en es as p imi i as son di ´ıciles de lle a a cabo en un
MOWS en el que a ios obje os ienen que coope a simul ´aneamen e pa a llega a cabo
una a ea [19]. Ejemplos habi uales son la ans e encia de dine o de una cuen a a o a
median e un caje o au om´a ico ( es obje os), el pago de impues os a a ´es de la Red
(el con ibuyen e, la Hacienda p´ublica y la F´ab ica Nacional de Moneda y Timb e en el
caso de Espa˜na), il ado en el come cio elec ´onico (un clien e, un sis ema de il ado y
di e sos p o eedo es de se icio), e c´e e a. La ecnolog´ıa ac ual p opo ciona se ido es de
ansacciones pa a ag upa in e acciones indi iduales, pe o no exis e una cla a sepa aci´on
en e el p oblema a soluciona y la ecnolog´ıa subyacen e o el p o ocolo necesa io pa a
coo dina los obje os in oluc ados en una ansacci´on.
La mayo pa e de los m´e odos de an´alisis o dise˜no o ien ados a obje os econocen la
necesidad de coo dina a a ios obje os al mismo iempo u ilizando di e en es ´e minos:
diag amas de obje os [4], modelos de p ocesos [6], conexiones de mensaje [7], g a os de
colabo aci´on [38], diag amas de escena io [33] o colabo aciones [35]. Recien emen e, es a
necesidad ambi´en ha sido iden i icada en el campo de las sociedades mul iagen es [3, 26].
El modelo de in e acci´on subyacen e es, sin emba go, llamado a m´e odos en odos los casos,
lo que signi ica que los dise˜nado es a´un ienen que descompone colabo aciones complejas
en secuencias de llamadas.
Po desg acia, los lenguajes de p og amaci´on ac uales no o ecen un sopo e adecuado
que pe mi a a a ios obje os in e ac ua simul ´aneamen e, aunque se ha lle ado a cabo una
g an can idad de in es igaci´on en es e campo [28]. Ja aSpaces [20] es una de las p opues as
m´as ac uales. P opo ciona mecanismos median e los cuales un obje o puede ecupe a o
in oduci o os obje os en un espacio de uplas compa ido, lo que pe mi e desa olla
p o ocolos sem´an icos en o ma de lujos de obje os que se mue en a a ´es de uno o a ios
espacios de uplas. Ja aSpaces es pe ec o pa a aquellas aplicaciones en las que los lujos
de abajos son adecuados, pe o no es su icien e en gene al, p incipalmen e en el campo de
los MOWS o las aplicaciones de come cio elec ´onico en pa icula . La az´on es que muchos
p oblemas en es e con ex o p ecisan de a ios obje os que coope en simul ´aneamen e y
ans o ma es as colabo aciones en lujos de abajo no es nada sencillo.
Po ejemplo, supongamos que deseamos dise˜na un sis ema de a je as de d´ebi o [34].
Es e sis ema se compone de a ios pun os de en a, a ios o denado es que ienen las cuen-
as de los endedo es y las de los clien es; el obje i o es dise˜na un obje o de negocio que
sea esponsable de ans e i dine o de una cuen a de un clien e a una cuen a de un ende-
do a a ´es de un pun o de en a cada ez que el p ime o usa su a je a de d´ebi o. Con
Ja aSpaces, po ejemplo, es ela i amen e sencillo desa olla una soluci´on pa a esol e es e
p oblema, pe o end ´ıa dos incon enien es undamen ales: p ime o, la ansacci´on comple a
se puede e como una in e acci´on que coo dina a es obje os, pe o es e modelo de in e -
acci´on lle a a una soluci´on en la que es necesa io descompone es e e en o en a ias llamadas
am´e odos que deben se coo dinadas median e un p o ocolo espec´ı ico; adem´as, es e p o o-
colo puede se eu ilizable en si uaciones simila es, pe o la sepa aci´on con Ja aSpaces no es
su icien e, po lo que no se pueden eu iliza con acilidad [23].
2.1 Nues a p opues a
Sob e la base de la discusi´on p e ia, queda cla a la necesidad de con a con un modelo de
in e acci´on capaz de coo dina la acci´on conjun a de a ios obje os. Pa a dise˜na es e modelo
pa imos del Modelo de In e acci´on en e M´ul iples Pa icipan es [18], que es muy adecuado
pa a cap u a la esencia de es os p oblemas. P opo ciona un al o g ado de abs acci´on
que pe mi e igno a po comple o cu´al es la o ma en que a ios obje os se sinc onizan
simul ´aneamen e o in e cambian in o maci´on. Es o, adem´as, ab e las pue as a una mayo
acilidad de adap aci´on de las aplicaciones pues o que los algo i mos u ilizados quedan a
un ni el de abs acci´on meno y pueden se cambiados con acilidad sin a ec a al sis ema
dise˜nado.
Es e modelo ha a a´ıdo la a enci´on de un buen n´ume o de in es igado es que se han
cen ado en aspec os de implemen aci´on [9, 19, 39]. No obs an e iene a ios de ec os que
di icul an su aplicaci´on a los MOWS: el modelo no iene en cuen a la exis encia de obje os
pasi os, los obje os deben se conocidos en iempo de compilaci´on y ienen que ene acceso
al es ado local de o os obje os pa a pode comunica se con ellos. Es a es la az´on po la
que hemos desa ollado una e si´on a anzada del mismo a la que nos e e imos como Open
Mul ipa y In e ac ion Model (OMIM).
Pa a sopo a OMIM, hemos dise˜nado un lenguaje llamado CAL [8] y un conjun o de
algo i mos que pe mi en implemen a lo [29, 30, 31]. En las secciones siguien es esumi-
mos el abajo que lle amos hecho; en la secci´on 3, p esen amos el amewo k que hemos
desa ollado pa a implemen a lo.
2.2 Sopo e ling¨u´ıs ico
En es a secci´on desc ibimos CAL some amen e median e el ejemplo del sis ema de a je as
de d´ebi o p esen ado p e iamen e. Es e p oblema se puede desc ibi ´acilmen e u ilizando
nues o modelo pues o que ealmen e se puede educi a una in e acci´on ipa i a en e un
pun o de en a, una cuen a de clien e y una cuen a de endedo . La igu a 1 mues a una
desc ipci´on del sis ema en CAL que analizamos en las secciones siguien es.
2.2.1 Desc ipci´on de in e acciones
Las in e acciones se de inen usando la siguien e sin axis:
in e ac ion nomb e[obje os
pa icipan es]( anu as)
whe e pe misos de lec u a/esc i u a
Cada una iene un nomb e di e en e, algunos pa icipan es, algunas anu as y un conjun o
de pe misos de lec u a/esc i u a.
in e ac ion ans e [Poin O Sales pos; Accoun sou ce, des ]
( loa sum; boolean app o al) whe e
pos w i es sum, eads app o al;
sou ce w i es app o al, eads sum;
des eads app o al, sum;
beha iou Poin O Sales equi es
in e ace IPoin O Sales;
{
*[
Wai Fo Sale();
ans e [pos!sel , sou ce!Ge Cus ome Accoun (), des !Ge Me chan Accoun ()]
{
sum = Ge P ice();
Repo Resul (app o al);
}
]
}
beha iou Accoun equi es
in e ace IAccoun ;
{
*[
ans e [sou ce!sel ]
{
app o al = Au ho ise Paymen (sum);
[app o al →Cha ge(sum);];
}
[]
ans e [des !sel ]
{
[app o al →Pay In(sum);];
}
]
}
Figu e 1: Una desc ipci´on en CAL del sis ema de a je as de d´ebi o.
En el ejemplo en la igu a 1 se ha de inido una in e acci´on ipa i a denominada ans e
que pe mi e in e ac ua a un obje o que in e p e a el papel pos y dos cuen as que in e p e an
los papeles sou ce ydes . Es a in e acci´on se con ie e as´ı en el canal median e el cual pueden
coo dina sus ac i idades pa a consegui ans e i ondos desde la cuen a o igen (sou ce)
has a la cuen a des ino (des ) median e el pun o de en as (pos).
Las in e acciones ienen un es ado local que se compone de a ias anu as. ans e ,po
ejemplo, iene dos anu as denominadas sum yapp o al. La p ime a se u iliza pa a almacena
la can idad de dine o a ans e i y la segunda es un indicado de si la cuen a o igen iene
saldo su icien e como pa a ans e i esa can idad a la cuen a des ino. Es as anu as dan

in e ace IPoin O Sales {
oid Wai Fo Sale();
loa Ge P ice();
oid Ge Cus ome Accoun ();
OID Ge Me chan Accoun ();
oid Repo Resul (boolean done);
}
in e ace IAccoun {
oid Cha ge( loa sum);
oid Pay In( loa sum);
boolean Au ho ise Paymen ( loa sum);
}
Figu e 2: In e aces eque idas po los compo amien os en la igu a 1.
luga a un es ado local que simula el es ado global empo al del modelo de in e acci´on en e
m´ul iples pa icipan es b´asico [19]. La di e encia m´as impo an e es que un obje o ya no
necesi a ene acceso al es ado local de o os pa a ob ene la in o maci´on que necesi a.
Los pe misos de lec u a/esc i u a indican qu´e pa icipan e puede lee o esc ibi cada
anu a. En nues o ejemplo, el pun o de en a es esponsable de almacena la suma a
ans e i en la anu a sum, mien as que an s´olo necesi a lee la anu a app o al pa a mos a
el mensaje ap opiado en la pan alla; la cuen a que in e p e a el papel sou ce puede lee la
anu a sum pa a decidi si puede ans e i la suma indicada y esc ibe en la anu a app o al
pa a almacena su decisi´on; inalmen e, la cuen a des ino puede lee ambas anu as, pe o no
iene pe miso pa a esc ibi en ninguna de ellas.
Un obje o puede o ece pa icipaci´on en una o m´as in e acciones al mismo iempo.
En cada o e a debe indica qu´e papel quie e in e p e a y puede es ablece es icciones
sob e qu´e o os obje os deben in e p e a los es an es papeles. Una in e acci´on se puede
ejecu a siemp e y cuando exis a un conjun o de obje os que es ´e de acue do en in e acciona .
Gene almen e nos e e imos a esa in e acci´on y el conjun o de obje os que la pueden ejecu a
como una habili aci´on.
Dado que es necesa io ga an iza la exclusi´on mu ua, un obje o no puede ejecu a m´as de
una in e acci´on al mismo iempo. No obs an e, como un obje o puede o ece pa icipaci´on
en di e sas in e acciones al mismo iempo, puede encon a se en m´as de una habili aci´on.
Po es a az´on, cuando dos o m´as habili aciones compa en obje os, no pueden ejecu a se
al mismo iempo. El conjun o de habili aciones que no se pueden ejecu a se dice que son
echazadas.
2.2.2 Desc ipci´on de los compo amien os
Como hemos is o, los obje os pa icipan es en una in e acci´on deben in e p e a papeles
conc e os en ella. La sin axis que u ilizamos pa a desc ibi los es la siguien e:
beha iou nomb e
equi es in e aces
{
desc ipci´on de compo amien o
}
Cada desc ipci´on equie e que los obje os sob e los que se aplica implemen en un con-
jun o de in e aces. En el ejemplo de la igu a 1 se han mos ado dos compo amien os:
Poin O Sales, que desc ibe el la o ma en que se compo an los pun os de en a, y Accoun ,
que desc ibe el compo amien o de las cuen as banca ias, ya sea como deudo as o como
ac eedo as. Poin O Sales equie e la in e az IPoin O Sales desc i a en la igu a 2. Las ope a-
ciones de es a in e az pe mi en a un obje o espe a a que se p oduzca la siguien e en a
(Wai Fo Sale) y ob ene su impo e (Ge P ice), as´ı como ob ene e e encias a las cuen as
del clien e y el endedo (Ge Cus ome Accoun ,Ge Me chan Accoun ) y mos a un mensaje
en pan alla con los esul ados de la ope aci´on (Repo Resul ). De mane a simila , Accoun
equie e la implemen aci´on de una ope aci´on pa a e i a dine o de una cuen a (Cha ge),
pa a ing esa dine o en ella (Pay In) o pa a au o iza un pago (Au ho ise Paymen ).
Las ope aciones eque idas po un compo amien o son aqu´ellas cuya ejecuci´on se coo -
dina median e in e acciones mul ipa i as. Pa a modela la o ma en que un pun o de en a
y dos cuen as coope an u ilizamos ins ucciones de la o ma I[pa icipan lis ]{comm s a },en
donde Ies el nomb e de una in e acci´on, la lis a en e co che es iden i ica los obje os que se
desea hace pa icipa en la in e acci´on y comm s a es una lis a de ins ucciones de comu-
nicaci´on que in oluc a las anu as de la in e acci´on I. Los pa icipan es en la in e acci´on se
indican median e exp esiones de la o ma ole!id, lo que signi ica que el papel ole debe se
in e p e ado po el obje o iden i icado po id.Laexp esi´on ole!sel se u iliza pa a indica
que el papel ole se ´a in e p e ado po el obje o que ejecu a la ins ucci´on de in e acci´on. Si
no se indica nada pa a un papel, se asume que cualquie obje o puede in e p e a lo.
Po lo an o, el compo amien o de un pun o de en a se puede esumi as´ı: es un bucle
in ini o en el que p ime o espe a a que comience una nue a ope aci´on de en a y en onces
in en a ejecu a la in e acci´on ans e jun o a los obje os que modelan la cuen a del clien e
y del endedo . Si se llega a ejecu a es a in e acci´on, el pun o de en a ejecu a en onces su
c´odigo de comunicaci´on, que consis e en almacena la suma a ans e i en la anu a sum y
mos a un mensaje en su pan alla. El compo amien o Accoun ambi´en consis e en un bucle
in ini o en el que la pa icipaci´on en la in e acci´on ans e se o ece an o como cuen a de
o igen como de des ino de la ans e encia. Si se ejecu a la in e acci´on en la que in e p e a
el p ime papel, en onces comp ueba si puede a on a el ca go, almacena el esul ado en
la anu a app o al y ac ualiza su saldo con enien emen e. Si se ejecu a la o a in e acci´on,
en onces simplemen e lee la anu a app o al y ac ualiza el saldo.
E iden emen e, una in e acci´on mul ipa i a e asa la ejecuci´on de un obje o que in en a
lee una anu a has a que ha ecibido un alo po pa e de o o pa icipan e. Es deci , un
pun o de en a que in en a ejecu a la ins ucci´on Repo Resul (app o al), es e asado en
su ejecuci´on has a que la cuen a o igen de la ans e encia esc ibe su decisi´on en la anu a
app o al. Po lo an o, las ins ucciones de comunicaci´on se ejecu an en una egi´on c ´ı ica
en la que no pueden p oduci se condiciones de ca e a.
2.2.3 Aplicaci´on de compo amien os a clases
Los pa ones de compo amien o son abs ac os po que desc iben c´omo un obje o que imple-
men a un conjun o de ope aciones puede coope a con o os. Es as ope aciones son ambi´en
abs ac as y, a menudo, necesi an se adap adas an es de aplica un compo amien o sob e
una clase conc e a.
CAL p opo ciona un mecanismo simple pa a adap a ope aciones que se mues a en la
igu a 3. En es e ejemplo, el compo amien o Accoun ha sido aplicado sob e una clase Ja a
llamada bankAccoun . Si se ija, es a clase no p opo ciona las ope aciones que equie e el com-
po amien o, aunque no es di ´ıcil adap a las. Po ejemplo, la ope aci´on Au ho ise Paymen (sum)
se puede adap a ´acilmen e median e la exp esi´on ge Balance() ≥sum.
Es a adap aci´on nos pe mi e esc ibi compo amien os comple amen e abs ac os y e-
u ilizables. Es o es impo an e pues o que en o os lenguajes o ien ados a aspec os como
COOL [25], RIDL [25] o Aspec J [22], los aspec os hacen e e encia a las clases sob e las
que se aplican po nomb e, lo que p o oca dependencias en e ellos y hace di ´ıcil eu iliza
los p ime os.
class bankAccoun {
p i a e loa balance;
public oid upda eBalance( loa sum) {balance += sum; }
public boolean ge Balance() { e u n balance; }
}
map beha iou Accoun on o class bankAccoun whe e
Cha ge(sum) = upda eBalance(-sum);
Pay In(sum) = upda eBalance(+sum);
Au ho ise Paymen (sum) = (ge Balance() ≥sum);
Figu e 3: Aplicaci´on del compo amien o Accoun sob e la clase bankAccoun .
3 Nues o amewo k
Hemos dise˜nado un amewo k de clases que o ece odos los se icios necesa ios pa a im-
plemen a CAL1Nues os obje i os p incipales a la ho a de dise˜na lo ue on los siguien es:
1. Debe ´ıa se ex ensible de o ma que se pudie an inco po a en ´el nue os middlewa es
y algo i mos de coo dinaci´on de una o ma simple. Es o mejo a las posibilidades de
elecci´on del dise˜nado a la ho a de p oduci la e si´on inal de sus obje os de negocio.
2. Debe ene en cuen a la exis encia de obje os pasi os y a a los adecuadamen e. El
modelo de in e acciones en e m´ul iples pa icipan es adicional asume que odos los
obje os son ac i os y cuen an con su p opio hilo de ejecuci´on, lo que no suele se cie o
en el con ex o de los MOWS.
3. Debe pe mi i in eg a o os aspec os o ogonales con acilidad.
La igu a 4 mues a una o og a ´ıa de un sis ema en ejecuci´on que ilus a la a qui ec u a
de nues a p opues a. Se compone de los elemen os siguien es:
El ga ekeepe :Es uno de los elemen os m´as impo an es pues o que es esponsable de
a eas como las pol´ı icas de segu idad, ac u aci´on, gene a y ges iona los UUID,
localiza los coo dinado es de in e acci´on, e c´e e a.
Coo dinado es de in e acci´on: Son esponsables de de ec a qu´e in e acciones es ´an ha-
bili adas y de a bi a en e aqu´ellas que son con lic i as, es deci , compa en obje os.
Rep esen an es: Los obje os del usua io se conside an en idades ex e nas al amewo k
que u ilizan ep esen an es pa a in e ac ua . Es o pe mi e es ablece una cla a sepa-
aci´on en e la uncionalidad y los de alles de coo dinaci´on, aunque ambi´en simpli ica
el dise˜no del amewo k ya que ´es e s´olo iene que a a con los ep esen an es. Es o
signi ica que los obje os de usua io puede ene uncionalidad pu a o han podido se
p e iamen e mezclados con o os aspec os. Po ejemplo, un obje o que enga es ic-
ciones de sinc onizaci´on y de pe sis encia puede se implemen ado u ilizando COOL
[25] y la p opues a de [5], pe o es os de alles son i ele an es pa a el amewo k.
Ges o es de comunicaci´on: Son los esponsables de ges iona la comunicaci´on en e los
obje os que pa icipan en una misma in e acci´on, es deci , pe mi en la comunicaci´on,
1Es e amewo k es ´a disponible solici ´andolo a los au o es. En ´ıe una ca a elec ´onica a jp[email p o ec ed]
si desea ob ene una copia.
O
2
Coo dinado
de
in e acción
Ges o de
comunicación
Rep esen an e
Obje o de
negocio
I
2
O
1
I
1
O
3
Ga ekeepe
Reposi o io
He amien a de
adminis ación
Figu e 4: La a qui ec u a de nues a soluci´on.
ienen en cuen a los allos que se puedan p oduci , e c´e e a. Dado que es posible que
exis an a ias ocu encias de la misma in e acci´on ejecu ´andose simul ´aneamen e, cada
una de ellas iene su p opio ges o de comunicaciones.
A p ime a is a, pod ´ıa pa ece que el ga ekeepe es un cuello de bo ella, pe o es o no
es as´ı. La az´on es que la uncionalidad que o ece se u iliza s´olo cuando apa ecen nue os
obje os o in e acciones en el sis ema o cuando un obje o necesi a localiza las e e encias a
los coo dinado es esponsables de las in e acciones en las que pa icipan. Tambi´en debemos
indica que nada nos impide c ea a ios ga ekeepe s que se ejecu an concu en emen e,
educiendo de es a o ma el impac o de una ca´ıda o allo del sis ema. Sin emba go, dado
que odas las copias del componen e en ejecuci´on son uncionalmen e equi alen es en e s´ı,
solemos e e i nos al mismo como “el ga ekeepe ”.
Tambi´en es in e esan e menciona que ene ep esen an es pa a los obje os de usua io
no signi ica ine iciencia pues o que esiden en el mismo espacio de memo ia que los obje os
que ep esen an. Adem´as, sepa a los aspec os de coo dinaci´on de los obje os de negocio en
iempo de ejecuci´on ambi´en dibuja una cla a l´ınea de sepa aci´on en e la uncionalidad que
encapsulan y la o ma en que in e ac ´uan con o os. Es o acili a la cons ucci´on de wea e s
pues o que los ep esen an es se pueden implemen a ´acilmen e usando una colecci´on de
pa ones de dise˜no a la que de o ma colec i a se le suele hace e e encia como Role Objec
Pa e n [15]. Es o ayuda a man ene sepa ados los dis in os con ex os en los que un obje o
puede pa icipa y acili a el man enimien o de los mismos.
La igu a 5 mues a el aspec o del amewo k que hemos dise˜nado. F´ıjese en que nues o
dise˜no es lo su icien emen e gene al como pa a acomoda con acilidad di e sos middlewa es
o algo i mos de coo dinaci´on o de comunicaci´on p opues os en la bibliog a ´ıa, en e ellos
los nues os [30, 29]. El dise˜nado puede de es a o ma decidi cu´al es la mejo o ma de
implemen a sus obje os de negocio: si odos los obje os conocen aqu´ellos con los que an
a in e ac ua se puede u iliza un algo i mo cl´asico como el de Bag odia e al. [2] o los de
Co chuelo e al. [9, 10]; en caso con a io se ´a p eciso u iliza los algo i mos de P´e ez e al.
[30, 29].
[19] N. F ancez and I. Fo man. In e ac ing p ocesses: A mul ipa y app oach o coo dina ed dis-
ibu ed p og amming. Addison–Wesley, 1996.
[20] E. F eeman, S. Hup e , and K. A nold. Ja aSpaces P inciples, Pa e ns, and P ac ice.
Addison–Wesley Longman, June 1999.
[21] S. F ølund and G. Agha. A language amewo k o mul i-objec coo dina ion. In O. Nie s asz,
edi o , P oceedings o he Eu opean Con e ence on Objec -o ien ed P og amming ECOOP’93,
pages 346–360, Kaise slau e n, Ge many, 1993. Sp inge –Ve lag.
[22] G. Kiczales, E. Hilsdale, J. Hugunin, M. Ke sen, J. Palm, and 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,
olume 2072 o Lec u e No es in Compu e Science, pages 327–353. Sp inge -Ve lag, 2001.
[23] G. Kiczales, J. Lamping, A. Mendheka , C. Maeda, C. Lopes, J. Loing ie , and J. I win.
Aspec -o ien ed p og amming. In P oceedings o he Eu opean Con e ence on Objec -O ien ed
P og amming ECOOP’97, pages 220–242. Lec u e No es in Compu e Science, Sp inge –Ve lag,
1997.
[24] 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):39–41, Decembe 1996.
[25] C.V. Lopes. D: A Language F amewo k o Dis ibu ed P og amming. PhD hesis, Xe ox Palo
Al o Resea ch Cen e , 1998.
[26] J. Odell, H.V.D. Pa unak, and B. Baue . Rep esen ing agen in e ac ion p o ocols in UML. In
P. Cianca ini and M. Woold idge, edi o s, P oceedings o he 22nd In e na ional Con e ence on
So wa e Enginee ing ISCE’01, numbe 1957 in LNCS, pages 121–140. Sp inge –Ve lag, June
2001.
[27] H. Osshe and 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):43–50, 2001.
[28] G. Papadopoulos and F. A bab. Coo dina ion models and languages. In Ad ances in Compu -
e s, olume 46. Academic P ess, 1998.
[29] J. A. P´e ez, R. Co chuelo, D. Ruiz, and 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 COORDINATION 2002., Lec u e No es in Compu e Science,
pages 250–257, Yo k, Uni ed Kingdom, 2002. Sp inge .
[30] J.A. P´e ez, R. Co chuelo, D. Ruiz, and M. To o. A amewo k o aspec –o ien ed mul ipa y
coo dina ion. In Wo king Con e ence on Dis ibu ed Applica ions and In e ope able Sys ems
DAIS’01, page To appea , K akow, Poland, 2001. Kluwe Academic Publishe s.
[31] J.A. P´e ez, R. Co chuelo, D. Ruiz, and M. To o. An enablemen de ec ion algo i hm o open
mul ipa y in e ac ions. In Applied Compu ing 2002. P oceedings o he 2002 ACM Symposium
on Applied Compu ing, pages 378–384, Mad id, Spain, Ma ch 2002. ACM P ess.
[32] M. Pin o, L. Fuen es, M.E. Fayad, and 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, Enschede, The Ne he lands, Ap il 2002.
[33] T. Reenskaug, P. Wold, and O.A. Lehne. Wo king Wi h Objec s. The OO am So wa e Engi-
nee ing Me hod. Manning Publica ions Co., Augus 1995.
[34] A. Ruiz-Co ´es, R. Co chuelo, J.A. P´e ez, A. Du ´an, and M. To o. An aspec –o ien ed ap-
p oach based on mul ipa y in e ac ions o speci ying he beha iou o a sys em. In P inci-
ples, Logics, and Implemen a ions o High-Le el P og amming Languages PLI’99. Wo kshop on
Objec -O ien ed Speci ica ion Techniques o Dis ibu ed Sys ems and Beha iou s, pages 56–65,
Pa is, F ance, 1999.
[35] J. Rumbaugh, I. Jacobson, and G. Booch. The Uni ied Modeling Language Re e ence Manual.
Objec Technology Se ies. Addison Wesley Longman, Reading, Massachusse s, 1999.
[36] A.R. Sil a, P. Sousa, and 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-Paci ic So wa e Enginee ing Con e ence
APSEC’95. IEEE P ess, 1995.
[37] J. Viega and 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 , and D. Pe y, edi o s, 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.
[38] R. Wi s-B ock and B. Wilke son. Designing Objec -O ien ed So wa e. P en ice–Hall, Augus
1990.
[39] A.F. Zo zo and R.J. S oud. A dis ibu ed objec -o ien ed amewo k o dependable mul i-
pa y in e ac ions. ACM Sigplan, 34(10):435–446, Oc obe 1999.