15
Revista EIA, ISSN 1794-1237 Número 10, p. 89-103. Diciembre 2008 Escuela de Ingeniería de Antioquia, Medellín (Colombia) * Ingeniero Civil, Especialista en Gerencia de Sistemas Informáticos, Magíster en Ingeniería de Sistemas y Doctor en Ingeniería con énfasis en Sistemas, Universidad Nacional de Colombia. Profesor Asociado, Universidad Nacional de Colombia, Sede Medellín. Líder del Grupo de Investigación en Lenguajes Computacionales. [email protected]. co ** Ingeniera de Sistemas e Informática. Magíster en Ingeniería de Sistemas. Asistente de Investigación del Grupo de Investigación en Lenguajes Computacionales, Universidad Nacional de Colombia. [email protected] Artículo recibido 29-IX-2008. Aprobado 17-XII-2008 Discusión abierta hasta junio de 2009 GENERACIÓN DEL DIAGRAMA DE SECUENCIAS DE UML 2.1.1 DESDE ESQUEMAS PRECONCEPTUALES CARLOS MARIO ZAPATA* GILMA LILIANA GARCÉS** RESUMEN El diagrama de secuencias es un esquema conceptual que permite representar el comportamiento de un sistema, para lo cual emplea la especificación de los objetos que se encuentran en un escenario y la secuencia de mensajes intercambiados entre ellos, con el fin de llevar a cabo una transacción del sistema. Existen diferen- tes enfoques que buscan la generación automática de modelos conceptuales, como el diagrama de secuencias. Algunos trabajos parten del lenguaje natural, pero generan diagramas diferentes al de secuencias o, si lo hacen igual, dejan de lado elementos como los fragmentos combinados, que describen ciertas condiciones lógicas en el sistema. Otros trabajos parten del código fuente, el cual se suele ubicar en una fase más avanzada del ciclo de vida del software. En este artículo se define un método, basado en reglas heurísticas, que permite identificar los elementos del diagrama de secuencias, incluyendo los fragmentos combinados, tomando como punto de partida los esquemas preconceptuales. Se realiza la implementación de las reglas en la herramienta AToM 3 aplicándolas a un caso de estudio. PALABRAS CLAVE: modelo conceptual; diagrama de secuencias; fragmento combinado; esquema pre- conceptual, AToM 3 . GENERATION OF UML 2.1.1 SEQUENCE DIAGRAM FROM PRE-CONCEPTUAL SCHEMES ABSTRACT Sequence diagram is a conceptual schema for representing behavior of a system. For performing such a task, it employs the object spec from a scenario and the sequence of messages exchanged among the objects. These elements describe a transaction of the system. Several approaches try the automated generation of conceptual

generaciÓn DeL DiagraMa De SecUenciaS De UML 2.1.1 DeSDe

  • Upload
    ngotu

  • View
    221

  • Download
    1

Embed Size (px)

Citation preview

Page 1: generaciÓn DeL DiagraMa De SecUenciaS De UML 2.1.1 DeSDe

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ó[email protected]

** IngenieradeSistemaseInformática.MagísterenIngenieríadeSistemas.AsistentedeInvestigacióndelGrupodeInvestigaciónenLenguajesComputacionales,[email protected]

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

Page 2: generaciÓn DeL DiagraMa De SecUenciaS De UML 2.1.1 DeSDe

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

Page 3: generaciÓn DeL DiagraMa De SecUenciaS De UML 2.1.1 DeSDe

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.

Page 4: generaciÓn DeL DiagraMa De SecUenciaS De UML 2.1.1 DeSDe

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

Page 5: generaciÓn DeL DiagraMa De SecUenciaS De UML 2.1.1 DeSDe

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

Page 6: generaciÓn DeL DiagraMa De SecUenciaS De UML 2.1.1 DeSDe

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

Page 7: generaciÓn DeL DiagraMa De SecUenciaS De UML 2.1.1 DeSDe

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.

Page 8: generaciÓn DeL DiagraMa De SecUenciaS De UML 2.1.1 DeSDe

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.

Page 9: generaciÓn DeL DiagraMa De SecUenciaS De UML 2.1.1 DeSDe

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

Page 10: generaciÓn DeL DiagraMa De SecUenciaS De UML 2.1.1 DeSDe

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”

Page 11: generaciÓn DeL DiagraMa De SecUenciaS De UML 2.1.1 DeSDe

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.

Page 12: generaciÓn DeL DiagraMa De SecUenciaS De UML 2.1.1 DeSDe

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

Page 13: generaciÓn DeL DiagraMa De SecUenciaS De UML 2.1.1 DeSDe

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()

Page 14: generaciÓn DeL DiagraMa De SecUenciaS De UML 2.1.1 DeSDe

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.

Page 15: generaciÓn DeL DiagraMa De SecUenciaS De UML 2.1.1 DeSDe

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.