<?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>1692-3324</journal-id>
<journal-title><![CDATA[Revista Ingenierías Universidad de Medellín]]></journal-title>
<abbrev-journal-title><![CDATA[Rev. ing. univ. Medellin]]></abbrev-journal-title>
<issn>1692-3324</issn>
<publisher>
<publisher-name><![CDATA[Universidad de Medellín]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S1692-33242006000200010</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Reglas de conversión entre el diagrama de clases y los grafos conceptuales de Sowa]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Zapata]]></surname>
<given-names><![CDATA[Carlos Mario]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Estrada]]></surname>
<given-names><![CDATA[Betsy María]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[González]]></surname>
<given-names><![CDATA[Guillermo]]></given-names>
</name>
<xref ref-type="aff" rid="A03"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad Nacional de Colombia. Sede Medellín Escuela de Sistemas ]]></institution>
<addr-line><![CDATA[Medellín ]]></addr-line>
</aff>
<aff id="A02">
<institution><![CDATA[,Universidad Nacional de Colombia. Sede Medellín  ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<aff id="A03">
<institution><![CDATA[,Universidad Nacional de Colombia. Sede Medellín  ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>07</month>
<year>2006</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>07</month>
<year>2006</year>
</pub-date>
<volume>5</volume>
<numero>9</numero>
<fpage>111</fpage>
<lpage>122</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_arttext&amp;pid=S1692-33242006000200010&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_abstract&amp;pid=S1692-33242006000200010&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_pdf&amp;pid=S1692-33242006000200010&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[La conversión entre modelos de un nivel de abstracción inferior a otro de nivel de abstracción superior facilita la comunicación entre los involucrados en un proceso de desarrollo de software. Los grafos conceptuales son diagramas que presentan la información modelada de una manera semiformal, y pueden llegar a ser comprensibles tanto por el humano como por el computador. El diagrama de clases, en cambio, presenta las clases, atributos, operaciones y relaciones principales de un sistema en un lenguaje propio de los expertos en modelamiento de productos de software. En este artículo se propone un conjunto de reglas de conversión para traducir el diagrama de clases (más detallado y, en consecuencia, de bajo nivel de abstracción) en una forma más comprensible al interesado (y de más alto nivel de abstracción) como lo son los grafos conceptuales de Sowa.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[The conversion from lower-level abstraction models to upper-level abstraction models encourages communication between the parts of the software development process. Conceptual graphs are diagrams for presentation of the modeled information in a semi-formal way, and they can be understandable both for human and computer. Class diagram, in contrast, presents the systems classes, attributes, operations and main relations in an expert language for software product modelers. In this paper, we propose a set of conversion rules for translating class diagram (a more detailed, low-level abstraction model) into a one more understandable form for stakeholders (an upper-level abstraction model) based on Sowa's Conceptual Graphs]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[reglas de conversión]]></kwd>
<kwd lng="es"><![CDATA[grafos conceptuales de Sowa]]></kwd>
<kwd lng="es"><![CDATA[diagrama de clases]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <FONT SIZE="2" FACE="Verdana">     <P ALIGN="CENTER"><B><FONT SIZE="4">Reglas de conversi&oacute;n entre el diagrama       de clases y los grafos conceptuales de Sowa<sup><A HREF="#1a">1</A><A NAME="1"></A></sup></FONT></B></P>     <P ALIGN="CENTER">&nbsp;</P>     <P ALIGN="CENTER">&nbsp;</P>     <P> Carlos Mario Zapata*; Betsy Mar&iacute;a Estrada**; Guillermo Gonz&aacute;lez***</P>     <P>* Ph. D. (c) en Ingenier&iacute;a. Grupo UN-INFO. Profesor asistente de la   Escuela de Sistemas. Universidad Nacional de   Colombia. Sede Medell&iacute;n.Calle 80 # 65-223 Bloque M8-112. Tel: 4255374.   e-mail: <A HREF="mailto:cmzapata@unalmed.edu.co">cmzapata@unalmed.edu.co</A>    <BR>   **   Ingeniera de sistemas e inform&aacute;tica. Calle 80 # 65-223 Bloque M8-118.   Tel: 4255376. E-mail: <A HREF="mailto:bmestrad@unalmed.edu.co">bmestrad@unalmed.edu.co</A>    <BR>   ***   Ingeniero de sistemas e inform&aacute;tica. Calle 80 # 65-223 Bloque M8-105. Tel: 4255350. E-mail: <A HREF="mailto:ggonzal@unalmed.edu.co">ggonzal@unalmed.edu.co</A> </P>     <P>&nbsp;</P>     <P>&nbsp; </P> <hr size="1" noshade>     ]]></body>
<body><![CDATA[<P><B><FONT SIZE="2" FACE="Verdana"></font>RESUMEN</B></P>     <P> La conversi&oacute;n entre modelos de un nivel de abstracci&oacute;n inferior   a otro de nivel de abstracci&oacute;n superior   facilita la comunicaci&oacute;n entre los involucrados en un proceso de desarrollo   de software. Los grafos conceptuales   son diagramas que presentan la informaci&oacute;n modelada de una manera semiformal,   y pueden   llegar a ser comprensibles tanto por el humano como por el computador. El diagrama   de clases, en cambio,   presenta las clases, atributos, operaciones y relaciones principales de un sistema   en un lenguaje propio   de los expertos en modelamiento de productos de software. En este art&iacute;culo   se propone un conjunto de   reglas de conversi&oacute;n para traducir el diagrama de clases (m&aacute;s   detallado y, en consecuencia, de bajo nivel   de abstracci&oacute;n) en una forma m&aacute;s comprensible al interesado (y   de m&aacute;s alto nivel de abstracci&oacute;n) como   lo son los grafos conceptuales de Sowa.</P>     <P> <B>Palabras clave: </B>reglas de conversi&oacute;n, grafos conceptuales de Sowa, diagrama   de clases.</P> <hr size="1" noshade>     <P><B><FONT SIZE="2" FACE="Verdana"></font>ABSTRACT</B></P>     <P> The conversion from lower-level abstraction models to upper-level abstraction   models encourages communication   between the parts of the software development process. Conceptual graphs are   diagrams for   presentation of the modeled information in a semi-formal way, and they can   be understandable both   for human and computer. Class diagram, in contrast, presents the systems classes,   attributes, operations   and main relations in an expert language for software product modelers. In   this paper, we propose a   set of conversion rules for translating class diagram (a more detailed, low-level   abstraction model) into   a one more understandable form for stakeholders (an upper-level abstraction   model) based on Sowa's   Conceptual Graphs.</P> <hr size="1" noshade>     <P><FONT SIZE="2" FACE="Verdana"></font></P>     <P>&nbsp;</P>     <P><B><FONT SIZE="3">INTRODUCCI&Oacute;N</FONT></B></P>     <P> Durante la fase de definici&oacute;n del proceso de desarrollo   de un producto de software, los interesados   y los analistas necesitan estar en constante comunicaci&oacute;n   para realizar una abstracci&oacute;n correcta   del sistema modelado, reflejada en los esquemas   conceptuales elaborados en las fases siguientes.   La mayor&iacute;a de las veces esa comunicaci&oacute;n se ve   empa&ntilde;ada por la diferencia de conocimiento   entre las partes, dando como resultado esquemas   conceptuales incompletos o incorrectos respecto   del dominio del problema en cuesti&oacute;n (Zapata y   Arango, 2005).</P>     <P> La validaci&oacute;n, por parte del interesado, de los   modelos conceptuales es una forma de capturar   la informaci&oacute;n incompleta y corregir la informaci&oacute;n   incorrecta, para posteriormente realizar el   refinamiento de diagramas y disminuir tanto las   probabilidades de desbordamientos de costos y   tiempos de entrega como tambi&eacute;n las de p&eacute;rdidas   de requisitos. Para que los procesos de validaci&oacute;n   y refinamiento tengan buenos resultados es   necesario que el interesado entienda la sintaxis   de los diagramas que va a validar. El diagrama   de clases, por ejemplo, no posee una sintaxis de   f&aacute;cil comprensi&oacute;n para personas que no est&eacute;n   relacionadas con el an&aacute;lisis y dise&ntilde;o de productos   de software.</P>     ]]></body>
<body><![CDATA[<P> La principal ventaja que ofrecen los grafos conceptuales   en comparaci&oacute;n con otros esquemas   conceptuales generados en el proceso de desarrollo   de un producto de software es la posibilidad de   representar la informaci&oacute;n del dominio de un   problema de forma precisa, comprensible por los   interesados y manejable computacionalmente   (Sowa, 1984). Esta ventaja hace que, en algunos   casos, por ejemplo en el refinamiento de modelos   de datos, se deba recurrir a una conversi&oacute;n de   esquemas de nivel de abstracci&oacute;n inferior a diagramas   m&aacute;s amigables al interesado, como lo son   los grafos conceptuales. Por lo anterior, se puede   considerar que los grafos conceptuales constituyen   un punto intermedio entre los esquemas en   un formalismo poco entendido por el humano y   muy comprensible por la m&aacute;quina (de bajo nivel   de abstracci&oacute;n) y los lenguajes naturales (de alto   nivel de abstracci&oacute;n).</P>     <P> Los grafos conceptuales, adem&aacute;s de poseer una   sintaxis gr&aacute;fica, entendible por los interesados,   pueden representarse en una notaci&oacute;n basada en   caracteres (forma lineal, de intercambio de grafos   conceptuales y de intercambio de conocimiento,   Sowa, 1984), que tambi&eacute;n puede ser comprensible   por la m&aacute;quina, aunque de manera diferente a   como se entiende el diagrama de clases, por ejemplo.   Las bondades de los grafos conceptuales han   sido explotadas en &aacute;reas tales como: recuperaci&oacute;n   de informaci&oacute;n, dise&ntilde;o de bases de datos, procesamiento   de lenguaje natural y sistemas expertos,   entre otras.</P>     <P> El objetivo de este art&iacute;culo es proponer una serie   de reglas para permitir la conversi&oacute;n de un diagrama   de clases dado en sus respectivos grafos conceptuales.   Algunos autores realizan este proceso con   fines de integraci&oacute;n de esquemas (Creasy y Ellis,   1993), traducci&oacute;n autom&aacute;tica (Snook y Butler,   2001), elaboraci&oacute;n de esquemas conceptuales a   partir de lenguaje natural (Coad y Yourdon, 1990),   (Chen, 1983) y dem&aacute;s aplicaciones que requieran   la informaci&oacute;n de los esquemas conceptuales en   una representaci&oacute;n m&aacute;s abstracta pero entendible   computacionalmente.</P>     <P>&nbsp;</P>     <P> <B><FONT SIZE="3">DESCRIPCI&Oacute;N DE LOS GRAFOS   CONCEPTUALES Y DEL DIAGRAMA DE CLASES DE UML </FONT></B>  </P>     <P>Los grafos conceptuales son diagramas que modelan   los conceptos y relaciones conceptuales de   un sistema, son de f&aacute;cil entendimiento para el   interesado, y permiten un manejo computacional.   La notaci&oacute;n gr&aacute;fica de los grafos conceptuales representa   los conceptos identificados en el dominio   del problema de un sistema a trav&eacute;s de rect&aacute;ngulos;   las relaciones conceptuales por medio de c&iacute;rculos   u &oacute;valos y los enlaces establecidos entre conceptos y relaciones conceptuales   se dibujan como flechas.   (V&eacute;ase <A HREF="#fig1">Figura 1</A>).</P>     <P ALIGN="CENTER"><IMG SRC="/img/revistas/rium/v5n9/v5n9a10fig01.JPG" WIDTH="297" HEIGHT="131"><A NAME="fig1"></A></P>     <P> <B>Figura 1.</B> Forma gr&aacute;fica del grafo conceptual para la   oraci&oacute;n: John va a Boston en bus. (Tomada de Sowa,   1984)</P>     <P> La forma gr&aacute;fica de los grafos conceptuales tiene   equivalencias en formatos legibles por m&aacute;quina, tales   como el CGIF (Conceptual Graph Interchange Format)   y el KIF (Knowledge Interchange Format), los   cuales contribuyen a darle utilidad computacional   a estos grafos, puesto que existen herramientas actualmente   que permiten obtener estas equivalencias   desde editores de dichos grafos (Sowa, 1984).</P>     <P> A mediados de la d&eacute;cada de los noventa, surgi&oacute; el   Unified Modeling Language (Lenguaje Unificado   de Modelamiento o UML), como uno de los principales   est&aacute;ndares para el desarrollo de software.   El diagrama de clases de UML muestra los objetos   relevantes del dominio del problema de un sistema   espec&iacute;fico y los agrupa en clases (Object Management   Group, 2003). Para ello identifica en cada   objeto los atributos que le pertenecen, las operaciones   que se pueden realizar con &eacute;l y sus relaciones   con otros objetos (asociaciones, generalizaciones,   dependencias, agregaciones y composiciones) con   sus cardinalidades y el rol que desempe&ntilde;a en cada   relaci&oacute;n. Desde sus inicios, el diagrama de clases   ha permitido el modelamiento de los conceptos   del dominio de un problema determinado, pero   en una notaci&oacute;n que est&aacute; dirigida a analistas entrenados   en su uso, constituy&eacute;ndose en un diagrama   cuyo nivel de abstracci&oacute;n es bajo. La simbolog&iacute;a   b&aacute;sica del diagrama de clases de UML se muestra   en la <A HREF="#fig2">figura 2</A>.</P>     ]]></body>
<body><![CDATA[<P ALIGN="CENTER"><IMG SRC="/img/revistas/rium/v5n9/v5n9a10fig02.JPG" WIDTH="554" HEIGHT="256"><A NAME="fig2"></A></P>     <P><B>Figura 2</B>. Simbolog&iacute;a del diagrama de clases de UML</P>     <P>En la especificaci&oacute;n del diagrama de clases de   UML (Object Management Group, 2003) se describen   cada uno de los elementos del diagrama   de clases, los elementos con los cuales es posible   su relaci&oacute;n, su notaci&oacute;n y sus representaciones opcionales.</P>     <P> En la siguiente secci&oacute;n se realiza un an&aacute;lisis   cr&iacute;tico de algunos trabajos realizados para establecer   conversiones entre esquemas conceptuales   generados en el proceso de dise&ntilde;o de sistemas   inform&aacute;ticos.</P>     <P>&nbsp;</P>     <P> <FONT SIZE="3"><B>ANTECEDENTES</B></FONT></P>     <P> Entre los principales trabajos realizados para lograr   conversi&oacute;n entre modelos conceptuales se pueden   mencionar:</P>     <P> Snook y Butler (2001) proponen una adaptaci&oacute;n   de una notaci&oacute;n de dise&ntilde;o gr&aacute;fica (UML) para   la especificaci&oacute;n formal y la construcci&oacute;n de una   herramienta de traducci&oacute;n autom&aacute;tica, agregando   detalles sem&aacute;nticos y definiendo el significado   de cada elemento del diagrama. Implementan,   adem&aacute;s, un prototipo para trasladar las caracter&iacute;sticas   diagram&aacute;ticas de UML al lenguaje B (Abrial,   1996). B es un lenguaje de especificaci&oacute;n formal,   y el objetivo de este trabajo es utilizar algunas de   las caracter&iacute;sticas de los diagramas de clases para   realizar especificaciones formales de forma f&aacute;cil.   Las restricciones de los componentes del diagrama   de clases son descritas en una forma restringida   de la notaci&oacute;n del lenguaje B. Esta traducci&oacute;n no   agrega informaci&oacute;n a la especificaci&oacute;n de diagramas   en UML, sino que proporciona una forma   textual alternativa. La iniciativa de agregar detalles   sem&aacute;nticos a los modelos conceptuales puede   conducir a una forma de encontrar deficiencias   en tal diagrama y realizar refinamientos al modelo.   La conversi&oacute;n que se plantea en Snook y Butler   (2001) no contribuye a mejorar la comprensi&oacute;n   del diagrama de clases por parte del interesado;   esto se produce porque una especificaci&oacute;n en un   lenguaje formal como B requiere de un entrenamiento   mucho mayor para su comprensi&oacute;n,   puesto que el nivel de abstracci&oacute;n de este lenguaje   es incluso mucho m&aacute;s bajo que el diagrama de   clases de UML.</P>     <P> La herramienta de conversi&oacute;n descrita en Timm y   Gannod (2005) fue creada para tomar una especificaci&oacute;n   UML y convertirla en una representaci&oacute;n   equivalente en OWL-S (que es un lenguaje enfocado   a agentes de software, creado para describir   conceptos y relaciones sem&aacute;nticas de servicios Web   usando ontolog&iacute;as). Para ello, utiliza XMI (un est&aacute;ndar   de comunicaci&oacute;n entre aplicaciones basado   en el lenguaje de marcado extendido XML) y sobre &eacute;   l aplica las transformaciones con un lenguaje   basado en este est&aacute;ndar. Estos autores buscan la   forma de generar un modelo de servicios OWL-S   tomando una representaci&oacute;n XML basada en un   diagrama de actividades de UML. El mecanismo   utilizado para validar qu&eacute; tan correcta es la conversi&oacute;n   realizada es la herramienta de especificaci&oacute;n   de ontolog&iacute;as Prot&eacute;g&eacute;. Este tipo de conversi&oacute;n   se   ocupa de la legibilidad por parte de la m&aacute;quina y   poco o nada contribuye a la legibilidad por parte   de seres humanos; adem&aacute;s, el nivel de abstracci&oacute;n   se conserva bajo, lo cual no permite la validaci&oacute;n   por parte de los interesados.</P>     <P> Creasy y Ellis (1993) presentan una herramienta   inform&aacute;tica (basada en grafos conceptuales) para   solucionar el problema de integraci&oacute;n de esquemas   conceptuales generados en el dise&ntilde;o de sistemas de   informaci&oacute;n complejos. Los lineamientos te&oacute;ricos   de esta propuesta est&aacute;n orientados al diagrama   entidad-relaci&oacute;n, no al diagrama de clases que es   completamente objetual y adem&aacute;s es reconocido   como el est&aacute;ndar aceptado por el OMG (Object Management   Group, 2003). Pese a trabajar con grafos   conceptuales, esta propuesta no eleva de manera   sustancial el nivel de abstracci&oacute;n, pues se limita a   elaborar una descripci&oacute;n del diagrama entidad-relaci&oacute;n   con la terminolog&iacute;a de este diagrama, la cual es   poco entendible para los interesados. Por otra parte,   esta metodolog&iacute;a no utiliza los roles sem&aacute;nticos para   especificar las relaciones entre los conceptos del dominio, haciendo m&aacute;s   compleja la traducci&oacute;n de   esquemas conceptuales a lenguaje natural.</P>     ]]></body>
<body><![CDATA[<P> Coad y Yourdon (1990) establecieron un m&eacute;todo   que parte del an&aacute;lisis del modelo verbal y a partir   de tal an&aacute;lisis identifican los principales elementos   del diagrama de clases, diagrama principal en el modelamiento   y desarrollo de un producto de software   orientado por objetos. Esta metodolog&iacute;a identifica   los principales sustantivos presentes en el modelo   verbal, informaci&oacute;n valiosa para la detecci&oacute;n de las '   clases' y 'objetos' del modelo, y los principales verbos,   que pueden suministrar informaci&oacute;n sobre las   relaciones entre las diferentes entidades del modelo.   Esta conversi&oacute;n parte de un modelo m&aacute;s comprensible   por el interesado hacia uno de notaci&oacute;n m&aacute;s   elaborada y compleja, que es un proceso inverso   al planteado en este art&iacute;culo. Como la entrada de   esta conversi&oacute;n es el lenguaje natural, es necesario   llevar a cabo procesos de desambiguaci&oacute;n antes de   generar el diagrama de salida. En esta misma l&iacute;nea   de trabajo, Harmain y Gaizauskas (2000) proponen   el CM-Builder, una herramienta CASE para   la obtenci&oacute;n del diagrama de clases a partir de las   especificaciones de requisitos en lenguaje natural.   En este caso, dada la existencia de un diagrama de   clases, no es posible realizar el proceso contrario,   con el fin de realizar una validaci&oacute;n del mismo por   parte del interesado.</P>     <P> NL-OOPS (Natural Language Object &#8211; Oriented   Product System), es un sistema propuesto por Mich   (1996) e incorpora un sistema de procesamiento del   lenguaje natural denominado LOLITA (Large-scale   Object-based Language Interactor, Translator and   Analyser). LOLITA contiene un conjunto de funciones   para el an&aacute;lisis del lenguaje natural y a trav&eacute;s de   este an&aacute;lisis detecta ambig&uuml;edades en el texto. Como   resultado final NL-OOPS entrega, en una estructura   de &aacute;rbol, un conjunto de las clases candidatas y sus   posibles instancias, atributos y m&eacute;todos (Mich y   Garigliano, 2002). Esta soluci&oacute;n es s&oacute;lo una contribuci&oacute;n   a la complementaci&oacute;n del diagrama de clases,   ya que no posee la representaci&oacute;n de las relaciones   entre las clases del modelo convertido.</P>     <P> Fliedl (1999, 1999a, 2002, 2002a y 2003) acompa&ntilde;ado   de un grupo de ingenieros de sistemas (Kop   y Mayr, 2002), (Mayr y Kop, 2002) desarrollaron   el KCPM (Klagenfurt Conceptual Predesing Model)   como parte del proyecto NIBA. El objetivo   del proyecto es facilitar el desarrollo de productos   de software a trav&eacute;s de la traducci&oacute;n autom&aacute;tica   del lenguaje natural a esquemas conceptuales.   Para lograr este objetivo cuenta con los siguientes   elementos:</P>     <P> &#8226;    Un analizador sint&aacute;ctico.</P>     <P> &#8226;    Un int&eacute;rprete sem&aacute;ntico basado en la teor&iacute;a   de roles Theta (Agente, Experimentador,   Tema, Meta, Fuente, Locaci&oacute;n) (Gruber,   1965), y en lineamientos te&oacute;ricos para determinar   las funciones de las palabras que   acompa&ntilde;an a un verbo (Fillmore, 1968).</P>     <P> &#8226;    Una herramienta KCPM para la traducci&oacute;n   y an&aacute;lisis (sint&aacute;ctico y sem&aacute;ntico) de oraciones.</P>     <P> &#8226;    Una herramienta para el c&aacute;lculo de puntos   de funci&oacute;n.</P>     <P> El proceso de conversi&oacute;n descrito en el proyecto   NIBA es completamente contrario al planteado en   este art&iacute;culo, ya que va de lenguaje natural a esquemas   conceptuales y requiere desambiguaci&oacute;n.   En la secci&oacute;n siguiente se generan las reglas de   transformaci&oacute;n entre diagramas de clases y grafos   conceptuales de Sowa, partiendo de las ventajas   y desventajas de las propuestas existentes y de los   aspectos comunes de los diagramas involucrados   en la conversi&oacute;n.</P>     <P>&nbsp;</P>     <P> <B><FONT SIZE="3">BREVE DESCRIPCI&Oacute;N DE LA   PROPUESTA</FONT></B></P>     ]]></body>
<body><![CDATA[<P> Los antecedentes analizados en la secci&oacute;n anterior   no suministran una soluci&oacute;n que posibilite a los   interesados lograr una comprensi&oacute;n del diagrama   de clases, que le permita definir si efectivamente ese diagrama representa   lo que est&aacute; tratando de   expresar. Sin embargo, en la mayor&iacute;a de esos trabajos   se emplean reglas de conversi&oacute;n para lograr   la transformaci&oacute;n de un modelo a otro.</P>     <P> Entre las limitaciones de los trabajos expuestos   en la secci&oacute;n anterior se pueden nombrar los   siguientes:</P>     <P> &#8226;    En la mayor&iacute;a de los casos la conversi&oacute;n se   presenta a partir de lenguaje natural, pero no   se establece qu&eacute; ocurre cuando el diagrama   de clases ya existe y se requiere que el interesado   realice una validaci&oacute;n del mismo. Esta   es una situaci&oacute;n t&iacute;pica durante la captura de   los requisitos.</P>     <P> &#8226;    En los casos en que se parte de diagramas   se llega a una especificaci&oacute;n formal o a un   diagrama de igual o incluso menor nivel de   abstracci&oacute;n que, por ende, requiere mayor   entrenamiento para el entendimiento humano.</P>     <P> Para aprovechar las bondades de las propuestas   existentes y dejar de lado las limitaciones expuestas,   en este art&iacute;culo se propone un m&eacute;todo para   realizar la conversi&oacute;n entre el diagrama de clases y   los grafos conceptuales de Sowa. Esta conversi&oacute;n se   realizar&aacute; directamente sobre el diagrama de clases   generado por el analista en la fase de an&aacute;lisis del   ciclo de vida de un producto de software. El objetivo   de esta conversi&oacute;n es encontrar una forma   de expresar una sintaxis tan compleja como lo es   el diagrama de clases de UML en una notaci&oacute;n   m&aacute;s comprensible por los interesados en la construcci&oacute;n   de un sistema inform&aacute;tico; con ello se   busca involucrar al interesado en la validaci&oacute;n   del diagrama de clases, especialmente tratando de   establecer si dicho diagrama realmente representa   de manera adecuada el dominio del problema que   se pretende solucionar con la pieza de software.</P>     <P> El primer paso para lograr la conversi&oacute;n ser&aacute;   encontrar las partes de ambos diagramas que expresan   aspectos comunes. Por ejemplo, las clases   del diagrama de clases muestran los principales   conceptos de un sistema inform&aacute;tico modelado al   igual que los conceptos de los grafos conceptuales.   De igual manera, las relaciones entre las clases de   un diagrama de clases suministran cierta informaci&oacute;n   para identificar las relaciones conceptuales de   los grafos de Sowa y los enlaces establecidos entre   conceptos y relaciones conceptuales.</P>     <P> Para llevar a cabo la conversi&oacute;n de diagramas se   definen los siguientes principios:</P>     <P> &#8226;    Toda clase, atributo y operaci&oacute;n del diagrama   de clases debe ser un concepto del grafo   conceptual de Sowa.</P>     <P> &#8226;    Las relaciones entre clases, atributos y operaciones   del diagrama de clases se pueden   expresar en t&eacute;rminos de otros conceptos y   los roles theta o casos sem&aacute;nticos del grafo   conceptual de Sowa (agente, experimentador,   locaci&oacute;n, destino, instrumento, etc.).   Adicionalmente, se definen las siguientes reglas   de transformaci&oacute;n del diagrama de clases a grafos   conceptuales de Sowa:</P>     <P> <B>Regla 1: clase-atributo</B></P>     ]]></body>
<body><![CDATA[<P>  Un atributo de una clase genera los siguientes   elementos en el grafo conceptual</P>     <P>&#8226; Un concepto dado por el nombre del atributo.</P>     <P> &#8226;    El concepto 'tener'.</P>     <P> &#8226; Un concepto dado por el nombre de la   clase.</P>     <P> &#8226;    Una relaci&oacute;n 'beneficiario' entre los   conceptos 'tener' y el nombre de la clase.</P>     <P> &#8226;    Una relaci&oacute;n 'tema' entre los conceptos '   tener' y el nombre del atributo.</P>     <P> Una frase que se puede extraer de la definici&oacute;n de   la clase cliente, que se aprecia en la <A HREF="#FIG3">figura 3</A> es: 'El   cliente es el beneficiario del concepto tener, cuyo tema es c&oacute;digo' o,   m&aacute;s concretamente, 'El cliente   tiene c&oacute;digo'. El grafo conceptual correspondiente   a esta frase se muestra en la <A HREF="#FIG4">figura 4</A>.</P>     <P ALIGN="CENTER"><IMG SRC="/img/revistas/rium/v5n9/v5n9a10fig03.JPG" WIDTH="90" HEIGHT="175"><A NAME="FIG3"></A></P>     <P> <B>Figura 3. </B>Definici&oacute;n de la clase cliente</P>     <P ALIGN="CENTER"><IMG SRC="/img/revistas/rium/v5n9/v5n9a10fig04.JPG" WIDTH="339" HEIGHT="212"> <A NAME="FIG4"></A></P>     ]]></body>
<body><![CDATA[<P> <B>Figura 4: </B>Grafo conceptual de la frase 'El   cliente tiene c&oacute;digo'</P>     <P><B>Regla 2: clase-operaci&oacute;n</B></P>     <P> Una operaci&oacute;n de una clase genera los siguientes   elementos en el grafo conceptual:</P>     <P> &#8226; Un concepto dado por el nombre de la clase.</P>     <P> &#8226;    Un concepto dado por el nombre de la operaci&oacute;n.</P>     <P> &#8226;    El concepto 'usuario', sugerido al interesado   para que interactivamente defina si ese concepto   existe o si tiene otro nombre.</P>     <P> &#8226;    Una relaci&oacute;n 'agente' entre los conceptos '   usuario' y el nombre de la operaci&oacute;n.</P>     <P> &#8226;    Una relaci&oacute;n 'tema' entre los conceptos   dados por el nombre de la operaci&oacute;n y el   nombre de la clase.</P>     <P> De la definici&oacute;n de la clase cliente del ejemplo anterior   se puede afirmar que 'el usuario es el agente   del concepto consultar, cuyo tema es el cliente', o   simplemente que 'el usuario consulta al cliente'. El grafo conceptual   para representar lo anterior   ser&iacute;a el que aparece en la <A HREF="#fig5">figura 5</A>.</P>     <P ALIGN="CENTER"><IMG SRC="/img/revistas/rium/v5n9/v5n9a10fig05.JPG" WIDTH="353" HEIGHT="229"><A NAME="fig5"></A></P>     ]]></body>
<body><![CDATA[<P><B>Figura 5. </B>Grafo conceptual de la frase 'El usuario consulta al cliente'</P>     <P> <B>Regla 3: clase-relaci&oacute;n-clase</B></P>     <P> Dos clases relacionadas como en el caso de la <A HREF="#fig6">Figura 6</A>, generan los siguientes elementos:</P>     <P> &#8226; Dos conceptos dados por el nombre de las   clases.</P>     <P> &#8226;    Un concepto dado por el nombre de la relaci&oacute;n.</P>     <P> &#8226;    Una relaci&oacute;n 'agente' entre el nombre de   la relaci&oacute;n y el nombre de la clase que tiene   cardinalidad 1.</P>     <P> &#8226;    Una relaci&oacute;n 'tema' entre el nombre de la   relaci&oacute;n y el nombre de la clase que tiene   cardinalidad *.</P>     <P ALIGN="CENTER"><IMG SRC="/img/revistas/rium/v5n9/v5n9a10fig06.JPG" WIDTH="327" HEIGHT="148"><A NAME="fig6"></A></P>     <P><B>Figura 6.</B> Relaci&oacute;n entre las clases cliente y pedido</P>     <P>El grafo conceptual correspondiente se muestra en   la <A HREF="#fig7">figura 7</A>. Es de notar que, si la relaci&oacute;n es 1 a 1,   entonces el sentido de la relaci&oacute;n definir&aacute; la relaci&oacute;n   conceptual de cada una de las clases. Si la relaci&oacute;n   es una agregaci&oacute;n o composici&oacute;n, como en la <A HREF="#fig8">figura 8</A>, entonces la clase de agregaci&oacute;n y la clase de composici&oacute;n no son agentes sino beneficiarios.</P>     ]]></body>
<body><![CDATA[<P ALIGN="CENTER"><IMG SRC="/img/revistas/rium/v5n9/v5n9a10fig07.JPG" WIDTH="320" HEIGHT="205"> <A NAME="fig7"></A></P>     <P> <B>Figura 7: </B>Grafo conceptual para la relaci&oacute;n   entre dos clases</P>     <P ALIGN="CENTER"><IMG SRC="/img/revistas/rium/v5n9/v5n9a10fig08.JPG" WIDTH="113" HEIGHT="376"><A NAME="fig8"></A></P>     <P> <B>Figura 8:</B> Relaci&oacute;n de agregaci&oacute;n entre dos clases</P>     <P> Seg&uacute;n la regla anterior, el grafo conceptual generado   para esta porci&oacute;n de diagrama de clases es el que aparece en la <A HREF="#fig9">figura 9</A>:</P>     <P ALIGN="CENTER"><IMG SRC="/img/revistas/rium/v5n9/v5n9a10fig09.JPG" WIDTH="327" HEIGHT="199"><A NAME="fig9"></A> </P>     <P> <B>Figura 9:</B> Grafo conceptual para la relaci&oacute;n de agregaci&oacute;n entre las clases pedido y art&iacute;culo</P>     <P> <B>Regla 4: Metarregla para correferencia</B></P>     <P>  En cada diagrama generado, los conceptos que se   hayan generado desde el mismo nombre de clase   se unen con una l&iacute;nea punteada que expresa la   correferencia en el grafo conceptual, es decir, la   forma de reconocer que este concepto es el mismo en dicho grafo.</P>     <P> En la siguiente secci&oacute;n se muestra la implementaci&oacute;n   de las reglas y se ejemplifica con un caso de estudio.</P>     ]]></body>
<body><![CDATA[<P>&nbsp;</P>     <P> <B><FONT SIZE="3">APLICACI&Oacute;N Y CASO DE ESTUDIO</FONT></B></P>     <P> Las reglas definidas en la secci&oacute;n anterior se implementaron   en el prototipo de una aplicaci&oacute;n con las siguientes caracter&iacute;sticas:</P>     <P> &#8226; La entrada al proceso es un diagrama de   clases elaborado en la herramienta CASE   ArgoUML, disponible en la p&aacute;gina <A HREF="http://argouml.tigris.org/" TARGET="_blank">http://argouml.tigris.org/</A>.   Para ingresar el diagrama en la aplicaci&oacute;n, se requiere el c&oacute;digo   XMI generado por el ArgoUML.</P>     <P> &#8226; Las reglas se programaron en XQuery, un   lenguaje de consulta que explora archivos en   XML y genera nuevos archivos en XML que   pueden ser le&iacute;dos por otras herramientas. Para   la programaci&oacute;n de dichas reglas se emple&oacute;   la herramienta XQEngine, disponible en la   p&aacute;gina <A HREF="http://xqengine.sourceforge.net/" TARGET="_blank">http://xqengine.sourceforge.net/</A>.</P>     <P>La salida del proceso es un archivo en formato   XML que se puede leer en la herramienta   Charger, disponible en la p&aacute;gina <A HREF="http://sourceforge.net/projects/charger/" TARGET="_blank">http://sourceforge.   net/projects/charger/</A>, la cual permite la edici&oacute;n de grafos conceptuales de Sowa.</P>     <P> Parte de la consulta en XQuery para la extracci&oacute;n   de los atributos de las clases (Regla 1) se muestra a   continuaci&oacute;n. Se suprimieron las partes del c&oacute;digo   que generan los elementos del XML en Charger,   para facilitar la legibilidad del mismo.</P>     <P ALIGN="CENTER"><IMG SRC="/img/revistas/rium/v5n9/v5n9a10fig10.JPG" WIDTH="514" HEIGHT="574"></P>     <P>En ambos casos, Foundation.Core.Class es la etiqueta   del c&oacute;digo XMI de ArgoUML que almacena la   informaci&oacute;n de la clase y es superior en jerarqu&iacute;a a   las dem&aacute;s etiquetas que comienzan con Foundation   y que se emplean para recopilar la informaci&oacute;n de atributos y operaciones.</P>     <P> Empleando esta aplicaci&oacute;n se ejemplifica la conversi&oacute;n   de un diagrama de clases correspondiente   a un sistema de pedidos de art&iacute;culos; se supone   que este diagrama fue generado por un analista   en la fase de an&aacute;lisis y su imagen en ArgoUML se   puede apreciar en la <A HREF="#fig10">figura 10</A>.</P>     ]]></body>
<body><![CDATA[<P ALIGN="CENTER"><IMG SRC="/img/revistas/rium/v5n9/v5n9a10fig11.JPG" WIDTH="339" HEIGHT="345"><A NAME="fig10"></A></P>     <P> <B>Figura 10. </B>Diagrama de clases</P>     <P> Ahora, cada clase, atributo, operaci&oacute;n y relaci&oacute;n   del diagrama de clases se representan como conceptos   del grafo conceptual, utilizando la relaci&oacute;n   conceptual apropiada (rol sem&aacute;ntico) dependiendo   de la regla aplicada, para terminar el proceso   de conversi&oacute;n con la uni&oacute;n de los conceptos del   grafo. A manera de ejemplo, v&eacute;anse las <A HREF="#fig11">figuras   11</A>  a <A HREF="#fig15">15</A>, generadas con el Charger a partir del archivo   en XMI del diagrama de clases de la <A HREF="#fig10">figura 10</A>.</P>     <P ALIGN="CENTER"><IMG SRC="/img/revistas/rium/v5n9/v5n9a10fig12.JPG" WIDTH="338" HEIGHT="236"><A NAME="fig11"></A></P>     <P> <B>Figura 11.</B> Informaci&oacute;n de atributos y   operaciones de la clase cliente</P>     <P ALIGN="CENTER"><IMG SRC="/img/revistas/rium/v5n9/v5n9a10fig13.JPG" WIDTH="334" HEIGHT="232"><A NAME="fig12"></A></P>     <P> <B>Figura 12. </B>Informaci&oacute;n de atributos y   operaciones de la clase pedido</P>     <P ALIGN="CENTER"><IMG SRC="/img/revistas/rium/v5n9/v5n9a10fig14.JPG" WIDTH="336" HEIGHT="218"><A NAME="fig13"></A></P>     <P> <B>Figura 13.</B> Informaci&oacute;n de atributos y operaciones de la clase forma de pago</P>     <P ALIGN="CENTER"><IMG SRC="/img/revistas/rium/v5n9/v5n9a10fig15.JPG" WIDTH="349" HEIGHT="231"><A NAME="fig14"></A></P>     ]]></body>
<body><![CDATA[<P><B>Figura 14. </B>Informaci&oacute;n de atributos y operaciones de la clase art&iacute;culo</P>     <P ALIGN="CENTER"><IMG SRC="/img/revistas/rium/v5n9/v5n9a10fig16.JPG" WIDTH="342" HEIGHT="162"><A NAME="fig15"></A></P>     <P> <B>Figura 15. </B>Informaci&oacute;n de las relaciones entre las   clases</P>     <P> N&oacute;tese que en cada una de estas figuras se emple&oacute;   una l&iacute;nea punteada para unir los rect&aacute;ngulos que   se refieren a los mismos conceptos. Esta notaci&oacute;n   se adopt&oacute; a partir del est&aacute;ndar definido por Sowa   (1984) para los grafos conceptuales.</P>     <P>&nbsp;</P>     <P> <B><FONT SIZE="3">CONCLUSIONES Y TRABAJOS   FUTUROS</FONT></B></P>     <P> En este art&iacute;culo se propuso un mecanismo para   permitir la conversi&oacute;n de diagramas de clases a   grafos conceptuales, esquemas de nivel m&aacute;s alto   de abstracci&oacute;n y, consecuentemente, de m&aacute;s f&aacute;cil   comprensi&oacute;n por los interesados humanos; en estos   grafos, sin embargo, no se renuncia a la posibilidad   de comunicaci&oacute;n entre m&aacute;quinas debido a sus formas   textuales equivalentes, que pueden ser legibles   por m&aacute;quina. Uno de los objetivos y motivaciones   para realizar la conversi&oacute;n es la validaci&oacute;n, por   parte del interesado, de los esquemas conceptuales   elaborados en las diferentes fases de desarrollo de   un producto de software.</P>     <P> Se presentan cuatro reglas para definir la conversi&oacute;n   a grafos conceptuales de las relaciones entre   clases y sus atributos, clases y sus operaciones y   clases con otras clases del diagrama de clases; estas   reglas se aplican a un caso de estudio referente a   un sistema de pedidos de art&iacute;culos, para obtener   los grafos conceptuales de Sowa.</P>     <P> Las reglas enunciadas pretenden un acercamiento   con el lenguaje del interesado, a diferencia de otros   trabajos del estado del arte, que se limitan a convertir   a grafos de Sowa esquemas conceptuales, pero   conservando el lenguaje del analista. Sin embargo,   y pese a que la legibilidad del diagrama de clases   expresada en t&eacute;rminos de los grafos conceptuales   mejora, se puede apreciar que la extensi&oacute;n de los   diagramas es mucho mayor, dado que se sigue el   est&aacute;ndar de correferencia enunciado por Sowa   (1984).</P>     <P> Entre los trabajos a realizar se pueden enumerar   los siguientes:</P>     ]]></body>
<body><![CDATA[<P> &#8226;    La conversi&oacute;n de diagramas de clases m&aacute;s   complejos que incluyan todos los tipos de   relaciones definidas en la especificaci&oacute;n de   UML, adem&aacute;s de la conversi&oacute;n a grafos conceptuales   de otros esquemas com&uacute;nmente   utilizados en la definici&oacute;n, an&aacute;lisis y dise&ntilde;o   de sistemas inform&aacute;ticos.</P>     <P> &#8226;    La complementaci&oacute;n de la aplicaci&oacute;n que   implementa las reglas.</P>     <P> &#8226;    La definici&oacute;n de un esquema de comunicaci&oacute;n   m&aacute;s cercano aun que los grafos conceptuales   al lenguaje que utilizan los interesados,   de forma que se pueda lograr una comunicaci&oacute;n   m&aacute;s r&aacute;pida y efectiva que permita la   validaci&oacute;n del diagrama de clases.</P>     <P>&nbsp;</P>     <P><B><FONT SIZE="3">BIBLIOGRAF&Iacute;A</FONT></B></P>     <!-- ref --><P> 1. ABRIAL, J. R. 1996. The B Book - assigning programs to meanings. Cambridge University Press (Cambridge).&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000138&pid=S1692-3324200600020001000001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P>2.  COAD, P. &amp; YOURDON, E. 1990. Object &#8211; Oriented analysis. Yourdon Press, Segunda Edici&oacute;n (New Jersey).&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000139&pid=S1692-3324200600020001000002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P>3.  CREASY, P. &amp; ELLIS, G. 1993. A conceptual graphs approach to conceptual   schema integration. Conceptual Graphs for   Knowledge Representation: First International Conference on Conceptual Structures (ICCS). Pp 126-141.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000140&pid=S1692-3324200600020001000003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P>4.  FILLMORE, Ch. 1968. The case for case. En: Bach and Harms (Eds), Universals in Linguistics. Pp. 1-88.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000141&pid=S1692-3324200600020001000004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P>5.  FLIEDL, G., KOP, Ch., MAYERTHALER, W., MAYR, H.C. &amp; WINKLER, Ch. 2002.   The NIBA workflow: From textual   requirements specifications to UML-schemata. Proceedings of the ICSSEA '2002   - International Conference 'Software &amp; Systems Engineering and their Applications', Par&iacute;s.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000142&pid=S1692-3324200600020001000005&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P> 6. FLIEDL, G., KOP, Ch. &amp; MAYR, H. C. 2003. From scenarios to KCPM dynamic   schemas: aspects of automatic mapping.   Proceedings of the Natural Language Processing and Information Systems Conference   NLDB'2003, Lecture Notes in Informatics 29:91-105.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000143&pid=S1692-3324200600020001000006&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P>7. FLIEDL, G., KOP, Ch., MAYR, H. C., MAYERTHALER, W. &amp; WINKLER, Ch. 1999.   Linguistically based requirements   engineering-The NIBA Project. Proceedings 4th Int. Conference NLDB'99 Applications   of Natural Language to Information Systems, Klagenfurt. Pp. 177&#8211;182.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000144&pid=S1692-3324200600020001000007&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P>8.  FLIEDL, G., MAYERTHALER, W. &amp; WINKLER, Ch. 1999a. The NT(M)S-Parser:   An efficient computational linguistic   tool. Proceedings of the 1st International Workshop on Computer Science and Information Technologies, Moscow.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000145&pid=S1692-3324200600020001000008&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P>9.  FLIEDL, G. &amp; WEBER, G. 2002. Niba-Tag-A tool for analyzing and preparing german texts. DataMining Bologna.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000146&pid=S1692-3324200600020001000009&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P>10.  GRUBER, J. 1965. Studies in lexical relations. Disertaci&oacute;n Doctoral, Cambridge, MIT.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000147&pid=S1692-3324200600020001000010&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P>11.  HARMAIN, H. &amp; GAIZAUSKAS, R. 2000. CM-Builder: An automated NL-based   CASE Tool. Proceedings of the fifteenth   IEEE International Conference on Automated Software Engineering (ASE'00), Grenoble. 9 p.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000148&pid=S1692-3324200600020001000011&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P>12.  JACKENDOFF, R. 1983. Semantics and cognition. MIT Press, Cambridge Massachussets.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000149&pid=S1692-3324200600020001000012&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P>13.  KOP, Ch. &amp; MAYR, H. C. 2002. Mapping functional requirements: from   natural language to conceptual schemata. Proceedings   of the 6th IASTED International conference Software Engineering and applications. 5p.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000150&pid=S1692-3324200600020001000013&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P>14.  MAYR, H. C. &amp; KOP, Ch. 2002. A user centered approach to requirements   engineering. Proceedings of 'Modellierung 2002', Lecture Notes in Informatics 12:75-86.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000151&pid=S1692-3324200600020001000014&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P>15.  MICH, L. &amp; GARIGLIANO, R. 2002. NL-OOPS: A Requirements analysis   tool based on natural language processing.   Proceedings of the 3rd International Conference On Data Mining 2002, Bologna. Pp. 321-330.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000152&pid=S1692-3324200600020001000015&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P>16.  OBJECT MANAGEMENT GROUP. 2003. Unified modeling language, specification   2.0. formal. Available: <A HREF="http://www.omg.org/UML/" TARGET="_blank">http://www.omg.org/UML </A>&#91;Citado   7 de Marzo de 2006&#93;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000153&pid=S1692-3324200600020001000016&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P>17.  SNOOK, C. &amp; BUTLER, M. 2001. Using a graphical design tool for formal   specification. In Dumke, Abran (Eds) Proceedings 13th Annual Workshop of the Psychology of Programming Interest Group. Pp. 311-321.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000154&pid=S1692-3324200600020001000017&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P>18.  SOWA, J. F. 1984. Conceptual structures: information processing in mind   and machine. reading, Massachusetts, 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=000155&pid=S1692-3324200600020001000018&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P>19.  TIMM, J. T. E. &amp; GANNOD, G. C. 2005. A Model-Driven approach for   specifying semantic web services. In proceedings of the 3rd IEEE International Conference on Web Services.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000156&pid=S1692-3324200600020001000019&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P>20.  ZAPATA, C. M. &amp; ARANGO, F. 2005. Los modelos verbales en lenguaje   natural y su utilizaci&oacute;n en la elaboraci&oacute;n de esquemas   conceptuales para el desarrollo de software: una revisi&oacute;n cr&iacute;tica. Revista EAFIT. 41(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=000157&pid=S1692-3324200600020001000020&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><P>&nbsp;</P>     <P><B>Recibido:</B> 17/03/2006 <B>    <BR> Aceptado:</B> 28/08/2006</P> </font>     <P>&nbsp;</P>     <P><FONT SIZE="2" FACE="Verdana"><A NAME="1a"></A><A HREF="#1">1</A> Este art&iacute;culo se realiz&oacute; en     el marco de los siguientes proyectos de investigaci&oacute;n: 'CONSTRUCCI&Oacute;N     AUTOMATICA DE ESQUEMAS CONCEPTUALES A PARTIR DE LENGUAJE NATURAL', financiado     por la DIME y 'DEFINICI&Oacute;N DE UN ESQUEMA PRECONCEPTUAL PARA LA OBTENCI&Oacute;N     AUTOM&Aacute;TICA DE ESQUEMAS CONCEPTUALES DE UML', financiado por DINAIN y administrado por la DIME. </font></P>     ]]></body>
<body><![CDATA[ ]]></body><back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[ABRIAL]]></surname>
<given-names><![CDATA[J. R]]></given-names>
</name>
</person-group>
<source><![CDATA[The B Book: assigning programs to meanings]]></source>
<year>1996</year>
<publisher-loc><![CDATA[Cambridge ]]></publisher-loc>
<publisher-name><![CDATA[Cambridge University Press]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B2">
<label>2</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>
<edition>Segunda</edition>
<publisher-loc><![CDATA[^eNew Jersey New Jersey]]></publisher-loc>
<publisher-name><![CDATA[Yourdon Press]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[CREASY]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[ELLIS]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A conceptual graphs approach to conceptual schema integration]]></article-title>
<source><![CDATA[]]></source>
<year>1993</year>
<conf-name><![CDATA[First Conceptual Graphs for Knowledge Representation]]></conf-name>
<conf-loc> </conf-loc>
<page-range>126-141</page-range></nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[FILLMORE]]></surname>
<given-names><![CDATA[Ch]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[The case for case]]></article-title>
<person-group person-group-type="editor">
<name>
<surname><![CDATA[Bach]]></surname>
</name>
<name>
<surname><![CDATA[Harms]]></surname>
</name>
</person-group>
<source><![CDATA[Universals in Linguistics]]></source>
<year>1968</year>
<page-range>1-88</page-range></nlm-citation>
</ref>
<ref id="B5">
<label>5</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[MAYERTHALER]]></surname>
<given-names><![CDATA[W]]></given-names>
</name>
<name>
<surname><![CDATA[MAYR]]></surname>
<given-names><![CDATA[H.C]]></given-names>
</name>
<name>
<surname><![CDATA[WINKLER]]></surname>
<given-names><![CDATA[Ch]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[The NIBA workflow: From textual requirements specifications to UML-schemata]]></article-title>
<source><![CDATA[Proceedings of the ICSSEA]]></source>
<year>2002</year>
<conf-name><![CDATA[ International Conference 'Software & Systems Engineering and their Applications]]></conf-name>
<conf-date>2002</conf-date>
<conf-loc>París </conf-loc>
</nlm-citation>
</ref>
<ref id="B6">
<label>6</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. C]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[From scenarios to KCPM dynamic schemas: aspects of automatic mapping]]></article-title>
<source><![CDATA[Lecture Notes in Informatics]]></source>
<year>2003</year>
<volume>29</volume>
<conf-name><![CDATA[ the Natural Language Processing and Information Systems Conference NLDB]]></conf-name>
<conf-date>2003</conf-date>
<conf-loc> </conf-loc>
<page-range>91-105</page-range></nlm-citation>
</ref>
<ref id="B7">
<label>7</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. C]]></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[Proceedings]]></source>
<year>1999</year>
<conf-name><![CDATA[4th Conference NLDB'99 Applications of Natural Language to Information Systems]]></conf-name>
<conf-loc>Klagenfurt </conf-loc>
<page-range>177-182</page-range></nlm-citation>
</ref>
<ref id="B8">
<label>8</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[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[The NT(M)S-Parser: An efficient computational linguistic tool]]></article-title>
<source><![CDATA[Proceedings of the]]></source>
<year>1999</year>
<month>a</month>
<conf-name><![CDATA[1st International Workshop on Computer Science and Information Technologies]]></conf-name>
<conf-loc>Moscow </conf-loc>
</nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[FLIEDL]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
<name>
<surname><![CDATA[WEBER]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
</person-group>
<source><![CDATA[Niba-Tag-A tool for analyzing and preparing german texts]]></source>
<year>2002</year>
<publisher-loc><![CDATA[Bologna ]]></publisher-loc>
<publisher-name><![CDATA[DataMining]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B10">
<label>10</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[GRUBER]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<source><![CDATA[Studies in lexical relations: Disertación Doctoral]]></source>
<year>1965</year>
<publisher-loc><![CDATA[Cambridge ]]></publisher-loc>
<publisher-name><![CDATA[MIT]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B11">
<label>11</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[Proceedings of the]]></source>
<year>2000</year>
<conf-name><![CDATA[fifteenth International Conference on Automated Software Engineering (ASE'00)]]></conf-name>
<conf-loc> </conf-loc>
</nlm-citation>
</ref>
<ref id="B12">
<label>12</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[JACKENDOFF]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<source><![CDATA[Semantics and cognition]]></source>
<year>1983</year>
<publisher-loc><![CDATA[Cambridge^eMassachussets Massachussets]]></publisher-loc>
<publisher-name><![CDATA[MIT Press]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B13">
<label>13</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[KOP]]></surname>
<given-names><![CDATA[Ch]]></given-names>
</name>
<name>
<surname><![CDATA[MAYR]]></surname>
<given-names><![CDATA[H. C]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Mapping functional requirements: from natural language to conceptual schemata]]></article-title>
<source><![CDATA[Proceedings of the]]></source>
<year>2002</year>
<conf-name><![CDATA[6th International conference Software Engineering and applications]]></conf-name>
<conf-loc> </conf-loc>
</nlm-citation>
</ref>
<ref id="B14">
<label>14</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[MAYR]]></surname>
<given-names><![CDATA[H. C]]></given-names>
</name>
<name>
<surname><![CDATA[KOP]]></surname>
<given-names><![CDATA[Ch]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A user centered approach to requirements engineering]]></article-title>
<source><![CDATA[Lecture Notes in Informatics]]></source>
<year>2002</year>
<conf-name><![CDATA[ Modellierung]]></conf-name>
<conf-date>2002</conf-date>
<conf-loc> </conf-loc>
<page-range>75-86</page-range></nlm-citation>
</ref>
<ref id="B15">
<label>15</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[MICH]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
<name>
<surname><![CDATA[GARIGLIANO]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[NL-OOPS: A Requirements analysis tool based on natural language processing]]></article-title>
<source><![CDATA[Proceedings of the]]></source>
<year>2002</year>
<conf-name><![CDATA[3rd International Conference On Data Mining]]></conf-name>
<conf-date>2002</conf-date>
<conf-loc>Bologna </conf-loc>
<page-range>321-330</page-range></nlm-citation>
</ref>
<ref id="B16">
<label>16</label><nlm-citation citation-type="">
<collab>OBJECT MANAGEMENT GROUP</collab>
<source><![CDATA[Unified modeling language, specification 2.0. formal]]></source>
<year>2003</year>
</nlm-citation>
</ref>
<ref id="B17">
<label>17</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[SNOOK]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[BUTLER]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Using a graphical design tool for formal specification]]></article-title>
<person-group person-group-type="editor">
<name>
<surname><![CDATA[Dumke]]></surname>
</name>
<name>
<surname><![CDATA[Abran]]></surname>
</name>
</person-group>
<source><![CDATA[Proceedings]]></source>
<year>2001</year>
<conf-name><![CDATA[13th Annual Workshop of the Psychology of Programming Interest Group]]></conf-name>
<conf-loc> </conf-loc>
<page-range>311-321</page-range></nlm-citation>
</ref>
<ref id="B18">
<label>18</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[SOWA]]></surname>
<given-names><![CDATA[J. F]]></given-names>
</name>
</person-group>
<source><![CDATA[Conceptual structures: information processing in mind and machine]]></source>
<year>1984</year>
<edition>Addison- Wesley</edition>
<publisher-loc><![CDATA[reading^eMassachusetts Massachusetts]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B19">
<label>19</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[TIMM]]></surname>
<given-names><![CDATA[J. T. E]]></given-names>
</name>
<name>
<surname><![CDATA[GANNOD]]></surname>
<given-names><![CDATA[G. C]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A Model-Driven approach for specifying semantic web services]]></article-title>
<source><![CDATA[In proceedings of the]]></source>
<year>2005</year>
<conf-name><![CDATA[3rd International Conference on Web Services]]></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[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: 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-list>
</back>
</article>
