Impliaiones de ans o maiones obliuas en el desa ollo de un
amewo k gene ado de apliaiones o ien adas a asp e os
An onia M
a
Reina Quin e o Jesús To es Valde ama
Dp o. de Lengua jes y Sis emas in o má ios Dp o. de Lengua jes y Sis emas in o má ios
Uni e sidad de Se illa Uni e sidad de Se illa
A da. Reina Me edes, s/n A da. Reina Me edes, s/n
41012 Se illa 41012 Se illa
einaqulsi.us.es j o eslsi.us.es
Resumen
La o ien aión a asp e os mejo a la e oluión
del so wa e lo alizando los ambios, mien as
que el desa ollo de so wa e onduido p o
mo delos (MDD) basado en el es ánda ono-
ido omo Mo del D i en A hi e u e (MDA)
mejo a la adap aión a los ambios enológi-
os, y p o an o, la e oluión del so wa e. En
es e a íulo se p opone un en o que híb ido,
de al o ma que p o damos saa pa ido de las
en a jas p op o ionadas p o ambas p opues-
as. En MDA se on ie en en elemen o la e
las ans o maiones. El a íulo se en a, po
an o, en el análisis del ip o de ans o ma-
iones neesa ias pa a lle a a abo es e en-
o que híb ido, y en ómo la ip ología de las
mismas a e a al ans o mado de mo delos de
un amewo k que gene e apliaiones en base
a es e en o que híb ido.
1. In o duión
Debido a los ons an es ambios que ienen
que en en a los ingenie os so wa e en los úl-
imos años han su gido p opues as an o pa a
onsegui una mejo e oluión de los sis emas
so wa e, omo pa a p o de adop a los am-
bios de enología on mínimo os e. En la
p ime a línea, se enuen a lo que se onoe o-
mo el nue o pa adigma de desa ollo so wa e
o ien ado a asp e os (DSOA)[4℄. En la segun-
da se puede inlui el desa ollo onduido p o
mo delos (MDD), sob e odo on la p opues-
a MDA[5℄ de la Ob je Managemen G oup
(OMG).
Pues o que ambas líneas de aba jo no son
inompa ibles, sino más bien, odo lo on-
a io, es a ible p ensa que aunando amb os
pa adigmas p o demos onsegui apliaiones
que se pueden adap a más áilmen e a los
ambios de equisi os y a los ambios de e-
nología. Así, nues a p opues a se puede on-
side a omo un en o que híb ido, en el sen i-
do de que p op onemos aba ja on onep os
sepa ados a ualquie ni el mo delado, en endi-
endo p o ni eles de mo delo los ni eles p opues-
os po MDA: mo delos independien es de la
pla a o ma, mo delos dep endien es de pla a o -
ma y ó digo).
En [6℄ se de allaba la a qui e u a de un
amewo k
gene ado de apliaiones, basado
en MDA, que daba la p osibilidad de mo de-
la onep os p o sepa ado. Es os asp e os se
esp eiaban median e lengua jes de modela-
do esp eíos de dominio, on i iendo así las
ans o maiones en elemen os la e, ya que
pueden llega inluso a ealiza uniones de
wea e
. Desde es a pe sp e i a, omp one un
asp e o y un mo delo que esp eique la un-
ionalidad básia, se on e i ía en la apli-
aión de una se ie de ans o maiones, a dos
mo delos, o a dos me amo delos.
En es e a íulo se es udian los dis in os
ip os de ans o maiones exis en es, pa a e
on uál de ellas aba ja á nues o
amewo k
.
Además, se analizan las impliaiones de las
mismas sob e el diseño de un omp onen e del
amewo k
, el ans o mado de mo delos. Pa a
ello, el aba jo se es u u a omo sigue:
En la seión 2 se p esen a una a ego-
izaión del ip o de ans o maiones que nos
p o demos enon a en la bibliog a ía, pa a
p os e io men e de e mina on uáles de ellas
deb e aba ja nues o amewo k gene ado
de apliaiones. El ip o de ans o maiones
se á de e minan e pa a deni los equisi os
del amewo k, sob e o do del ans o mado
de mo delos.
A on inuaión, en la seión
Es u u a de
apliaiones gene adas po el amewo k
, se
hae una e isión de la es u u a de las apli-
aiones on las que a a aba ja el ame-
wo k, on ob je o de de e mina los equisi os
que imp onen al mismo.
En la seión seión 4 se denen las a-
a e ís ias del ans o mado de mo delos en
base al ip o de ans o maiones que amos a
on empla en el
amewo k
.
Luego, en la seión 5, se exp onen las op-
iones de implemen aión de las eglas de
as o maión y mo i a p o qué se elige SQL
emb ebido pa a implemen a las. Finalmen e, se
onluye el aba jo y se apun an u u as líneas
de in es igaión.
2. Ca ego izando ans o maiones
Según la OMG [5℄, la ans o maión de mo-
delos es el p o eso de on e i un modelo en
o o. Según F ane y Bieman [2℄, las ans-
o maiones se pueden lasia en ans o -
maiones e iales y ans o maiones ho i-
zon ales. Las ans o maiones e iales son
aquellas que se aplian a un mo delo pa a ob e-
ne o o exp esado on un ni el de abs aión
di e en e, mien as que las ans o maiones
ho izon ales se aplian a un mo delo pa a ob-
ene o o del mismo ni el de abs aión. Un
ejemplo de ans o maiones e iales en el
ámbi o de MDA son las ans o maiones nee-
sa ias pa a ans o ma un Mo delo Indep endi-
en e de Pla a o ma (PIM) en un Mo delo Es-
p eío de Pla a o ma (PSM), mien as que
una ans o maión ho izon al, puede se la
omp osiión de un asp e o en un mo delo sin
ambia el ni el de abs aión.
Cza neki [1℄, sin emba go, dis ingue en e
es ip os de ans o maiones: e iales, ho-
izon ales y obliuas. De o ma que las ans-
o maiones e iales in olu an ans o ma
un modelo de al o ni el en un modelo de más
ba jo ni el, llamándolas ambién enamien os
haia adelan e. Las ans o maiones ho izon-
ales mo dian la es u u a mo dula de una
apliaión al mismo ni el. Mien as que las
ans o maiones obliuas ienen omp onen es
an o e iales omo ho izon ales. En la 1 se
mues a un esquema de los ip os de ans o -
maiones que onside a Cza neki.
T ans o mación
Ho izon al
T ans o mación
Ve ical
T ans o mación
Oblicua
Figu a 1: T ans o maiones omadas de [1℄
En [3℄, además se iden ian los dis in os
ip os de ans o maiones e iales y ho izon-
ales que p o demos aplia a los mo delos. Así,
nos p o demos enon a on los siguien es ip os
de enamien os:
•
Esp eializaión.
Es e ipo de ans o maión oma omo
en ada un ob je o o onjun o de ob je os
menos espeializados y da omo esul a-
do un onjun o de ob je os más esp eiali-
zados.
•
Elab o aión.
Toma omo en ada una ongu aión de
ob je os menos de allada y da omo esul-
ado ongu aiones de ob je os más de-
alladas.
•
Realizaión.
PIM In e az
Usua io PIM
Na egación PIM
Segu idad PIM
Dis ibución PIM
Pe sis encia PIM
Concep ual
PSM
In e az
Usua io
JSF
PSM
Na egación
JSF
PSM
Segu idad
EJB
PSM
Dis ibución
EJB
PSM
Pe sis encia
EJB
PSM
Relacional
Código
Fuen e EJB
Código Fuen e JSF Código
Fuen e SQL
Código
Fuen e EJB Código
Fuen e EJB
T ans o mación
PIM -> Componen e JSF T ans o mación
PIM -> Componen e JSF T ans o mación
PIM -> Componen e EJB T ans o mación
PIM -> Componen e EJB T ans o mación
PIM -> Componen e EJB T ans o mación
PIM -> Relacional
T ans o mación
Gene ación Código T ans o mación
Gene ación Código T ans o mación
Gene ación Código T ans o mación
Gene ación Código T ans o mación
Gene ación Código
T ans o mación
Gene ación Código
Figu a 2: Es u u a de una apliaión gene ada p o el amewo k
Las ongu aiones de ob je os de la en-
ada se ans o man en ob je os que ep-
esen an su implemen aión.
•
De i aión.
Nue as esp eiaiones de ob je os se
de i an de las ongu aiones de ob je os
que se oman omo en ada.
•
Desomp osiión.
Ob je os indi iduales se ans o man en
ongu aiones de ob je os en la salida.
Mien as que on esp e o a las ans o ma-
iones ho izon ales nos p o demos enon a los
siguien es ip os:
•
Re a o izaión.
Son ans o maiones ealizadas pa a
mejo a la es u u a de la esp eiaión
dada p o los desa ollado es.
•
Op imizaión.
Su ob je i o es mejo a algunas a a e ís-
ias de una espeiaión, ales omo su
endimien o o el uso de los eu sos.
•
Deslo alizaión.
Es un ip o de ans o maión que se u i-
liza pa a implemen a asp e os, es dei ,
pa a enapsula elemen os que o an la
es u u a o el omp o amien o de o os
elemen os, lo que en la e minología de
o ien aión a asp e os se ono e omo
ossu ing one ns.
3. Es u u a de apliaiones gene-
adas p o el amewo k
En es e apa ado, analiza emos de qué ip o de
apliaiones se iene que o upa el
amewo k
,
pa a pos e io men e, omp oba qué implia-
iones end án es as deisiones en el diseño del
ans o mado de mo delos.
Como ya se ha omen ado en la in o du-
ión, algunas ans o maiones se i án o-
mo meanismo de omp osiión. Sup ongamos
que enemos sepa ados los dis in os onep-
os de nues o sis ema a ni el de mo delo inde-
p endien e de la pla a o ma, p e o la pla a o -
ma esp eía en la que que emos implemen a
nues o sis ema no p opo iona meanismos de
sepa aión. En es e aso, o bien a la ho a de
gene a los modelos esp eíos de pla a o ma,
o bien a la ho a de gene a el ó digo, en-
d íamos que omp one esos mo delos sepa a-
dos.
Pa a la ia un p o o más es e onep o,
éase el ejemplo de la Figu a 2. En él se mues-
Edi o Modelos
Validado Modelos
Edi o de T ans o maciones
T ans o mado de modelos
Gene ado Código
Pa se
Gene ado
Edi o Código (IDE)
Reposi o io de
Modelos
Reposi o io de
T ans o maciones
Código
Fuen e
Figu a 3: Comp onen es del amewo k gene ado de apliaiones
a la es u u a que end á una apliaión
gene ada p o el amewo k. Cuen a on es
ni eles de mo delos (PIM, PSM y ó digo), que
se pueden dis ingui en ho izon al, y a ios
asp e os sepa ados (onep ual, pe sis enia,
dis ibuión, segu idad, na egaión e in e az
de usua io.
Las ans o maiones de PIM a PSM son
ans o maiones e iales, ya que pasan de
un ni el de abs aión mayo a un ni el de
abs aión meno , mien as que las ans-
o maiones PSM a omponen e Ja a Se e
Faes (JSF) pueden se obliuas. Es dei , las
ans o maiones de PSM a omp onen e JSF
pueden ene omp onen es e iales y ho i-
zon ales, ya que no solamen e disminuyen el
ni el de abs aión, sino que mezlan dos on-
ep os, el in e az de usua io y la na egaión.
Po an o, en el aso de la Figu a 2, los as-
p e os de na egaión y p esen aión se espei-
an p o sepa ado a ni el de PIM, p e o omo
JSF, que es la pla a o ma elegida pa a imple-
men a los, no p esen a una sepa aión la a de
amb os, en el mo delo esul an e de la ans o -
maión end emos amb os asp e os en emez-
lados. Es dei , las ans o maiones han e-
alizado un aba jo de
wea ing
.
4. Ca a e ís ias del ans o -
mado de mo delos
Como ya se ha menionado en la in odu-
ión, en [6℄ se p op onía la a qui e u a de
un amewo k gene ado de apliaiones. En
la Figu a 3, se puede obse a que los p ini-
pales omp onen es denidos en la misma, son:
un edi o de mo delos, un alidado de mo de-
los, un edi o de ans o maiones, un ans-
o mado de mo delos, un gene ado de ó digo
y un edi o de ó digo. De o dos ellos, el om-
p onen e que se e más inueniado p o el he-
ho de ene que a a on ans o maiones
obliuas es el ans o mado de mo delos, p o lo
an o, en adelan e nos en a emos en analiza
las impliaiones de implemen a es e ip o de
ans o maiones sob e el mismo.
En [1℄, se dis ingue en e gene ado es
omp osiionales, y gene ado es ans o ma-
ionales. Los gene ado es omp osiionales no
ealizan ans o maiones que puedan edeni
la es u u a mo dula de una apliaión. Los
gene ado es ans o maionales, sin emba go,
no solamen e ealizan enamien os, sino que
ambién son apaes de aba ja on ans-
o maiones que engan un omp onen e ho i-
zon al (bien sean ans o maiones ho izon a-
les, bien sean ans o maiones obliuas). Es e
ip o de ans o mado es es más p o en e que el
omp osiional.
Así que nues o ans o mado de mo delos
ha de se ans o maional, y es e heho, es
de e minan e en su a qui e u a.
La eleión de ómo se an a implemen a
las eglas de ans o maión a a se o o pun-
o de e minan e pa a diseña la a qui e u a
del ans o mado de mo delos. A endiendo a la
lasiaión ealizada en [7℄, se pueden adop-
a es en o ques dis in os:
•
Manipulaión di e a de mo delos. Las
he amien as que siguen es e en o que
o een al usua io aeso a una ep e-
sen aión in e na del mo delo y una se-
ie de In e aes de P og amado de Ap-
liiones (APIs) pa a manipula la ep e-
sen aión.
La manipulaión di e a iene la en a-
ja de que el lengua je que se suele u i-
liza pa a aba ja on las APIs suele
se un lengua je de uso omún al o-
mo Visual Basi o Ja a, on lo ual,
los desa ollado es no neesi an un en-
enamien o ex a pa a es ibi ans o -
maiones. Sin emba go, es as APIs sue-
len es ingi la lase de ans o maiones
que se pueden ealiza . Además, omo los
lengua jes u ilizados son de p opósi o ge-
ne al, no ienen abs aiones adeuadas
pa a exp esa ans o maiones, p o lo
an o, el es ibi una ans o maión se
on ie e en una a ea que onsume iem-
p o, y además, suelen se algo i mos di í-
iles de man ene .
•
Rep esen aión in e media. La he a-
mien a exp o a el mo delo a un o ma-
o es ánda , no malmen e XML, y una
he amien a ex e na oma el mo delo y lo
ans o ma.
La ep esen aión in e media iene la en-
a ja de que exis en en el me ado muhas
he amien as que exp o an o imp o an
mo delos des i os en XMI, y que, p o an-
o, se pueden u iliza he amien as XML
ya exis en es, omo XSLT pa a ealiza
ans o maiones. Sin emba go, la deni-
ión de ans o maiones, aunque sean
simples, de mo delos en XSLT equie e un
es ue zo onside able.
O o inon enien e imp o an e de es e
ip o de a qui e u a es que las ans o -
maiones se ealizan po lo es, on lo ual
es di íil que el usua io enga un diálogo
in e a i o on la he amien a.
•
Sop o e de lengua je de ans o maión.
La he amien a o ee un lengua je que
p op o iona un onjun o de ons u o es
o meanismos pa a exp esa , omp one y
aplia ans o maiones de mane a ex-
plíi a.
Según los au o es de [7℄, es e en o que es el
que o ee un mayo p o enial de los es.
En la siguien e seión e emos ómo im-
plemen a emos las eglas de ans o maión, y
p o an o, nos ayuda á a esoge una de es as
es p opues as de a qui e u as.
5. Implemen aión de las eglas de
ans o maión
A la ho a de implemen a las eglas de ans-
o maión que iene que p o esa nues o ge-
ne ado de mo delos, enemos ua o op iones
dis in as:
•
U ilizando un lengua je de p og amaión
y haiendo la odiaión a mano.
•
U ilizando un lengua je de que ies emb e-
bido, al omo XPa h [8℄ o XQue y [9℄.
•
U ilizando un sis ema basado en eglas,
al omo CLIPS, o P olog.
•
Deni un lengua je, bien p o edu al, bien
dela a i o, bien una mezla de amb os.
Con la p ime a op ión se pueden ob ene
implemen aiones más eien es, p e o el ene
que es ibi la o diaión a mano es un g an
inon enien e. El elegi es a op ión implia ía
el elegi una a qui e u a de manipulaión di-
e a de mo delo.
La segunda y e e a op ión elimina algún
aba jo de es i u a, p e o ambas p esen an el
inon enien e de que pa a u iliza los, hay que
adap a el o ma o del á b ol de sin axis ab-
s a a al o ma o on el que aba ja o bien el
sis ema de eglas, o bien el lengua je de que ies
emb ebido.
La segunda op ión pa a exp esa las ans-
o maiones implia ía una a qui e u a de
ep esen aión in e media, mien as que la úl-
ima de e mina una a qui e u a de sopo e de
lengua je de ans o maiones.
Como uno de los ob je i os p opues os a la
ho a de ealiza el amewo k es ap o eha
las he amien as exis en es, en e o das es as
op iones, la más iable es el uso de XPa h o
XQue y o XSLT, pa a p o de aba ja on o-
das las he amien as ya disp onibles en XML.
Como ya se ha omen ado en la seión 4, es e
en o que equie e una exp e ienia onside able
pa a deni las ans o maiones, así que, se
end á que p op o iona una o ma de alige a
es e es ue zo, bien deniendo un lengua je p o
enima de XSLT, bien deniendo un lengua je
esp eío de dominio pa a aba ja on es as
ans o maiones.
6. Conlusiones y aba jos u u os
En es e a íulo se ha pues o de manies o
la imp o ania del a amien o de eglas de
ans o maión obliuas en el aso de que el
p opio ans o mado enga que a ua omo
wea e
. Además, se ha is o ómo la deisión
de a a on ans o maiones obliuas en el
gene ado de mo delo, obliga a ene un gene a-
do de ipo ans o maional, desa ando los
gene ado es omp osiionales.
De la misma o ma, a la ho a de imple-
men a las ans o maiones, se ha de e mi-
nado que la mejo op ión, según los equisi-
os impues os al amewo k, es u iliza SQL
emb ebido en algún lengua je del ip o XQue y
o XPa h, lo que implia una a qui e u a de
ip o ep esen aión in e media.
Como aba jos u u os, es amos aba jando
en la deniión de ans o maiones a ni el de
me amo delos, pa a onsegui el ejido de los
mismos.
Re e enias
[1℄ Czane ki, K., Eiseneke , U.W.
Gene a-
i e P og amming. Me hods, Tools and Ap-
plia ions
. Addison Wesley, 2000.
[2℄ F ane, R., Bieman, J.M.
Mul i-View So -
wa e E olu ion: A UML-based F amewo k
o E ol ing Obje -O ien ed So wa e
. In
he P o eedings o he In e na ional Con-
e ene on So wa e Main einane (ICSM
2001). No emb e , 2001.
[3℄ G eeneld, J., Sho , K., Co ok, S. , Ken ,
S.
So wa e Fa o ies. Assembling Applia-
ions wi h Pa e ns, Models, F amewo ks,
and Tools.
Wiley Publishing, In, 2004.
[4℄ Kizales, G., Lamping, J., Mendheka , A.
and Maeda, C., Lop es, C.,Loing ie , J.M.,
I win, J.
Aspe -O ien ed P og amming
.
11 h Eu op een Con . Ob je -O ien ed P o-
g amming, 1997. Eds. M. Ak³i and
S. Ma suoka. LNCS 1241, pp. 220-242,
Sp inge Ve lag.
[5℄ Ob je Managemen G oup.
MDA Guide.
Ve sion 1.0.1
, OMG, 2003.
[6℄ Reina, A. M., To es, J.
Sepa aión de on-
ep os y MDA: A qui e u a de un ame-
wo k
, I Talle sob e Desa ollo de So wa e
Di igido p o Mo delos, MDA y Apliaiones
(DSDM'04). Celeb ado jun o on las Jo -
nadas de Ingenie ía del So wa e y Bases de
Da os (2004). Málaga, España. No emb e ,
2004. ISBN: 84-688-8870-2.
[7℄ Sendall, S., Kozazynski, W.
Model T ans-
o ma ion - The Hea and Soul o Model-
D i en So wa e De elopmen
IEEE So -
wa e. Vol 20, n
o
5, pp. 42-45. Sep /O
2003.
[8℄ W3C.
XML Pa h Language (XPa h) 2.0
W3C Wo king D a 04 Ap il 2005
(h p://www.w3.o g/TR/xpa h20/)
[9℄ W3C.
XQue y 1.0: An XML Que y Lan-
guage
W3C Wo king D a 04 Ap il
2005.(h p://www.w3.o g/TR/xque y/)