generaciÓn DeL DiagraMa De SecUenciaS De UML 2.1.1 DeSDe

Preview:

Citation preview

Revista EIA, ISSN 1794-1237 Número 10, p. 89-103. Diciembre 2008Escuela de Ingeniería de Antioquia, Medellín (Colombia)

* IngenieroCivil,EspecialistaenGerenciadeSistemasInformáticos,MagísterenIngenieríadeSistemasyDoctorenIngenieríaconénfasisenSistemas,UniversidadNacionaldeColombia.ProfesorAsociado,UniversidadNacionaldeColombia,SedeMedellín.LíderdelGrupodeInvestigaciónenLenguajesComputacionales.cmzapata@unal.edu.co

** IngenieradeSistemaseInformática.MagísterenIngenieríadeSistemas.AsistentedeInvestigacióndelGrupodeInvestigaciónenLenguajesComputacionales,UniversidadNacionaldeColombia.glgarces@unalmed.edu.co

Artículorecibido29-IX-2008.Aprobado17-XII-2008Discusiónabiertahastajuniode2009

generaciÓn DeL DiagraMa De SecUenciaS De UML 2.1.1 DeSDe eSQUeMaS PrecOncePTUaLeS

Carlos Mario Zapata*GilMa liliana GarCés**

reSUMen

Eldiagramadesecuenciasesunesquemaconceptualquepermiterepresentarelcomportamientodeunsistema,paralocualemplealaespecificacióndelosobjetosqueseencuentranenunescenarioylasecuenciademensajesintercambiadosentreellos,conelfindellevaracabounatransaccióndelsistema.Existendiferen-tesenfoquesquebuscanlageneraciónautomáticademodelosconceptuales,comoeldiagramadesecuencias.Algunostrabajospartendellenguajenatural,perogenerandiagramasdiferentesaldesecuenciaso,silohacenigual,dejandeladoelementoscomolosfragmentoscombinados,quedescribenciertascondicioneslógicasenelsistema.Otrostrabajospartendelcódigofuente,elcualsesueleubicarenunafasemásavanzadadelciclodevidadelsoftware.Enesteartículosedefineunmétodo,basadoenreglasheurísticas,quepermiteidentificarloselementosdeldiagramadesecuencias,incluyendolosfragmentoscombinados,tomandocomopuntodepartidalosesquemaspreconceptuales.SerealizalaimplementacióndelasreglasenlaherramientaAToM3aplicándolasauncasodeestudio.

PALABRASCLAVE:modeloconceptual;diagramadesecuencias;fragmentocombinado;esquemapre-conceptual,AToM3.

generaTiOn Of UML 2.1.1 SeQUence DiagraM frOM Pre-cOncePTUaL ScheMeS

aBSTracT

Sequencediagramisaconceptualschemaforrepresentingbehaviorofasystem.Forperformingsuchatask,itemploystheobjectspecfromascenarioandthesequenceofmessagesexchangedamongtheobjects.Theseelementsdescribeatransactionofthesystem.Severalapproachestrytheautomatedgenerationofconceptual

90 Revista EIA

Generación del diaGrama de secuencias de uml 2.1.1 desde esquemas preconceptuales

models(likesequencediagram).Someofthemusenaturallanguageasastartingpoint,buttheyarefocusedonotherdiagrams.Someothersarefocusedonsequencediagram,buttheydonotobtainelementslikecombinedfragmentsdescribingseverallogicalconstraintsofthesystem.Otherapproachesusesourcecodeasastartingpoint,butsourcecodecanberelatedtoanadvancedphaseofthesoftwaredevelopmentlifecycle.Inthispaperwedefineamethodbasedonheuristicrulesforobtainingautomaticallytheelementsofthesequencediagram(includingcombinedfragments)frompre-conceptualschemas.TheseheuristicrulesareimplementedintheAToM3toolandappliedinacasestudy.

KEY WORDS: conceptual model; sequence diagram; combined fragment; pre-conceptual schema;AToM3.

1. inTrODUcciÓn

En un proceso de desarrollo de software,unadelastareasmásrelevantesparaeléxitodeunproyectodediseñoeimplementacióndeunsistemainformáticoesgarantizar,deunaformaapropiada,la representación y el modelado de los requisitosdeusuario.Elplanteamientodeobjetivosconfusos,lostiemposdeentregatardíosylasespecificacionesy requisitos incompletos (Zapata y Arango, 2005)apuntan a que se debe enfatizar en el desarrollodelafasederequisitos,deformatalqueelsistemaobtenido satisfaga las necesidades del interesado.Durantelafasedeanálisis,específicamente,losmo-delosdinámicosadquierenmayorimportancia.Estosseutilizanparaespecificarpatronesdeinteracciónentreobjetosoinstanciasdeclases(Díazet al.,2005)ydescribenlasecuenciaordenadadelosmensajesqueenvíanyrecibenlasinstanciasdurantelaejecu-cióndelescenariodeuncasodeuso(quesedefinecomounadescripciónparcialdelcomportamientodeunsistemaenunatransacciónparticular).Paralarepresentacióndedichospatrones,labibliografíapropone,entreotros,losdiagramasdesecuenciasydecomunicación(OMG,2007).

Eldiagramadesecuencias,quesedefineenUML(Unified Modeling Language),esunodelosmásutilizadosparaidentificarelcomportamientodeunsistema(Pressman,2005),porrepresentarlosobjetosqueseencuentranenelescenarioylasecuenciademensajesintercambiadosentrelosobjetosparallevaracabolafuncionalidaddescritaporunatransacción

delsistema.Además,seutilizaconfrecuenciaparavalidarloscasosdeusoyapreciarlalógicadeldiseñodeformadinámica(Ambler,2005;FowleryScott,1997y2003).

Existen diversos proyectos y herramientasquebuscanfacilitarlaextraccióndelainformaciónnecesaria para la generación automática de es-quemasconceptuales (incluyendoeldiagramadesecuencias), conel findeagilizareldesarrollodelasaplicacionesdesoftware.Losdiferentesenfoquessepuedenclasificarendospuntosdepartida:espe-cificacionestextualesenlenguajenaturalycódigofuente.Estosproyectosyherramientas,sinembargo,aúnpresentanalgunasfallaspormejorar:

• Algunosseenfocanendiagramasdiferentesaldesecuencias,locualdejadeladolasparticula-ridadesdeciertasrestriccionesdelsistemaquesólosepuedenrepresentarendichodiagrama.

• Losqueseenfocaneneldiagramadesecuen-ciassóloobtienenloselementosbásicos,dejan-dode lado importanteselementosquepermi-tenexpresarcondicionesespecialesyapreciarla lógicadeldiseñodeformadinámica(comoeselcasodelosfragmentoscombinados).

• Los que parten del código fuente se convier-ten en herramientas interesantes para revisarel diagrama de secuencias a posteriori, es de-cir,enunafasemásavanzadadelciclodevidadelsoftware,ycomotalespermiten larealiza-ción de ingeniería inversa. Sin embargo, si sepretende agilizar el desarrollo de software es

91Escuela de Ingeniería de Antioquia

preferibleidentificareldiagramadesecuenciasdesdelasfasesinicialesdeldesarrolloynoespe-raralaimplementacióndelcódigofuenteparasuobtención.

Enesteartículosepartedeunarepresentacióngráficadelasespecificacionestextualesdeunsistema,mediantelosdenominadosesquemaspreconceptua-les(Zapata,GelbukhyArango, 2006a;Zapata,2007)y,mediante ladefinicióndeunconjuntode reglasheurísticas,sepretendelaobtencióndeloselementosdeldiagramadesecuencias,incluyendolosfragmen-toscombinados.ElmétodoasídefinidoseimplementaenlaherramientaAToM3(A Tool for Multi-Formalism Modeling and Meta-Modeling)yseejemplificamedian-teuncasodeestudiocuyoenunciadoprovienedelaliteraturaespecializadaeneltema.

Para lograresteobjetivo,en lasección2sepresentaelcuerpoteóriconecesarioparaestedesa-rrollo,queincluyeunadescripcióndelosprincipaleselementosquecomponenundiagramadesecuen-cias según el estándar UML 2.1.1, además de losesquemaspreconceptualesylaherramientaAToM3;enlasección3,sepresentanalgunaspropuestasentornoalageneraciónautomáticadeldiagramadesecuencias y otros esquemas conceptuales, resal-tando sus principales aportes y desventajas; en lasección4,sepresentanlasreglasdeconversiónentreelesquemapreconceptualyalgunoselementosdeldiagramadesecuenciasUML2.1.1,incluyendolosfragmentoscombinados;enlasección5,sepresentaelcasodeestudio,yenlasección6,lasprincipalesconclusiones obtenidas y el trabajo futuro que sederivadeestapropuesta.

2. MarcO TeÓricO

2.1 Principales elementos del diagrama de secuencias

EldiagramadesecuenciashacepartedelosdiagramasdeinteraccióndelaespecificaciónUML2.1.1quedescriben losaspectosdinámicosdeun

sistemaymuestranlainteracciónentrelosobjetosdeunsistemaylosmensajesenviadosentreellos,ordenadossegúnsusecuenciaeneltiempo.

Losdiagramasdesecuenciassonútilesparadiversosusos(Ambler,2005;FowleryScott,1997y2003):

• El modelado de escenarios de uso.Unescenariodeusoesunadescripcióndeunaposibleformaenqueunsistemaseutiliza.Lalógicadeunes-cenariodeusopuedeserpartedeuncasodeuso,porejemplo,unasecuenciaalternativaounpasocompletoa travésdeuncasodeuso, talcomolalógicaquedescribelasecuencianormalde laacción ounapartedeella.Unescenariodeusotambiénpuedeserunpasoatravésdelalógicacontenidaenvarioscasosdeuso.

• El modelado de la lógica de los métodos. Losdiagramas de secuencias se pueden utilizarparaexplorar la lógicadeunaoperación,fun-ciónoprocedimientocomplejos,yaqueofreceuna forma de observar las invocaciones a lasoperacionesdefinidasenlasclases.

• La detección de cuellos de botella en un diseño orientado a objetos. Al observar los mensajesenviadosaunobjetoycuántosetardaneneje-cutarelmétodo invocado,esposibleconcluirqueesnecesariocambiareldiseñoconelfindedistribuirlacargadentrodelsistema.

Los principales elementos del diagrama desecuenciasespecificadosporFowleryScott(1997y2003)paralaversión2.0yquesiguensiendoválidosen la Superestructura UML 2.1.1 (OMG, 2007) sepuedenapreciarenlatabla1.

Lasemánticadelosfragmentoscombinados(FC) depende del operador de interacción, quecontiene un cierto número de operandos y unidentificador.Mediante losoperadores,sepuedendefinir,entreotros:

• Alternativa(denotado“alt”),quemodelaestruc-turasif…then…else.

92 Revista EIA

Generación del diaGrama de secuencias de uml 2.1.1 desde esquemas preconceptuales

• Opción (denotado “opt”), que modela estruc-turas switch. Una opción es semánticamenteequivalente a un fragmento combinado alter-nativodondehayunoperandoconcontenidovacíoyotronovacío.

• Quiebre de secuencia (denotado por “break”),quemodelaunasecuenciaalternativadeeven-tos,queseprocesaenlugardetodoelrestodeldiagrama.

• Paralelo(denotadopor“par”),quemodelapro-cesosconcurrentes.

• Ciclo (denotadopor“loop”),elcualincluyeunaseriedemensajesqueserepiten.

2.2 esquemas preconceptuales

Unmodeloverbalesunarepresentacióndelosrequisitosdelinteresadoyunmediodecomu-nicaciónconelanalista,cuyafinalidadesdescribirlasnecesidadesyproblemasdeunsistema.Sinem-

Tabla 1. Principales elementos del diagrama de secuencias

bargo,porestarescritaenlenguajenatural,dichadescripciónresultasercompleja,vagaoambigua.Porestarazón,sehacenecesarialadefinicióndeunmodeloquepermitaexpresarlosrequisitosdelintere-sadodeunaformaclara,sinsacrificarlariquezaqueellenguajenaturalofrece.Enestecontexto,nacenlosEP(esquemaspreconceptuales)que,segúnZapata,GelbukhyArango, (2006b), utilizan una notacióngráficaparalaexpresióndelosdiferenteselementosdeldiscursodeuninteresadoyconstituyenunpasointermedioenlaobtenciónautomáticadelosdiagra-masdeUMLapartirdeunlenguajecontrolado.Lasintaxisbásicadelosesquemaspreconceptualessemuestraenlafigura1ysuexplicacióneslasiguiente:losconceptossonsustantivososintagmasnominalesdeldiscursodelinteresado,lasinstanciassoncon-juntosdevaloresquepuedetomarunconceptoyquesirvenparaaclararlo(seunenalconceptoquelasoriginamedianteunalíneadiscontinua),lasre-lacionesestructurales son relacionespermanentesentrelosconceptos(asociadasconlosverbos“es”y

93Escuela de Ingeniería de Antioquia

“tiene”),lasrelacionesdinámicasseasocianconlosdenominados“verbosdeactividad”(quegeneranrelacionesdetipotemporalentrelosconceptos),lasimplicacionessirvenparaunirrelacionesdinámicasoparaunircondicionalesconrelacionesdinámicas(estableciendoentreellasunarelacióncausa-efecto),loscondicionalessonrelacionesdecausalidadqueindicanlasrestriccionesoreglasdelnegocioquesedebencumplirylasconexionespermitenenlazarlosconceptosconlasrelacionesylasrelacionesconlosconceptos.

CONCEPTO RELACIÓNESTRUCTURAL

RELACIÓNdinámica

INSTANCIA condicional

imPlicaciÓn conEXiÓn

Figura 1. Elementos de los esquemas preconceptuales

2.3 Metamodelador aToM3

Las dos tareas principales de AToM3 son elmetamodeladoylatransformacióndemodelos.Elprimeroserefierealadescripciónomodeladodediversasclasesdeformalismosusadosparamodelarlossistemas.Latransformacióndemodelosserefierealprocesoautomáticodeconvertir,traduciromodi-ficarunmodelo,queseencuentraenunformalismodadoenotromodelo,quepuedeonoestarenelmismoformalismo.

AToM3tieneunainterfazgráficaquefacilitalaconstruccióndelasespecificacionesdeundiagramademanerasimilaracomoseelaboranlasinstanciasdeundiagramaenunaherramientaCASE (Com-puter-Aided Software Engineering) convencional.Esta especificación se puede usar posteriormenteenlamaterializacióndeinstanciasquerepresenteneldominiodeunproblemaparticular (DeLarayVangheluwe,2002).

Apartede lasventajasofrecidasporAToM3,esta herramienta se seleccionó para elaborar elprototipodelmétododescritoenesteartículoporlassiguientesrazones(Torres,1993):

• Es posible construir formalismos de modelosdesde cero, lo cual implica la posibilidad decorrecciones(adiciónoborradodeelementos,por ejemplo) en modelos que cambian cons-tantementedeversiónoenotrosquepresen-tancon frecuenciamodificaciones sutiles.Así,paralaconversióndequeseocupaelpresenteartículo,cabemencionarlosfragmentoscombi-nados,adicionadosenlaversiónUML2.1.1eneldiagramadesecuenciasyquepocasherra-mientasCASEconsideranpara laelaboracióndeestosdiagramas.

• Es posible expresar gráficamente el formalis-modelosdiferentesmodelos,loquereducelacomplejidadparasucomprensión.

• Esposiblecrearinstanciasdelosmodelosyve-rificar las restricciones planteadas en el meta-modelosobreesasinstanciasenparticular.

Adicionalmente,AToM3permiteexpresarcier-tasrestriccionesentérminosdegramáticadegrafos,quepuedecombinarlaexpresióngráficaconlatex-tual,enformadeprecondicionesypostcondicionesquesepuedenestablecerenellenguajePython(DeLara,GuerrayVangheluwe,2004).

La gramática de grafos se define como unconjuntodereglasqueposeenunladoizquierdo(left-hand side o LHS),quecontienelasprecondicionesquesedebencumplirparaactivarunadeterminadaregla,yunladoderecho(right-hand side o RHS),quecontieneelgrafoquereemplazaráelqueequipareelladoizquierdodelaregla(DeLara,VangheluweyAlfonseca,2003).Deestamanera,esposibleexpresarrestriccionesquepermitantransformarmodelospormediodelosmetamodelosdefinidosparaestos,lasprecondicionesypostcondicionesy las reglasqueactivanlastransformaciones.Lagramáticadegra-fosdeAToM3poseetambiénunmecanismoqueva

94 Revista EIA

Generación del diaGrama de secuencias de uml 2.1.1 desde esquemas preconceptuales

reescribiendoelmodeloamedidaquelasdiferentesreglassevanactivandohastaquenohayareglasquesepuedanejecutar.

3. generaciÓn aUTOMÁTica De DiagraMaS De SecUenciaS

En la literatura sepresentandiferentespro-puestasparaabordarlageneraciónautomáticadeesquemasconceptuales.Porunlado,seencuentranpropuestasquepartendellenguajenaturalodeal-gunarepresentaciónintermediadeél;porotrolado,estánaquellasqueempleanelcódigofuentecomopuntodepartida.

3.1 Métodos que parten del lenguaje natural o de una representación intermedia

EnestegrupodepropuestasexistenmétodosquepermitengenerardemanerasemiautomáticaeldiagramadeclasesdeUMLapartirdeespecificacio-nestextualesderequisitos,comolohaceNL-OOPS(Natural Language Object-Oriented Product System, Mich,1996;MichyGarigliano,2002),CM-Builder(Conceptual Model Builder, HarmainyGaizauskas,2000)yLIDA(Linguistic Assistant for Domain Analy-sis, Overmyer,LavoieyRambow,2001).Todoselloscompartenlasmismaslimitaciones:elprocesoes,porlogeneral,semiautomáticoy,apesardequepo-dríanidentificaralgunosdeloselementosdinámicosquehacenpartede losdiagramasdesecuencias,nolohacenyselimitanalasintaxisdeldiagramadeclases.

Otra propuesta que se ocupa de un únicodiagramaesladeZapata,TamayoyArango(2007),quepartedeesquemaspreconceptualesparagene-rar losdiagramasdecasosdeuso.Estapropuestapermiteidentificaralgunosdeloselementosqueserequierenenelpresenteartículo,pueseldiagramadecasosdeusocontieneinformacióncomúnconeldesecuencias,peronopermiteidentificarlosfragmentoscombinados.

DospropuestasmáscompletasenestegruposonNIBA(siglaenalemándeAnálisisdeRequisitosde Información en Lenguaje Natural, Fliedl et al.(2002), que reconoce diagramas de clases, activi-dadesymáquinadeestados,yladeZapata(2007),quepartedeunlenguajecontroladodenominadoUN-Lencep (acrónimo de Universidad Nacional,LenguajeControladoparalaEspecificacióndeEs-quemasPreconceptuales)paraobtenerlosdiagramasdeclases,comunicaciónymáquinadeestados.Pesealacompletitudqueexhibenambaspropuestas,puesidentificanelementoscorrespondientesadiagramasdecomportamiento,talescomoactividadesocomu-nicación,quecompartenciertoselementosconlosdiagramas de secuencias, tampoco identifican losfragmentoscombinados.

EnlapropuestadeDíaz et al. (2005),serealizaunaconversiónsemiautomáticadelospasoscorres-pondientesaunescenariodeuncasodeusoaunaversiónpreliminardeldiagramadesecuencias.Enesteproceso,quedefineunasintaxisclaraparaex-presarlospasosdelescenario,sepuedenidentificaralgunosinconvenientes:elprocesoessemiautomáti-co,puesrequiereunaaltaparticipacióndelanalista,ynoseidentificanlosfragmentoscombinados.

OtrodelostrabajosquecabemencionarenesteenfoqueeselrealizadoporFeijs(2000)yLi(1999y2000),querelacionanalgunostiposdeoracionesescritasenlenguajenaturalconlosMSC(Message Sequence Chart).Estetrabajoessimilaralanterior,puessepartedelospasosdeuncasodeuso,expre-sadosenoracionesquedebencumplirconciertascondicionesquerestringenellenguajenatural.Tam-biéncompartesuslimitaciones:essemiautomáticoynoidentificalosfragmentoscombinados.

3.2 Métodos que emplean el código fuente como punto de partida

Laspropuestasenmarcadasdentrodeesteen-foqueempleanelcódigofuentedeunaaplicacióndesoftwareyaterminadacomopuntodepartidaenlaobtencióndeldiagramadesecuencias.Además,en

95Escuela de Ingeniería de Antioquia

sumayoría,tienencomoobjetivoelentendimientoypruebadelsoftwareenejecución,empleandoparaelloeldiagramadesecuencias,quedesempeñaunrolcentralenelmodeladodelainteracciónentreobjetos(Rountevet al.,2005;Zapata, OchoayVélez,2008). Por ejemplo, Rountev et al. (2005) aplicanunatécnicadeingenieríainversaestática,haciendounmapeodeobjetosdeinteracciónquepartedelcódigo fuente (Java) y obtiene su equivalente enlosobjetosdeldiagramadesecuenciamedianteunesquemadeetiquetadodeobjetos.Zapata,OchoayVélez(2008)obtieneneldiagramadesecuenciasapartirdecódigoJavaempleandoreglasheurísticasdeconversión.Lostrabajosmencionadossíseen-focanenlageneraciónautomáticadeldiagramadesecuenciaseidentificanlosfragmentoscombinadoscomopartefundamentaldedichosdiagramas,perotienen como principal inconveniente el punto departida:elcódigofuente.

Laingenieríadesoftwareprocuralaaplica-cióndeunenfoquesistemáticoydisciplinadoparaeldesarrollodesoftware,enelcualsesueledefinirunciclodedesarrolloqueincluyevariasfases.Endichasfases,eldiagramadesecuenciassedebeelaborarantesdelaimplementacióndelaaplicaciónenunlenguajedeprogramaciónparticular.Partirdelcó-digofuenteparaobtenereldiagramadesecuenciassirvecomovalidaciónparalacorrectaelaboracióndeldiagramadesecuencias,peronocontribuyealprocesodeautomatizaciónenlaelaboracióndeunaaplicacióndesoftware.

Porello,enesteartículoseproponelagene-racióndeldiagramadesecuenciasdeUML,apartirde una representación del sistema expresada enesquemaspreconceptuales.Se tomanestosesque-mascomopuntodepartida,puescomodemuestraZapata (2007), tienen una representación textualcercanaallenguajedelinteresado,queesellenguajeUN-Lencep.Cabeanotarqueelprincipalaportedeesteartículoesladefinicióndelasreglasquepermi-tenlaobtencióndeloselementosdeldiagramadesecuencias,incluyendolosfragmentoscombinados,quehastaahoranoseidentificabanenlaliteraturao

seidentificabandesdeunproductoavanzadodelciclodevidadelsoftwarecomoeselcódigofuente.

4. OBTenciÓn De DiagraMaS De SecUenciaS De UML 2.1.1 a ParTir De eSQUeMaS PrecOncePTUaLeS

Zapata (2007)proponeelusodeesquemaspreconceptuales,dadoquecompendianlascaracte-rísticasdealgunosdelosdiagramasrepresentativosdeUML,comosonclases,comunicaciónymáquinadeestados.Losesquemaspreconceptualesutilizanunanotacióngráficapara laexpresióndelosdiferenteselementosdeldiscursodeuninteresadoyconstituyenunpasointermedioenlaobtenciónautomáticadelosdiagramasdeUMLapartirdeunlenguajecontrolado.Enesteartículoseproponelaampliacióndelasintaxisbásicadelosesquemaspreconceptualesconunele-mentoadicionalquepermitaobtenerundiagramadesecuenciasconlamayoríadeelementospropuestosporUML2.1.1,comolosfragmentoscombinados.Así,sedefineuntipoespecialdeconceptodenominado“ventana”,quetienelamismasintaxisdelosconceptosdelosesquemaspreconceptuales,peroanteponiendolapalabra“ventana”alnombredelconcepto.Esteele-mentoserequiereporqueeldiscursodelinteresado,queserepresentaenesquemaspreconceptuales,esdiferentealdiscursoquerepresentalasolución,elcualsesueledescribirenlospasosdelescenariodeuncasodeuso.Elelemento“ventana”representaunainterfazgráficadeusuarioconlacualunusuariodeunsistemapuedeinteractuar.Así,cuandoenunatransacciónsemencionael“sistema”,sepuedereemplazarconla“ventana”conlacualelusuariointeractúa.

4.1 Definición de reglas heurísticas

Loselementosdeldiagramadesecuenciassepuedenidentificarapartirdeunesquemaprecon-ceptualmediantelasreglasqueseproponenenestasección.Lasreglas1,6,7y9provienendetrabajosprevios,en tantoque lasdemás sonoriginalesdeesteartículo.

96 Revista EIA

Generación del diaGrama de secuencias de uml 2.1.1 desde esquemas preconceptuales

regla 1: elemento actor

EstareglasetomadeZapata,TamayoyArango(2007),dondesedefinequeelconceptoqueante-cedeaunarelacióndinámicaesunactor.

regla 2: elemento Línea de vida a partir de relación dinámica

EnunarelacióndinámicaqueunedosconceptosAyB;elconceptoBesunobjetoqueposeelíneadevida,siBnoeselconceptodestinodeunarelaciónestructural.

regla 3: elemento Línea de vida a partir de relación estructural

Enunarelaciónestructuraldetipo“tiene”queunedosconceptosAyB,elconceptoAesunobjetoconlíneadevida.

regla 4: elemento Línea de vida a partir de doble relación estructural

Enunarelaciónestructuraldetipo“tiene”queunedosconceptosAyB;elconceptoBesunobjetoconlíneadevida,siasuvezdesempeñaelpapeldeconceptoorigendeotrarelaciónestructuraldetipo“tiene”.

regla 5: elemento interfaz de usuario

Elelemento“Ventana”representaelsistema(queen realidad el usuario percibe como un conjuntodeinterfacesgráficasdeusuario)apartirdeltextodelosrequisitosdelinteresado.Dichasventanasseconsideraninterfacesdeusuarioeneldiagramadesecuencias,yparaobtenerlasseestablecequeenunarelacióndinámicaqueunedosconceptosAyB,siBesunaventana,elconceptoBesunainterfazdeusuariocandidata.Tambiénesposibleidentificarlas interfacesdeusuarioapartirde loselementosdelesquemapreconceptualquetienenunarelaciónestructuralconelconcepto“sesión”propiodeunsistemadesoftwareterminado.

regla 6: elemento Mensaje a partir de relación dinámica

EstareglasetomadeZapata(2007),paraeldiagra-madecomunicación,peroesválidatambiénparaeldiagramadesecuencias.CuandosetieneunarelacióndinámicaqueunedosconceptosAyB, la relacióndinámicaesunmensajedelobjetoB,siBnoparticipaenunarelaciónestructuralcomoconceptodestino.

regla 7: elemento Mensaje con atributos de clase

Al igualque laanterior,esta regla se tomadeZapata(2007).EnunarelacióndinámicaqueunedosconceptosAyB,siBparticipaenunarelaciónestructuralcomoconceptodestino,entoncesdicharelaciónsedefinecomounmensajedesdeelobjetoAcuyonombresecomponedelnombredelarela-cióndinámicayelnombredelconceptoB.

regla 8: elemento Mensaje reflexivo

EnunarelacióndinámicaqueunedosconceptosAyB;siBparticipaenunarelaciónestructuralenlaqueelconceptoAeselconceptoorigen,entonceslarelacióndinámicaesunmensajedeAenviadoasímismo.

regla 9: Secuencia

También esta regla proviene de la definicióndeldiagramadecomunicaciónquerealizaZapata(2007),ysepuedeaplicardirectamentealdiagramadesecuencias.Lasrelacionesdeimplicaciónentrere-lacionesdinámicassesuponencomolasecuenciademensajesenviadosentrelosobjetosidentificados.

regla 10: elemento fragmento combinado “opt”

Uncondicionalenunesquemapreconceptualequivaleaunfragmentocombinadodeldiagramadesecuenciasconoperador“opt”.Elcontenidodelcondicionalseescribecomocondicióndeguardaenelfragmentocombinado.

97Escuela de Ingeniería de Antioquia

regla 11: elemento fragmento combinado “alt”

Dosomáscondicionalessobrerelacionesdinámi-casqueapuntanaunmismoconceptoenunesquemapreconceptualequivalenaunfragmentocombinadodeldiagramadesecuenciasconoperador“alt”.Elcontenidodeloscondicionalesseescribecomocon-dicionesdeguardaenelfragmentocombinado.

regla 12: elemento fragmento combinado “par”

Dadasdosrelacionesdinámicas1y2cuyoscon-ceptosorigensoniguales,sidelarelacióndinámica1noseiniciaunarelacióndeimplicaciónalarelacióndinámica2,estodaorigenaunelemento“par”.

4.2 implementación de las reglas en aToM3

En la presente propuesta se aprovechan lasventajas mencionadas de la herramienta AToM3paralaelaboracióndemodelosymetamodelosylatransformaciónentreesquemaspreconceptualesydiagramasdesecuencias.

4.2.1 Definicióndelosmetamodelos

EnAToM3ladefinicióndemetamodelossebasaenelmodeloentidad-relaciónextendidoconrestricciones,enelcuallasentidadesserepresentancomorectángulosy lasrelacionescomorombos.Enlasfiguras2y3sepuedenapreciarlosmetamo-deloscorrespondientesalesquemapreconceptualydiagramadesecuencias.Cabeanotarqueelmo-deloentidad-relaciónesundiagramaestructural,porlocualsulecturasepuederealizarencualquierorden,puessetratasólodeestablecerlasrelacio-nesentre lasentidadesdelmundo.Porejemplo,enlafigura2laentidad“RelacionEstructural”ylaentidad“Ventana”seunenmedianteunarelacióndenominada“REVentana”.Loselementosdelse-gundocajóndecadaentidad soncaracterísticasque la entidad posee y se denominan atributos.Además, se registra la información correspon-dientealtipodeatributo.Porejemplo,elatributo“Nombre”delaentidad“RelacionEstructural”esdetipostring.Deformaanálogasepuederealizarlalecturadelosdemáselementoscorrespondientesalasfiguras2y3.

Figura 2. metamodelo del esquema preconceptual en aTom3

98 Revista EIA

Generación del diaGrama de secuencias de uml 2.1.1 desde esquemas preconceptuales

4.2.2 Implementación de las reglas detransformaciónenAToM3

LaescrituradelasreglasdetransformaciónentrelosdiferentesmetamodelosenAToM3serea-lizaempleandolagramáticadegrafosyellenguajePhyton.Medianteestemecanismosedefinieronlasreglasparaelpresenteartículo.

5. caSO De eSTUDiO

Conelfindeejemplificarlasreglasheurísticasquesedefinieronenlasección4.1,sepresentauncaso de estudio relacionado con el despacho deun pedido. El enunciado de este caso de estudiosepresentóoriginalmenteeninglésenelproyectoNIBA(Fliedlet al.,2002)yloadaptóZapata,(2007)allenguajeUN-Lencepenespañol.Porrazonesdeespacio,sólosepresentaunafraccióndeldiscurso:

Figura 3. metamodelo del diagrama de secuencias en aTom3

Un artículo es parte de un pedido; cuando el asistente recibe el pedido, entonces el departamento_pe-didos verifica la cantidad_existente del artículo; luego el asistente consulta el pago; si pago.estado=‘autorizado’, entonces el departamento_pedidos tramita el pedido; si pago.estado=‘no_autorizado’, entonces el departa-mento_pedidos rechaza el pedido; un pago contiene un pedido; el pago posee un estado; el departamento de pedidos posee un inventario.

Coneldiscursopresentadoseobtieneeles-quemapreconceptualquesepresentaenlafigura4.Elesquemapreconceptualcombinainformacióndetipoestáticoconinformacióndetipodinámico.Loselementosqueconformanelprimertiposepuedenleerdemanerasimilaracomosehaceenelmodeloentidad-relación;porejemplo,sepuedenleerlosconceptos “departamento_pedidos” e “inventa-rio”vinculadosporlarelaciónestructural“tiene”

99Escuela de Ingeniería de Antioquia

como “departamento_pedidos tiene inventario”.Loselementosqueconstituyenlapartedinámicason aquellos que poseen implicaciones (flechasgruesas);enestecaso, lalecturaserealizadesdeelprimerconceptounidoaunarelacióndinámicaqueasuvezesorigendeunaimplicaciónysecon-tinúaconlosdemáselementos.Porejemplo,eneldiagramasepuedeleer:“cuandoasistenterecibepedido, entonces departamento_pedidos verificacantidad_existenteyluegoasistenteconsultapago”.Loscondicionales(rombos)seleencomorelacionescausa-efectoysondetipodinámico;porejemplo,sepuedeleer“sipago.estado=no_autorizado,en-toncesdepartamento_pedidosrechazapedido”.

Enlatabla2semuestrapasoapasolaapli-cacióndelasreglasdetransformaciónparaelcaso

Figura 4. Esquema preconceptual del caso de estudio

deestudio; la tabla2constade laporcióndeles-quemapreconceptual, loselementos identificadosdeldiagramadesecuenciasy lasreglasaplicadas.Además, de las reglas aplicadas en la tabla 2, laregla9permiteidentificarlasecuenciadelosmen-sajesrecibe(),verifica_CANTIDAD_EXISTENTE()yconsulta().

Finalmente,enlafigura5sepuedeobservareldiagramadesecuenciasobtenidoalejecutar latransformación. En este diagrama “asistente” esun actor, “departamento_pedidos”, “pedido”, “ar-ticulo”y“pago”sonclasesdeobjetosylasflechasrepresentan losdiferentesmensajesqueseenvíanlos diferentes objetos para realizar la transacciónrepresentadaporlasecuencia.

100 Revista EIA

Generación del diaGrama de secuencias de uml 2.1.1 desde esquemas preconceptuales

Tabla 2. Proceso de transformación entre esquema preconceptual y diagrama de secuencias

Esquema Preconceptual Elemento

identificado Regla

aplicada

Actor

1

Línea de Vida

2

Línea de Vida

3

Línea de Vida

3

Línea de Vida

4

Mensaje 6

Mensaje 6

Mensaje 6

Mensaje 6

Mensaje 7

alt

11

101Escuela de Ingeniería de Antioquia

6. cOncLUSiOneS Y TraBaJO fUTUrO

Enesteartículosepresentóunmétodoque,ademásdefacilitarlainteracciónconelinteresadoenelprocesodedesarrolloempleandolosesquemaspreconceptuales,definelasreglasdetransformaciónautomáticaentredichosesquemasyeldiagramadesecuencias,quepermiterepresentarlainteracciónentrelosdiferentesobjetosdeunsistema.

Losprincipalesaportesparadestacarsonlossiguientes:

• Se parte de una representación del dominiodel interesado (esquema preconceptual), quese puede ver como un intermediario en la re-lación analista-interesado. Además, con la au-tomatización introducida en la obtención deldiagramadesecuencias sereduce laambigüe-dadquegeneraninteresadosyanalistas,quienessóloparticipanenlaconstruccióndelesquemapreconceptual, validándolo o corrigiéndolo encualquiermomento.Unavezgeneradoelesque-mapreconceptual,nielanalistanielinteresadointervienenenlaobtencióndeldiagramadese-cuencias.

• Sedefinióunconjuntodereglasheurísticasdetransformaciónentrelosesquemaspreconcep-tuales y eldiagramade secuenciaUML2.1.1.Algunasreglasseadaptarondetrabajospreviospara el diagrama de comunicación (que pre-sentaalgunassimilitudesconeldesecuencias),aunquelamayoríadeellasseproponenenesteartículo. Esas reglas identifican los principaleselementos del diagrama de secuencias defini-dos en el estándar UML 2.1.1, incluyendo losfragmentoscombinados,degranutilidadenelmodeladodinámicodelsistema.

• Se realizó la inclusión de un nuevo elemento(“ventana”) en la especificaciónde los esque-mas preconceptuales, con el fin de facilitar laconversiónexpuestaenesteartículo.

Comotrabajofuturosepuedenplantearlossiguientesítems:

• Establecerreglasdetransformaciónadicionalesque permitan obtener los elementos faltantesdeldiagramadesecuenciasdelestándarUML2.1.1.Particularmente,serequierenreglasparaotroselementoscomolamuertedelosobjetosolosfragmentoscombinadosbreak yloop.

Figura 5. diagrama de secuencias obtenido

DEPARTAMENTO PEDIDOS PEDIDO ARTÍCULO PAGO

tramita()

102 Revista EIA

Generación del diaGrama de secuencias de uml 2.1.1 desde esquemas preconceptuales

• Combinar las reglas aquí definidas con reglasde ingeniería inversapara tratardedefinirunmétodoparaobtenercódigofuentedesdelen-guajenatural.

• Avanzar en el estudio de la obtención deldiagrama de secuencias a partir del lenguajenaturalynodeunlenguajecontrolado.

• Poner a disposición de analistas expertos loscasosdeestudioymétodoplanteados,conelfinderealizarcomparacionesdelosresultadosobtenidos.

referenciaS

Ambler,S.(2005).TheelementsofUML2.0style.Cam-bridgeUniversityPress,NewYork.

DeLara,J.andVangheluwe,H.(2002).AToM3:Atoolformulti-formalismandmeta-modelling.Proceedingsofthe Fifth International Conference on FundamentalApproaches toSoftwareEngineering,London(Eng-land).pp.174-188.

DeLara, J.;Vangheluwe,H.andAlfonseca,M. (2003).Usingmeta-modellingandgraph-grammarstocreatemodellingenvironments.ElectronicNotesinTheoreti-calComputerScience,72(3):36-50.

DeLara,J.;Guerra,E.andVangheluwe,H.(2004).Meta-modelling,graphtransformationandmodelcheckingfor the analysis of hybrid systems. Lecture Notes inComputerScience,3062:292-298.

Díaz,I.;Moreno,L.;Fuentes,I.andPastor,O.(2005).In-tegratingnaturallanguagetechniquesinOO-method.LectureNotesinComputerScience,3406:560-571.

Feijs,L.M.G. (2000).Natural languageandmessage se-quencechartrepresentationofusecases.InformationandSoftwareTechnology,42(9):633-647.

Fliedl, G.; Kop, Ch.; Mayerthaler, W., Mayr, H. C. andWinkler,Ch.(2002).TheNIBAworkflow:Fromtextualrequirements specifications to UML-schemata. Pro-ceedingsoftheICSSEA’2002InternationalConference“Software&SystemsEngineeringandtheirApplica-tions”,Paris(France).

Fowler,M.andScott,K.(1997).UMLdistilled:applyingthestandardobjectmodeling language.Addison-WesleySeriesEditors,Essex.

Fowler,M.andScott,K.(2003).UMLdistilled:abriefguidetothestandardobjectmodelinglanguage,3rded.Ad-dison-WesleyProfessional,Essex.

Harmain,H.M.andGaizauskas,R.(2000).CM-Builder:anautomatedNL-basedCASEtool.Proceedingsof theFifteenthIEEEInternationalConferenceonAutomatedSoftwareEngineering.Grenoble(France).pp.45-53.

Li,L.(1999).Asemi-automaticapproachtotranslatingusecasestosequencediagrams.TechnologyofObject-Ori-entedLanguagesandSystems,Jul.1999:184-193.

Li,L.(2000).Translatingusecasestosequencediagrams.ProceedingsoftheFifteenthIEEEInternationalConfer-enceonAutomatedSoftwareEngineering.Grenoble(France).pp.293-296.

Mich, L. (1996). NL-OOPS: From natural language toobject oriented requirements using the natural lan-guageprocessingsystemLOLITA.JournalofNaturalLanguageEngineering,2(2):161-187.

Mich,L.andGarigliano,R.(2002).NL-OOPS:Arequire-mentsanalysistoolbasedonnaturallanguageprocess-ing.Proceedingsofthe3rdInternationalConferenceonDataMining.Bologna(Italy).pp.321-330.

ObjetcManagementGroup(OMG).(2007).Unifiedmodel-inglanguagespecification.Version2.1.1.http://www.omg.org/uml/20-09-08.

Overmyer,S.;Lavoie,B.andRambow,O.(2001).Concep-tualmodelinganalysisusingLIDA.Proceedingsofthe23rdInternationalConferenceonSoftwareEngineer-ing,Toronto(Canada).pp.401-410.

Pressman,R.(2005).SoftwareEngineering:apractitioner’sapproach,6thed.McGraw-Hill,NewYork.

Rountev,A.;Kagan,S. andSawin, J. (2005).Coveragecriteria fortestingofobject interactions insequencediagrams. Lecture Notes in Computer Sciences3442:282-297.

Torres,A.(1993).Modelamientoymetamodelamientodelaincertidumbreenproblemasdeingeniería.RevistadeIngenieríaUniversidaddelosAndes4:29-36.

Zapata,C.andArango,F.(2005).Losmodelosverbalesysuutilizaciónenlaelaboracióndeesquemasconceptuales:unarevisióncrítica.RevistaEAFIT.41(137):77-95.

Zapata,C.;Gelbukh,A.andArango,F.(2006a).Pre-con-ceptualschemas:aconceptual-graph-likeknowledgerepresentation for requirements elicitation. LectureNotesinComputerSciences,4293:27-37.

103Escuela de Ingeniería de Antioquia

Zapata,C.;Gelbukh,A.yArango,F.(2006b).UN-Lencep:obtenciónautomáticadediagramasUMLapartirdeunlenguajecontrolado.Memoriasdel3erTallerdeTec-nologíasdelLenguajeHumano,EncuentroNacionaldeCienciasdelaComputación,SanLuisPotosí(México).

Zapata, C. (2007). Definición de un esquema precon-ceptual para la obtención automática de esquemasconceptuales de UML. Tesis doctoral, UniversidadNacionaldeColombia.Medellín.

Zapata,C.;Tamayo,P.andArango,F.(2007).Conversionofpre-conceptualschemaintousecasediagramsbyusingAToM3.RevistaDYNA,74(153):237-251.

Zapata,C.;Ochoa,O.yVélez,C.(2008).UnmétododeingenieríainversadecódigoJavahaciadiagramasdesecuenciasdeUML2.0.RevistaEscueladeIngenieríadeAntioquia,9:31-42.