<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>0012-7353</journal-id>
<journal-title><![CDATA[DYNA]]></journal-title>
<abbrev-journal-title><![CDATA[Dyna rev.fac.nac.minas]]></abbrev-journal-title>
<issn>0012-7353</issn>
<publisher>
<publisher-name><![CDATA[Universidad Nacional de Colombia]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S0012-73532007000300026</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[CONVERSIÓN DE ESQUEMAS PRECONCEPTUALES A DIAGRAMA DE CASOS DE USO EMPLEANDO AToM³]]></article-title>
<article-title xml:lang="en"><![CDATA[CONVERSION OF Pre-conceptual Schema INTO USE CASE DIAGRAMS by USING AToM³]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[ZAPATA J.]]></surname>
<given-names><![CDATA[CARLOS M.]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[TAMAYO O.]]></surname>
<given-names><![CDATA[PAULA A.]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[ARANGO I.]]></surname>
<given-names><![CDATA[FERNANDO]]></given-names>
</name>
<xref ref-type="aff" rid="A03"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad Nacional de Colombia Grupo de Investigación en Ingeniería de Software ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<aff id="A02">
<institution><![CDATA[,Universidad Nacional de Colombia Grupo de Investigación en Ingeniería de Software ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<aff id="A03">
<institution><![CDATA[,Universidad Nacional de Colombia Grupo de Investigación en Ingeniería de Software ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>11</month>
<year>2007</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>11</month>
<year>2007</year>
</pub-date>
<volume>74</volume>
<numero>153</numero>
<fpage>237</fpage>
<lpage>251</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_arttext&amp;pid=S0012-73532007000300026&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_abstract&amp;pid=S0012-73532007000300026&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_pdf&amp;pid=S0012-73532007000300026&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[El diagrama de casos de uso describe las interacciones entre un usuario y una pieza de software. Se han realizado algunos trabajos que buscan la generación automática o semiautomática del diagrama de casos de uso desde descripciones en lenguajes naturales o controlados. Sin embargo, estos esfuerzos no han sido suficientes porque algunos parten de un lenguaje controlado orientado a la solución, la cual no existe en las etapas iniciales del ciclo de vida del software; otros trabajos requieren una alta intervención del analista para la generación del diagrama, lo cual es altamente inconveniente si se trata de automatizar el proceso; finalmente, no se identifican todos los elementos del diagrama de casos de uso, en particular las relaciones especiales (<<include>>, <<extends>> e <<inheritance>>). En este artículo se define un método basado en reglas heurísticas que permite identificar los actores, los casos de uso y las relaciones especiales del diagrama de casos de uso, tomando como punto de partida una representación en lenguaje controlado del dominio del problema: los denominados esquemas preconceptuales. Además, se realiza la implementación de estas heurísticas en la herramienta metaCASE AToM³ y se ejemplifica con un caso de estudio.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[Use case diagram describes user-software interactions. Work in automated or semi-automated generation of use case diagram from natural or controlled languages have been done. However, this work has not been enough, due to the fact that some of it uses a solution-driven controlled language, and the solution does not exist in the first stages of software development life cycle; other works require higher analyst intervention in order to generate the use case diagram, and this kind of intervention is not suited for automating this process; finally, special relationships (<<include>>, <<extends>>, and <<inheritance>>) are not still identified. We define, in this paper, a heuristic-rule-based method for identifying actors, use cases, and special relationships of use case diagram. We use as a source place a representation in a problem-domain controlled language: the so-called pre-conceptual schemas. Furthermore, we implement these heuristic rules in the AToM³® metaCASE tool, and we exemplify them in a case study.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[Metamodelamiento]]></kwd>
<kwd lng="es"><![CDATA[diagrama de casos de uso]]></kwd>
<kwd lng="es"><![CDATA[esquemas preconceptuales]]></kwd>
<kwd lng="en"><![CDATA[Metamodeling]]></kwd>
<kwd lng="en"><![CDATA[use case diagram]]></kwd>
<kwd lng="en"><![CDATA[pre-conceptual schemas]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p align="center"><font size="4" face="Verdana, Arial, Helvetica, sans-serif"><b>CONVERSIÓN  DE ESQUEMAS PRECONCEPTUALES A DIAGRAMA DE CASOS DE USO EMPLEANDO AToM<sup>3</sup></b></font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>CONVERSION  OF Pre-conceptual Schema INTO USE CASE DIAGRAMS by USING AToM<sup>3</sup></b></font></p>     <p align="center">&nbsp;</p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>CARLOS       M. ZAPATA J</b>.    <br>   <i>Grupo de Investigación en Ingeniería de Software. Universidad Nacional de Colombia. <a href="mailto:cmzapata@unal.edu.co">cmzapata@unal.edu.co</a></i></font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>PAULA       A. TAMAYO O</b>.    <br>   <i>Grupo de Investigación en Ingeniería de Software. Escuela de Sistemas. Universidad Nacional de Colombia</i></font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>FERNANDO       ARANGO I</b>.    <br>   <i>Grupo de Investigación en Ingeniería  de Software. Escuela de Sistemas. Universidad Nacional de Colombia</i></font></p>     <p align="center">&nbsp; </p>     ]]></body>
<body><![CDATA[<p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Recibido       para revisar febrero 26 de 2007, aceptado julio 27 de 2007, versión final   agosto 08 de 2007</b></font></p>     <p>&nbsp;</p> <hr>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><i>RESUMEN:</i> </b>El     diagrama de casos de uso describe las interacciones entre un usuario y una     pieza de software. Se han realizado algunos trabajos que buscan la generación automática o semiautomática del diagrama de casos de uso desde  descripciones en lenguajes naturales o controlados. Sin embargo, estos esfuerzos  no han sido suficientes porque algunos parten de un lenguaje controlado orientado  a la solución, la cual no existe en las etapas iniciales del ciclo de vida  del software; otros trabajos requieren una alta intervención del analista para  la generación del diagrama, lo cual es altamente inconveniente si se trata  de automatizar el proceso; finalmente, no se identifican todos los elementos  del diagrama de casos de uso, en particular las relaciones especiales (&lt;&lt;include&gt;&gt;, &lt;&lt;extends&gt;&gt;  e &lt;&lt;inheritance&gt;&gt;). En este artículo se define un método basado  en reglas heurísticas que permite identificar los actores, los casos de uso  y las relaciones especiales del diagrama de casos de uso, tomando como punto  de partida una representación en lenguaje controlado del dominio del problema:  los denominados esquemas preconceptuales. Además, se realiza la implementación  de estas heurísticas en la herramienta metaCASE AToM<sup>3 </sup>y se ejemplifica  con un caso de estudio.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><i>PALABRAS CLAVE</i></b><i>:</i> Metamodelamiento, diagrama de casos de uso, esquemas  preconceptuales..</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><i>ABSTRACT</i></b><i>:</i> Use     case diagram describes user-software interactions. Work in automated or semi-automated     generation of use case diagram from natural or controlled languages have     been done. However, this work has not been enough, due to the fact that some     of it uses a solution-driven controlled language, and the solution does not     exist in the first stages of software development life cycle; other works     require higher analyst intervention in order to generate the use case diagram,     and this kind of intervention is not suited for automating this process;     finally, special relationships (&lt;&lt;include&gt;&gt;, &lt;&lt;extends&gt;&gt;,  and &lt;&lt;inheritance&gt;&gt;) are not still identified. We define, in this  paper, a heuristic-rule-based method for identifying actors, use cases, and  special relationships of use case diagram. We use as a source place a representation  in a problem-domain controlled language: the so-called pre-conceptual schemas.  Furthermore, we implement these heuristic rules in the AToM<sup>3</sup>® metaCASE  tool, and we exemplify them in a case study.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><i>KEYWORDS</i></b><i>:</i> Metamodeling, use case diagram, pre-conceptual  schemas.</font></p>   <hr>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>1. INTRODUCCIÓN</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El diagrama de     casos de uso representa las principales interacciones entre los usuarios     y el sistema, mostrando las distintas operaciones y cómo se relacionan  con su entorno (OMG, 2002). Así, este diagrama se encarga  de mostrar la funcionalidad futura de una aplicación de software. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Algunos investigadores como Ben Achour (1998, 1999), Pastor <i>et al.</i> (2003,  2004), Shishkov <i>et al.</i> (2002), Liu y Dong (2003) y Liu <i>et al.</i> (2004),  han abordado el tema de la obtención automática o semiautomática del diagrama  de casos de uso; este tema tiene gran importancia en la Ingeniería de Requisitos,  puesto que, si se puede acortar el tiempo en la elaboración de estos diagramas,  la aplicación de software podría conceptualizarse en un tiempo menor. En el  trabajo de Ben Achour (1998, 1999) el punto de partida es lenguaje natural  y en el resto de los trabajos, es lenguaje controlado, pero todos buscan garantizar  que los requisitos del interesado se reflejan en el sistema obtenido. Sin embargo,  aún subsisten problemas, tales como:</font></p> <ul>    ]]></body>
<body><![CDATA[<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> El lenguaje       de partida de algunos trabajos es un lenguaje controlado que debe mencionar       la funcionalidad de la aplicación de software, la cual no existe en las       etapas iniciales del ciclo de vida del software.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Existe un       obstáculo para     la automatización en el hecho de que el analista completa el diagrama de manera     subjetiva en la mayoría de los trabajos.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> No se identifican       todos los elementos que componen el diagrama de casos de uso, en especial,       las relaciones &lt;&lt;include&gt;&gt;,     &lt;&lt;extends&gt;&gt; e &lt;&lt;inheritance&gt;&gt;.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> La mayoría de estos trabajos     son realizados para el idioma Inglés, el cual presenta grandes diferencias     con el Español.</font></li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En este artículo se define un método basado en reglas heurísticas, que permite  obtener de forma automática el diagrama de casos de uso a partir de los denominados  esquemas preconceptuales (Zapata <i>et al.,</i> 2006a y 2006c). Estos esquemas  constituyen una representación en lenguaje controlado del dominio del problema,  debido a que representan gráficamente los diferentes elementos del discurso  del interesado, pero no necesariamente se refieren a la aplicación de software  que soluciona los problemas del interesado, sino más bien se puede referir  a los conceptos del dominio. Además, se realiza la implementación de estas  reglas en la herramienta metaCASE AToM<sup>3</sup><b>®</b> y se ejemplifica  con un caso de estudio.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Este artículo está organizado de la siguiente manera: en la Sección 2 se realiza  una presentación de los conceptos fundamentales relacionados con el diagrama  de casos de uso, el metamodelamiento, los esquemas preconceptuales y la herramienta  metaCASE AToM<sup>3</sup>®; en la Sección 3 se hace un análisis crítico de  los trabajos en obtención del diagrama de casos de uso a partir de diferentes  representaciones en lenguaje natural o controlado; las reglas de conversión  entre el esquema preconceptual y el diagrama de casos de uso son presentadas  en la Sección 4, así como también se plantea un caso de estudio para examinar  los resultados obtenidos. Por último, en las Secciones 5 y 6 se presentan  las conclusiones y el trabajo futuro respectivamente.</font></p>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>2. MARCO TEÓRICO </b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>2.1 Diagrama de Casos de Uso    ]]></body>
<body><![CDATA[<br> </b>En la especificación de la superestructura del Unified Modeling Language UML  (OMG, 2002) el diagrama de casos de uso se define como el  “diagrama que muestra las relaciones entre los actores y el sujeto (sistema)  y los casos de uso. El modelo de casos de uso describe los requisitos funcionales  del sistema en términos de las secuencias de acciones, incluyendo las variantes  que el sistema u otra entidad puede realizar interactuando con actores del  sistema”. En OMG (2002) y Fowler (2004) se presentan los siguientes elementos de la especificación del diagrama de casos de uso:</font></p> <ul>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Casos de uso: son las especificaciones     de un conjunto de acciones realizadas por el actor sobre el sistema; es decir,     son los pasos que describen de principio a fin un proceso. </font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Actores: son       los roles que los usuarios desempeñan respecto del sistema y que emplean       los casos de uso. Los actores pueden ser usuarios humanos u otros sistemas,     que se comunican con el sistema que se requiere.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Relaciones: son interacciones     que se pueden presentar entre casos de uso, entre actores y casos de uso     y entre los actores. Las relaciones pueden ser de cuatro tipos:     </font>     <ul>           <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Asociación:         se establece entre los actores y casos de uso. </font></li>           <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">&lt;&lt;include&gt;&gt;: se presenta         cuando una instancia del caso de uso origen incluye también el comportamiento         descrito por el caso de uso destino; es decir, un caso de uso incluido         describe un objetivo de bajo nivel de un caso de uso base (Cockburn,         2000). </font></li>           <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">&lt;&lt;extends&gt;&gt;:           ocurre cuando el caso de uso origen extiende el comportamiento del           caso de uso destino; en otras palabras, el caso de uso a extender invoca         el caso de uso base bajo ciertas condiciones (Cockburn, 2000).</font></li>           <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">&lt;&lt;inheritance&gt;&gt;: se         presenta cuando un caso de uso origen hereda la especificación del caso de         uso destino y posiblemente la modifica y/o amplía. Este tipo de relación también         se presenta entre los actores.</font></li>         </ul>   </li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Escenario:       es una secuencia específica de acciones que ilustra un comportamiento. Los escenarios se usan     para ilustrar una interacción o la ejecución de una instancia de un caso     de uso.</font></li>     ]]></body>
<body><![CDATA[</ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La representación gráfica de los elementos del diagrama de casos de uso se  puede apreciar en la <a href="#fig01">Figura 1</a>. Las principales ventajas de utilizar el diagrama  de casos de uso, según Firesmith (2002) son:</font></p> <ul>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> La captura de los requisitos     desde el punto de vista del usuario, lo cual permite el correcto desarrollo     del sistema.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> La utilización de los casos     de uso para elicitar y documentar los requisitos funcionales que se recolectan     en la fase de definición del ciclo de vida del software. Estos requisitos también     se verifican y validan mediante los casos de uso.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> El manejo       de la complejidad en sistemas robustos, donde se descompone el problema     en funciones más simples.</font></li>     </ul>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="fig01"></a><img src="/img/revistas/dyna/v74n153/a26fig01.gif">    <br> Figura 1.</b> Elementos del diagrama de casos de uso.    <br>   <b>Figure 1. </b>Elements of the use case diagram.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>2.2 Metamodelamiento    ]]></body>
<body><![CDATA[<br>   </b> Según De Lara y Vangheluwe (2003), el metamodelamiento proporciona los formalismos   apropiados para describir los diferentes aspectos o componentes de los modelos   que representan sistemas lógicos y físicos. Este proceso se realiza mediante   la descripción de las clases, atributos y relaciones que conforman el modelo.   Los metamodelos se describen gráficamente mediante metaformalismos (notaciones   de modelamiento de alto nivel). El diagrama de clases de UML y el diagrama   entidad-relación son algunos de los formalismos que se utilizan.</font> </p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El metamodelamiento,     utilizado en la conversión de modelos,  presenta las siguientes ventajas:</font></p> <ul>    <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Produce formalismos personalizados     creando ambientes propios de metamodelamiento. </font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Sirve de base       para el análisis     de modelos, debido a que facilita la documentación y especificación de los     mismos.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Permite diseñar nuevos formalismos     mediante la modificación parcial o total del metamodelo.</font></li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Las herramientas     que se emplean para el metamodelamiento se denominan metaCASE; algunas de     las más  conocidas son:</font></p> <ul>    <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> DOME® (Domain Modeling Environment):     es una herramienta gratuita creada por Honeywell Technology Center. El formalismo     que utiliza es una modificación del diagrama de clases de UML a nivel gráfico,     que se especifica empleando código en los lenguajes Alter y Smalltalk (DOME,     2007a y 2007b).</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> MetaEdit®: es un metaCASE     comercial desarrollado por la compañía MetaCASE Consulting. Su formalismo es     el diagrama entidad-relación (Smolander <i>et al.</i>, 1991).</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> AToM<sup>3</sup>®: es una     herramienta gratuita desarrollada por Juan F. de Lara, que permite la creación,     edición, transformación, simulación y optimización de metamodelos y modelos.     Su formalismo es el diagrama entidad-relación y genera código Python (De     Lara y Vangheluwe, 2002). </font></li>     ]]></body>
<body><![CDATA[</ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>2.3 Esquemas       Preconceptuales    <br> </b>Según Zapata et al. (2006b), los esquemas preconceptuales son diagramas que permiten la representación de la terminología de un dominio para facilitar su traducción posterior a diferentes esquemas conceptuales. En la <a href="#fig02">Figura 2</a> se muestran los diferentes elementos de los esquemas preconceptuales, cuya descripción es la siguiente (Zapata et al., 2006a, 2006b y 2006c): </font></p> <ul>    <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Conceptos: es un sustantivo     o un sintagma nominal del discurso del interesado.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Relación estructural: es     una relación permanente entre los conceptos. Está asociada con los verbos “es” y “tiene”. </font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Relación dinámica: está asociada     con los verbos de actividad definidos por Vendler (1967).</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Implicación: sirve para     unir relaciones dinámicas o para unir condicionales con relaciones dinámicas,     estableciendo entre ellas una relación causa-efecto.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Condicional:       es una relación     de causalidad que indica las restricciones que los conceptos deben cumplir.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Nota: permite       especificar los diferentes valores que puedan ser asignados a los sintagmas       nominales o conceptos. Este es un elemento nuevo que se viene trabajando       en el grupo de Ingeniería de Software para representar las posibles instancias     de un determinado concepto del mundo.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Conexión: permite enlazar     los conceptos con las relaciones y las relaciones con los conceptos. Un tipo     especial de conexión permite enlazar los conceptos y las notas.</font></li>     ]]></body>
<body><![CDATA[</ul>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="fig02"></a><img src="/img/revistas/dyna/v74n153/a26fig02.gif">    <br> Figura 2.</b> Elementos de los esquemas preconceptuales.    <br>   <b>Figure 2.</b> Elements of Pre-conceptual schemas.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Las principales   ventajas de utilizar Esquemas Preconceptuales en la definición   de los requisitos son:</font></p> <ul>    <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Se obtienen       fácilmente       desde un lenguaje controlado, denominado UN-Lencep (Zapata <i>et al.</i>,       2006b), por lo cual su discurso no presenta ambigüedades.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Agrupan características     de los diferentes tipos de diagramas de UML.</font></li>     </ul> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>2.4 AToM<sup>3</sup>®    <br> </b>AToM<sup>3</sup>® es una herramienta usada para describir formalismos de cualquier tipo de esquema conceptual; esta herramienta MetaCASE que permite la creación,  edición, transformación, simulación y optimización de metamodelos y modelos,  y además la generación de código en lenguaje Python (De Lara y Vangheluwe,  2002). Además, AToM<sup>3</sup>® utiliza técnicas de reescritura gráfica y  gramática de grafos para realizar las transformaciones entre formalismos.</font>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En AToM<sup>3</sup>®, los metamodelos son creados y editados en un ambiente   que emplea como formalismo gráfico el diagrama entidad-relación (Véase la   <a href="#fig03">Figura 3</a>). La herramienta MetaCASE AToM<sup>3</sup> ® tiene la siguiente estructura de modelamiento:</font></p> <ul>       ]]></body>
<body><![CDATA[<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Metametanivel:     metamodelo del diagrama entidad-relación.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Meta nivel:     ambiente de modelamiento con el diagrama entidad-relación.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Nivel modelo: ambiente de     modelamiento con formalismos creados por el usuario.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Modelo: varias instancias     de modelos.</font></li>     </ul>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="fig03"></a><img src="/img/revistas/dyna/v74n153/a26fig03.gif">    <br> Figura 3</b>. Metamodelo de los esquemas preconceptuales en el formalismo entidad-relaci&oacute;n en AToM<sup>3</sup>&reg;.    <br>     <b>Figure 3. </b>Pre-conceptual schemas metamodel by using the AToM<sup>3</sup>&reg; entity-relationship formalism.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La Gramática   de Grafos en AToM<sup>3</sup>® permite expresar restricciones   y describir las transformaciones entre grafos de manera gráfica. La Gramática   de Grafos está compuesta por reglas que mapean desde el lado izquierdo (LHS)   al lado derecho (RHS), condiciones y acciones. En las condiciones, se define   cuándo una regla puede ser aplicada; en las acciones, se especifica lo que   se va a realizar y pueden tener asociadas una prioridad. El LHS puede ser especificado   en un formalismo diferente al RHS, y en este caso se trataría de una transformación   entre diagramas, o pueden estar especificados en el mismo formalismo, y en ese   caso se podría tratar del refinamiento de un mismo diagrama. Algunos de   los trabajos que realizan la conversión entre modelos utilizando la herramienta   AToM<sup>3</sup>® son:</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Muñoz <i>et al.</i> (2004)     proponen un enfoque metodológico para la transformación  de un modelo de relaciones de asociación, agregación y composición de UML a  un modelo de diseño de un lenguaje de programación genérico orientado a objetos.  En este trabajo, se utiliza la gramática de grafos para realizar una descripción  precisa y operativa de las transformaciones entre modelos, debido a que poseen  una base formal sólida y una sintaxis gráfica que permite la especificación  visual y operativa de transformaciones.</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">De Lara <i>et al.</i> (2003)     realizan la conversión del modelo del diagrama  de estados a redes de Petri, para realizar el análisis de sistemas híbridos;  los autores se basan en el metamodelamiento y en la Gramática de Grafos para  definir formal y visualmente las manipulaciones del modelo.</font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Zapata y Alvarez     (2005) establecen una transformación entre el diagrama de  procesos y el diagrama de casos de uso utilizando la gramática de grafos y  complementándola con la implementación de restricciones en código Python.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Los tres trabajos     anteriores son indicios de las capacidades de la Gramática  de Grafos para permitir la definición de transformaciones entre modelos, uno  de los mecanismos que se requiere en el contexto de este artículo para la obtención  del diagrama de casos de uso (incluyendo sus relaciones especiales) a partir  de los esquemas preconceptuales. </font></p>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>3. OBTENCIÓN       DEL DIAGRAMA DE CASOS DE USO A PARTIR DE DIFERENTES REPRESENTACIONES: ESTADO   DEL ARTE </b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la generación automática o semiautomática del diagrama de casos de uso  a partir de las especificaciones de los requisitos de los interesados, se han  realizado diversos trabajos que tienen como punto de partida la descripción  de los requisitos en lenguajes naturales o controlados orientados a la solución.  Esos trabajos se listan a continuación.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Ben Achour (1998     y 1999), el cual está basado en un diálogo interesado-analista,  que se enfoca en identificar o especificar los elementos principales de la  descripción de los casos de uso. Para ello, define un conjunto de reglas de  clarificación, análisis, completitud, mapeo e integración del discurso, y finalmente  obtiene algunos de los actores y los casos de uso. Ninguna de las relaciones  especiales &lt;&lt;include&gt;&gt;,  &lt;&lt;extends&gt;&gt; o &lt;&lt;inheritance&gt;&gt; se identifica en este  trabajo.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">De manera similar, Pastor <i>et al.</i> (2003     y 2004) proponen una serie de reglas que, a partir de la descripción textual de los casos de uso, que es  una especificación funcional en lenguaje controlado, permite obtener el diagrama  de secuencias de UML 1.4. Por medio de estas reglas, es posible extender el  esquema definido para obtener los elementos esenciales del diagrama de casos  de uso, como lo son los actores y los casos de uso, pero estos trabajos se  enfocaron únicamente en el trazado del diagrama de secuencias. Las relaciones  especiales &lt;&lt;include&gt;&gt; y  &lt;&lt;extends&gt;&gt; deben ser declaradas explícitamente en el lenguaje  controlado que sirve de base para la conversión.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Dietz (1999) y Shishkov <i>et al.</i> (2002)     toman como punto de partida una especificación detallada a partir de la especificación verbal de los requisitos.  La especificación detallada utilizada en este trabajo es determinada por el  analista y está  orientada a la solución del problema; es decir, existe una transformación,  realizada por el analista, de los requisitos especificados por el interesado,  antes de su utilización para la generación del diagrama. Con este punto de  partida, derivan algunos componentes del diagrama de casos de uso como son  los actores, los casos de uso, las relaciones de asociación y las relaciones &lt;&lt;include&gt;&gt;;  para ello, utilizan el análisis de responsabilidades, el análisis de las denominadas  protonormas, el análisis de disparadores y las normas de especificación; el  uso de estos elementos requiere la intervención del analista. Además, la relación &lt;&lt;extends&gt;&gt; y  la relacion &lt;&lt;inheritance&gt;&gt; no son identificadas en estos trabajos.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Liu y Dong (2003) y Liu <i>et al.</i> (2004)     identifican algunos elementos del diagrama de casos de uso y los utiliza     como resultado intermedio para identificar los elementos del diagrama de     clases. Las principales falencias de este proceso radican en que no se identifican     todos los actores, los casos de uso y las relaciones especiales  &lt;&lt;include&gt;&gt;, &lt;&lt;extends&gt;&gt; e &lt;&lt;inheritance&gt;&gt;.  Además, se necesita la intervención del analista para validar y completar el  modelo.</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Por último, Zapata y Alvarez (2005) realizan la conversión de diagramas de  procesos en diagramas de casos de uso, mediante la definición e implementación  de reglas de consistencia entre los dos modelos. Sin embargo, en el diagrama  de casos de uso obtenido no se identifican las relaciones especiales de este  diagrama.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Si bien se ha     trabajado en la generación automática del diagrama de casos  de uso, existen aún problemas remanentes que se pueden sintetizar así:</font></p> <ul>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Se suele utilizar       como punto de partida un discurso en lenguaje natural o controlado que       describe el “sistema”. Tal     es el caso de las especificaciones textuales de los casos de uso o las especificaciones     detalladas que se emplean en dos de los trabajos. Si bien este punto de partida     permite la obtención del diagrama, un discurso tal sólo se puede obtener cuando     ha transcurrido gran parte de la etapa de análisis del problema que se está analizando,     e incluso requiere que ya se haya definido una solución al mismo. Si se procura     la obtención temprana del diagrama, el punto de partida debería ser una descripción     del dominio del problema y no de su solución.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Casi todos       los trabajos requieren una alta participación del analista para tomar las decisiones pertinentes a la     generación del diagrama de casos de uso. Tomando en consideración que un trabajo     como los planteados se realiza para liberar al analista de trabajos en los     que lo podría sustituir de manera adecuada la máquina, sería deseable que las     decisiones que debiera tomar para el trazado del diagrama de casos de uso fueran     mínimas, o incluso nulas. Esto haría que el papel del analista se especializara     hacia una mejor comprensión del mundo, en lugar de tener que conceptualizar     los diagramas y además trazarlos de forma asistida en las herramientas CASE     actuales.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Ninguno de       los trabajos presentados realiza la identificación completa de los elementos del diagrama de casos de     uso. En especial, las relaciones especiales &lt;&lt;include&gt;&gt;,     &lt;&lt;extends&gt;&gt; e &lt;&lt;inheritance&gt;&gt;, correspondientes a     la superestructura de UML 2.0 (OMG, 2002), son las que menos se identifican.</font></li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Tomando como base     estos problemas, se propone en este artículo una solución  que, de manera automática, realice la conversión de una representación del  discurso del interesado en los diagramas de casos de uso correspondientes,  incluyendo todos sus elementos. En la Sección siguiente se presenta esa solución.</font></p>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>4.</b> <b>UNA       PROPUESTA PARA LA CONVERSIÓN DE ESQUEMAS PRECONCEPTUALES   EN DIAGRAMAS DE CASOS DE USO</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La obtención automática del diagrama de casos de uso requiere, como punto  de partida, una representación del dominio del problema; para esta propuesta,  esa representación se realiza mediante los esquemas preconceptuales, que se  describieron en la Sección 2.3. La lectura de estos esquemas se realiza mediante  triadas de información, que son conjuntos de tres elementos así: concepto-relación-concepto.  Si la relación es estructural, la triada será  estructural, y si la relación es dinámica, la triada será dinámica. El concepto  que precede a la relación se denomina concepto origen y el que se ubica después  de la relación se denomina concepto destino.</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>4.1 Reglas       de Conversión    <br> </b>Para llevar a cabo la conversión de esquemas   preconceptuales a diagramas de caso de uso, esta propuesta define las nueve reglas que se describen seguidamente.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Regla 1: Actor    <br> </b>En una triada dinámica, el concepto origen es un actor.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Regla 2: Caso de uso    <br> </b>Dada una triada dinámica, el nombre de los casos de uso se obtiene concatenando la relación dinámica y el concepto destino.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Regla 3:</b> <b>Asociación o relación       entre el actor y el caso de uso.    <br> </b>El   actor y el caso de uso detectados a partir de una misma triada dinámica tienen una relación de asociación entre ellos.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Regla 4: Relación &lt;&lt;include&gt;&gt;    <br> </b>Dadas dos triadas dinámicas 1 y 2, si de la relación dinámica de la triada  2 se inicia una relación de implicación a la relación dinámica de la triada  1, entonces existe una relación &lt;&lt;include&gt;&gt;, formada de la siguiente manera:</font></p> <ul>    ]]></body>
<body><![CDATA[<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El caso de uso base es el     que se identifica en la triada 1.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El caso de uso incluido     es el que se identifica en la triada 2. </font></li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Regla 5: Herencia entre actores    <br> </b>Si se tiene una triada estructural y   una triada dinámica en las que el concepto  destino de a triada estructural sea el mismo concepto origen de la triada dinámica,  entonces existe una relación de herencia entre actores definida de la siguiente manera:</font></p> <ul>    <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El Actor       hijo es el concepto que está en ambas triadas. </font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El Actor padre       está dado     por el concepto origen de la relación estructural.</font></li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Regla 6: Herencia entre casos de uso    <br> </b>Si se tienen las triadas Concepto1-Relación Dinámica1-Concepto2 y Concepto2-Relación  Estructural-Concepto3, entonces existe una relación de herencia entre casos de uso definida de la siguiente manera:</font></p> <ul>       ]]></body>
<body><![CDATA[<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> El caso de     uso hijo esta dado por la relación dinámica1, el concepto2 y el concepto3.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> El caso de     uso padre esta dado por la relación dinámica1 y concepto2.</font></li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Regla 7: Otra herencia entre casos de uso    <br> </b>Si se tiene una triada Concepto1-Relación dinámica1-Concepto2 y se tiene una  construcción de la forma Concepto2-Nota1 entonces existe una relación de herencia entre casos de uso definida así:</font></p> <ul>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> El caso de       uso padre está dado     por la Relación dinámica1 y el Concepto2.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Los casos       de uso hijos están     determinados por la Relación dinámica1, el Concepto2 y cada línea o elemento     de la nota. </font></li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Regla 8:</b> <b>Relación &lt;&lt;extends&gt;&gt;    <br> </b>Cuando un concepto   tiene conexiones salientes a varias relaciones dinámicas  que poseen el mismo nombre, entonces existe una relación &lt;&lt;extends&gt;&gt;, formada así: </font></p> <ul>    ]]></body>
<body><![CDATA[<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El caso de       uso base está dado     por el nombre de la relación dinámica.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Cada caso de       uso extendido se forma con la relación dinámica y el concepto que tiene     asociado</font></li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Regla 9: Escenarios    <br> </b>Si existen tres o más triadas dinámicas unidas por implicaciones, entonces  se obtiene un escenario, donde los casos de uso del escenario se determinan  aplicando las reglas anteriores, con excepción de la Regla 4, que no generaría un camino de relaciones &lt;&lt;include&gt;&gt;.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>4.2 Implementación       de las Reglas en AToM<sup>3</sup>®    <br> </b>La implementación   de las reglas anteriores en AToM<sup>3</sup>®, para obtener  automáticamente la conversión entre los dos modelos consta de los siguientes pasos:</font></p> <ul>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Se definen,       mediante el diagrama entidad-relación     disponible en el entorno de AToM<sup>3</sup>®, los metamodelos del esquema     preconceptual y el diagrama de casos de uso, los cuales se pueden observar en     las <a href="#fig03">Figuras 3</a> y <a href="#fig04">4</a>. A cada entidad de cada uno de los metamodelos se le puede     asignar una representación gráfica propia; en el caso de las relaciones     estructurales, sólo aceptan las palabras clave ES y TIENE, en tanto que las     relaciones dinámicas aceptan cualquier tipo de verbo.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Se crea la       secuencia de aplicación de     las reglas de transformación utilizando las reglas definidas en la Sección     4.1. Para ello, se emplea el entorno de AToM<sup>3</sup>® y se define para     cada regla una prioridad, tal como se muestra en la <a href="#fig05">Figura     5</a>; en esta Figura,     la secuencia de transformaciones se denomina “<i>EPtoDCU</i>” y está compuesta     por cada una de las reglas descritas, en tanto que la prioridad de cada regla     es el número que acompaña al nombre de la regla. Además de estas reglas, se     implementaron 10 reglas más que permiten eliminar cada uno de los elementos     del esquema preconceptual; estas reglas son necesarias puesto que, en el proceso     de transformación, los dos metamodelos están activos en la herramienta y deben     quedar al final únicamente elementos del diagrama de casos de uso. Cada una     de las reglas está     compuesta por 4 elementos: LHS, RHS, <i>Condition</i> y <i>Action</i>. </font></li>     </ul>     ]]></body>
<body><![CDATA[<p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="fig04"></a><img src="/img/revistas/dyna/v74n153/a26fig04.gif">    <br>   Figura 4.</b> Metamodelo del Diagrama  de casos de uso en AToM<sup>3</sup>.    <br>  <b>Figure 4</b>. Use cases diagram  metamodel in AToM<sup>3</sup>.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="fig05"></a><img src="/img/revistas/dyna/v74n153/a26fig05.gif">    <br>   Figura 5. </b>Creación de la transformación “EPtoDCU”.    <br>   <b>Figure 5.</b> Creation of the transformation “EPtoDCU”.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Por ejemplo, para la regla <i>createUseCase</i> la     implementación gráfica  del LHS y el RHS se puede observar en la Tabla 1; el elemento <i>Condition</i> es  el siguiente fragmento de código Python:</font></p>     <blockquote>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><i>dName = self.getMatched(graphID, self.LHS.nodeWithLabel(1)).Valor.toString()    <br>     cName = self.getMatched(graphID, self.LHS.nodeWithLabel(2)).Nombre.toString()    ]]></body>
<body><![CDATA[<br> name     = dName + “” + cName    <br>   return not self.graphRewritingSystem.existsUseCase(name)</i></font></p> </blockquote>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">que establece     la concatenación     de los elementos para conformar el nombre del caso de uso y retornar finalmente     ese valor en la imagen del caso de uso. Ahora, el elemento <i>Action</i> es  el siguiente fragmento de código Python:</font></p>     <blockquote>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><i>useCase = self.getMatched(graphID, self.RHS.nodeWithLabel(4))    <br>     Name = useCase.Name.toString()    <br>   Self.graphRewritingSystem.addUseCase(name,     useCase)</i></font></p> </blockquote>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">que finaliza con     la creación del caso de uso; éste incluye el nombre y la  imagen gráfica del caso de uso. Con las demás reglas, se procede de forma similar,  para obtener los elementos restantes del diagrama de casos de uso. Finalmente,  se aplican las reglas de borrado de los elementos del esquema preconceptual,  con el fin de que queden únicamente en pantalla los elementos correspondientes  al diagrama de casos de uso.</font></p> <ul>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Se procede       a la creación       del esquema preconceptual en el entorno suministrado por el AToM<sup>3</sup>® para     ese fin. En ese caso, se debe mantener activo el metamodelo correspondiente.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Se activa la       transformación y aparece     el diagrama de casos de uso, que es el resultado de la aplicación de las     reglas que se definieron.</font></li>     ]]></body>
<body><![CDATA[</ul>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="tab01"></a>  Tabla 1.</b> Elementos de la regla <i>createUseCase</i>.    <br>   <b>Table 1. </b>Elements of the rule <i>createUseCase</i>.</font>    <br>   <img src="/img/revistas/dyna/v74n153/a26tab01.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>4.3 Caso de Estudio    <br> </b>A continuación, se presenta un caso de estudio correspondiente   al manejo de una biblioteca. El discurso del interesado, expresado en UN-Lencep, es el siguiente:</font></p>     <blockquote>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><i>socio_de_la_biblioteca reserva revista    <br>     socio_de_la_biblioteca renueva prestamo    <br>     socio_de_la_biblioteca reserva libro    ]]></body>
<body><![CDATA[<br>     socio_investigador es socio_de_la_biblioteca    <br>     cuando socio_de_la_biblioteca presta libro, entonces bibliotecario valida     socio</i>    <br>     <i>bibliotecario actualiza catalogo</i>    <br>     <i>socio_investigador recomienda libro</i></font></p> </blockquote>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El esquema preconceptual     correspondiente a este discurso se muestra en la <a href="#fig06">Figura     6</a>. En la <a href="#tab02">Tabla 2</a>  se muestra paso a paso la aplicación de las reglas  de transformación para el caso de estudio; en dicha Tabla se presenta la porción  del esquema preconceptual, las reglas aplicadas y la porción resultante del  diagrama de casos de uso.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="fig06"></a><img src="/img/revistas/dyna/v74n153/a26fig06.gif">    <br>   Figura 6. </b>Esquema preconceptual  del caso de estudio.    <br>  <b>Figure 6</b>. Pre-conceptual Schema  of the case study.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="tab02"></a>Tabla 2.</b> Aplicación     de las reglas para el caso de estudio.    <br>     <b>Table 2. </b>Rules application to  the case study</font>    ]]></body>
<body><![CDATA[<br>  <img src="/img/revistas/dyna/v74n153/a26tab02.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Finalmente, en     la <a href="#fig07">Figura 7</a> se puede observar el diagrama de casos de uso obtenido al ejecutar la transformaci&oacute;n.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="fig07"></a><img src="/img/revistas/dyna/v74n153/a26fig07.gif">    <br>   Figura       7. </b>Diagrama de Casos de uso destino.    <br>  <b>Figure 7</b>. Target Use Case Diagram.</font></p>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>5. CONCLUSIONES</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En el ámbito de la elicitación de requisitos, vienen cobrando fuerza los intentos  por automatizar la elaboración de los diferentes esquemas conceptuales. En  este artículo se abordó la problemática del trazado automático del diagrama  de casos de uso y se identificaron tres problemas aún no completamente resueltos:  se suele partir de representaciones de la solución y no de representaciones  del problema, se requiere aún una alta participación del analista en el proceso  y no se identifican todos los elementos del diagrama de casos de uso.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En este artículo se propuso un método que parte de la representación del discurso  del interesado en esquemas preconceptuales y luego los traduce de manera automática  a diagramas de casos de uso. Los tres problemas anotados se solucionan con  este método, dado que se admite que el discurso del interesado no se relacione  con la aplicación de software (sino que más bien se refiera a los términos  del dominio), el proceso es completamente automático y se identifican completamente  las relaciones que existen entre actores y casos de uso. Para la solución mediante  esquemas preconceptuales se debió  complementar la sintaxis básica de dichos esquemas con dos elementos nuevos  (la nota y la conexión de la nota con el concepto al que pertenece), con el  fin de poder identificar una forma de herencia entre casos de uso.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La implementación     en AToM<sup>3</sup>®  presentó las mismas dificultades que se han planteado en otros artículos del  grupo: la Gramática de Grafos fue insuficiente para especificar de manera completa  las reglas de transformación y se debió recurrir nuevamente al lenguaje Python  para complementarlas. Pese a esto, la implementación mostró ser adecuada para  las necesidades de transformación y se pudieron hacer los ensayos correspondientes  a las diferentes reglas. </font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">De esta manera,     se pudo comprobar que efectivamente el diagrama de casos de uso se puede     obtener de manera automática (sin intervenciones por parte del  analista en el proceso de transformación) a partir de un esquema preconceptual  que represente el dominio de un problema particular y no así su solución. Las  reglas permiten hallar todos los elementos de dichos diagramas, incluyendo  las relaciones especiales &lt;&lt;include&gt;&gt;,  &lt;&lt;extends&gt;&gt; e &lt;&lt;inheritance&gt;&gt;, para las cuales existían  pocas soluciones en el estado del arte</font></p>       <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>6. TRABAJO FUTURO</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para este trabajo     en particular, se generaron nuevas preguntas a partir de la propuesta realizada     y su implementación, que pueden motivar la continuación  de los esfuerzos de esta línea:</font></p> <ul>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Se podría comprobar si es posible obtener     el     último de los diagramas comportamentales que aún no se obtiene automáticamente     de los Esquemas Preconceptuales: el diagrama de actividades.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Igualmente,       se podría comprobar si es     posible obtener a partir de estos Esquemas el diagrama de secuencias de la     versión 2.0 de UML, cuya sintaxis ya lo aleja sustancialmente del diagrama </font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">de comunicación,   que ya es obtenible desde Esquemas Preconceptuales.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Falta por establecer si existen reglas     adicionales que puedan generar variaciones sobre los elementos identificados     en el diagrama de Casos de Uso.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Se debería verificar también si se pueden     establecer reglas para generar algún tipo de código de las interfaces gráficas     de usuario a partir de los resultados de este artículo.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Finalmente,       un área en la que se podría     verificar la aplicación de un método similar al propuesto por este artículo,     podría ser el área de los requisitos no funcionales; se podría estudiar si     tendencias actuales como los aspectos podrían ser modeladas en Esquemas Preconceptuales     o si pueden existir reglas de transformación que posibiliten su modelamiento     desde fases tempranas del ciclo de vida del software.</font></li>     ]]></body>
<body><![CDATA[</ul>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>7. AGRADECIMIENTOS</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Este artículo se realizó en el marco de los siguientes proyectos de investigación: “construcción  automatica de esquemas conceptuales a partir de lenguaje natural”, financiado  por la dime y “definición de un esquema preconceptual para la obtención automática  de esquemas conceptuales de uml”, financiado por dinain y administrado por  la DIME.</font></p>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>REFERENCIAS </b></font></p>     <!-- ref --><p>   <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b> [1]</b> ATOM3 ®. MSDL – ATOM3 ®. Página Web de la herramienta ATOM3 ®.   Available: <a href="http://atom3.cs.mcgill.ca/" target="ven">http://atom3.cs.mcgill.ca/</a>. [Citado Febrero 22 de 2007]    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000219&pid=S0012-7353200700030002600001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[2]</b> BEN ACHOUR, C (1998). Guiding the construction of textual case use   specifications. Data & Knowledge Engineering Journal, vol 25 No. 1-2. p. 125–160.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000220&pid=S0012-7353200700030002600002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[3]</b> BEN ACHOUR, C. (1999). Extraction des bensoins par analyse of scenarios textuels. Tesis de Doctorado de la Universidad de Paris.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000221&pid=S0012-7353200700030002600003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[4]</b> COCKBURN, A. (2000). Writing Effective Use Cases. Addison-Wesley Pub Co.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000222&pid=S0012-7353200700030002600004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[5]</b> DE LARA, J., y VANGHELUWE, H. (2002). AToM3: A tool for Multi-Formalism   and Meta-Modelling. Proceedings of the Fifth International Conference on Fundamental   Approaches to Software Engineering. 174–188.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000223&pid=S0012-7353200700030002600005&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[6]</b> DE LARA, J., VANGHELUWE, H y ALFONSECA, M. (2003). Using Meta-Modelling and Graph-Grammars to Create Modelling Environments. Electronic Notes in Theoretical Computer Science, Vol. 72, No. 3.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000224&pid=S0012-7353200700030002600006&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[7]</b> DE LARA, J., GUERRA, E. y VANGHELUWE, H. (2003). Meta-Modelling, Graph Transformation and Model Checking for the Analysis of Hybrid Systems. Juan de Lara, Esther Guerra and Hans Vangheluwe. AGTIVE'2003 (Applications of Graph Transformation with Industrial Relevance), Charlottesville, USA . Lecture Notes in Computer Science 3062. Springer.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000225&pid=S0012-7353200700030002600007&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[8]</b> DIETZ, J. (1999). ‘Understanding and Modelling Business Processes with DEMO’.   Proc: 18th International Conference on Conceptual Modeling. Paris.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000226&pid=S0012-7353200700030002600008&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[9]</b> DOME Users’ Guide, available from <a href="http://www.htc.honeywell.com/dome/support.htm#documentation" target="ven">http://www.htc.honeywell.com/dome/support.htm#documentation</a>.   [Citado Febrero 22 de 2007a]    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000227&pid=S0012-7353200700030002600009&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[10]</b> DOME. What is Dome. Available: <a href="http://www.htc.honeywell.com/dome/description.htm" target="ven">http://www.htc.honeywell.com/dome/description.htm</a>. [Citado Febrero 22 de 2007b].    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000228&pid=S0012-7353200700030002600010&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[11]</b> FIRESMITH, D. (2002). Use case: the pros and cons. Knowledge Systems Corporation.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000229&pid=S0012-7353200700030002600011&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[12]</b> FOWLER, M. (2004). UML Distilled: A brief guide to the Standard Object Modeling Language. Addison-Wesley, Reading.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000230&pid=S0012-7353200700030002600012&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[13]</b> JACOBSON, I. (1999). “UML y patrones. Introducción al análisis y diseño orientado a objetos”.   Pretince Hall.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000231&pid=S0012-7353200700030002600013&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[14]</b> JACOBSON, I., BOOCH, G. y RUMBAUGH, J. (2001). El Proceso Unificado de Desarrollo de Software. Addison Wesley.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000232&pid=S0012-7353200700030002600014&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[15]</b> LIU, D. (2003). Automating Transition From Use Cases to Class Model.   Msc Thesis, University of Calgary. Capítulo 7.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000233&pid=S0012-7353200700030002600015&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[16]</b> LIU, D. SUBRAMANIAM, K. EBERLEIN, A. y FAR, B. (2004). Natural   Language Requirements Analysis and Class Model Generation Using UCDA. IEA/AIE,   LNAI 3029. p. 295–304.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000234&pid=S0012-7353200700030002600016&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[17]</b> MUÑOZ J. (2004). Una Gramática de Grafos para la Transformación de Relaciones de Asociaciación desde Modelos de Análisis hacia Modelos de Diseño.   Technical report, DSIC-UPV.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000235&pid=S0012-7353200700030002600017&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[18]</b> OBJECT MANAGEMENT GROUP, Inc. (OMG). (2002) Unified Modeling Language: Superstructure 2.0. Draft Adopted Specification. p. 511 - 528.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000236&pid=S0012-7353200700030002600018&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[19]</b> PASTOR O, DIAZ I, MORENO L. (2003). Traducción de casos de uso en patrones de interacción de instancias: una aproximación lingüística. Jornadas Iberoamericanas de Ingeniería de Software e Ingeniería   del Conocimiento.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000237&pid=S0012-7353200700030002600019&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[20]</b> PASTOR O, DIAZ I, LOSAVIO F, MATTEO A. (2004). Specification pattern   of use. Information and _Management. Vol 41. p. 961–975.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000238&pid=S0012-7353200700030002600020&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[21]</b> SHISHKOV, B., XIE, Z., LUI, K., y DIETZ, J. (2002). Using norm analysis to derive use case from business processes. 5th Workshop on Organizations semiotics. June 14-15. Delft the Netherlands .    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000239&pid=S0012-7353200700030002600021&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[22]</b> SMOLANDER, K., LYYTINEN, K. TAHVANAINEN, V. and MARTIIN, P. (1991).   Metaedit—A flexible graphical environment for methodology modeling. In Proceedings   of Advanced Information Systems Engineering CAiSE'91, Lecture Notes in Computer   Science, pages 168-193.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000240&pid=S0012-7353200700030002600022&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[23]</b> VENDLER, Z. (1967). Verbs and Times. Linguistics in philosophy, Ithaca, Cornell University Press.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000241&pid=S0012-7353200700030002600023&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[24]</b> ZAPATA, C, y ALVAREZ, C. (2005). Conversión de Diagramas de Procesos en Diagramas de Casos de Uso Usando AToM3. Revista Dyna. Nro 146. 103–113.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000242&pid=S0012-7353200700030002600024&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[25]</b> ZAPATA, C. y ARANGO, F. (2005). Los modelos verbales en lenguaje   natural y su utilización en la elaboración de esquemas conceptuales para el desarrollo de software: Una revisión crítica. Revista EAFIT. Vol 41. No 137. 77–95.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000243&pid=S0012-7353200700030002600025&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[26]</b> ZAPATA, C., GELBUKH, A. y ARANGO, F. (2006a). Pre-conceptual Schema:   a UML Isomorphism for Automatically Obtaining UML Conceptual Schemas. Research   in Computing Science: Advances in Computer Science and Engineering, Vol. 19,   3–13.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000244&pid=S0012-7353200700030002600026&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[27]</b> ZAPATA, C., GELBUKH, A. y ARANGO, F. (2006b). UN–Lencep: Obtención Automática de Diagramas UML a partir de un Lenguaje Controlado. 3er Taller de Tecnologías del Lenguaje Humano. Encuentro Nacional de Ciencias de la Computación, San Luis Potosí,   Septiembre.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000245&pid=S0012-7353200700030002600027&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[28]</b> ZAPATA, C., GELBUKH, A. y ARANGO, F. (2006c). Pre-conceptual Schema:   A Conceptual-Graph-Like Knowledge Representation for Requirements Elicitation. Lecture Notes in Computer Science, Vol. 4293, 2006, 17–27. </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000246&pid=S0012-7353200700030002600028&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> ]]></body><back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="">
<source><![CDATA[MSDL - ATOM3 ®]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[BEN ACHOUR]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Guiding the construction of textual case use specifications]]></article-title>
<source><![CDATA[Data & Knowledge Engineering Journal]]></source>
<year>1998</year>
<volume>25</volume>
<numero>1-2</numero>
<issue>1-2</issue>
<page-range>125-160</page-range></nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[BEN ACHOUR]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
</person-group>
<source><![CDATA[Extraction des bensoins par analyse of scenarios textuels]]></source>
<year>1999</year>
</nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[COCKBURN]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
</person-group>
<source><![CDATA[Writing Effective Use Cases.]]></source>
<year>2000</year>
<publisher-name><![CDATA[Addison-Wesley Pub Co]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[DE LARA]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[VANGHELUWE]]></surname>
<given-names><![CDATA[H.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[AToM3: A tool for Multi-Formalism and Meta-Modelling]]></article-title>
<source><![CDATA[Proceedings of the Fifth International Conference on Fundamental Approaches to Software Engineering]]></source>
<year>2002</year>
<page-range>174-188</page-range></nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[DE LARA]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[VANGHELUWE]]></surname>
<given-names><![CDATA[H]]></given-names>
</name>
<name>
<surname><![CDATA[ALFONSECA]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Using Meta-Modelling and Graph-Grammars to Create Modelling Environments]]></article-title>
<source><![CDATA[Electronic Notes in Theoretical Computer Science]]></source>
<year>2003</year>
<volume>72</volume>
<numero>3</numero>
<issue>3</issue>
</nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[DE LARA]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[GUERRA]]></surname>
<given-names><![CDATA[E.]]></given-names>
</name>
<name>
<surname><![CDATA[VANGHELUWE]]></surname>
<given-names><![CDATA[H.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Meta-Modelling, Graph Transformation and Model Checking for the Analysis of Hybrid Systems]]></article-title>
<source><![CDATA[]]></source>
<year>2003</year>
<conf-name><![CDATA[ AGTIVE'2003 (Applications of Graph Transformation with Industrial Relevance)]]></conf-name>
<conf-loc>Charlottesville </conf-loc>
</nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[DIETZ]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Understanding and Modelling Business Processes with DEMO]]></article-title>
<source><![CDATA[]]></source>
<year>1999</year>
<conf-name><![CDATA[ Proc: 18th International Conference on Conceptual Modeling]]></conf-name>
<conf-loc>Paris </conf-loc>
</nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="">
<source><![CDATA[DOME Users’ Guide]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B10">
<label>10</label><nlm-citation citation-type="">
<source><![CDATA[DOME: What is Dome]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B11">
<label>11</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[FIRESMITH]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Use case: the pros and cons]]></article-title>
<source><![CDATA[]]></source>
<year>2002</year>
</nlm-citation>
</ref>
<ref id="B12">
<label>12</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[FOWLER]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
</person-group>
<source><![CDATA[UML Distilled: A brief guide to the Standard Object Modeling Language]]></source>
<year>2004</year>
<publisher-name><![CDATA[Addison-Wesley]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B13">
<label>13</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[JACOBSON]]></surname>
<given-names><![CDATA[I.]]></given-names>
</name>
</person-group>
<source><![CDATA[UML y patrones: Introducción al análisis y diseño orientado a objetos]]></source>
<year>1999</year>
<publisher-name><![CDATA[Pretince Hall]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B14">
<label>14</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[JACOBSON]]></surname>
<given-names><![CDATA[I.]]></given-names>
</name>
<name>
<surname><![CDATA[BOOCH]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
<name>
<surname><![CDATA[RUMBAUGH]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
</person-group>
<source><![CDATA[El Proceso Unificado de Desarrollo de Software]]></source>
<year>2001</year>
<publisher-name><![CDATA[Addison Wesley]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B15">
<label>15</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[LIU]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
</person-group>
<source><![CDATA[Automating Transition From Use Cases to Class Model]]></source>
<year>2003</year>
</nlm-citation>
</ref>
<ref id="B16">
<label>16</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[LIU,]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
<name>
<surname><![CDATA[SUBRAMANIAM]]></surname>
<given-names><![CDATA[K.]]></given-names>
</name>
<name>
<surname><![CDATA[EBERLEIN]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
<name>
<surname><![CDATA[FAR]]></surname>
<given-names><![CDATA[B.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Natural Language Requirements Analysis and Class Model Generation Using UCDA]]></article-title>
<source><![CDATA[IEA/AIE, LNAI]]></source>
<year>2004</year>
<page-range>295-304</page-range></nlm-citation>
</ref>
<ref id="B17">
<label>17</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[MUÑOZ]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
</person-group>
<source><![CDATA[Una Gramática de Grafos para la Transformación de Relaciones de Asociaciación desde Modelos de Análisis hacia Modelos de Diseño]]></source>
<year>2004</year>
</nlm-citation>
</ref>
<ref id="B18">
<label>18</label><nlm-citation citation-type="">
<collab>OBJECT MANAGEMENT GROUP</collab>
<article-title xml:lang="en"><![CDATA[Unified Modeling Language: Superstructure 2.0. Draft Adopted Specification]]></article-title>
<source><![CDATA[]]></source>
<year>2002</year>
<page-range>511 - 528</page-range></nlm-citation>
</ref>
<ref id="B19">
<label>19</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[PASTOR]]></surname>
<given-names><![CDATA[O]]></given-names>
</name>
<name>
<surname><![CDATA[DIAZ]]></surname>
<given-names><![CDATA[I]]></given-names>
</name>
<name>
<surname><![CDATA[MORENO]]></surname>
<given-names><![CDATA[L.]]></given-names>
</name>
</person-group>
<article-title xml:lang="es"><![CDATA[Traducción de casos de uso en patrones de interacción de instancias: una aproximación lingüística]]></article-title>
<source><![CDATA[]]></source>
<year>2003</year>
<conf-name><![CDATA[ Jornadas Iberoamericanas de Ingeniería de Software e Ingeniería del Conocimiento]]></conf-name>
<conf-loc> </conf-loc>
</nlm-citation>
</ref>
<ref id="B20">
<label>20</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[PASTOR]]></surname>
<given-names><![CDATA[O]]></given-names>
</name>
<name>
<surname><![CDATA[DIAZ]]></surname>
<given-names><![CDATA[I]]></given-names>
</name>
<name>
<surname><![CDATA[LOSAVIO]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
<name>
<surname><![CDATA[MATTEO]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Specification pattern of use]]></article-title>
<source><![CDATA[Information and _Management]]></source>
<year>2004</year>
<volume>41</volume>
<page-range>961-975</page-range></nlm-citation>
</ref>
<ref id="B21">
<label>21</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[SHISHKOV]]></surname>
<given-names><![CDATA[B.]]></given-names>
</name>
<name>
<surname><![CDATA[XIE]]></surname>
<given-names><![CDATA[Z.]]></given-names>
</name>
<name>
<surname><![CDATA[LUI]]></surname>
<given-names><![CDATA[K.]]></given-names>
</name>
<name>
<surname><![CDATA[DIETZ]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Using norm analysis to derive use case from business processes]]></article-title>
<source><![CDATA[]]></source>
<year>2002</year>
<conf-name><![CDATA[ 5th Workshop on Organizations semiotics]]></conf-name>
<conf-loc>Delft </conf-loc>
</nlm-citation>
</ref>
<ref id="B22">
<label>22</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[SMOLANDER]]></surname>
<given-names><![CDATA[K.]]></given-names>
</name>
<name>
<surname><![CDATA[LYYTINEN]]></surname>
<given-names><![CDATA[K.]]></given-names>
</name>
<name>
<surname><![CDATA[TAHVANAINEN]]></surname>
<given-names><![CDATA[V.]]></given-names>
</name>
<name>
<surname><![CDATA[MARTIIN]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Metaedit-A flexible graphical environment for methodology modeling]]></article-title>
<source><![CDATA[Proceedings of Advanced Information Systems Engineering CAiSE'91]]></source>
<year>1991</year>
<page-range>168-193</page-range></nlm-citation>
</ref>
<ref id="B23">
<label>23</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[VENDLER]]></surname>
<given-names><![CDATA[Z.]]></given-names>
</name>
</person-group>
<source><![CDATA[Verbs and Times: Linguistics in philosophy]]></source>
<year>1967</year>
<publisher-loc><![CDATA[Ithaca ]]></publisher-loc>
<publisher-name><![CDATA[Cornell University Press]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B24">
<label>24</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[ZAPATA]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[ALVAREZ]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
</person-group>
<article-title xml:lang="es"><![CDATA[Conversión de Diagramas de Procesos en Diagramas de Casos de Uso Usando AToM3]]></article-title>
<source><![CDATA[Revista Dyna]]></source>
<year>2005</year>
<numero>146</numero>
<issue>146</issue>
<page-range>103-113</page-range></nlm-citation>
</ref>
<ref id="B25">
<label>25</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[ZAPATA]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
<name>
<surname><![CDATA[ARANGO]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
</person-group>
<article-title xml:lang="es"><![CDATA[Los modelos verbales en lenguaje natural y su utilización en la elaboración de esquemas conceptuales para el desarrollo de software: Una revisión crítica]]></article-title>
<source><![CDATA[Revista EAFIT]]></source>
<year>2005</year>
<volume>41</volume>
<numero>137</numero>
<issue>137</issue>
<page-range>77-95</page-range></nlm-citation>
</ref>
<ref id="B26">
<label>26</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[ZAPATA]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
<name>
<surname><![CDATA[GELBUKH]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
<name>
<surname><![CDATA[ARANGO]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Pre-conceptual Schem: a UML Isomorphism for Automatically Obtaining UML Conceptual Schemas]]></article-title>
<source><![CDATA[Advances in Computer Science and Engineering]]></source>
<year>2006</year>
<month>a</month>
<volume>19</volume>
<page-range>3-13</page-range></nlm-citation>
</ref>
<ref id="B27">
<label>27</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[ZAPATA]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
<name>
<surname><![CDATA[GELBUKH]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
<name>
<surname><![CDATA[ARANGO]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
</person-group>
<article-title xml:lang="es"><![CDATA[UN-Lencep: Obtención Automática de Diagramas UML a partir de un Lenguaje Controlado]]></article-title>
<source><![CDATA[]]></source>
<year>2006</year>
<month>b</month>
<conf-name><![CDATA[ 3er Taller de Tecnologías del Lenguaje Humano. Encuentro Nacional de Ciencias de la Computación]]></conf-name>
<conf-loc>San Luis Potosí </conf-loc>
</nlm-citation>
</ref>
<ref id="B28">
<label>28</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[ZAPATA]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
<name>
<surname><![CDATA[GELBUKH]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
<name>
<surname><![CDATA[ARANGO]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Pre-conceptual Schema: A Conceptual-Graph-Like Knowledge Representation for Requirements Elicitation]]></article-title>
<source><![CDATA[Computer Science]]></source>
<year>2006</year>
<month>c2</month>
<day>00</day>
<volume>4293</volume>
<page-range>17-27</page-range></nlm-citation>
</ref>
</ref-list>
</back>
</article>
