scieee Open visual document viewer

Implicaciones de transformaciones oblicuas en el desarrollo de un framework generador de aplicaciones orientadas a aspectos

Reina Quintero, Antonia María; Torres Valderrama, Jesús

Full text

Impliaiones de ans o maiones obliuas en el desa ollo de un amewo k gene ado de apliaiones 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á ios Dp o. de Lengua jes y Sis emas in o má ios 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 einaqulsi.us.es j o eslsi.us.es Resumen La o ien aión a asp e os mejo a la e oluión del so wa e lo alizando los ambios, mien as que el desa ollo de so wa e onduido 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 aión a los ambios enológi- os, y p o an o, la e oluió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 saa 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 maiones. El a íulo se en a, po an o, en el análisis del ip o de ans o ma- iones neesa 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 apliaiones en base a es e en o que híb ido. 1. In o duió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 oluión de los sis emas so wa e, omo pa a p o de adop a los am- bios de enología on mínimo os e. En la p ime a línea, se enuen a lo que se onoe 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 inlui el desa ollo onduido 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 inompa 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 apliaiones 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 onep 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 apliaiones, basado en MDA, que daba la p osibilidad de mo de- la onep os p o sepa ado. Es os asp e os se esp eiaban median e lengua jes de modela- do esp eíos de dominio, on i iendo así las ans o maiones en elemen os la e, ya que pueden llega inluso a ealiza uniones de wea e . Desde es a pe sp e i a, omp one un asp e o y un mo delo que esp eique la un- ionalidad básia, se on e i ía en la apli- aión de una se ie de ans o maiones, 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 maiones exis en es, pa a e on uál de ellas aba ja á nues o amewo k . Además, se analizan las impliaiones 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 seión 2 se p esen a una a ego- izaión del ip o de ans o maiones que nos p o demos enon 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 apliaiones. El ip o de ans o maiones se á de e minan e pa a deni los equisi os del amewo k, sob e o do del ans o mado de mo delos. A on inuaión, en la seión Es u u a de apliaiones gene adas po el amewo k , se hae una e isión de la es u u a de las apli- aiones 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 seión seión 4 se denen las a- a e ís ias del ans o mado de mo delos en base al ip o de ans o maiones que amos a on empla en el amewo k . Luego, en la seión 5, se exp onen las op- iones de implemen aión de las eglas de as o maión y mo i a p o qué se elige SQL emb ebido pa a implemen a las. Finalmen e, se onluye el aba jo y se apun an u u as líneas de in es igaión. 2. Ca ego izando ans o maiones Según la OMG [5℄, la ans o maión de mo- delos es el p o eso de on e i un modelo en o o. Según F ane y Bieman [2℄, las ans- o maiones se pueden lasia en ans o - maiones e iales y ans o maiones ho i- zon ales. Las ans o maiones e iales son aquellas que se aplian a un mo delo pa a ob e- ne o o exp esado on un ni el de abs aión di e en e, mien as que las ans o maiones ho izon ales se aplian a un mo delo pa a ob- ene o o del mismo ni el de abs aión. Un ejemplo de ans o maiones e iales en el ámbi o de MDA son las ans o maiones nee- 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 maión ho izon al, puede se la omp osiión de un asp e o en un mo delo sin ambia el ni el de abs aión. Cza neki [1℄, sin emba go, dis ingue en e es ip os de ans o maiones: e iales, ho- izon ales y obliuas. De o ma que las ans- o maiones e iales 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 enamien os haia adelan e. Las ans o maiones ho izon- ales mo dian la es u u a mo dula de una apliaión al mismo ni el. Mien as que las ans o maiones obliuas ienen omp onen es an o e iales omo ho izon ales. En la 1 se mues a un esquema de los ip os de ans o - maiones que onside a Cza neki. 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 maiones omadas de [1℄ En [3℄, además se iden ian los dis in os ip os de ans o maiones e iales y ho izon- ales que p o demos aplia a los mo delos. Así, nos p o demos enon a on los siguien es ip os de enamien os: • Esp eializaión. Es e ipo de ans o maión oma omo en ada un ob je o o onjun o de ob je os menos espeializados y da omo esul a- do un onjun o de ob je os más esp eiali- zados. • Elab o aión. Toma omo en ada una ongu aión de ob je os menos de allada y da omo esul- ado ongu aiones de ob je os más de- alladas. • Realizaió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 apliaión gene ada p o el amewo k Las ongu aiones de ob je os de la en- ada se ans o man en ob je os que ep- esen an su implemen aión. • De i aión. Nue as esp eiaiones de ob je os se de i an de las ongu aiones de ob je os que se oman omo en ada. • Desomp osiión. Ob je os indi iduales se ans o man en ongu aiones 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 enon a los siguien es ip os: • Re a o izaión. Son ans o maiones ealizadas pa a mejo a la es u u a de la esp eiaión dada p o los desa ollado es. • Op imizaión. Su ob je i o es mejo a algunas a a e ís- ias de una espeiaión, ales omo su endimien o o el uso de los eu sos. • Deslo alizaión. Es un ip o de ans o maión que se u i- liza pa a implemen a asp e os, es dei , pa a enapsula 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 aión a asp e os se ono e omo  ossu ing one ns. 3. Es u u a de apliaiones gene- adas p o el amewo k En es e apa ado, analiza emos de qué ip o de apliaiones se iene que o upa el amewo k , pa a pos e io men e, omp oba qué implia- iones end án es as deisiones 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 maiones se i án o- mo meanismo de omp osiión. Sup ongamos que enemos sepa ados los dis in os onep- 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 meanismos de sepa aió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 ia un p o o más es e onep 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 apliaiones a la es u u a que end á una apliaió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 (onep ual, pe sis enia, dis ibuión, segu idad, na egaión e in e az de usua io. Las ans o maiones de PIM a PSM son ans o maiones e iales, ya que pasan de un ni el de abs aión mayo a un ni el de abs aión meno , mien as que las ans- o maiones PSM a omponen e Ja a Se e Faes (JSF) pueden se obliuas. Es dei , las ans o maiones de PSM a omp onen e JSF pueden ene omp onen es e iales y ho i- zon ales, ya que no solamen e disminuyen el ni el de abs aión, sino que mezlan dos on- ep os, el in e az de usua io y la na egaión. Po an o, en el aso de la Figu a 2, los as- p e os de na egaión y p esen aión se espei- 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 aión la a de amb os, en el mo delo esul an e de la ans o - maión end emos amb os asp e os en emez- lados. Es dei , las ans o maiones han e- alizado un aba jo de wea ing . 4. Ca a e ís ias del ans o - mado de mo delos Como ya se ha menionado 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 apliaiones. En la Figu a 3, se puede obse a que los p ini- pales omp onen es denidos en la misma, son: un edi o de mo delos, un alidado de mo de- los, un edi o de ans o maiones, 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 inueniado p o el he- ho de ene que a a on ans o maiones obliuas es el ans o mado de mo delos, p o lo an o, en adelan e nos en a emos en analiza las impliaiones de implemen a es e ip o de ans o maiones sob e el mismo. En [1℄, se dis ingue en e gene ado es omp osiionales, y gene ado es ans o ma- ionales. Los gene ado es omp osiionales no ealizan ans o maiones que puedan edeni la es u u a mo dula de una apliaión. Los gene ado es ans o maionales, sin emba go, no solamen e ealizan enamien os, sino que ambién son apaes de aba ja on ans- o maiones que engan un omp onen e ho i- zon al (bien sean ans o maiones ho izon a- les, bien sean ans o maiones obliuas). Es e ip o de ans o mado es es más p o en e que el omp osiional. Así que nues o ans o mado de mo delos ha de se ans o maional, y es e heho, es de e minan e en su a qui e u a. La eleión de ómo se an a implemen a las eglas de ans o maió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 lasiaión ealizada en [7℄, se pueden adop- a es en o ques dis in os: • Manipulaión di e a de mo delos. Las he amien as que siguen es e en o que o een al usua io aeso a una ep e- sen aión in e na del mo delo y una se- ie de In e aes de P og amado de Ap- liiones (APIs) pa a manipula la ep e- sen aión. La manipulaió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 neesi an un en- enamien o ex a pa a es ibi ans o - maiones. Sin emba go, es as APIs sue- len es ingi la lase de ans o maiones que se pueden ealiza . Además, omo los lengua jes u ilizados son de p opósi o ge- ne al, no ienen abs aiones adeuadas pa a exp esa ans o maiones, p o lo an o, el es ibi una ans o maió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 aió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 aión in e media iene la en- a ja de que exis en en el me ado muhas 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 maiones. Sin emba go, la deni- ión de ans o maiones, aunque sean simples, de mo delos en XSLT equie e un es ue zo onside able. O o inon enien e imp o an e de es e ip o de a qui e u a es que las ans o - maiones 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 maión. La he amien a o ee un lengua je que p op o iona un onjun o de ons u o es o meanismos pa a exp esa , omp one y aplia ans o maiones de mane a ex- plíi a. Según los au o es de [7℄, es e en o que es el que o ee un mayo p o enial de los es. En la siguien e seión e emos ómo im- plemen a emos las eglas de ans o maión, y p o an o, nos ayuda á a esoge una de es as es p opues as de a qui e u as. 5. Implemen aión de las eglas de ans o maión A la ho a de implemen a las eglas de ans- o maió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 amaión y haiendo la odiaió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. • Deni un lengua je, bien p o edu al, bien dela a i o, bien una mezla de amb os. Con la p ime a op ión se pueden ob ene implemen aiones más eien es, p e o el ene que es ibi la o diaión a mano es un g an inon enien e. El elegi es a op ión implia ía el elegi una a qui e u a de manipulaió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 inon 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 maiones implia ía una a qui e u a de ep esen aió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 maiones. Como uno de los ob je i os p opues os a la ho a de ealiza el amewo k es ap o eha 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 seión 4, es e en o que equie e una exp e ienia onside able pa a deni las ans o maiones, así que, se end á que p op o iona una o ma de alige a es e es ue zo, bien deniendo un lengua je p o enima de XSLT, bien deniendo un lengua je esp eío de dominio pa a aba ja on es as ans o maiones. 6. Conlusiones y aba jos u u os En es e a íulo se ha pues o de manies o la imp o ania del a amien o de eglas de ans o maión obliuas 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 deisión de a a on ans o maiones obliuas en el gene ado de mo delo, obliga a ene un gene a- do de ipo ans o maional, desa ando los gene ado es omp osiionales. De la misma o ma, a la ho a de imple- men a las ans o maiones, 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 implia una a qui e u a de ip o ep esen aión in e media. Como aba jos u u os, es amos aba jando en la deniión de ans o maiones a ni el de me amo delos, pa a onsegui el ejido de los mismos. Re e enias [1℄ Czane ki, K., Eiseneke , U.W. Gene a- i e P og amming. Me hods, Tools and Ap- plia ions . Addison Wesley, 2000. [2℄ F ane, 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 ene on So wa e Main einane (ICSM 2001). No emb e , 2001. [3℄ G eeneld, J., Sho , K., Co ok, S. , Ken , S. So wa e Fa o ies. Assembling Applia- ions wi h Pa e ns, Models, F amewo ks, and Tools. Wiley Publishing, In, 2004. [4℄ Kizales, 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 aió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 Apliaiones (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., Kozazynski, 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/)