revista universidad eafit vol. 41. no. 137. 2005. pp. 77

19
77 REVISTA Universidad EAFIT Vol. 41. No. 137. 2005. pp. 77-95 Rala Recepción: 1 5 de j u l i o d e 2 0 0 4 I A p r o b a c i ó n : 2 2 de n o v i e m b r e de 2004 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 Resumen El desarrollo de software inicia con una serie de entrevistas realizadas a los usuarios potenciales con el fin de determinar los requisitos del soft- ware; como resultado de las entrevistas se obtienen modelos verbales en lenguaje natural. A partir de los modelos verbales es posible construir esquemas conceptuales, que son diagramas que permiten representar gráficamente los datos y funciones asociados con el problema para realizar el desarrollo del software. En este artículo se compendian los trabajos que en esta materia se han adelantado a nivel mundial, realizando un análisis de los posibles tópicos de investigación a partir de los problemas no resueltos. Natural language verbal models and their use in the design of conceptual frameworks for software development: a critical review Abstract Software development begins with a series of interviews to potential users with the purpose of determining the software requirements; as a result of the interviews yield verbal models in natural language. Based on the verbal models, conceptual frameworks can be designed. These are diagrams that allow graphic data and functions related to the problem to develop software. This article covers worldwide work carried out in this field, with an analysis of the possible research topics based on the unsolved problems. Palabras Clave Procesamiento del lenguaje natural Ingeniería de requisitos Lenguaje unificado de modelamiento Elicitación de requisitos de software Key words Natural language processing Requirements engineering Unified modeling language Software requirements elicitation Carlos Mario Zapata Jaramillo Magíster en ingeniería de Sistemas. Profesor de la Escuela de Sistemas de la Facultad de Minas de la Universidad Nacional de Medellín. Integrante del Grupo de Investigación UN-INFO de la misma institución. [email protected] Fernando Arango Isaza Profesor de la Escuela de Sistemas de la Facultad de Minas de la Universidad Nacional de Medellín. Integrante del Grupo de Investigación UN-INFO de la misma institución. [email protected]

Upload: others

Post on 20-Jul-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: REVISTA Universidad EAFIT Vol. 41. No. 137. 2005. pp. 77

77

REVISTA Universidad EAFITVol. 41. No. 137. 2005. pp. 77-95

Ra

la

R e c e p c i ó n : 1 5 d e j u l i o d e 2 0 0 4 I A p r o b a c i ó n : 2 2 d e n o v i e m b r e d e 2 0 0 4

Los modelos verbalesen lenguaje natural y su utilización en la elaboración

de esquemas conceptuales para el desarrollode software: una revisión crítica

ResumenEl desarrollo de software inicia con una serie de entrevistas realizadas alos usuarios potenciales con el fin de determinar los requisitos del soft-ware; como resultado de las entrevistas se obtienen modelos verbalesen lenguaje natural. A partir de los modelos verbales es posible construiresquemas conceptuales, que son diagramas que permiten representargráficamente los datos y funciones asociados con el problema pararealizar el desarrollo del software. En este artículo se compendian lostrabajos que en esta materia se han adelantado a nivel mundial, realizandoun análisis de los posibles tópicos de investigación a partir de losproblemas no resueltos.

Natural language verbal models and their use inthe design of conceptual frameworks for softwaredevelopment: a critical review

AbstractSoftware development begins with a series of interviews to potential userswith the purpose of determining the software requirements; as a resultof the interviews yield verbal models in natural language. Based on theverbal models, conceptual frameworks can be designed. These are diagramsthat allow graphic data and functions related to the problem to developsoftware. This article covers worldwide work carried out in this field, withan analysis of the possible research topics based on the unsolved problems.

Palabras ClaveProcesamiento del lenguajenaturalIngeniería de requisitosLenguaje unificado demodelamientoElicitación de requisitos desoftware

Key wordsNatural language processingRequirements engineeringUnified modeling languageSoftware requirements elicitation

Carlos Mario Zapata JaramilloMagíster en ingeniería de Sistemas. Profesor de la Escuela de Sistemasde la Facultad de Minas de la Universidad Nacional de Medellín.Integrante del Grupo de Investigación UN-INFO de la misma institució[email protected]

Fernando Arango IsazaProfesor de la Escuela de Sistemas de la Facultad de Minas de laUniversidad Nacional de Medellín. Integrante del Grupo de InvestigaciónUN-INFO de la misma institució[email protected]

Page 2: REVISTA Universidad EAFIT Vol. 41. No. 137. 2005. pp. 77

REVISTA Universidad EAFIT. Vol. 41. No. 137 | enero, febrero, marzo 200578

LIntroducción

L os usuarios potenciales de una piezade software suministran un origen aldesarrollo de las mismas describiendoinformalmente las características del

área de aplicación mediante lenguaje natural. Talcomo se ilustra en la Figura 1, a partir de esa descrip-ción informal, que se suele compendiar en una historiadel usuario denominada Modelo Verbal, los analistasdeben elaborar los modelos conceptuales pararepresentar de forma precisa las características delárea que son relevantes al software.

A pesar de que, tanto usuarios como analistas, tratande describir adecuadamente el área de aplicación,subsiste sin embargo una brecha en la comunicación,que le impide al usuario tener la seguridad de que elmodelo elaborado por el analista representa su propiaconcepción. Presuman (2002) resume el problemagenerado al inicio del análisis del dominio de lasiguiente manera:

El análisis y la especificación de los requisitos puedeparecer una tarea relativamente sencilla, pero lasapariencias engañan. El contenido de comunicaciónes muy denso. Abundan las ocasiones para las malasinterpretaciones o falta de información. Es muyprobable que haya ambigüedad. El dilema al que seenfrenta el ingeniero del software puede entendersemuy bien repitiendo la famosa frase de un cliente

anónimo: “Sé que cree que entendió lo que piensaque dije, pero no estoy seguro de que se dé cuentade que lo que escuchó no es lo que quise decir”.

Esta brecha de comunicación es consecuencia delas diferencias en las especialidades del usuario y elanalista. Así, los usuarios son expertos en el dominiodel problema, pero por lo general conocen poco delas diferentes técnicas de modelamiento, y losanalistas, por su parte, son expertos en el lenguajede modelamiento pero en términos generales pococonocen del problema. En la Figura 2 se representala incapacidad manifiesta entre el usuario y el analistapara entender el lenguaje del otro.

Esta brecha de comunicación impide que en la fasede requisitos se lleve a cabo, tanto la recoleccióncorrecta y completa de los aspectos relevantes delárea de aplicación por parte del analista, como ladetección de los problemas de dicha recolección porparte del usuario. En consecuencia, muchos defectosy carencias del software no serán detectados ycorregidos hasta las fases de implantación y uso,con graves consecuencias sobre los costos y tiemposde entrega de la aplicación.

A la solución de este problema contribuyen técnicasy herramientas orientadas a apoyar los diversosaspectos de la comunicación analista - programador.Entre estos aspectos vale la pena destacar lossiguientes:

Figura 1. Formas de expresión de la realidad parausuarios y analistas Figura 2. Incapacidad de entender el lenguaje del otro

Page 3: REVISTA Universidad EAFIT Vol. 41. No. 137. 2005. pp. 77

79

• A la capacidad del analista para comprender el modelo verbalpresentado por el usuario, contribuyen los diversos avances en la lecturae interpretación de textos en lenguaje natural mediante herramientascomputarizadas. Con la interpretación automática es posible derivar laestructura y el significado más probable de las partes del modelo verbal,eliminando la influencia personal del analista. Existen varios ejemplos deesta tendencia (Baker, Fillmore y Lowe, 1998; Fillmore y Baker, 2001;Fellbaum, 1998; Meyer y Dale, 2002; Kamps et al., 2004 y Galicia,2000).

• A la capacidad del analista de convertir el modelo verbal interpretadoen un esquema conceptual apropiado, contribuyen diversos enfoques:

- Heurísticas a ser usadas a discreción del analista (Chen, 1983; Coady Yourdon, 1990 y Nijssen, 1977).

- Herramientas de apoyo al analista para la aplica-ción de las heurísticas (Overmyer et al., 2001).

- Herramientas de apoyo que llevan a cabo tanto lainterpretación automática del lenguaje natural comola aplicación automática de las heurísticas, paraobtener versiones (preliminares) del esquemaconceptual (Buchholz y Düsterhöft, 1994; Cyre,1995; Mich, 1996; Jin, Bell y Wilkie, 1998; Harmainy Gaizauskas, 2000; Mich y Garigliano, 2002; Fliedlet al., 1999, 1999a, 2002, 2002a y 2003; Kop y Mayr,2002; Mayr y Kop, 2002).

- Herramientas que apoyan la completitud del modeloverbal (Buchholz y Düsterhöft, 1994).

- Herramientas para apoyar la validación, por partedel usuario, del esquema conceptual elaborado porel analista (Fliedl et al., 1999, 2002, y 2003; Kop yMayr, 2002; Mayr y Kop, 2002).

Para solucionar este problema se han desarrollado diferentes enfoques,los cuales pretenden realizar algunas de las siguientes actividades:

• Apoyar a los analistas en la construcción de los diferentes esquemasconceptuales, sugiriéndoles algunas ideas para elaborar los esquemasde forma semiautomática, pero dejando la decisión final de la construcciónde los esquemas en manos del analista.

• Analizar los textos en lenguaje natural de manera que sean interpre-tables para las máquinas, pero sin establecer como utilidad específicala determinación de los elementos fundamentales de los esquemasconceptuales.

ZAPATA J., C. M.; ARANGO I., F. | Los modelos verbales en lenguaje natural y su utilización en la elaboración de esquemas...

Page 4: REVISTA Universidad EAFIT Vol. 41. No. 137. 2005. pp. 77

REVISTA Universidad EAFIT. Vol. 41. No. 137 | enero, febrero, marzo 200580

• Realizar la construcción de los esquemas concep-tuales de manera automática, tomando como partidaun modelo restringido en lenguaje natural, de lasespecificaciones del dominio de la pieza de softwarea construir.

En cualquiera de los casos anteriores, se presentandificultades que impiden la obtención automática demodelos conceptuales a partir de modelos verbales.

En este artículo se realiza una revisión crítica deluso de los modelos verbales en la construcción deesquemas conceptuales, empleando para ello lasiguiente estructura: en la Sección 2 se presentanlos principales trabajos en el tópico en estudio; en laSección 3 se analizan estos trabajos y se determinanlos principales problemas que quedan aún por resolver;finalmente, en la Sección 4 se presentan lasconclusiones y trabajos futuros que se pueden derivarde esta revisión.

1. Utilización de modelos verbalesen la elaboración de esquemasconceptuales

Coad y Yourdon propusieron un método para elanálisis del modelo verbal, con el fin de determinarlos principales componentes del modelo de clases,principal esquema conceptual de la metodología deanálisis orientado por objetos. De manera muy simple,su metodología de establece una identificación delos principales sustantivos presentes en el modelo,los cuales suministran algunas pistas en relación conlas “clases” y “objetos” del modelo, y los principalesverbos, los cuales podrían asimilarse con los conec-tores entre las diferentes entidades, es decir “asocia-ciones” del modelo (Coad y Yourdon, 1990).

En los albores del surgimiento del modelo entidadrelación (Chen, 1976), se propuso una metodologíacon alguna ingerencia del Lenguaje Natural que partede la determinación de algunas estructuras de losdenominados “Modelos de relaciones binarias”,previos al modelo entidad relación, utilizando paraello NIAM –Nijssen Information Analysis Methodology–propuesta por Nijssen (Nijssen, 1977). Esta metodologíase llevó a nivel de implementación en diferentes

lenguajes durante las décadas de 1970, 1980 y 1990(ver, por ejemplo, Halpin, 1998), pero nunca de maneraintensiva sobre analizadores sintácticos del lenguajenatural, sino como apoyo a la labor de los analistasen ciertos aspectos de la identificación de los elemen-tos clave de los esquemas conceptuales.

Chen estableció de manera formal once reglas quepermiten la realización de la traducción de lasespecificaciones, expresadas en lenguaje natural, aldiagrama entidad–relación, identificando sustantivoscomunes, verbos transitivos, adjetivos, adverbios,objetos de operaciones algebraicas y numéricas,gerundios, cláusulas y oraciones, además de algunasconversiones de frases en otras de más fácil análisis,como por ejemplo pasar de: “hay 200 empleados enese departamento” a “el departamento tiene 200empleados”. Estas reglas las consideraba sugeren-cias de tipo heurístico para su utilización en laconstrucción del diagrama entidad–relación, no eranimperativos a seguir que pudiesen establecer demanera única el diagrama a partir de las especifica-ciones en lenguaje natural (Chen, 1983).

Kristen propuso el método denominado KISS (Kristen,1994), que realiza en oraciones en lenguaje naturalla identificación de los elementos que hacen partede un esquema conceptual, particularmente objetosy acciones, y con ellos construye un esquema con-ceptual propio basado en grafos conceptuales. Estemétodo en sí mismo no ha sido implementado, peroha servido como base para otras implementaciones,tales como COLOR-X (Burg y Van de Riet, 1996) yGrammalizer (Hoppenbrouwers, 1997), los cuales, sinembargo, tienen objetivos diferentes al trazado auto-mático de esquemas conceptuales.

El primer conjunto de actividades descrito en lasección anterior toma como punto de partida reglasde tipo heurístico, como las de Chen. Para su usose desarrollaron algunos productos que buscabanapoyar la gestión de los analistas a partir de losmodelos verbales, pero en las cuales el apoyo selimitaba principalmente a la clasificación de laspalabras por su función gramatical, con la posibilidadde que el analista realizara la clasificación en diferentescategorías que le permitiesen elaborar los diagramasconceptuales (clases, atributos, métodos, relaciones,

Page 5: REVISTA Universidad EAFIT Vol. 41. No. 137. 2005. pp. 77

81

etc.). Esta motivación, sin embargo, deja en manosdel analista la construcción de los diagramas ycontribuye poco a la solución de la brecha que seplantea en la introducción, puesto que, en esencia,no contribuye a realizar una mejor comunicación entreel usuario y el analista; el rol del usuario es sumi-nistrar la información del dominio de la manera máscompleta posible en lenguaje natural, la cual esinterpretada por el analista con la ayuda de diferentesherramientas (que pueden utilizar o no el modeloverbal, como se verá a continuación), pero sin esta-blecer un lenguaje común con el usuario.

En este tipo de aplicaciones se destaca el proyectoLIDA –LInguistic assistant for Domain Analysis–(Overmyer, 2001), el cual utiliza un entorno gráficoque le permite al analista señalar con colores losdiferentes elementos del modelo verbal, dependiendode la elección de conversión hacia elementos talescomo clases, atributos, operaciones o roles, suminis-trándole estadísticas para facilitar su elección, comoel número de ocurrencias de una determinada palabray el tipo de cada palabra. En la Figura 3 se muestrauna de las interfaces del proyecto LIDA. Este productopermite al analista marcar con diferentes colores lasclases, atributos, operaciones y roles, además derealizar el trazado inicial de los diagramas y expor-tarlos para complementarlos en otras herramientas.

ZAPATA J., C. M.; ARANGO I., F. | Los modelos verbales en lenguaje natural y su utilización en la elaboración de esquemas...

Con menos participación del modelo verbal, pero conmás capacidades gráficas, se pueden ubicar en estacategoría las diferentes herramientas CASE, disponi-bles en el mercado, de las cuales Rational Rose®,ArgoUML® (en la Figura 4 se muestra una interfazde esta herramienta) y Designer de Oracle® son sóloalgunos ejemplos. Estas herramientas no tomancomo punto de partida el modelo verbal de maneraexplícita, pues el analista debe leer el modelo verbaly traducirlo, según su criterio, en las estructuras corres-pondientes a los diferentes esquemas conceptualesdisponibles, por lo general modelos de UML (OMG,2004).

El segundo conjunto de actividades contiene innume-rables ejemplos en la literatura especializada, puesse puede enmarcar dentro del área denominada“Procesamiento del Lenguaje Natural”, la cual ha sidoampliamente estudiada por diferentes investigadoresa nivel mundial. Esta es una categoría que tampococontribuye sustancialmente al establecimiento delazos de comunicación entre usuarios y analistas, nia la definición de un lenguaje común. Sin embargo,los esfuerzos en el procesamiento del lenguaje naturalposibilitan el entendimiento, por parte de las herra-mientas computacionales, de los diferentes significadosasociados con las frases presentes en diferentes tiposde textos, y potencialmente podrían usarse para lograr

Figura 3. Imagen de una de las interfaces del proyecto LIDA.

Fuente: (Overmyer, 2001)

Page 6: REVISTA Universidad EAFIT Vol. 41. No. 137. 2005. pp. 77

REVISTA Universidad EAFIT. Vol. 41. No. 137 | enero, febrero, marzo 200582

Dentro de esta categoría se pueden ubicar trabajoscomo FrameNet de la Universidad de Berkeley (Baker,Fillmore y Lowe, 1998; Fillmore y Baker, 2001), en elcual se desarrolla un análisis sintáctico y semánticode las posibles frases en inglés con miras a unainterpretación de las mismas, empleando la deno-minada “Gramática de Casos” (Fillmore, 1968). Dentrode esta categoría también se puede ubicar el proyectoWordNet (Fellbaum, 1998), que es un léxico de tiposemántico construido para el análisis genérico dediferentes frases en inglés y que, a su vez, ha moti-vado la aparición de diferentes trabajos en desambi-guación (solución a las ambigüedades presentes enel lenguaje natural, Meyer y Dale, 2002), sinonimia yotros tópicos relacionados (Kamps, 2004).

En esta orientación se encuentran trabajos para elidioma inglés y el alemán, especialmente, que intentanrecopilar léxicos que posibilitan la interpretaciónposterior de las diferentes frases que hacen parte deun determinado texto para analizar. Para el españolexiste una gran cantidad de trabajos en temas comola desambiguación (ver, por ejemplo, Galicia, 2000 olas publicaciones de la Revista de la SociedadEspañola para el Procesamiento del Lenguaje NaturalSEPLN, disponibles en formato electrónico en www.

que diferentes herramientas computacionales dieran interpretaciones automáticas a los modelos verbales delusuario, suministrando a los analistas pistas en relación con el dominio de los diferentes modelos que sepueden trazar.

Fuente: A partir del uso de la herramienta por parte de los autores (2004).

Figura 4. Imagen de la interfaz gráfica de ArgoUML®.

sepln.org), pero poco se ha trabajado en proyectoscomo WordNet y FrameNet.

El tercer conjunto de actividades también ha sidoampliamente trabajado para diferentes idiomas, comoel inglés, el alemán y el italiano. La mayoría de losejemplos analizados de este tipo, para la conversiónautomática del texto en lenguaje natural en modelosconceptuales, utilizan algunos de los elementos dela estructura siguiente:

• Un intérprete sintáctico que permite asignar unacategoría lingüística a cada frase y trazar losárboles sintácticos respectivos, en los que se sueleseñalar la importancia de los verbos dentro de lasdiferentes oraciones.

• Un analizador semántico en el que, mediantegramáticas de casos o determinación de las valen-cias de los verbos, se examinan las partículas quenormalmente acompañan un verbo, para categori-zarlas y determinar los diferentes roles que puedendesempeñar en las frases.

• Léxicos propios del dominio de la aplicación, conel fin de limitar el lenguaje disponible para el

Page 7: REVISTA Universidad EAFIT Vol. 41. No. 137. 2005. pp. 77

83

análisis y para realizar ciertos chequeos de consis-tencia de la información.

• Esquemas preconceptuales de diferente índole,que permiten realizar un paso intermedio entre laespecificación en lenguaje natural y el esquemaconceptual definido.

• Un conjunto de reglas heurísticas, que permitedeterminar a cuál de los elementos pertenecientesa un esquema conceptual se puede traducir unelemento dentro del esquema preconceptual defi-nido o, en su defecto, de la especificación enlenguaje natural. Esas reglas tienen por lo generalformas similares a las expresadas por Chen.

Galatescou presenta un conjunto de pasos similar aldescrito, aunque incluye el cálculo de predicados parala definición y descripción de objetos, acciones yrelaciones entre ellos. En este trabajo se identificanlas principales habilidades de integración del lenguajenatural y se hace una caracterización del potencialdescriptivo del lenguaje natural, finalizando con ladescripción en cálculo relacional, que puede luegoser traducida a cualquier esquema conceptual(Galatescou, 2002).

En esta categoría se pueden encontrar algunosejemplos, que buscan la solución de la brecha quese genera entre los usuarios y los analistas, especial-mente mediante productos que chequean la completitudde los modelos generados mediante herramientasautomáticas construidas y le devuelven al usuariopreguntas que buscan los complementos de informa-ción necesarios para culminar el trazado de losmodelos; otros productos, en cambio, presentan alusuario pantallas con alguna información correspon-diente a los modelos buscando su aprobación, perosin tomar en consideración que los usuarios noposeen el suficiente conocimiento en el manejo delos diferentes tipos de modelos que se pueden generarpara un problema específico.

A continuación se presentan algunos de los ejemplosde esta categoría de herramientas y métodos:

Buchholz y Düsterhöft presentan una metodologíapara la extracción del diagrama entidad - relación apartir de especificaciones en lenguaje natural. Este

ZAPATA J., C. M.; ARANGO I., F. | Los modelos verbales en lenguaje natural y su utilización en la elaboración de esquemas...

proyecto, denominado RADD (Rapid Application andDatabase Development), emplea lo que ellos deno-minan una “Herramienta de diálogo moderado” queposibilita la comunicación con el diseñador de la basede datos en lenguaje natural (Buchholz y Düsterhöft,1994 y Buchholz, 1995).

En RADD, el proceso se inicia con un texto enlenguaje natural, en alemán, que se ingresa a unanalizador sintáctico, el cual identifica los diferenteselementos gramaticales presentes en el texto y elaboralos árboles sintácticos correspondientes. Posterior-mente, el RADD utiliza un modelo lingüístico queinserta un nivel semántico entre los niveles sintácticoy conceptual, identificando el significado de una frasemediante los roles semánticos asociados con losverbos; estos roles se usan para verificar la comple-titud lingüística de la frase, pues cada verbo puedeestar acompañado por un número determinado deroles semánticos (causa, tema, resultado/meta,fuente, localización, tiempo, modo, voz/aspecto) quepueden desempeñar cada una de las palabras queacompañan al verbo. Finalmente, el RADD utiliza unaserie de reglas heurísticas para realizar la conversióndel resultado del análisis sintáctico–semántico en losdiferentes elementos del modelo entidad–relación.

En RADD, la herramienta de diálogo se basa en unprograma en PROLOG, que activa una serie depreguntas dependiendo del nivel de análisis que sehaya alcanzado con el texto ingresado. La activaciónde las preguntas al diseñador se produce con unanálisis sintáctico incompleto o un modelo de diseñoincompleto, realizando preguntas de contenido(“¿Existen más detalles sobre la aplicación?”),clarificación lingüística (“¿Cómo se realiza el acto-prestar-?”) y clarificación pragmática (“¿Cómo secaracterizan los –libros-?”). Con base en las respues-tas suministradas también en lenguaje natural porparte del diseñador, se completa el modelo. Losresultados se presentan en un modelo textual con lasiguiente nomenclatura (Buchholz, 1995):

• Entity (EName): describe una entidad con elnombre Ename.

• Relship (RName, EName1, [EName2]): describeuna relación RName entre la entidad EName y lalista de entidades (EName2 describe un conjuntode entidades).

Page 8: REVISTA Universidad EAFIT Vol. 41. No. 137. 2005. pp. 77

REVISTA Universidad EAFIT. Vol. 41. No. 137 | enero, febrero, marzo 200584

• Attre (EName, AName): la entidad EName tieneun atributo AName.

• Attrr (RName, AName): la relación RName tieneun atributo AName.

• Keycand (EName/RName, AName): el atributoAName es una clave candidata de la entidadEName o la relación RName.

• Cardcand (NR, RName, EName, MinCard, MaxCard): la relación RName tiene unas cardinalidadesMinCard: MaxCard correspondientes a la entidadEName en el extremo NR.

• Inclcand (EName1, EName2): describe una depen-dencia de inclusiones de dos entidades (EName1y EName2), donde un EName1 incluye un EName2.

• Exclcand ([EName]): describe una lista de enti-dades excluidas EName.

De manera similar al trabajo anterior, el proyectoCIRCE utiliza una herramienta llamada CICO (Gervasi,2001), la cual utiliza un enfoque de lógica difusa pararealizar el análisis sintáctico de las frases; además,dentro del proyecto CIRCE se puede realizar unanálisis de la completitud, consistencia y correcciónde los textos en lenguaje natural, realizando, entreotras, las siguientes funciones: elicitación de requi-sitos (determinación de los principales conceptos deldominio), selección de requisitos (para reducir lacomplejidad), identificación de conflictos entre requi-sitos y para forzar un buen estilo en los requisitos(Gervasi, 1999; Zowghi y Gervasi, 2002; Gervasi yNuseibeh, 2002; Zowghi et. al 2001; Ambriola yGervasi, 1997). Ambriola y Gervasi muestran la formacomo el CICO parser puede llegar a generar tambiéndiferentes tipos de diagramas a partir de especifica-ciones en lenguaje natural (Ambriola y Gervasi, 2001).

Harmain y Gaizauskas introducen el CM-Builder, unaherramienta CASE que permite la elaboración dediagramas de clases a partir de textos de requisitosen inglés, utilizando como modelo intermedio parasu obtención una red semántica. Si bien manifiestanno imponer restricciones de ningún tipo al lenguaje,no tienen una respuesta clara para el manejo de lasambigüedades que pueden existir en el modelo verbal;

además, la información correspondiente a los méto-dos del diagrama de clases no se emplea para incluirlosen la que ellos llaman primera versión del diagrama,que deberá ser depurada y complementada en otrasherramientas (Harmain y Gaizauskas, 2000).

Cyre presenta un trabajo aplicable en el dominioparticular del desarrollo de Sistemas Digitales, en elcual combina los diferentes diagramas que se puedentrazar para este desarrollo en particular (tales comoDiagramas de Bloques, Diagramas de Flujo de Datos,Estructuras de Datos, Diagramas de Flujo, Diagramasde Estado y Diagramas de Tiempo), con especifica-ciones expresadas en lenguaje natural. El prototipode su sistema, denominado ASPIN (AutomaticSpecification Interpreter), toma como entradas losmodelos definidos y la especificación en lenguajenatural y los convierte en grafos conceptuales (queson especies de redes semánticas), que empleanun lenguaje de representación común (independientedel modelo que le sirve de origen), con el fin deintegrarlos y representarlos de manera gráfica paraque el usuario pueda verificar la ausencia de inconsis-tencias y omisiones. Las especificaciones en lenguajenatural emplean una forma de inglés restringido, queproviene de la ontología derivada de una colecciónde notaciones de modelos y ejemplos de oracionesen lenguaje natural, usadas en el dominio de losSistemas Digitales. Un ejemplo particular de la aplica-ción del lenguaje definido para los grafos conceptualesen la oración “Un programa es ejecutado por el proce-sador”, tiene la forma siguiente (Cyre, 1995):

[execute]-(agnt : by) -> [processor : #](opnd) -> [program : *]

Para lograr este resultado, ASPIN realiza un análisissintáctico, en el que básicamente se determinan losverbos y los sustantivos de las especificaciones,tomando como restricción aquellos pertenecientesal dominio del desarrollo de Sistemas Digitales, yluego un análisis semántico que utiliza la teoría delos roles semánticos (Fillmore, 1968). Para los demásmodelos, ASPIN define una serie de equivalencias alos grafos conceptuales, dependiendo de la forma delos diagramas.

Page 9: REVISTA Universidad EAFIT Vol. 41. No. 137. 2005. pp. 77

85ZAPATA J., C. M.; ARANGO I., F. | Los modelos verbales en lenguaje natural y su utilización en la elaboración de esquemas...

Jin, Bell y Wilkie presentan un trabajo similar al deCyre, empleando grafos conceptuales para repre-sentar una ontología del dominio, pero ampliando eldominio de aplicación, el cual no está restringido alos Sistemas Digitales, como en el caso de Cyre,sino que es de aplicación general (Jin, Bell y Wilkie,1998). Al igual que Cyre, utilizan los grafos concep-tuales en forma de lenguaje y no de manera gráfica;además, parten únicamente de especificacionesexpresadas en lenguaje natural y no de otros tiposde diagramas.

NL-OOPS (Natural Language Object – OrientedProduct System), es un sistema propuesto por Michy que se basa en un sistema de procesamiento dellenguaje natural denominado LOLITA (Large-scaleObject-based Language Interactor, Translator andAnalyser), el cual contiene una serie de funcionespara el análisis del lenguaje natural, con el fin de

Figura 5. El propósito de NL-OOPS.

Fuente: (Mich, 1996)

detectar incluso ambigüedades en el texto que sirvede entrada para el análisis (Mich, 1996). NL-OOPSentrega como resultado un conjunto de las clasescandidatas y las posibles instancias, atributos ymétodos de las mismas. Utiliza para la entrega delos resultados una estructura en forma de árbol, perono se establecen en él las diferentes relaciones quepueden estar presentes en el diagrama (agrega-ciones, generalizaciones, dependencias, etc.). Elresultado de este análisis sirve como punto de partidapara la complementación del diagrama de clases(Mich y Garigliano, 2002). En la Figura 5 se puedeapreciar un esquema del propósito de NL-OOPS.

Los documentos en lenguaje natural son examinadosmediante un sistema de procesamiento del lenguajenatural que emplea instrumentos lingüísticos y queinteractúa con un módulo de modelamiento conceptualque finalmente traza los diagramas requeridos.

El KCPM (Klagenfurt Conceptual Predesing Model), fue elaborado en la Universidad de Klagenfurt, en Austria,por un grupo de lingüistas (Fliedl et al., 1999, 1999a, 2002, 2002a y 2003) y un grupo de ingenieros de sistemas(Kop y Mayr, 2002; Mayr y Kop, 2002), como parte del proyecto NIBA, que busca la comprensión de textos enlenguaje natural en alemán restringido para convertirlos en esquemas conceptuales que apoyen la producciónautomática de software. En la Figura 6 se muestra el conjunto de las herramientas con que cuenta el proyecto,que son:

• Un analizador sintáctico, basado en NT(M)S (Morfosintaxis teórica del lenguaje natural), una teoría lingüísticadiseñada y complementada por el grupo lingüístico de la Universidad de Klagenfurt, que posibilita la realizaciónde los árboles sintácticos.

Page 10: REVISTA Universidad EAFIT Vol. 41. No. 137. 2005. pp. 77

REVISTA Universidad EAFIT. Vol. 41. No. 137 | enero, febrero, marzo 200586

• Un intérprete semántico que, basado en la teoríade los Roles Theta (Gruber, 1965), una forma previade la semántica de casos propuesta luego porFillmore, determina las funciones de las distintaspalabras que acompañan a un verbo.

• Una herramienta de KCPM, la cual, mediante unconjunto de reglas de tipo heurístico, puede realizarla traducción de las oraciones, analizadas demanera sintáctica y semántica, en los denomi-nados esquemas preconceptuales, definidos comoesquemas gráficos o tabulares que posibilitan laconstrucción de los diferentes esquemas concep-tuales, disponibles para un determinado problemade desarrollo de software.

• Una herramienta para el cálculo de los puntos defunción, actualmente en desarrollo.

El analizador de NT(M)S emplea un diccionariolingüístico que identifica los valores gramaticales delas palabras, con el fin de facilitar la construcción delos árboles semánticos. Como resultado del analiza-dor, se obtienen los árboles semánticos expresadosde manera gráfica para comprensión de los usuariosde la herramienta NIBA, y de manera textual medianteparéntesis balanceados, con el fin de lograr la inter-pretación automática por parte de la máquina.

En el intérprete semántico se encuentran clasificados10.000 verbos del alemán, tomando en consideración19 tipos de verbos definidos en NT(M)S y categorizadossegún las palabras que pueden acompañarlos en uncaso dado, con los diferentes roles que puedendesempeñar (agente, experimentador, tema, meta,fuente, locación). Esos roles suministran pistas enrelación con los tipos de elementos con los cualesse pueden asociar en el posterior desarrollo de losesquemas conceptuales.

La herramienta KCPM es diferente según el tipo deesquema conceptual a construir. Cuando se trata deesquemas de tipo estructural (diagrama de clasesde UML), se emplean tablas de conversión quecategorizan las palabras de una frase en “tipo cosa”(elementos que posteriormente pueden ser clases oatributos) y “tipo conexión” (los cuales posiblementeserán relaciones o incluso atributos). Cuando se tratade esquemas de comportamiento, se empleandiagramas preconceptuales (Figura 7), que categorizanlos elementos en Actividades o acciones, propiedadeso estados, eventos, finales de actividad y restricciones.En ambos casos se utiliza un conjunto de reglasheurísticas que permiten realizar la conversión de losdiferentes modelos preconceptuales (tabulares ográficos), en los respectivos modelos conceptualesestructurales o comportamentales. Particularmente,

Fuente: (Fliedl, 1999)

Figura 6. Conjunto de herramientas del proyecto de la Universidad de Klagenfurt

Page 11: REVISTA Universidad EAFIT Vol. 41. No. 137. 2005. pp. 77

87

para los artículos reseñados, se muestra la conversión en el diagrama de clases y en el diagrama deactividades.

En el idioma español se han comenzado a realizar estudios sobre modelos conceptuales, que poseen un altocontenido textual, para acercarlos al nivel de implementación (Díaz, Sánchez y Matteo, 2003; Díaz et al.,2004). Este mismo tema para el idioma inglés es tratado por Ben Achour (Rolland y Ben Achour, 1998), (BenAchour, 1999). No se conocen trabajos que tomen como punto de partida el lenguaje natural en español parala construcción de esquemas conceptuales.

Fuente: (Mayr y Kop, 2002)

Figura 7. Esquema preconceptual de la Universidad de Klagenfurt para el trazado dediagramas de actividades

Los trabajos hasta aquí reseñados involucran ladescripción en lenguaje natural de los requisitos fun-cionales de las organizaciones. A diferencia de ellos,el Proyecto KAOS (Knowledge Acquisition inautOmated Specification) presentado por Dardenneincorpora requisitos no funcionales, expresados enlenguaje natural, en un esquema conceptual cons-truido a partir de un lenguaje formal (Dardenne, 1993).En este esquema, el analista debe realizar la traduc-ción del lenguaje natural al lenguaje formal (VanLansweerde y Letier, 1998; Letier, 2001; VanLansweerde, 2001). En una línea similar se encuentrael trabajo de Koubarakis y Plexousakis, que tambiéninvolucra los requisitos no funcionales en forma demetas de la organización expresadas en un lenguajellamado cálculo situacional, que es un formalismo

para la representación del conocimiento y razona-miento en dominios que evolucionan dinámicamente(Koubarakis y Plexousakis, 1999 y 2000).

En la sección siguiente se compendian algunos delos problemas que subsisten, en lo que respecta aluso de modelos verbales para la construcción deesquemas conceptuales.

2. Problemas por resolver

Como se expresó en la introducción, el punto departida para la construcción de cualquier pieza desoftware está constituido por su modelo verbal. En lasección anterior se listaron varios trabajos queemplean ese modelo verbal para tratar de identificar

ZAPATA J., C. M.; ARANGO I., F. | Los modelos verbales en lenguaje natural y su utilización en la elaboración de esquemas...

Page 12: REVISTA Universidad EAFIT Vol. 41. No. 137. 2005. pp. 77

REVISTA Universidad EAFIT. Vol. 41. No. 137 | enero, febrero, marzo 200588

partes de diferentes esquemas conceptuales. En estasección se analizan algunos vacíos que son suscep-tibles de explorar:

2.1 No se entabla un diálogo entre losusuarios y los analistas, para verificar lacomprensión del dominio o la completitudde los diagramas

Existen trabajos que propugnan por la construcciónde modelos preconceptuales, a partir de modelosverbales en lenguaje natural restringido (RADD,ASPIN, KCPM, NL-OOPS), que posteriormente sirvenpara realizar modelos conceptuales de diferente índole(diagrama Entidad-Relación, diagramas de Clases odiagramas de Interacción de UML). En estos trabajosse plantea el procesamiento del lenguaje natural (PLN)mediante un proceso, primero de tipo sintáctico, enel que se ubica el papel de cada una de las partículasde una oración y luego, mediante un proceso de tiposemántico, que busca el significado de cada una delas partículas en un contexto dado, trabajado por logeneral mediante Ontologías. En esos trabajos seestablece un diálogo que los diferentes autores llamanabierto entre el usuario final y los analistas y desarro-lladores, mediante el esquema preconceptual, el cualafirman que es mucho más claro que los diferentesesquemas conceptuales existentes y que por elloserá de más fácil interpretación para los diferentesusuarios finales del software. Sin embargo, losesquemas preconceptuales usados tienen tambiénuna simbología gráfica (por ejemplo, en el casoKCPM) o de un lenguaje particular definido para eluso en traducción automática (como ASPIN), cuyalectura puede ser clara para los analistas y desarro-lladores después de un mínimo de entrenamiento enla sintaxis de la simbología, pero que aún sigue siendoun tanto obscura para los usuarios finales.

Exceptuando RADD, en ese diálogo que se entablacon el usuario falta la vía de regreso en la comunica-ción, es decir, que los elementos definidos comoesquemas preconceptuales se vuelvan a traducir alenguaje natural, para confrontarlos con lo que inicial-mente el usuario final definió como característicasdel problema, cuya solución se está tratando deimplementar con los esquemas preconceptualescomo paso inicial; cabe anotar, que herramientas

semiautomáticas como LIDA sí realizan esta conver-sión y la presentan al usuario del sistema (suponenque el usuario del sistema es el diseñador y no elusuario final que entrega el modelo verbal). Serequiere, entonces, que el problema expresado enlenguaje inicial, y traducido a los esquemas precon-ceptuales, vuelva a traducirse en lenguaje natural,como en una especie de: “lo que usted quiso decirfue...”. De esa manera, la comunicación no se romperíay se podría establecer un diálogo productivo en rela-ción con el software, que posibilitara la depuraciónde los modelos verbales hasta obtener algo que, tantolos analistas y desarrolladores como los usuariosfinales, puedan encontrar útil para la construccióndel software.

Los lineamientos iniciales para ese diálogo puedenser los que posee RADD para verificar completitud,clarificación lingüística y clarificación semántica, perose deben revisar cuidadosamente las reglas heurísticasque lanzan las preguntas de verificación al usuario,puesto que en RADD se establece, para la conversióna modelo Entidad–Relación, sólo uno de los modelosconceptuales disponibles; como esas reglas depen-den de las características de los diferentes modelos,habría que determinarlas para cada uno de ellos.

2.2 La mayoría de estos trabajos parte demodelos verbales restringidos queeluden las ambigüedades

Esas “restricciones” del lenguaje en ocasiones sonlimitaciones a la manera como se estructuran lasfrases, para evitar problemas como las anáforas olas ambigüedades originadas, por ejemplo en el usode pronombres para aludir objetos o actores de frasesanteriores (este es el caso, por ejemplo, de KCPM).En estos casos, el lenguaje en el que deben serescritos los modelos verbales limita la interpretacióny recolección de las características de la organiza-ción, labor ésta que debe ser realizada conjuntamentepor los analistas y los usuarios finales. Para ellenguaje español, por ejemplo, ya se han realizadodiferentes trabajos para solucionar problemas encuestiones de anáforas y ambigüedades, que sepueden incorporar en cualquiera de las solucionesque se implementen para la construcción automáticade software a partir de modelos verbales. Además,

Page 13: REVISTA Universidad EAFIT Vol. 41. No. 137. 2005. pp. 77

89

como establece el proyecto LIDA, en los modelosverbales sin restricción todavía se puede encontrarinformación relevante a la forma de uso de laaplicación futura y no pueden ser desechados demanera tan inmediata como plantean otros modelos.

Otra forma de restricción la constituyen los subcon-juntos del lenguaje, aplicables a ciertos dominiosespecíficos -como es el caso de ASPIN-, que lerestan universalidad a la aplicación de la solución.No es claro todavía que pueda ser posible unaOntología propia de todos los dominios disponibles,pero una herramienta que utilice el lenguaje naturalpara capturar características de los esquemas con-ceptuales, bien podría ir recabando la informacióncorrespondiente a un dominio particular e ir confor-mando, también de manera automática, la Ontologíaque pueda dar claridad a los términos que seinvolucran en un modelo verbal, perteneciente a undominio particular.

2.3 En los modelos resultantes no seexpresan ciertas características propiasdel dominio, conocidas en la literaturaespecializada como “reglas del negocio”,presentes en los modelos verbales

Los modelos verbales también pueden contener unnúmero no determinado de reglas del negocio, lascuales pueden no tener equivalencias en la mayoríade los modelos conceptuales. Por lo general, lasreglas del negocio que no puedan ser expresadasen la sintaxis de los esquemas conceptuales, porreferirse a requisitos no funcionales, terminan siendoincluidas mediante notas de tipo textual en lasherramientas CASE, y no se pueden traducir demanera directa a código; entonces, esas reglasdeberán ser manejadas por los desarrolladoresmediante triggers (piezas de código que ejecutanciertos procesos de manera automática al presen-tarse ciertos eventos en la aplicación) o subrutinasde programación que puedan dar cuenta de ellas,pero, por su falta de traducción formal a algún tipode modelo, pueden ser muy fácilmente dejadas delado en el desarrollo, especialmente en proyectosde gran envergadura que posean muchas restriccionesa nivel de organización.

ZAPATA J., C. M.; ARANGO I., F. | Los modelos verbales en lenguaje natural y su utilización en la elaboración de esquemas...

2.4 Se realizan modelos con alto contenidográfico, pero se dejan de lado modeloscon alto contenido textual

Algunos de los modelos empleados para el desarrollode software, tienen grandes cantidades de lenguajenatural incorporadas en su estructura. El modelocausa–efecto o el diagrama de procesos o la descrip-ción de los diagramas de casos de uso, por citaralgunos ejemplos, poseen aún muchos textos enlenguaje natural, que son indispensables para laadecuada comprensión del sistema futuro. Lo quese ha trabajado hasta ahora en el procesamiento dellenguaje natural (PLN), enfocado a la Ingeniería derequisitos, realiza simplificaciones que puedentraducir a modelos gráficos, pero que difícilmentepueden traducirse a otros textos en lenguaje naturalque hagan parte de modelos, como los que se hanejemplificado. Esos modelos hasta ahora generados,se enfocan casi todos en diagramas tipo UML, perono permiten la realización de diagramas con altocontenido textual y menos contenido gráfico. Además,presentan como complicación adicional el hecho deque sus textos pueden generar problemas de consis-tencia para su construcción, de forma tal que no sepuede garantizar que una parte de uno de los diagra-mas se refiera específicamente a una parte de otrode los diagramas, como ocurre en el caso de losdiagramas causa–efecto, que se deberían asociaren cada una de sus partes a uno de los procesos delDiagrama de Procesos de la Organización. No sehan definido ni incluido en los diferentes trabajosanalizados, reglas de consistencia que permitandeducir este tipo de relaciones de manera automá-tica, con el fin de que el software las incorpore yvalide en el proceso de desarrollo.

2.5 No se verifica la consistencia intra eintermodelos

Si bien la construcción de los diferentes diagramasparte de la misma descripción en lenguaje natural,cada uno de los diagramas se elabora por separado,lo que genera ciertas reglas internas de consistencia,pero por otra parte no se puede realizar un procesodinámico de comunicación entre los diferentes

Page 14: REVISTA Universidad EAFIT Vol. 41. No. 137. 2005. pp. 77

REVISTA Universidad EAFIT. Vol. 41. No. 137 | enero, febrero, marzo 200590

diagramas, puesto que la retroalimentación entre ellossólo es posible vía el modelo verbal. Estas reglas deconsistencia entre modelos aún no han sidocompletamente definidas para los diferentes diagra-mas que hacen parte de un mismo proyecto dedesarrollo de software, y sólo con la especificaciónde UML 1.4 y 2.0 (OMG, 2004) se han venido traba-jando en lenguaje OCL. Una herramienta que tomecomo punto de partida la especificación de losrequisitos en lenguaje natural, debe tener la capacidadde verificar la consistencia intra e intermodelos, delos esquemas conceptuales pertenecientes a unmismo proyecto.

2.6 Existen pocos trabajos para el español

Se han realizado estudios para idiomas como elAlemán, el Inglés o el Italiano, pero no se conocentrabajos a este respecto en español –haciendo lasalvedad, claro está, de que Díaz, Sánchez y Matteotrabajan en lenguaje natural pero desde un esquemaconceptual como es el modelo de Casos de Uso parafacilitar la traducción automática a código-. El Españoltiene características que dificultan aún más lacomprensión de los textos en lenguaje natural, por lagran cantidad de verbos irregulares que se puedenencontrar en su estructura y por las diferentes clasesde ambigüedades que posee; estos problemas hacendel Español un lenguaje altamente complejo para suinterpretación. Los lenguajes como el inglés y elalemán tienen estructuras más sintéticas que puedengenerar una interpretación más adecuada de losdiferentes textos. En estos aspectos sería importantela vinculación de trabajos previos sobre la desambi-guación (Galicia, 2000) o que realicen propuestas parael manejo de los verbos en español (Zamorano, 2002).

2.7 Existen problemas asociados con laactualización del software existente

Los trabajos analizados, contemplan la creación delos esquemas preconceptuales a partir del modeloverbal de la organización; sin embargo, ninguno deellos evalúa qué ocurre cuando el software ya existey se requiere realizar una modificación al mismopartiendo de un modelo verbal. En este caso es fácilelaborar un esquema preconceptual con las caracterís-ticas de los que se hacen en la literatura especializada,

pero ¿cómo se puede garantizar que ese modelo seacomode con las características del software exis-tente?, ¿será posible expresar un software existente(o, en su defecto, la documentación que le dio origen)en términos de lenguaje natural, que permita realizarlas modificaciones pertinentes y reexpresarlas entérminos del software ya construido (o de los modelosque lo conformaron)?

2.8 Falta complementar las reglasheurísticas que sirven de punto departida para los diagramas

Las reglas heurísticas que posibilitan la transfor-mación de los esquemas preconceptuales enconceptuales, aún pueden ser un motivo de comple-mentación. Herramientas como CM-Builder y KCPM,presentan primeras versiones de los diagramas declases; por ejemplo, trazan el diagrama de clasespero no incluyen los métodos, que son elementospertenecientes a las clases y que definen las accionesque puede realizar una determinada clase. Además,con el tipo de diálogo planteado en 3.1., incluso sepodría llegar a preguntarle al usuario de qué manerase realiza el proceso, conformando una especie depseudocódigo que facilite la posterior programaciónde los métodos.

2.9 No se trabajan modelos diferentes alDiagrama Entidad–Relación o a losdiagramas de UML

Los modelos analizados muestran la realización deesquemas estructurales (Entidad–Relación, diagramade Clases) y esquemas dinámicos (diagrama deactividades) y se establece que de manera similarse pueden obtener los diagramas de colaboración,secuencias y estados. No se mencionan diagramasde otros tipos, como los de componentes, los decasos de uso o los de despliegue, y menos aúndiagramas diferentes a UML, como el diagrama deprocesos, el diagrama causa–efecto o el diagramaCRC. Puede ser un tópico de investigación, lainclusión de un conjunto de diagramas que permitatener una visión completa del software que facilite sutraducción posterior a código.

Page 15: REVISTA Universidad EAFIT Vol. 41. No. 137. 2005. pp. 77

91

Conclusiones

ZAPATA J., C. M.; ARANGO I., F. | Los modelos verbales en lenguaje natural y su utilización en la elaboración de esquemas...

Los requisitos expresados mediante modelos verbales, pueden dar origen a la construcción de los diagramasconceptuales de una aplicación, lo cual se ejemplifica en el artículo con diferentes tendencias que trazandiagramas Entidad–Relación, diagramas de Clases, diagramas de Actividades y otros para aplicacionesespecíficas. Sin embargo, todavía existen vacíos en la literatura especializada sobre los que se puedetrabajar: el diálogo entablado con el usuario para refinar la especificación en lenguaje natural de los requisitos,la incorporación de desambiguación, la expresión de las reglas del negocio en los esquemas conceptuales,la elaboración automática de modelos conceptuales altamente textuales, los chequeos de consistenciaentre modelos generados con la misma especificación en lenguaje natural, la elaboración de las herramientasde traducción para el español, el manejo de especificaciones adicionales para software ya existente, lacomplementación de las reglas heurísticas para generar esquemas conceptuales más completos y laelaboración de modelos diferentes a UML.

Las características de los diferentes productos y métodos analizados se compendian en la Tabla 1. Lasconvenciones son las siguientes:

• Análisis sintáctico, semántico y pragmático: aluden a los diferentes tipos de análisis que realizan losdiferentes productos y lenguajes, tal como se definen en el contenido del artículo.

• Conversión del modelo verbal (M. V.) en esquemas conceptuales (E. C.): se analiza según la sección 1,colocando heurísticas para ser usadas por el analista, herramientas de apoyo a la aplicación de reglas,herramientas para obtener versiones preliminares del esquema conceptual, herramientas de apoyo a lacompletitud del modelo y herramientas para apoyar la validación del esquema conceptual.

• Los esquemas preconceptuales pueden ser: grafos conceptuales, redes semánticas y jerarquías clase–atributos.

• Diálogo con el usuario: permite saber si las herramientas usan algún tipo de comunicación en lenguajenatural con el usuario.

• Los modelos conceptuales que se obtienen al aplicar los diferentes métodos, son: modelo de relacionesbinarias, diagrama E-R, diagrama de clases, diagrama de actividades y otros.

• Se coloca una X en lenguaje si el método o herramienta se trata de un lenguaje, ya sea implementado oteórico.

• Método manual, semiautomático o automático se marca según el nivel de automatización que presentela herramienta o método que se esté analizando y dependiendo de la manera en que apoya la gestión delos analistas para la determinación de diagramas a partir de los modelos verbales.

Existen varios aspectos en los cuales se pueden iniciar trabajos para el idioma español y que puedencomplementar los trabajos analizados en las secciones 2 y 3, tales como:

• Construcción de un analizador sintáctico.• Complementación de las reglas heurísticas esbozadas en algunos de los productos, que permitan la

implementación de algunos elementos como métodos de los diagramas de clases o mensajes de losdiagramas de colaboración, los cuales aún no han sido implementados en los diferentes trabajos.

• Definición de reglas heurísticas para el trazado de diagramas causa–efecto o diagramas de procesos,los cuales no están aún incluidos en los productos analizados.

• Establecimiento de conversiones de los diferentes diagramas conceptuales preliminares a lenguajenatural, con el fin de que los usuarios puedan comprender su significado y contribuir en el refinamientoposterior de los mismos.

Complementación de las reglas de validación de los diferentes modelos, que permitan la realización depreguntas automáticas al usuario, para completar los diagramas respectivos.

Page 16: REVISTA Universidad EAFIT Vol. 41. No. 137. 2005. pp. 77

REVISTA Universidad EAFIT. Vol. 41. No. 137 | enero, febrero, marzo 200592

Tabla 1. Comparación de las características de los modelos presentados

Análisis sintáctico X X X X X X X X

Análisis semántico X X X X X X X

Análisis pragmático X

Interpretación automática LN. X X

Conversión M. V. en E. C. X X X X X X X X X

Heurísticas usadas por analista X X X

Herramientas apoyo a reglas X

Herramientas versiones preliminares X X X X X X

Herramientas completitud modelo X

Herramientas validación esquema X

Esquemas preconceptuales X X X X X X

Grafos Conceptuales X X X

Redes Semánticas X

Jerarquías clases, atributos X

Otros esquemas preconceptuales X

Diálogo con el usuario en L. N. X X

Modelos Conceptuales X X X X X X X X X X

Modelo Relaciones Binarias X

Diagrama E-R X X X X

Diagrama de clases X X X X X

Diagrama actividades X X

Otros Diagramas X X X

Lenguaje X X X

Herramienta computacional X X X X X X X X

Método Manual X X X X X

Método Semiautomático X

Método Automático X X X X X X

Coad

-You

rdon

Che

n

NIAM

KIS

S

LIDA

Her

ram

ient

as C

ASE

Fram

eNet

Wor

dNet

RADD

CM

-Bui

lder

ASPI

N

NL-O

OPS

KCPM

M O D E L O

CARACTERÍSTICA

Page 17: REVISTA Universidad EAFIT Vol. 41. No. 137. 2005. pp. 77

93

Bibliografía

Ambriola, V. y Gervasi, V. (1997). “An environmentfor cooperative construction of natural languagerequirements bases”. En: Proceedings of theEight International Conference on SoftwareEngineering Environments (SEE ’97), Cottbus.pp. 124-130.

________ (2001). “On the parallel refinement ofNL requirements and UML diagrams”. En:Proceedings of the ETAPS 2001 Workshop onTrasformations in UML, Genova. 5 p.

Baker, C., Fillmore, Ch. y Lowe, J. (1998). “TheBerkeley FrameNet Project”. En: COLING-ACL’98: Proceedings of the Conference of theAssociation for Computational Linguistics,Montreal, pp. 86-90.

Ben Achour, C. (1999). Extraction des bensoinspar analyse de Scénarios textuels. Tesis deDoctorado de la Universidad de París. 294 p.

Buchholz, E., et al. (1995). “Applying a NaturalLanguage Dialogue Tool for Designing Data-bases”. En: Proceedings of the First InternationalWorkshop on Applications of Natural Languageto Databases. 15 p.

Buchholz, E. y Düsterhöft, A. (1994). “UsingNatural Language for Database Design”. En:Proceedings Deutsche Jahrestagung fürKünstliche Intelligenz. 5 p.

Burg, J.F.M. y Van de Riet, R.P. (1996). “AnalyzingInformal Requirements Specifications: A FirstStep towards Conceptual Modeling”. En:Proceedings of NLDB’96, 2nd InternationalWorkshop Applications of Natural Language toInformation Systems, Amsterdam. 13 p.

Chen, P. P. (1976). “The Entity–Relationship Model:Toward a Unified View of Data”. En: ACMTransactions on DataBase Systems, Vol. 1,No. 1.

Chen, P. P. (1983). “English Sentence Structureand Entity–Relationship Diagrams”. En:Information Science, No. 29, Vol. 2. pp. 127-149.

Coad, P. y Yourdon, E. (1990). Object – OrientedAnalysis. New Jersey: Yourdon Press. 233 p.

Cyre, W. (1995). “A requirements sublanguage forautomated analysis”. En: International Journalof Intelligent Systems, Vol. 10, No. 7. pp. 665-689.

Dardenne, A., van Lamsweerde, A. y Fickas, S.(1993). “Goal-Directed Requirements acquisition”.En: Science of Computer Programming, Vol.20. pp. 3-50.

Díaz, I., Sánchez, J. y Matteo, A. (2003). “Criteriosde Análisis Sintáctico para la Deducción dePatrones de Interacción de Instancias a partirde Casos de Uso”. En: Memorias de la Confe-rencia Latinoamericana de Informática, La Paz.11 p.

Díaz, I., Pastor, O., Moreno, L. y Matteo, A. (2004)“Una aproximación lingüística de Ingeniería deRequisitos para OO-Method”. En: Memorias delWorkshop Iberoamericano de Ingeniería deRequisitos y Ambientes Software (IDEAS2004),Arequipa. pp. 270-281.

Fellbaum, C. (1998). WordNet: An ElectronicalLexical Database. MIT Press.

Fillmore, Ch. (1968). “The case for case”. En:Universals in Linguistics, Bach and Harms,editors. pp. 1- 88.

Fillmore, Ch., Baker, C. (2001). “Frame Semanticsfor Text Understanding”. En: Proceedings ofWordNet and Other Lexical ResourcesWorkshop, NAACL, Pittsburgh. 6 p.

Fliedl, G. et al. (2002). “The NIBA workflow: Fromtextual requirements specifications to UML-schemata”. En: Proceedings of the ICSSEA‘2002 - International Conference “Software &Systems Engineering and their Applications”,Paris.

________ (1999). “Linguistically Based Requi-rements Engineering - The NIBA Project”. En:Proceedings 4th Int. Conference NLDB’99

Page 18: REVISTA Universidad EAFIT Vol. 41. No. 137. 2005. pp. 77

REVISTA Universidad EAFIT. Vol. 41. No. 137 | enero, febrero, marzo 200594

Applications of Natural Language toInformation Systems, Klagenfurt. pp. 177 –182.

Fliedl, G., Kop, Ch. y Mayr, H. C. (2003) “FromScenarios to KCPM Dynamic Schemas:Aspects of Automatic Mapping”. En:Proceedings of the Natural LanguageProcessing and Information SystemsConference NLDB’2003, Lecture Notes inInformatics P-29. pp. 91 - 105.

Fliedl, G., Mayerthaler, W. y Winkler, Ch. (1999).“The NT(M)S-Parser: An Efficient Computa-tional Linguistic Tool”. En: Proceedings of the1st International Workshop on ComputerScience and Information Technologies,Moscow.

Fliedl, G. y Weber, G. (2002). “Niba-Tag - A Toolfor Analyzing and Preparing German Texts”.En: Proceedings of DataMining 2002, Bologna.

Galatescu, A. (2002). “Reifying Model IntegrationAbilities from Natural Language”. En: Journalof Conceptual Modeling No. 24. 19 p.

Galicia, S. (2000). Análisis sintáctico conducidopor un diccionario de patrones de manejosintáctico para lenguaje español. TesisDoctoral del Instituto Politécnico Nacional,México.

Gervasi, V. (1999). Environment support forrequirements writing and analysis. PhD Thesis,Universidad de Pisa. 172 p.

Gervasi, V. (2001). “The CICO domain-basedparser”. Reporte técnico TR-01-25, Departa-mento de Informática, Universidad de Pisa. 52p. (Consulta 15 de Julio de 2004).http://circe.di.unipi.it/Cico/

Gervasi, V. y Nuseibeh, B. (2000). “Lightweightvalidation of natural language requirements: acase study”. En: Proceedings of the 4thInternational Conference on RequirementsEngineering. pp. 140-148.

________ (2002). “Lightweight validation of naturallanguage requirements”. En: Software Practiceand Experience, Vol. 32. pp. 113-133.

Gruber, J. (1965). Studies in Lexical Relations.Disertación Doctoral, Cambridge, MIT.

Halpin, T. (1998). “Object-Role Modeling (ORM/NIAM)”. En: Capítulo 4 de Handbook onArchitectures of Information Systems, eds P.Bernus, K. Mertins & G. Schmidt, Springer-Verlag, Berlin. 13 p.

Harmain, H. y Gaizauskas, R. (2000). “CM-Builder: An Automated NL-based CASE Tool”.En: Proceedings of the fifteenth IEEEInternational Conference on AutomatedSoftware Engineering (ASE’00), Grenoble.9 p.

Hoppenbrouwers, J. (1997). Conceptual Modelingand the lexicon. Tesis Doctoral de laUniversidad Católica de Brabant. 200 p.

Jin, Z., Bell, D. y Wilkie, F. (1998). “Automaticallyacquiring the Requirements of BusinessInformation Systems by using BusinessOntology”. En: Proceedings of the 13theuropean conference on Artificial Intelligence,Brighton. 15 p.

Kamps, J. et al. (2004). “Using WordNet tomeasure semantic orientation of adjectives”.En: Proceedings of the 4th InternationalConference on Language Resources andEvaluation (LREC 2004), volume IV, París. pp.1115-1118.

Kop, Ch. y Mayr, H. C. (2002). “Mapping functionalrequirements: from natural language toconceptual schemata”. En: Proceedings of the6th IASTED International conference SoftwareEngineering and applications. 5 p.

Koubarakis, M. y Plexousakis, D. (1999).“Business Process modelling and design: aformal model and methodology”. En: BTTechnology Journal, Vol. 17, No. 4. pp. 23-35.

Page 19: REVISTA Universidad EAFIT Vol. 41. No. 137. 2005. pp. 77

95

________ (2000). “A formal model for businessprocess modeling and design”. En: Proceedingsof CAiSE*00, Stockholm. 15 p.

Kristen, G. (1994). Object Orientation: The KISSMethod. From Information Architecture toInformation Systems. Addison-Wesley.

Letier, E. (2001). Reasoning about Agents in Goal-Oriented Requirements Engineering. TesisDoctoral, Universidad de Louvaine, 283 p.

Mayr, H. C. y Kop, Ch. (2002) “A user centeredapproach to Requirements Engineering”. En:Proceedings of “Modellierung 2002”, LectureNotes in Informatics P-12. pp. 75-86.

Meyer, J. y Dale, R. (2002). “Using the WordnetHierarchy for Associative Anaphora Resolution”.En: Proceedings of the Coling 2002 Workshop‘’SemaNet’02: Building and Using SemanticNetworks’’, Taipei. 7 p.

Mich L. (1996). “NL-OOPS: From Natural NaturalLanguage to Object Oriented Requirementsusing the Natural Language ProcessingSystem LOLITA”. En: Journal of Natural LanguageEngineering, Cambridge University Press, Vol.2, No. 2. pp. 161-187.

Mich, L. y Garigliano, R. (2002). “NL-OOPS: ARequirements Analysis tool based on NaturalLanguage Processing”. En: Proceedings of the3rd International Conference on Data Mining2002, Bologna. pp. 321-330.

Nijssen, G.M. (1977). “Current issues in conceptualschema concepts”. En: Proceedings of the IFIPWorking Conference on Modelling in Data BaseManagement Systems. pp. 31-66.

OMG. (2004) OMG Unified Modeling LanguageSpecification. Object Management Group.(Consulta 28 de junio de 2004).http://www.omg.org/UML/.

Overmyer, S.P., Lavoie, B., y Rambow, O. (2001)“Conceptual modeling through linguisticanalysis using LIDA”. En: Proceedings of ICSE2001, Toronto, Canada. 10 p.

Pressman, R. (2002). Ingeniería del Software:Un enfoque práctico. Madrid: McGraw–Hill.601 p.

Rolland, C. y Ben Achour, C. (1998). “Guiding theConstruction of Textual Use Case Speci-fications”. En: Data & Knowledge EngineeringJournal, Vol. 25, No. 1-2. pp. 125-160.

Van Lamsweerde, A. (2001). “Goal-OrientedRequirements Engineering: A guided tour”.Proceedings 5th IEEE Symposium onRequirements Engineering, Toronto. pp. 249-263.

Van Lamsweerde, A. y Letier, E. (1998).“Integrating obstacles in goal-driven Requi-rements Engineering”. En: Proceedings 20thConferecence on Software Engineering, Kioto.10 p.

Zamorano, J. (2000) “La morfología verbal delespañol y la generación automática”. En:Procesamiento del Lenguaje Natural, No. 28.pp. 35-43.

Zowghi, D. y Gervasi, V. (2002) “The Three Cs ofRequirements: Consistency, Completenessand Correctness”. En: Proceedings of 8thInternational Workshop on RequirementsEngineering: Foundation for Software Quality,(REFSQ’02), Essen. pp. 155-164.

Zowghi, D., Gervasi, V. y McRae, A. (2001) “UsingDefault Reasoning to Discover Inconsistenciesin Natural Language Requirements”. En:Proceedings of the Eighth Asia-PacificSoftware Engineering Conference (APSEC’01),Macao. pp. 133-142.

ZAPATA J., C. M.; ARANGO I., F. | Los modelos verbales en lenguaje natural y su utilización en la elaboración de esquemas...