<?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-73532007000300025</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[UN AMBIENTE PARA LA OBTENCION AUTOMATICA DE DIAGRAMAS UML A PARTIR DE UN LENGUAJE CONTROLADO]]></article-title>
<article-title xml:lang="en"><![CDATA[AN ENVIRONMENT FOR AUTOMATED UML DIAGRAMS OBTAINING FROM A CONTROLLED LANGUAGE]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[ZAPATA]]></surname>
<given-names><![CDATA[CARLOS M.]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[ARANGO I]]></surname>
<given-names><![CDATA[FERNANDO]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Escuela de Sistemas Universidad Nacional de Colombia, sede Medellín ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<aff id="A02">
<institution><![CDATA[,Escuela de Sistemas Universidad Nacional de Colombia, sede Medellín ]]></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>223</fpage>
<lpage>236</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_arttext&amp;pid=S0012-73532007000300025&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-73532007000300025&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-73532007000300025&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[El apoyo suministrado por las herramientas convencionales de la Ingeniería de Software a los analistas se ha basado en ayudas para el trazado y edición de modelos, siendo exiguo el apoyo ofrecido a la concepción misma del modelo. Existe actualmente una tendencia hacia la generación automática de esquemas conceptuales y, si bien se han realizado grandes avances, se ha trabajado con pocos diagramas y subsisten algunos inconvenientes relacionados especialmente con la consistencia de los diagramas obtenidos. En este artículo se propone un ambiente para la obtención automática de algunos de los diagramas de UML 2.0, conformado por un lenguaje controlado (UN-Lencep), un mecanismo para la representación del conocimiento (los denominados Esquemas Preconceptuales) y un sistema de reglas para la traducción del lenguaje controlado a un conjunto de diagramas equivalentes de UML; este ambiente se implementó en la herramienta CASE UNC-Diagramador, en la cual se presenta adicionalmente un caso de estudio. Con esta implementación se apoya la labor de conceptualización de los modelos por parte de los analistas y se mejora la consistencia, puesto que los modelos resultantes se elaboran a partir del mismo texto en lenguaje controlado.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[Conventional Software Engineering tools have supported analysts in helping them for both model drawing and editing, but with little help in model conceptualization. Currently, there is a trend for automated conceptual schema generation and, despite of great advances, there’s still work on few diagrams, and even there are some problems especially related to consistency of the obtained diagrams. In this paper, we define an environment for automatically obtaining of UML 2.0 diagrams, including a controlled language-UN-Lencep-, a Knowledge representation language-Preconceptual Schemas-, and a set of rules for UML diagrams translation; this environment has been implemented in a CASE tool-UNC-Diagramador-and a case study example has been provided. This implementation supports analysts in both model conceptualization, and consistency improvement, due to the fact that resulting models are elaborated from the same text in controlled language.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[UN-Lencep]]></kwd>
<kwd lng="es"><![CDATA[Esquema Preconceptual]]></kwd>
<kwd lng="es"><![CDATA[diagramas UML 2.0]]></kwd>
<kwd lng="es"><![CDATA[Reglas de conversión]]></kwd>
<kwd lng="es"><![CDATA[UNC-Diagramador]]></kwd>
<kwd lng="en"><![CDATA[UN-Lencep]]></kwd>
<kwd lng="en"><![CDATA[Pre-conceptual Schema]]></kwd>
<kwd lng="en"><![CDATA[UML 2.0 diagrams]]></kwd>
<kwd lng="en"><![CDATA[Conversion rules]]></kwd>
<kwd lng="en"><![CDATA[UNC-Diagramador]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p align="center"><font size="4" face="Verdana, Arial, Helvetica, sans-serif"><b>UN  AMBIENTE PARA </b> <b>LA OBTENCION AUTOMATICA DE DIAGRAMAS  UML A PARTIR DE UN LENGUAJE CONTROLADO</b></font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>AN  ENVIRONMENT FOR AUTOMATED UML DIAGRAMS OBTAINING FROM A CONTROLLED LANGUAGE</b></font></p>     <p align="center"> </p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>CARLOS M. ZAPATA</b>    <br>   <i>Escuela de Sistemas, Universidad Nacional de Colombia, sede Medellín. <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>FERNANDO  ARANGO I  </b>    <br>  <i>Escuela de Sistemas,  Universidad Nacional de Colombia, sede Medellín</i></font></p>     <p align="center"> </p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Recibido       para revisar Septiembre 25 de 2006, aceptado Diciembre 20 de 2006, versión  final Febrero 09 de 2007</b></font></p>     <p> </p> <hr>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><i>RESUMEN:</i></b> El     apoyo suministrado por las herramientas convencionales de la Ingeniería de Software a los analistas se ha basado en ayudas para el  trazado y edición de modelos, siendo exiguo el apoyo ofrecido a la concepción  misma del modelo. Existe actualmente una tendencia hacia la generación automática  de esquemas conceptuales y, si bien se han realizado grandes avances, se ha  trabajado con pocos diagramas y subsisten algunos inconvenientes relacionados  especialmente con la consistencia de los diagramas obtenidos. En este artículo  se propone un ambiente para la obtención automática de algunos de los diagramas  de UML 2.0, conformado por un lenguaje controlado (UN-Lencep), un mecanismo  para la representación del conocimiento (los denominados Esquemas Preconceptuales)  y un sistema de reglas para la traducción del lenguaje controlado a un conjunto  de diagramas equivalentes de UML; este ambiente se implementó en la herramienta  CASE UNC-Diagramador, en la cual se presenta adicionalmente un caso de estudio.  Con esta implementación se apoya la labor de conceptualización de los modelos  por parte de los analistas y se mejora la consistencia, puesto que los modelos  resultantes se elaboran a partir del mismo texto en lenguaje controlado.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><i><b>PALABRAS CLAVE:</b></i> UN-Lencep,   Esquema Preconceptual, diagramas UML 2.0, Reglas de conversión, UNC-Diagramador. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><i><b>ABSTRACT:</b></i> Conventional     Software Engineering tools have supported analysts in helping them for both     model drawing and editing, but with little help in model conceptualization.     Currently, there is a trend for automated conceptual schema generation and,     despite of great advances, there’s   still work on few diagrams, and even there are some problems especially related   to consistency of the obtained diagrams. In this paper, we define an environment   for automatically obtaining of UML 2.0 diagrams, including a controlled language—UN-Lencep—,   a Knowledge representation language—Preconceptual Schemas—, and a set of rules   for UML diagrams translation; this environment has been implemented in a CASE   tool—UNC-Diagramador—and a case study example has been provided. This implementation   supports analysts in both model conceptualization, and consistency improvement,   due to the fact that resulting models are elaborated from the same text in   controlled language. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><i>KEYWORDS</i></b><i>:</i> UN-Lencep, Pre-conceptual Schema, UML 2.0 diagrams, Conversion  rules, UNC-Diagramador.</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 desarrollo     de software suele comenzar con una serie de entrevistas entre el interesado     y el analista, donde se procura combinar el conocimiento que posee el interesado     sobre el dominio del problema, con los conocimientos técnicos  del analista para el desarrollo de software [1]. Una vez se ha consolidado un  discurso que describe el dominio del problema, el analista representa mediante  un modelo el ámbito  del dominio y su solución, utilizando un estándar de modelamiento, usualmente  el Unified Modeling Language (UML), que es uno de los más reconocidos en la  actualidad [2].</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La Ingeniería del Software tradicionalmente ha apoyado las iniciativas de  modelamiento con las denominadas herramientas CASE (Computer-Aided Software  Engineering), desarrolladas desde mediados de la década de los setenta y que  en la actualidad permiten el trazado y edición de diferentes tipos de diagramas  (incluida la gama de diagramas UML), además de la generación parcial de código  fuente [3]. Sin embargo, estas herramientas no brindan apoyo a los procesos  previos a la realización de los modelos, y esta labor se ha dejado completamente  en manos de los analistas, quienes deben interpretar el dominio del problema  para plasmarlo posteriormente en los modelos.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Desde mediados     de los noventa comenzó una tendencia  que buscaba el apoyo a la gestión de los analistas colaborándoles en la obtención  automática de ciertos elementos de los diagramas entidad-relación [5], los  diagramas de clases de UML [4], [7], [8] y [9], los diagramas de actividades  de UML [9] y un conjunto de diagramas correspondientes a los sistemas automáticos  de control [6]. En esta tendencia se han realizado progresos importantes,  pero aún existen diagramas que no se han trabajado (por ejemplo comunicación  y máquina de estados, ambos de UML) y además los diagramas generados aún poseen  problemas de coherencia e interrelación entre sus elementos, cuando esos diagramas  pertenecen al mismo modelo [1]; comúnmente, esos problemas se suelen denominar “errores  de consistencia”).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Con el fin de     superar algunas de estas limitaciones, en este artículo se presenta  un entorno para la obtención automática de tres tipos de diagramas UML 2.0,  que incluye los siguientes elementos:</font></p> <ul>       ]]></body>
<body><![CDATA[<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> El lenguaje       controlado UN-Lencep para la redacción     de las especificaciones textuales.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Un diagrama       intermedio para la representación del     discurso, denominado Esquema Preconceptual.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Un conjunto       de reglas de traducción a los diagramas     de UML.</font></li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Además, se presenta     y ejemplifica una herramienta denominada UNC-Diagramador que utiliza este  entorno.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El artículo está organizado de la siguiente manera: en la Sección 2, se resumen  algunos trabajos en obtención automática de esquemas conceptuales (entre los  que se incluyen los diagramas UML); en la Sección 3, se definen los lineamientos  del Esquema Preconceptual; en la Sección 4, se definen las reglas para el  mapeo entre el Esquema Preconceptual y tres tipos de diagramas UML 2.0; en  la Sección 5, se presenta la herramienta UNC-Diagramador y un caso de estudio  para ejemplificar el uso del entorno. Las conclusiones y trabajos futuros  se incluyen en las Secciones 6 y 7 respectivamente.</font></p>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>2. LA OBTENCIÓN AUTOMÁTICA   DE DIAGRAMAS UML A PARTIR DE LENGUAJE NATURAL</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En los inicios     de la Ingeniería del Software, Chen propuso el diagrama entidad-relación  (DER) [10] como un estándar para describir los datos de un problema; posteriormente,  definió un conjunto de reglas que permitían extraer de un discurso en inglés  el DER [11]. Esta iniciativa fue imitada posteriormente por Coad y Yourdon  [12] para el diagrama de clases, en el diseño orientado por objetos. Estos  trabajos previos nunca llegaron a ser implementados de manera directa, pero  sirvieron de fundamento a la ola posterior de trabajos en obtención automática  de esquemas conceptuales. Además, tanto las reglas de Chen como las de Coad  y Yourdon poseían un alto grado de ambigüedad, ya que un mismo elemento del  discurso podía ser utilizado por reglas diversas para ser transformado a diferentes  elementos del DER o del Diagrama de Clases, según fuera el caso.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Posteriormente,     la elaboración de los diferentes diagramas se apoyó en herramientas  CASE, las cuales a la fecha continúan con su desarrollo y vigencia, especialmente  en el trazado y edición de diagramas y la generación parcial de código a partir  de los diagramas; sin embargo, estas herramientas no constituyen un avance  sustancial en la obtención automática de los diagramas UML, puesto que dejan  la interpretación del discurso del interesado completamente en manos del analista  [3].</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Un paso más adelante     en este campo se dio con el proyecto LIDA (LInguistic Domain Analysis) de     Overmyer <i>et al.</i> [4], con el cual se     realizaba una clasificación de las palabras incluidas en un discurso sobre el dominio, en  verbos, sustantivos y adjetivos, con sus respectivas frecuencias de aparición;  con esta información se buscaba suministrar elementos para que el analista  tomara las decisiones pertinentes para el trazado del diagrama de clases. La  herramienta desarrollada tenía capacidades para la edición de los diagramas  resultantes, para que fueran completados por el analista, con base en su experiencia  y criterio. El proceso completo en LIDA no se puede realizar sin la mediación  del analista, convirtiéndolo en un proceso semiautomático, pero con alta dependencia  del analista.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En el proyecto     RADD, Buchholz y Düsterhöft [5] procuraron elaborar un DER  a partir de especificaciones en lenguaje natural y luego promover la completitud  del diagrama obtenido mediante un diálogo controlado con el usuario; en este  proyecto se promovió únicamente el trazado del DER, sin abordar el tema de  la elaboración de otros diagramas o la consistencia entre diagramas resultantes.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En el proyecto     ASPIN, Cyre [6] procuró la consolidación de los diferentes  diagramas del ámbito de los sistemas automáticos de control en un modelo único  representado en un lenguaje común. Si bien Cyre no buscaba la obtención automática  de diagramas, con ASPIN demostró que una representación unificada puede contener  una gran cantidad de diagramas de manera simultánea. La desventaja principal  de esta propuesta radica en lo restringido de su dominio, puesto que sólo se  puede mostrar aplicabilidad para los sistemas automáticos de control.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Otras propuestas     como NL-OOPS Mich [7] y CM-BUILDER de Harmain y Gaizauskas [8] se enfocan     en la construcción de un único diagrama: el diagrama de clases  de UML. Estos proyectos emplean redes semánticas como representaciones intermedias  entre lenguaje natural y los esquemas conceptuales; algunas de sus desventajas  son:</font></p> <ul>    <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Sólo obtienen       el diagrama de clases (y no otros diagramas UML).</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> La representación intermedia mediante redes semánticas     no permite representar las características dinámicas del modelo del discurso.</font></li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Fliedl <i>et al. </i>[9]     continuaron en esta tendencia presentando el proyecto NIBA, el cual busca     la elaboración de diferentes diagramas UML (especialmente  clases y actividades, aunque establecen que se podrían obtener otros como secuencias  y comunicación), empleando para ello un conjunto de esquemas intermedios que  denominaron KCPM (Klagenfurt Conceptual Predesign Model). KCPM posee formas  diferentes de representación del conocimiento para los diferentes diagramas  de UML, variando desde tablas con información especial para el diagrama de  clases, hasta diagramas dinámicos especiales para el diagrama de actividades  [9]; esto puede ocasionar cierta pérdida de información entre diagramas y,  consecuentemente, fallas de consistencia entre los mismos. Así pues, elementos  de los diagramas que requieran ser definidos a partir de información estática  y dinámica (como por ejemplo los mensajes del diagrama de comunicación o los  estados del diagrama de máquina de estados) pueden no ser obtenidos de manera  consistente con otros diagramas.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Debido a las limitaciones     anotadas (a veces con énfasis en un solo diagrama,  en ocasiones generando varios diagramas pero con problemas de consistencia,  o con procesos semiautomáticos con alta participación del analista) para los  diferentes trabajos en el área, se plantea la siguiente hipótesis para este  trabajo: </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Hipótesis Inicial: A partir de un subconjunto del Lenguaje Natural (un lenguaje  controlado), es posible definir un Esquema Preconceptual, del cual es posible  extraer los diferentes elementos que permiten el trazado de esquemas conceptuales  UML de tipo estructural, comportamental o de interacción, empleando reglas  heurísticas de transformación.</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El término “Esquema Preconceptual” [16] que se menciona en la hipótesis ha  sido creado por el Grupo de Ingeniería de Software de la Escuela de Sistemas  de la Universidad Nacional de Colombia y sus lineamientos teóricos se explican  en la sección siguiente.</font></p>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>3. ESQUEMAS PRECONCEPTUALES: LINEAMIENTOS TEÓRICOS</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En algunas de     las propuestas analizadas en la sección anterior, se emplean  formas intermedias de representación del conocimiento (redes semánticas, grafos  conceptuales, tablas de información y diagramas dinámicos) que facilitan la  transición hacia los diferentes diagramas (DER o UML). En esta propuesta se  define un nuevo tipo de representación intermedia que se denomina “Esquema  Preconceptual”  [16].</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Los orígenes del término “preconceptual” se remontan a la filosofía: para  Heidegger [13] lo preconceptual aludía a información previa que se empleaba  en la construcción de conceptos. El término fue posteriormente empleado por  Piaget [14] en el ámbito educativo; en efecto, Piaget, dentro de sus etapas  del conocimiento, incluye la que se denomina “Etapa Preconceptual” y la sitúa  después de la adquisición lingüística, pero previa a la etapa de conceptualización  del conocimiento. El proceso que se realiza en este artículo para la obtención  automática de esquemas conceptuales parte del conocimiento lingüístico y se  afianza con una representación intermedia que permite llegar a los esquemas  conceptuales [16].</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">De las propuestas     que emplean mecanismos intermedios de representación, la  propuesta de Cyre [4], que emplea Grafos Conceptuales (GC) es la única que  presenta una cierta unión de las características estructurales con las dinámicas.  El Esquema Preconceptual (EP) posee ciertas similitudes con los GCs (tales  como el uso de los conceptos en rectángulos y las relaciones en  óvalos), pero también busca solucionar algunos inconvenientes de los GCs, tales  como:</font></p> <ul>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Los GCs proveen       el mecanismo denominado     “correferencia” para la representación simultánea de varias frases, que hacen     necesario replicar el mismo concepto varias veces en el grafo. Esto puede conducir     a duplicidad de información y dificultades para establecer el comportamiento     de un concepto.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Los GCs representan       de manera adecuada información     de tipo estructural, pero requieren elementos especiales para representar las     características dinámicas del discurso, que se requerirían para modelar un     esquema intermedio unificado, alejándose, de esta forma, del estándar definido     para ellos.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En los GCs       un mismo elemento puede pertenecer a categorías gramaticales diferentes; Por ejemplo, un rectángulo (concepto) puede     ser un sustantivo, un verbo o un adjetivo, en tanto que un óvalo (relación)     puede ser un caso semántico o un tipo de relación especial. La representación     de diferentes tipos de palabras con los mismos símbolos puede ser contraproducente     para el análisis porque puede generar o reproducir ambigüedades que estaban     presentes en el discurso original. </font></li>     </ul>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Los símbolos que emplean los EPs se muestran en la <a href="#fig01">Figura 1</a>.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="fig01"></a><img src="/img/revistas/dyna/v74n153/a25fig01.gif">    <br>   Figura 1.</b> Símbolos     de los Esquemas Preconceptuales.    <br>     <b>Figure 1.</b> Pre-conceptual Schemas  Symbols.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El significado de los símbolos es el siguiente:</font></p> <ul>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Conceptos:       Son sustantivos del discurso del interesado; también pueden ser sintagmas nominales del tipo sustantivo-preposición-sustantivo,     como por ejemplo “departamento de pedidos”. Cada concepto aparece sólo una     vez en cada EP, por lo cual, a medida que se generan representaciones de     un concepto, se van sumando relaciones a ese concepto. Esto permite que el     Esquema Preconceptual se grafique de manera unificada y no separando frases     independientes como es el caso de los GCs.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Relaciones       estructurales: Son verbos que generan conexiones permanentes entre los       conceptos. Básicamente se reconocen en esta     categoría únicamente los verbos “es” y “tiene”.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Relaciones       dinámicas: Son verbos que denotan acciones     u operaciones en el mundo. Algunos ejemplos son: “registra”, “paga”,     “presenta”, etc. Una identificación de las relaciones dinámicas a partir de     un discurso en lenguaje natural se puede lograr con el método descrito en     [15].</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Implicaciones:       Expresan relaciones de causa-efecto entre relaciones dinámicas o entre condicionales y relaciones dinámicas. Tienen     el mismo significado de la implicación lógica, en la cual se requiere que el     antecedente se cumpla (ya sea relación dinámica o condicional) para que el     consecuente (siempre una relación dinámica) se cumpla.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Condicionales:       Son expresiones conformadas por conceptos y operadores entre ellos que     sirven como precondición a una relación dinámica.</font></li>       ]]></body>
<body><![CDATA[<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Conexiones:       Son flechas que unen los conceptos con relaciones dinámicas o estructurales     y viceversa.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Referencias:       Son círculos numerados que permiten     ligar elementos físicamente distantes en el diagrama.</font></li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Los Esquemas Preconceptuales     se pueden obtener a partir del denominado UN-Lencep (Universidad Nacional     de Colombia—Lenguaje Controlado para la Especificación  de Esquemas Preconceptuales) [17].</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la <a href="#tab01">Tabla       1</a>  se muestra la construcción formal del UN-Lencep con algunas  expresiones de equivalencia en lenguaje controlado; en la <a href="#fig02">Figura  2</a> se muestran  las reglas de conversión de la especificación básica de UN-Lencep en Esquemas  Preconceptuales. A partir de las reglas incluidas en la Tabla 1, es posible  realizar la descripción de un dominio cualquiera mediante expresiones en Lenguaje  Natural Controlado; posteriormente, estas expresiones se pueden traducir a  la construcción formal de UN-Lencep, para luego ser traducidas (empleando las  equivalencias de la <a href="#fig02">Figura 2</a>) a Esquemas Preconceptuales. Por ejemplo, la expresión  en lenguaje natural controlado “un curso está compuesto por estudiantes” se  traduce en la construcción formal “curso tiene estudiante”  y luego se transforma en Esquema Preconceptual como el concepto “curso” unido  mediante la relación estructural “tiene” al concepto “estudiante”. Si bien  es posible describir cualquier dominio en UN-Lencep, se debe notar que las  limitaciones estructurales del lenguaje (por ejemplo, las frases sujeto-verbo-objeto,  la carencia de plurales y la limitación en el uso de adverbios pueden hacer  difícil su utilización) pueden dificultar su uso.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="tab01"></a>Tabla       1.</b> Equivalencia entre la construcci&oacute;n formal de UN-Lencep y       algunas expresiones en Lenguaje Natural Controlado    <br>     <b>Table 1.</b> Equivalence between UN-Lencep formal construction and some controlled natural language expressions</font>    <br> <img src="/img/revistas/dyna/v74n153/a25tab01.gif"></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="fig02"></a><img src="/img/revistas/dyna/v74n153/a25fig02.gif">    <br>   Figura       2.</b> Reglas para la traducci&oacute;n de UN-Lencep a Esquemas Preconceptuales.    ]]></body>
<body><![CDATA[<br>  <b>Figure 2.</b> Rules for translating from UN-Lencep to Pre-conceptual Schemas.</font></p>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>4. REGLAS DE       CONVERSIÓN ENTRE   ESQUEMAS PRECONCEPTUALES Y ESQUEMAS CONCEPTUALES DE UML</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Una vez obtenidos     los Esquemas Preconceptuales, es posible obtener un conjunto de diagramas     UML; para efectos de este trabajo se seleccionaron tres diagramas correspondientes     a la versión 2.0 de UML: Clases, Comunicación y Máquina de  Estados. La elección de estos diagramas obedece a la posibilidad de expresar  las características de un dominio particular en términos de su estructura (clases),  interacción (comunicación) y comportamiento (máquina de estados).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Es de notar que     aún no es posible obtener, a partir de los     Esquemas Preconceptuales, la totalidad de los elementos que hacen parte de     los diagramas de UML mencionados. Algunos de los elementos faltantes son     las cardinalidades, los roles de las relaciones, los estados compuestos y  los ciclos.</font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la <a href="#fig03">Figura       3</a>  se muestran los elementos básicos de los diagramas de clases,  comunicación y máquina de estados correspondientes a UML 2.0 que actualmente  es posible identificar mediante las reglas de conversión.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="fig03"></a><img src="/img/revistas/dyna/v74n153/a25fig03.gif">    <br>   Figura       3.</b> S&iacute;mbolos de UML 2.0    <br>     <b>Figure 3.</b> UML 2.0 Symbols.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Una descripción más detallada de estos diagramas y los restantes que hacen  parte de la especificación de UML 2.0 se puede consultar en [18]; la especificación  completa se puede consultar en [2].</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Adicionalmente,     la expresión gráfica de las reglas que permiten la obtención  de los diagramas de UML 2.0 a partir de los Esquemas Preconceptuales se compendian  en la <a href="#tab02">Tabla 2</a>. En la columna “Precondición” se encuentran combinados elementos  de los Esquemas Preconceptuales con elementos de otros diagramas, puesto que  algunas reglas emplean de manera recursiva los elementos que se van identificando  a lo largo del proceso (véanse, por ejemplo, las reglas 3, 4, 6, 7, 8, 11 y  15). En las reglas 5 y 6 la identificación de la relación dinámica como operación  del diagrama de clases se garantiza utilizando adecuadamente los verbos que  denotan acciones desde la descripción en UN-Lencep; un método automático de  reconocimiento de estos verbos se puede consultar en [15]. Las reglas se aplican  haciendo varios barridos del diagrama (a excepción de la regla 3 que puede  ser considerada una metaregla) hasta que todos los elementos del esquema preconceptual  se han intentado mapear a sus equivalencias en los demás diagramas.</font></p>       <p align="center"><a name="tab02"></a><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Tabla 2.</b> Reglas     para la obtención  de los diagramas de UML 2.0    <br>  <b>Table 2.</b> Rules for obtaining UML 2.0 diagrams </font>    <br> <img src="/img/revistas/dyna/v74n153/a25tab02.gif"></p>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>5. UNC-DIAGRAMADOR: UNA HERRAMIENTA   CASE BASADA EN UN-LENCEP Y ESQUEMAS PRECONCEPTUALES</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>5.1 Descripción       del UNC-Diagramador    <br> </b>La herramienta CASE UNC-Diagramador   emplea la hipótesis definida en la Sección  2 para intentar solucionar algunas de las limitaciones que aún subsisten en  la obtención automática de Esquemas Conceptuales de UML 2.0 a partir de lenguaje  natural. Esta herramienta ha sido desarrollada por el Grupo de Ingeniería de  Software de la Escuela de Sistemas de la Universidad Nacional de Colombia.  Para su construcción se han empleado las ventajas de la tecnología .NET de  Microsoft® y su lenguaje C#, combinándolas con las posibilidades gráficas de  Microsoft Visio®. El módulo de manejo del UN-Lencep se desarrolló en lenguaje  PHP.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">UNC-Diagramador realiza las siguientes funciones:</font></p> <ul>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Permite el ingreso de frases en lenguaje controlado     que se convierten en un archivo en Un-Lencep.</font></li>       ]]></body>
<body><![CDATA[<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Convierte el archivo en UN-Lencep en el Esquema     Preconceptual correspondiente.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Obtiene automáticamente los diagramas de clases,     comunicación y máquina de estados de UML 2.0, correspondientes al Esquema     Preconceptual generado.</font></li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>5.2 Ejemplo       de Aplicación    <br> </b>Seguidamente, y a manera de ejemplo, se presenta   un conjunto de frases en lenguaje natural controlado que describen parcialmente   el dominio de una clínica  veterinaria. Este caso de estudio se emplea para mostrar el funcionamiento  del UNC-Diagramador para la generación automática de esquemas conceptuales de UML 2.0.</font></p> <ul>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><i>El propietario posee una mascota</i></font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><i>La identificación   es un elemento de una mascota</i></font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><i>Un nombre pertenece a una mascota</i></font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><i>Una mascota   posee una historia_clínica</i></font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><i>El número es un elemento de una historia_clínica</i></font></li>       ]]></body>
<body><![CDATA[<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><i>El detalle   es un elemento de una historia_clínica</i></font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><i>La fecha es un elemento de detalle</i></font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><i>El detalle   contiene un diagnóstico</i></font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><i>El detalle contiene un medicamento</i></font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><i>Dado que el propietario pide una cita, la secretaria     asigna la cita</i></font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><i>Si el propietario cumple la cita, el veterinario     revisa la mascota</i></font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><i>Luego de     que el veterinario revisa la mascota, el veterinario registra el diagnóstico</i></font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><i>Si el veterinario         registra el diagnóstico, entonces     el veterinario receta un medicamento</i></font></li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Estas frases se     deben introducir una a una en la interfaz que se muestra en la <a href="#fig031">Figura     3</a>,     correspondiente al módulo de procesamiento de  UN-Lencep.</font></p>        ]]></body>
<body><![CDATA[<p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="fig031" id="fig031"></a><img src="/img/revistas/dyna/v74n153/a25fig031.gif">    <br>   Figura       3.</b> Interfaz para la generaci&oacute;n de UN-Lencep a partir de un Lenguaje       Controlado.    <br>  <b>Figure 3.</b> Graphical User Interface for UN-Lencep generation from a controlled language.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Una vez se han     ingresado todas las frases, se oprime el vínculo “Descargar  Archivo UN-Lencep” para obtener la especificación siguiente:</font></p>     <blockquote>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><i>ST propietario TIENE mascota</i>    <br>     <i>ST mascota TIENE identificacion</i>    <br>     <i>ST mascota TIENE nombre    <br>     ST mascota TIENE historia_clinica    <br>     ST historia_clinica TIENE numero    ]]></body>
<body><![CDATA[<br>     ST historia_clinica TIENE detalle    <br>     ST detalle TIENE fechaST detalle TIENE diagnostico    <br>     ST detalle TIENE medicamento    <br>     IM Cuando PROPIETARIO PIDE CITA entonces SECRETARIA ASIGNA CITA    <br>     IM Cuando PROPIETARIO CUMPLE CITA entonces VETERINARIO REVISA MASCOTA    <br>     IM Cuando VETERINARIO REVISA MASCOTA entonces VETERINARIO REGISTRA DIAGNOSTICO    <br>     IM Cuando VETERINARIO REGISTRA DIAGNOSTICO entonces VETERINARIO RECETA     MEDICAMENTO</i></font></p> </blockquote>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> La abreviatura  ST denota una frase de tipo estructural e IM denota una frase de implicación. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Esta especificación se puede leer con el UNC-Diagramador para   obtener el Esquema Preconceptual que se muestra en la <a href="#fig04">Figura   4</a>, el cual posibilita   una revisión visual de la estructura de las frases con el fin de subsanar posibles   errores aún presentes en el UN-Lencep; en caso de encontrar errores u omisiones,   es posible modificar nuevamente el UN-Lencep o simplemente realizar las modificaciones   pertinentes en el esquema preconceptual resultante. Finalmente, luego de presionar   el ícono de UML ubicado en la parte superior derecha de la <a href="#fig04">Figura   4</a>, se obtienen   los tres diagramas de UML 2.0 que se mencionan en las reglas de la Sección   4; estos diagramas se muestran en las <a href="#fig05">Figuras 5</a>, <a href="#fig06">6</a> y <a href="#fig07">7</a>.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="fig04"></a><img src="/img/revistas/dyna/v74n153/a25fig04.gif">    ]]></body>
<body><![CDATA[<br>   Figura 4.</b> Esquema     Preconceptual de una clínica veterinaria en UNC-Diagramador.    <br>     <b>Figure 4.</b> Pre-conceptual Schema  for a pet clinic in UNC-Diagramador.</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/a25fig05.gif">    <br>   Figura 5.</b> Diagrama de clases  correspondiente al Esquema Preconceptual de la <a href="#fig04">Figura 4</a>.    <br>  <b>Figure 5.</b> UML class diagram  corresponding to Pre-conceptual Schema from Figure 4.</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/a25fig06.gif">    <br>   Figura 6.</b> Diagramas     de comunicación  correspondientes al Esquema Preconceptual de la <a href="#fig04">Figura 4</a>.    <br>  <b>Figure 6.</b> UML communication  diagrams corresponding to Pre-conceptual Schema from Figure 4.</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/a25fig07.gif">    <br>   Figura 7.</b> Diagramas     de máquina  de estados correspondientes al Esquema Preconceptual de la <a href="#fig04">Figura  4</a>.    ]]></body>
<body><![CDATA[<br>  <b>Figure 7.</b> UML state machine  diagrams corresponding to Pre-conceptual Schema from Figure 4.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Las reglas se     aplican por ciclos que únicamente culminan cuando ya no quedan  reglas pendientes por evaluar. Por ejemplo, en el ciclo inicial el concepto “mascota”  se identifica como un atributo mediante la aplicación de la regla 1 sobre la  frase “propietario TIENE mascota”, pero luego se identifica como clase cuando  se aplica la regla 1 a la frase “mascota TIENE identificación”. En un ciclo  posterior se define que efectivamente es una clase aplicando la regla 3 y por  la aplicación de la regla 4 se determina que tanto “propietario” como “mascota” son  clases y que poseen una relación de agregación entre ellas. En la <a href="#fig05">Figura  5</a> se puede apreciar el resultado de la aplicación de las reglas para estos dos  conceptos.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En el caso del     diagrama de comunicación, se identifican dos secuencias de  implicaciones independientes que generan dos diagramas diferentes de comunicación  utilizando la regla 9. En efecto, el conjunto de relaciones dinámicas “pide” y “asigna”,  ambas correspondientes al concepto “cita”, constituyen el primer diagrama de  comunicación, en tanto que “cumple cita”, “revisa mascota”, “registra diagnóstico” y “receta  medicamento” constituyen el segundo diagrama. Nótese que los conceptos “diagnóstico” y “medicamento” pertenecen  ambos al concepto  “detalle”, lo que genera una variación de la regla 9 en la cual los mensajes  se asignan a la clase de la cual otros conceptos son atributos. Los diagramas  correspondientes se pueden visualizar en la <a href="#fig06">Figura 6</a>.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Un fenómeno similar ocurre en el diagrama de máquina de estados, en el cual  los estados  “registrado” y “recetado” provienen de elementos que fueron identificados en  un ciclo anterior como atributos de la clase “detalle”, lo cual constituye  una variación a la aplicación de la regla 12. Los diagramas completos se pueden  apreciar en la <a href="#fig07">Figura 7</a>.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Nótese adicionalmente que los diagramas resultantes son consistentes entre  sí; por ejemplo, las clases de los objetos del diagrama de comunicación existen  como clases en el diagrama de clases y los estados del diagrama de máquina  de estados tienen su correspondencia en los mensajes del diagrama de comunicación.  Otras reglas de consistencia entre los tres diagramas también se cumplen de  manera automática, sin que el analista deba preocuparse por ello.</font></p>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>6. CONCLUSIONES</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Siguiendo la tendencia     hacia la obtención automática de diagramas UML, se  ha presentado en este artículo un ambiente que persigue este fin empleando  el lenguaje UN-Lencep, los Esquemas Preconceptuales y un conjunto de reglas  heurísticas para realizar la transformación a tres diagramas específicos de  UML 2.0 (Clases, Comunicación y Transición de Estados). Dichos diagramas se  obtienen en una versión muy preliminar, lejos de las especificaciones detalladas  del diseño, pero con sus principales primitivas conceptuales.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El ambiente se     integró en la herramienta CASE UNC-Diagramador, que actualmente  está en desarrollo en la Escuela de Sistemas de la Universidad Nacional, sede  Medellín. Igualmente, se ejemplificó la herramienta con un caso de estudio  correspondiente a una clínica veterinaria.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Mediante este     ambiente, conjuntamente con la herramienta UNC-Diagramador que lo materializa,     es posible demostrar la hipótesis planteada en la Sección 2.  En este caso, el lenguaje controlado es el UN-Lencep y los tres diagramas resultantes  representan los elementos correspondientes a los tres tipos mencionados de  UML (estructura, comportamiento e interacción). Las reglas heurísticas presentadas  en este artículo son un subconjunto de la totalidad de las reglas presentes  en el UNC-Diagramador. El Esquema Preconceptual definido se emplea como punto  de partida para las reglas de traducción a los diagramas de UML y como una  manera de validar y corregir la información que se especifica en UN-Lencep.  De esta manera, el UN-Lencep posibilita a los interesados la comunicación con  los analistas en un lenguaje no técnico y a los analistas les permite expresar  los modelos en términos entendibles por los interesados. La ganancia total  de ambos es la agilización del proceso de desarrollo, al facilitar sus procesos  de comunicación en un lenguaje que, aunque sencillo, permite una gran parte  de la expresividad de los diagramas de UML de manera entendible para los interesados.</font></p>     ]]></body>
<body><![CDATA[<p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>7. TRABAJO FUTURO</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Existen algunas     líneas de interés que pueden dar continuidad  al presente trabajo, entre las que se cuentan:</font></p> <ul>    <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La definición de reglas heurísticas que permitan     la identificación de nuevos elementos de los diagramas descritos, tales como     las multiplicidades de las clases en el diagrama de clases o las acciones “on     entry” al interior de un estado del diagrama de transición de estados.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La definición de reglas heurísticas que posibiliten     la conversión del Esquema Preconceptual a otros diagramas UML (tiempos, secuencias,     casos de uso, etc.).</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El enriquecimiento       sintáctico de los Esquemas Preconceptuales     con nuevos elementos que permitan la representación de otros tipos de palabras,     tales como adjetivos y adverbios; estas palabras podrían incrementar la gama     de los discursos representables mediante los Esquemas Preconceptuales. En esta     línea de trabajo también se podrían considerar otros tipos de verbos diferentes     a los ya considerados (estructurales y dinámicos), tales como los verbos de     logro, que podrían dar la idea de objetivos.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La definición de reglas heurísticas que posibiliten     la obtención automática de los Esquemas Preconceptuales a partir del discurso     en lenguaje natural. Sería particularmente importante el análisis de documentación     de tipo técnico suministrada por los interesados en el desarrollo de una     pieza de software, como por ejemplo reglamentos, manuales de funciones u     otros.</font></li>     </ul>     <p>&nbsp;</p>      <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>8. AGRADECIMIENTOS </b></font></p>      ]]></body>
<body><![CDATA[<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 Automática 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> ZAPATA,   C. M. Y ARANGO, F. 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 Universidad EAFIT, Vol. 41, No. 137, 77–95,   2005.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000166&pid=S0012-7353200700030002500001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[2]</b> OMG: Object Management Group. OMG Unified Modeling Language Specification. Available: <a href="http://www.omg.org/UML/" target="ventana">http://www.omg.org/UML/</a>. [Citado 20 de Septiembre de 2006].    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000167&pid=S0012-7353200700030002500002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[3]</b> PRESSMAN, R. Ingeniería del Software: Un enfoque práctico, McGraw–Hill,   Madrid, 2002.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000168&pid=S0012-7353200700030002500003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[4]</b> OVERMYER, S.P., LAVOIE, B., AND RAMBOW, O. Conceptual modeling through linguistic analysis using LIDA. Proceedings of ICSE, Toronto, Canada , May 2001.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000169&pid=S0012-7353200700030002500004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[5]</b> BUCHHOLZ, E. AND DÜSTERHÖFT, A. Using Natural Language for Database Design. Proceedings of Deutsche Jahrestagung für Künstliche Intelligenz, Saarbrücken,   Germany, September 1994.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000170&pid=S0012-7353200700030002500005&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[6]</b> CYRE, W. A requirements sublanguage for automated analysis, International   Journal of Intelligent Systems, Vol. 10, No. 7, 665–689, 1995.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000171&pid=S0012-7353200700030002500006&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[7]</b> MICH L. NL-OOPS: From Natural Natural Language to Object Oriented   Requirements using the Natural Language Processing System LOLITA, Journal of   Natural Language Engineering, Cambridge University Press, Vol. 2, No. 2, 161–187,   1996.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000172&pid=S0012-7353200700030002500007&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[8]</b> HARMAIN, H. Y GAIZAUSKAS, R. CM-Builder: An Automated NL-based CASE   Tool. Proceedings of the fifteenth IEEE International Conference on Automated   Software Engineering (ASE’00), Grenoble, France , 2000.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000173&pid=S0012-7353200700030002500008&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[9]</b> FLIEDL, G., KOP, CH., MAYR, H., MAYERTHALER, W. Y WINKLER, CH. Linguistically   Based Requirements Engineering—The NIBA Project. Proceedings 4th Int. Conference NLDB'99 Applications of Natural Language to Information Systems, Klagenfurt, Austria, 177–182,   June 1999.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000174&pid=S0012-7353200700030002500009&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[10]</b> CHEN, P. P. The Entity–Relationship Model: Toward a Unified View of Data, ACM Transactions on DataBase Systems, Vol. 1, No. 1, 9–36,   1976.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000175&pid=S0012-7353200700030002500010&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[11]</b> CHEN, P. P. English Sentence Structure and Entity–Relationship Diagrams, Information Science, No. 29, Vol. 2, 127–149,   1983.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000176&pid=S0012-7353200700030002500011&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[12]</b> COAD, P. AND YOURDON, E. Object-Oriented Analysis, Yourdon Press, New Jersey, 1990.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000177&pid=S0012-7353200700030002500012&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[13]</b> HEIDEGGER. M. Protokoll zu einem Seminar über den Vortrag "Zeit und Sein". Zur Sache des Denkens, Tübingen,   Germany , 1976.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000178&pid=S0012-7353200700030002500013&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[14]</b> PIAGET, J. The origins of intelligence in children (2nd ed.), International Universities Press, New York, 1952.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000179&pid=S0012-7353200700030002500014&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[15]</b> JARAMILLO, A. F., ZAPATA, C. M. Y ARANGO, F. Una propuesta para   el Reconocimiento Semiautomático de Operaciones utilizando un enfoque lingüístico, Revista Ingeniería Universidad de Antioquia, No. 34, 42–51,   2005.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000180&pid=S0012-7353200700030002500015&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[16]</b> ZAPATA, C. M., ARANGO, F., AND GELBUKH, A. Pre-conceptual Schema:   a UML Isomorphism for Automatically Obtaining UML Conceptual Schemas, Research   in Computing Science: Advances in Computer Science and Engineering, Volume   19, 3–14, 2006.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000181&pid=S0012-7353200700030002500016&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[17]</b> ZAPATA, C. M., GELBUKH, A. Y ARANGO, F. UN-Lencep: Obtención Automática de Diagramas UML a partir de un Lenguaje Controlado, Taller de Tecnologías del Lenguaje, Encuentro Nacional de Computación ENC06, México,   2006.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000182&pid=S0012-7353200700030002500017&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>[18]</b> FOWLER, M. UML Distilled: A brief guide to the Standard Object Modeling Language Addison–Wesley, Reading, 2004. </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=000183&pid=S0012-7353200700030002500018&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="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[ZAPATA]]></surname>
<given-names><![CDATA[C. M.]]></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]]></article-title>
<source><![CDATA[Revista Universidad 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="B2">
<label>2</label><nlm-citation citation-type="">
<collab>Object Management Group</collab>
<source><![CDATA[OMG Unified Modeling Language Specification]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[PRESSMAN]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
</person-group>
<source><![CDATA[Ingeniería del Software: Un enfoque práctico]]></source>
<year>2002</year>
<publisher-loc><![CDATA[Madrid ]]></publisher-loc>
<publisher-name><![CDATA[McGraw-Hill]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[OVERMYER]]></surname>
<given-names><![CDATA[S.P.]]></given-names>
</name>
<name>
<surname><![CDATA[LAVOIE]]></surname>
<given-names><![CDATA[B.]]></given-names>
</name>
<name>
<surname><![CDATA[RAMBOW]]></surname>
<given-names><![CDATA[O.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Conceptual modeling through linguistic analysis using LIDA]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ Proceedings of ICSE]]></conf-name>
<conf-date>May 2001</conf-date>
<conf-loc>Toronto </conf-loc>
</nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[BUCHHOLZ]]></surname>
<given-names><![CDATA[E.]]></given-names>
</name>
<name>
<surname><![CDATA[DÜSTERHÖFT]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Using Natural Language for Database Design]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ Proceedings of Deutsche Jahrestagung für Künstliche Intelligenz]]></conf-name>
<conf-date>September 1994</conf-date>
<conf-loc>Saarbrücken </conf-loc>
</nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[CYRE]]></surname>
<given-names><![CDATA[W. A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[requirements sublanguage for automated analysis]]></article-title>
<source><![CDATA[International Journal of Intelligent Systems]]></source>
<year>1995</year>
<volume>10</volume>
<numero>7</numero>
<issue>7</issue>
<page-range>665-689</page-range></nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[MICH]]></surname>
<given-names><![CDATA[L.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[NL-OOPS: From Natural Natural Language to Object Oriented Requirements using the Natural Language Processing System LOLITA]]></article-title>
<source><![CDATA[Journal of Natural Language Engineering]]></source>
<year>1996</year>
<volume>2</volume>
<numero>2</numero>
<issue>2</issue>
<page-range>161-187</page-range><publisher-name><![CDATA[Cambridge University Press]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[HARMAIN]]></surname>
<given-names><![CDATA[H.]]></given-names>
</name>
<name>
<surname><![CDATA[GAIZAUSKAS]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[CM-Builder: An Automated NL-based CASE Tool]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ Proceedings of the fifteenth IEEE International Conference on Automated Software Engineering]]></conf-name>
<conf-date>2000</conf-date>
<conf-loc>Grenoble </conf-loc>
</nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[FLIEDL]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
<name>
<surname><![CDATA[KOP]]></surname>
<given-names><![CDATA[CH.]]></given-names>
</name>
<name>
<surname><![CDATA[MAYR]]></surname>
<given-names><![CDATA[H.]]></given-names>
</name>
<name>
<surname><![CDATA[MAYERTHALER]]></surname>
<given-names><![CDATA[W.]]></given-names>
</name>
<name>
<surname><![CDATA[WINKLER]]></surname>
<given-names><![CDATA[CH.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Linguistically Based Requirements Engineering-The NIBA Project]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ Proceedings 4th Int. Conference NLDB'99 Applications of Natural Language to Information Systems]]></conf-name>
<conf-date>June 1999</conf-date>
<conf-loc>Klagenfurt </conf-loc>
</nlm-citation>
</ref>
<ref id="B10">
<label>10</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[CHEN]]></surname>
<given-names><![CDATA[P. P.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[The Entity-Relationship Model: Toward a Unified View of Data]]></article-title>
<source><![CDATA[ACM Transactions on DataBase Systems]]></source>
<year></year>
<volume>1</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>9-36</page-range></nlm-citation>
</ref>
<ref id="B11">
<label>11</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[CHEN]]></surname>
<given-names><![CDATA[P. P.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[English Sentence Structure and Entity-Relationship Diagrams]]></article-title>
<source><![CDATA[Information Science]]></source>
<year>1983</year>
<volume>2</volume>
<numero>29</numero>
<issue>29</issue>
<page-range>127-149</page-range></nlm-citation>
</ref>
<ref id="B12">
<label>12</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[COAD]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
<name>
<surname><![CDATA[YOURDON]]></surname>
<given-names><![CDATA[E.]]></given-names>
</name>
</person-group>
<source><![CDATA[Object-Oriented Analysis]]></source>
<year>1990</year>
<publisher-loc><![CDATA[New Jersey ]]></publisher-loc>
<publisher-name><![CDATA[Yourdon Press]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B13">
<label>13</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[HEIDEGGER]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Protokoll zu einem Seminar über den Vortrag "Zeit und Sein"]]></article-title>
<source><![CDATA[]]></source>
<year>1976</year>
</nlm-citation>
</ref>
<ref id="B14">
<label>14</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[PIAGET]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
</person-group>
<source><![CDATA[The origins of intelligence in children]]></source>
<year>1952</year>
<edition>2</edition>
<publisher-loc><![CDATA[New York ]]></publisher-loc>
<publisher-name><![CDATA[International Universities Press]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B15">
<label>15</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[JARAMILLO]]></surname>
<given-names><![CDATA[A. F.]]></given-names>
</name>
<name>
<surname><![CDATA[ZAPATA]]></surname>
<given-names><![CDATA[C. M.]]></given-names>
</name>
<name>
<surname><![CDATA[ARANGO]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
</person-group>
<article-title xml:lang="es"><![CDATA[Una propuesta para el Reconocimiento Semiautomático de Operaciones utilizando un enfoque lingüístico]]></article-title>
<source><![CDATA[Revista Ingeniería Universidad de Antioquia]]></source>
<year>2005</year>
<numero>34</numero>
<issue>34</issue>
<page-range>42-51</page-range></nlm-citation>
</ref>
<ref id="B16">
<label>16</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[ZAPATA]]></surname>
<given-names><![CDATA[C. M.]]></given-names>
</name>
<name>
<surname><![CDATA[ARANGO]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
<name>
<surname><![CDATA[GELBUKH]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Pre-conceptual Schema: a UML Isomorphism for Automatically Obtaining UML Conceptual Schemas, Research in Computing Science]]></article-title>
<source><![CDATA[Advances in Computer Science and Engineering]]></source>
<year>2006</year>
<volume>19</volume>
<page-range>3-14</page-range></nlm-citation>
</ref>
<ref id="B17">
<label>17</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[ZAPATA]]></surname>
<given-names><![CDATA[C. M.]]></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></year>
<conf-name><![CDATA[ Encuentro Nacional de Computación ENC06]]></conf-name>
<conf-date>2006</conf-date>
<conf-loc> </conf-loc>
</nlm-citation>
</ref>
<ref id="B18">
<label>18</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[FOWLER]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[UML Distilled: A brief guide to the Standard Object Modeling Language Addison-Wesley]]></article-title>
<source><![CDATA[]]></source>
<year>2004</year>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
