<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>T6cnicas para la clasificaci6n/recuperaci6n de y su impacts en la Calidad</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jose Lui'sBurros Justo</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>30 Encontro Nacional para a Qualidade nas Tecnologias de Informao Universidade do Minho 46 de Novembro 1998</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>e ComunicaCSes</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>1998</year>
      </pub-date>
      <fpage>4</fpage>
      <lpage>6</lpage>
      <abstract>
        <p>Este artlculo presenta una recopilaci6n de las principales t6cnicas de clasificaci6n y recuperaci6n de componentes software reutilizables, en uso hoy en dia asi como su impacto en el aseguramiento de la calidad de los sistemas informticos desarrollados mediante su composici6n.. Los mecanismos de ambos procesos se relacionan directarnente al depender del rnismo objeto; rnientras la clasificaci6n determina Una organizaci6n especifica de los componentes en la biblioteca, la recuperaci6n debe adaptarse a tal organizaci6n. Asi pues, las t6cnicas presentadas deben entenderse como procesos de clasificaci6n y recuperaci6n, y no pueden tratarse por separado. En el articulo se presentan las t6cnicas m Que se ocupa mayoritariamente la literatura. Asi rnismo, se sugieren las caracteristicas quo</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>"^
^</p>
    </sec>
    <sec id="sec-2">
      <title>Resumen</title>
      <p>deber</p>
      <p>invesrigarse con mayor profundidad en aras de lograr nuevas t6cnicas que eviten los
problemas actuales. Aunque con un lenguaje directo (dado su carcter
divulgativo), el
artlculo presenta los conceptos y t6cnicas con formalidad rigurosa, y ofrece Una extensa Esta
de referencias sobre la evoluci6n de las diversas t6cnicas, Sus aplicaciones, prototipos,
relaci6n con otras t6cnicas, etc. El objetivo principal de este trabajo es el de ofrecer Una
visi6n global del estado del arte en t6cnicas de clasificaci6n/recuperaci6n, aplicadas a
componentes software reutilizables, con 6nfasis en el aspecto cualitativo delos sistemas
recnicas para la clasificaci6n/recuperaci6n
de componentes software reu6liubles
hrsu impacto en la Calidad
resultantes, ofreciendo una extensa Esta de referencias donde el lector interesado podr
encontrar mayor informaci6n.</p>
      <p>Palabras Clave:</p>
      <p>clasificaci6n, recuperaci6n, componentes reutilizables,</p>
    </sec>
    <sec id="sec-3">
      <title>1.Introducci6n</title>
      <p>El t6rrflino componente soare reutilz'zable Se usa en este articulo en un sentido
gen6rico. Los componentes software reutilizables Se refieren no solo a c6digo
(procedimientos, funciones, rutinas, m6dulos), sino tambi6n a: sistemas, subsistemas,
especificaciones del Anisis, especificaciones del DiseSo, test de prueba, documentaci6n
para el programador, manuales del usuario, etc. En resumen, un componente software
reutilizable puede ser cualquier producto del proceso de desarrollo de aplicaciones,
incluido el propio proceso (m6todoS,tcnicas, experiencias, etc.).</p>
      <p>El proceso de clasificaci6n cataloga un componente software en Una biblioteca (base
de software, repositorio) mediante Una traducci6n directa del componente a Una estructura
de representaci6n interna, por la cual el componente podr ser recuperado en el futuro; a este
proceso lo denominaremos "mapeo" (por la palabra inglesa mappz.ng).En los mecanismos
tradiciones de clasificaci6n para la reutilizaci6n de software, la representaci6n interna
consiste en un conjunto de t6rminos Que describen aI componente, de acuerdo a las
categorias preestablecidas en el esquema de clasificaci6n o en el lenguaje de representaci6n.
Para la asignaci6n de t6rruinos (indizaci6n) puede utilizarse un lenguaje libre o un
vocabulario controlado (especfico del dominio). El vocabulario controlado establece el
conjunto de t6rrninos Quepueden utilizarse en el proceso de indizaci6n y su significado, algo
asI como un glosario especializado.</p>
      <p>2
30 Encontro Nacional para
a Qualidade nas Tecnologias de Informal!;;6o e ComunicacBes</p>
      <sec id="sec-3-1">
        <title>Universidade do Minho</title>
        <p>4-6 de Novembro 1998
144
\~f
.\~ ~</p>
        <sec id="sec-3-1-1">
          <title>La recuperaci6n de potenciales componentes para su reutilizaci6n, consiste en la mediante la visualizaci6n de una jerarqufa de componentes en la biblioteca lo que hemos</title>
          <p>Figura 1 Recuperaci6n y Clasi8caci6n
______________________________________________________________________
30 Encontro Nacional para
a Qualidade nas Tecnologias de InformaC5o e ComunTcaG6es
Universidade do Minke
4-6 de Novembro 1998
:aS</p>
          <p>LeS
del
)n,
r6cnicas para la clasi6caci6n/recuperaci6n</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>5e componentes sorfvvare reutiliaables su impacto en la Calidad</title>
        <p>software implica directarnente
un
incremento
en la calidad de los sistemas desarrollados mediante la composici6n
30 Encontm Nacional para
La reutilizaci6n</p>
        <p>de software comprende dos actividades principalesl -'y complementarias-:
1. el desarrollo-para</p>
        <p>(desarrollar componentes reutilizables)
2" el desarrollo-con</p>
        <p>(reutihzar componentes existentes)
[Podgu92] comprende las actividades tradicionales de desarrollo de aplicaciones software,
} En la literature tarnbin pueden encontrarse Lasdenominaciones de: Acercamiento Generatino [Neigh84] y Acercarniento
de B\oques de Construcci6n {Bun087], para refenrse desarrollo-para y desarrollo-con, repectinarnente
30 Encontro Nacional para
a Qualidade masTecnologias de Informso
Umiversidade do Minho
46 de Novembro 1998
r -ecnicaspan la clasificaci6n/recuperaci6n
de componentes sonware reutillubles</p>
      </sec>
      <sec id="sec-3-3">
        <title>Ysu impacto en la Calidad</title>
        <p>pero incluye ademas la bdsqueda selecci6n y adaptaci6n de componentes que se encuentran
en un repositorio, para su inclusi6n en el sistema a desarrollar. Actualmente, el
desarrollocon recibe el nombre de Desarrollo sobre la base de Componentes (Component-based
development). Una buena referencia a los procesos de desarrollo-para y desarrollo-con
puede encontrarse en [Karls96].</p>
        <sec id="sec-3-3-1">
          <title>A pesar de los diferentes roles, el desarrollo-para y el desarrollo-con son complementarios (v6ase</title>
        </sec>
        <sec id="sec-3-3-2">
          <title>Figura 2). El desarrollo-para es una actividad evolutiva que utiliza la experiencia acumulada durante el desarrollo-con, mientras este dltimo utiliza los componentes desarrollados por el primero. Las actividades en cads uno de los desarrollos pueden verse en la Figura 3 y la Figura 4.</title>
          <p>Experiencia en Reutilizaci6n y
Conocimien
Dominio
Aplicacione
Especfficas</p>
          <p>Figura 3 AcHvidades en el Desarrollo-para
30 Encontro Nacional para
a Qualidade nas Tecnologlas de Informai!;;8o e Comunical;;Ses
Universidade do Minho
4-6 de Novembro 1998
148
Repositolio</p>
          <p>Componentes</p>
          <p>Figura 4 Ac6yidades en el DesarrolIo-con
r"emicas para la dasi6caci6n/recuperaci6n
de componentes software reutiliubles
bsu impacto en la Calidad</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>3.T6cnicas de Clasificaci6n/Recuperaci6n</title>
      <sec id="sec-4-1">
        <title>Antes de comentar, por separado, cada Una de las t6cnicas actuales de clasificaci6n y</title>
        <p>recuperaci6n de componentes software reutilizables, indicaremos los conceptos bsicos
referentes a las diversas actividades. La mayor parte de los conceptos provienen del ea de
la recuperaci6n de la informaci6n [Frake92,Lanca93,Rijsb8O,Salto89l, y se ban adaptado
para el caso concreto de la reutilizaci6n.</p>
        <p>La teorfa de recuperaci6n de la informaci6n parece ser el acercamiento adecuado a
105 principales problemas de la clasificaci6n y recuperaci6n de componentes software. A
diferencia de lo que ocurre en los sistemas gestores de bases de datos (SGBD, DBMS en
ingl6s), los cuales se basan en la coincidencia total, en la recuperaci6n de informaci6n o
componentes software es generalmente imposible formular la consulta precisa, y la
informaci6n recuperada puede incluir Items que coinciden total o parcialmente con los
criterios de la consulta. Los sistemas de recuperaci6n de la informaci6n permiten la
"coincidencia parcial", lo cual es uno de los requerirnientos bsicos de cualquier sistema de
recuperaci6n, donde la posibilidad de encontrar un componente que coincida exactamente es
muy baja.</p>
        <p>El prop6sito de un sistema de recuperaci6n de informaci6n (SRI) es el de satisfacer
gran variedad de necesidades de informaci6n. Una necesidad de informaci6n es formulada
mediante Una consulta al SRI, el cual responder con Una 1iSta(quizs vacia) de Iterns en la
base de datos. Los items "de informaci6n- tradicionales son en su mayoria texto
(documentos), a pesar de la creciente importancia de la informaci6n multimedia: texto,
graficos, sonido, imagenes estaticas y dincas, etc. Cuando los ftems en la base de datos
son en su mayoria productos del desarrollo de software (requerimientoS del anisis,
especificaciones del disefio, programas ejecutables, test de prueba, etc.), Sta recibe el
nombre de base de software, o repositorio.</p>
        <p>8
30 Encontro Nacional para
a Qualidade nas Tecnologias de Informaciiio e Comunicaq;;;5es
Universidade do Minho
4-6 de Novembro 1998
150
\
-.
~j\~1
\f\/
^"
Necesidad de
Informaci6n
Vocabulario o lenguaje
de Represenlaci6n
Reformulaci6n de la
consulta</p>
        <p>Veriflcaci6n del</p>
        <p>Usuario</p>
        <p>Figura 5 Principales fnnciones de on S</p>
      </sec>
      <sec id="sec-4-2">
        <title>En los SRI sobre 1a base de pal&amp;bras clave</title>
        <p>OsS
sobre la base de un modelo de
espacio vectorial [Salto7l]),</p>
        <p>el proceso involucra la asignaci6n de los items de informaci6n
30 Encontro Nacional para
a Qualidade nas Tecnologias de Inform&amp;o
Universidade do Minke
6 de Novembro 1998
f"ecnicas para la dasificaci6n/recuperad6n
Se componentes software reutilizables
a ciertas clases, donde una clase es el conjunto de todos los items de informaci6n a los
uales se les ha asignado un t6rmino particular del indice (palabra clave). Los items de
tc ma central del item de informaci6n" El conjunto de t6rlninos indice asignados a un item de
lingUisticos a los SRI, la clasificaci6n consiste en un "mapeo" del item de informaci6n,
escrito mediante un conjunto de oraciones, en una estructura interna de representaci6n del
1I
c
c
C
e
t(
I:
10
30 Encontro Nacional para
"^
y su impacto en la Cafidad
* m6todos lingi:ilsticos(o, sobre la base del conocimiento)</p>
        <p>Los m6todos estadisticos [Fagan89,Salto94] se basan en la frecuencia de las palabras
.en un texto, es decir, las palabras que ocurren con mayor frecuencia en un texto no son titiles
en el proceso de clasificaci6n, pues no permiten distinguir "discriminar.. los conjuntos de
-t6rrninos de informaci6n. As/ pues, muchos de los SKI sobre la base de m6todos estadisticos
poseen Una "lista de pal&amp;bras vacias" que no tienen valor decisivo en el proceso de
clasificaci6n y, por tanto, son ignoradas cuando Se encuentran en el item a clasificar.
Adems pueden implementarse mecanismos que extraigan de la entrada (en las consultas en
lenguaje natural) ciertas construcciones gramaticales, tales como sufijos, prefijos,
sin6nimos, hom6nimos, etc. Incluso, puede obtenerse la rajizcomtin de diversos t6rrmnos y</p>
      </sec>
      <sec id="sec-4-3">
        <title>Algunas desventajas de los m6todos estadisticos pueden resumirse en:</title>
      </sec>
      <sec id="sec-4-4">
        <title>For OtrO ]ado, la investigaci6n ms reciente en el campo de los SRI reconoce Que</title>
        <p>al:=o1:tiinpo de tratamiento del lenguaje natural podria mejorar la efectividad en la
recuperaci6n dB informaci6n textual [Lanca93,Salto89,Smeat92]. Es asi como surgen los
mtodos lingnisticos, sobre la base del conocimiento del lenguaje. La idea central es muy</p>
      </sec>
      <sec id="sec-4-5">
        <title>Clara:la comprensi6n total de los items de texto podna resolver la mayor parte de los</title>
        <sec id="sec-4-5-1">
          <title>3o Encontro Nacianal para</title>
          <p>a Qualidade Has Tecnalagias de InformaI;;:i!iae Comunical;;:Ses
Universidade do Minho
4-6 de Novembro 1998
r6cnicas para la claslficaci6n/recuperaci6n
:le componentes software reubliubles
f su impacto en la Calidad
problemas asociados con la recuperaci6n de informaci6n- Sin embargo, un acercamiento
ptico e independiente del dormnio para entender completamente un lenguaje natural no es
posible, hoy en dfa, con las tcnicas disponibles de procesamiento del lenguaje natural
(PLN), bicamente pol el conocimiento necesario y el esfuerzo humano requerido para
desarrollar tal aplicaci6n software [Covin94]. Los avarices en las t6cnicas de adquisici6n de
cl
c</p>
          <p>Sin embargo, la informaci6n lingtiistica puede ser extraida de un documento sin
n
e
t:
12</p>
        </sec>
      </sec>
      <sec id="sec-4-6">
        <title>Dado que las palabras clave son extraidas de forma automatica '-de las propias</title>
        <p>Estos sistemas utilizan t6cnic&amp;s estadisticas para recuperar informaci6n e indizar,
automdticamente, los t6rminos elegidos. Es necesario disponer de gran cantidad de
descripciones en forma de texto para que los acercamientos estadisticos funcionen con
relativa eficacia. Larnentablemente, las descripciones de componentes software
(documentaci6n) no suelen destacar por su tamafio, ni por su claridad, Di pol el uso de un
lenguaje natural gramaticalmente correcto [priet9l], pol ello estas t6cnicas no resultan muy
aplicables a la recuperaci6n de software, atin cuando trabajan relativamente bien en un
entorno de informaci6n global.</p>
      </sec>
      <sec id="sec-4-7">
        <title>Algunas mejoras ban supuesto los siguientes &amp;fiadidos:a) extracci6n de pares de</title>
        <p>pal&amp;brasclave, de acuerdo a su afinidad lexicogrca y cantidad de informaci6n; b) incluir
el c6digo fuente, y no tan solo la documentaci6n, buscando relaciones de herencia y
parte_de (en software OO), etc. Un caso ejemplar es el de la Biblioteca de Software
Reutilizable (RSL por Sus siglas en ingl6s) [Burto87] que incluye el repositorio RSL y
cuatro subsistemas: a) el manejador del repositorio, usado para poblar y mantener el
rePositorio, revisa los ficheros de c6digo y extrae comentarios con etiquetas especiales Que
Se usan como pal&amp;bras clave para describir la funcionalidad del componente, su autor, la
fecha de creaci6n, etc.; b) el sistema de consultas, con Una interface de lenguaje natural Que
interactl:iacon el usuario para ir refinando la consulta y reducir el conjunto de componentes
recuperados; c) el sistema de recuperaci6n y evaluaci6n, Que recupera componentes y
Permite ordenarlos jerquicamente mediante la especificaci6n de palabras clave Que
describen los atributos de los componentes; y d) el sistema de diseho asistido pol ordenador
que permite incluirlos componentes recuperados "y seleccionados- en una especificaci6n de
disefio 00.
3o Encontro Nacional para
a Qualidade nas Tecnologias de Informa(;:go e Comunical!;;Ses
Universidade do Minho
4-6 de Novembro 1998
r"ecnicaspara la dasiflcad6n/recuperad6n
:Secomponentes software reutilizables
hrsu impacto en la Calidad</p>
      </sec>
      <sec id="sec-4-8">
        <title>Como conclusi6n puede afirmarse que los acercamientos de indizaci6n automtica</title>
        <p>no richen una buena relaci6n costo/beneficio para pequeiias colecciones de componentes, sin
embargo, comienzan a aparecer en el mercado glandes colecciones de componentes, como
ASSET [Asset], del orden de miles de elementos, que Si pueden beneficiarse de estos
acercamientos para la generaci6n automatic&amp; de la representaci6n de los componentes
software,
3.3. Facetas</p>
      </sec>
      <sec id="sec-4-9">
        <title>Los principales acercamientos a la clasificaci6n y recuperaci6n proponen un</title>
        <p>"esquema de clasificaci6n" para catalogar los componentes en una Base de Software
(repositorio) [Morel93,Priet9l,Sindre93]. Los esquemas especifican algunos atributos,
Ilamados facetas, que deben ser usados como descriptores del componente software,
generalmente con 6nfasis en la acci6n ejecutada por el componente y por los objetos
manipulados.</p>
        <p>Tanto la clasificaci6n como la recuperaci6n se realiza especificando t6rminos clave
para cada atributo en el esquema. Las relaciones entre t6rminos se expresan mediante
combinaci6n de atributos, permitiendo una mayor precisi6n que los sistemas que se basan
solo en pal&amp;bras clave. La aparici6n de las facetas se debe a Prieto-Dfaz [Priet9l], su
esquema fue adoptado o generalizado por muchas otras propuestas en el area de la
reutilizaci6n [Borst92,Borst93,Oster92]. El esquema consiste de 4 facetas:
* funci6n realizada por el componente (funcionalidad)
. objetos manipulados por la funci6n
' estructura de datos donde la funci6n tiene Ingar (medio o localidad)
* sistema al que pertenece la funci6n
14
30 Encontro Nacional para
a Qualidade masTecnologias de Informal;;5o e Comunical!;:Ses
Universidade do Minho
4-6 de N:ovembro1998
156
"^
y so impacto en la Caiidad</p>
        <p>Las tres primeras facetas Se consideran suficientes para describir la funcionalidad
(comportamiento) del componente. Los catogos son construidos manualmente y la
recuperaci6n Serealiza especiflcando t6rrninos (de un vocabulario controlado) para cada una
de las facetas. Los componentes recuperados se organizan de acuerdo a un valor de
similitud, que es determinado mediante un grafo de distancia conceptual y l6gica difusa. Los
grafos de distancia conceptual Se construyen manualmente para cada dominio de aplicaci6n,
sobre la base de la "experiencia, intuici6n y sentido coml:in"[Priet9l],</p>
      </sec>
      <sec id="sec-4-10">
        <title>Un buen ejemplo de clasificaci6n por facetas puede encontrarse en el repositorio de</title>
        <p>ASSET [Asset], donde Se consideran las siguientes: datos especcos, tipo de distribuci6n,
tipo de componente, colecci6n, dominio, juncio y obj-eta. Otras buenas referencias son:
Wood y Sommerville [Somme9O] con un esquema de clasificaci6n sobre la base de marcos
intentando captUrar el significado (semtica) de los componentes software, y el proyecto
PROTEUS [Frake9O], Que soporta diferentes mtodos de clasificaci6n (palabras clave,
facetas, grafos enumerados, atributo-valor) y pretende Ilevar a cabo Una evaluaci6n empIrica
(comparativa) de tales mtodos. Otto interesante esquema de clasificaci6n para repositorios
orientados a objeto ha sido propuesto For Girardi y Price [Girar92]. El proyecto REBOOT
[Karls96] implementa el esquema de clasificaci6n por facetas que Se presenta en la Figura 6.
30 Encontro Naciona! para
a Qualidade masTecno!ogias de Informaq;;8oe Comunica(;;:Ses
Universidade do Minho
4-6 de Novembro 1998
r'ecnicas para la clasificaci6n/recuperaci6n
do compononl:es software
reu6fizables</p>
        <p>Figura 6 Facetas en el proyecto REBOOT</p>
      </sec>
      <sec id="sec-4-11">
        <title>Donde las facetas representan los siguientes conceptos:</title>
        <p>* Dependencias: cuales son las restricciones aplicadas al componente (limitaciones)
* "Operasobre: sobre Que objetos acma el componente (relaci6n, comunicaci6n, etc.)
* Operaciones: Quehace el componente (operaciones, funciones, procesos)
.</p>
      </sec>
      <sec id="sec-4-12">
        <title>Abstracci6n: que es el componente (nombre del objeto en un acercamiento 00)</title>
        <p>3.4.</p>
        <p>Marcos de Conocimiento
Estas tcnicas se caracterizan por hacer un tipo de anisis
lexicogrco,
sintctico y
semtico</p>
        <p>de las especificacione.s en lenguaje natural de los componentes software, sin
pretender Una cornprensi6n completa de los documentos. Se apoyan en UnaBase de
16
30 Encontro Nacional para
bases de conocimiento -dependientes del dominio- y poblarlas. Algunos de los sistemas ms
caracterlsticos</p>
        <p>de este acercamiento son los siguientes.
consultas como las descripciones de software son generadas (parsed) usando Una gramtic</p>
        <sec id="sec-4-12-1">
          <title>3o Enwntro NacionaJ para</title>
          <p>a QuaJJdade nosTecnologias de Informso
Universidade do Minho
6 de Novembro 1998
t-ecnicas para la clasificaci6n/recuperaci6n
de componentes software reutilizables</p>
        </sec>
        <sec id="sec-4-12-2">
          <title>Y su impacto en la Calidad</title>
        </sec>
      </sec>
      <sec id="sec-4-13">
        <title>Allen y Lee [A11en89] proponen un sistema sobre la base de marcos denominado</title>
        <p>Bauhaus, como soporte a la descripci6n y recuperaci6n de partes reutilizables y su
composici6n para usar en ambientes de desarrollo con lenguaje Ada. La base de
conocimientos contiene descripciones de marcos de partes reutilizables. M6todos manuales
y automticos Se utilizan en el proceso de indizaci6n.</p>
      </sec>
      <sec id="sec-4-14">
        <title>Fitzgerald y Mathis [Fitzg88] construyeron un sistema experto para recuperar</title>
        <p>componentes en Ada. La base de conocimientos consiste en un conjunto de reglas Que
relacionan atributos del componente (estructura, ambiente, requisitos de memoria, etc.). El
sistema interactda con el usuario preguntando acerca de estos atributos y, entonces, sugiere
un componente o informa al usuario que no se encontr6 ningdn componente que coincidiera.
3.5.</p>
        <p>Especificaciones Formates</p>
      </sec>
      <sec id="sec-4-15">
        <title>Existen varios sistemas de recuperaci6n de informaci6n sobre la base de especificaciones formales [Jeng93,Knigh92,Mitte94,Rolli9l,Steig92].</title>
      </sec>
      <sec id="sec-4-16">
        <title>En todo estos acercamientos las consultas son especificaciones formales de</title>
        <p>requerimientos, y el sistema devuelve los componentes relevantes desde el repositorio,
componentes que, a su vez, est especificados formalmente. La recuperaci6n se hace
mediante un demostrador de teoremas, para comprobar si las especificaciones del
componente satisfacen 105requerimientos formales de la consulta.</p>
        <p>Entre las ventajas destacadas por los autores figuran: el hecho de Que las
especificaciones formales se centran en el comportamiento del componente, en Ingar de su
descripci6n; que no presentan ambigtiedad y Que proporcionan mayor precisi6n que los
m6todos informales. Por otra parte, otros autores [Steig92] encuentran desventajas, entre las
18
30 Encontro Nacional para
a Qualidade Has Tecnologias de Informal!;:goe Comunica(!;;:5es
Universidade do MiHho
46 de Novembro 1998
160
\~ '
\~f
P
Que cabe citar: a) solo una parte muy pequeBa del software disponible para reutilizaci6n Se
bdsqueda puede ser excesivo; c) es mas facil "y barato- usar las descripciones textuales que
las especificaciones formales; d) la concordancia parcial, sobre la base de similitud, es muy
diffcil de controlar, dado Que estos acercamientos Se basan ms en concordancia exacta; y,
frnalmente, e) el actual estado de la tecnologfa de demostraci6n"de"teoremas hace imposible
la implementaci6n de muchos de estos acercamientos [Podgu92].</p>
        <p>Es probable Que si el desarrollo formal de software se hace lo suficientemente
popular como para justificar la inversi6n en la construcci6n de bases de especificaciones
formales, estas especificaciones ser la principal fuente de informaci6n para las actinidades
de indizaci6n (clasifleaci6n). No solo por el hecho de Que est&amp; informaci6n proviene
directamente del componente software (y no de la documentaci6n), sino tambi6n porque
parece ser la forma mas natural de determinar las diferencias entre el componente buscado y
el encontrado en el repositorio, y saber asI el esfuerzo neceSariopara adaptarlo (reutilizarlo).
El principal problem&amp; es que los actuales acerc&amp;mientos para la recuperaci6n mediante
especificaciones formales usan formalismos Que tal vez no sean adecuados para lograr Una
indizaci6n efectiva, y por tanto, son insuficientes para permitir una recuperaci6n automtica.
Tal vez la soluci6n habr Que buscarla For el otro lado del mismo Camino, es decir, adaptar
los formalismos existentes (o definir nuevos formalismos) para tenor en cuenta los
problemas de la clasificaci6n y recuperaci6n [Morga9l].</p>
        <p>3.6.</p>
        <p>Redes Neuronales</p>
      </sec>
      <sec id="sec-4-17">
        <title>En los sistemas de recuperaci6n sobre la base de un esquema de clasificaci6n, el cculo de la similitud entre componentes suele hacerse por medio de un grafo de distancia conceptual, el cual establece la siruintud entre los t6rrninos que describen al componente en su representaci6n interna pertenecientes -IDstrrninos- alvocabulario control&amp;do.El ajuste</title>
        <p>30 Encontro Nacional para
a Qua!idade nas Tecnologias de Informao
Universidade do Mfnho
46 de Novembro 1998
e Comunica9Ses
bdsqueda puede ser excesino; c) es m
fil</p>
        <p>'-y barato- usar las descripciones textuales Que
las especificaciones formales; d) la concordancia parcial, sobre la base de similitud, es muy
difl-cude controlar, dado que estos acercamientos se basan m
en concordancia exacta; y,
fmalmente, e) el actual estado de la tecnologfa de demostraci6n-de-teoremas hace imposible
)lementaci6n de muchos de estos acercamientos [Podgu92].
3.6.</p>
        <p>Rodes Neumnales
_________________________________________________________________________</p>
        <sec id="sec-4-17-1">
          <title>3o Encontro Nacional para</title>
          <p>a Qualidade nas Tecnologias de Informao e ComunicaV6es</p>
        </sec>
        <sec id="sec-4-17-2">
          <title>Universidade do Minho</title>
          <p>6 de Novembro 1998
observaci6n Se hace para las aplicaciones que implementan la siguiente t6cnica, hipertexto.
3.8.</p>
          <p>Hipertext:o</p>
        </sec>
      </sec>
      <sec id="sec-4-18">
        <title>Son varias las propuestas para recuperaci6n sobre la base de Ja tecnoloa hipertexto</title>
        <p>[Cybul93]. En tales sistemas la inforrnaci6n Seorganiza como una red de Dodos -unidades de
inforrnaci6n- que Se interconectan por medio de enlaces y relaciones. El usuario puede
navegar por la red siguiendo los enlaces preestablecidos, y guidose en te proco por la
semtlca de cada enlace [Savoy93]. - " '</p>
        <p>El principal problema de esta t6cnica es que el desarrollo y mantenimiento de un
repositorio en un ambiente hipertexto requiere de una inversi6n muy grande en recursos
humanos. Otras desventajas apuntan a: a) no existen buenas sugerencias en los enlaces para
perrnitir decidir cual seguir; b) no siempre la red formada por los enlaces es Ja m
adecuada m aria, es imposible decidir si existe una red 6ptima; c) el proceso de afiadir un
nuevo componente a la red es tremendamente complicado, pues deben considerarse todos
}Os posibles enlaces Que Se relacionen con el nuevo componente; d) en el proceso de
eliminar un componente de la red debe asegurarse la destrucci6n de todos los enlaces que
Ilevaban a 1; e) no existe garantia de encontrar lo que se busca, aunque exista un Camino
QueIlene a 1,el usuario puede viajar en "cfrculos" puesto que no es posible explorar todos
los caminoS (explosi6n geomtr:ica).</p>
        <p>Algunas propuestas muy recientes apuntan al primer problema planteado, tratando de
desarrollar ambientes de construcci6n de hipertextos automticamente. En .estas propuestas
los enlaces son generados automticamente a ~partir de informaci6n adicional Que Se
introduce en la descripci6n del componente, por ejemplo: el atributo usa a &lt;nombre de
componente&gt; permite establecer un enlace entre dos componentes (el que usa y el usado)
30 Encontro Nacional para
a Qualidade masTecmologias de Informaq!;:aoe Comunicaq;;:6es</p>
        <sec id="sec-4-18-1">
          <title>Universidade do Minho</title>
          <p>46 de Novembro 1998
de componentes software reutiliubles
Ysu impacto en la Calidad
[AI1an95]. Sin embargo, en nuestra opini6n, esta generaci6n automtica
de enlaces no
resuelve el problema, tan solo lo traslada, abora es necesario invertir el esfuerzo anterior
componentes candidato, proporcionando un valor de precisi6n alto (componentes muy
sirnilares ao -que se busca) mientras se mantiene un valor de recuperaci6n (recall, nl:imero
de componentes encontrados) adecuado. For tanto, la calidad asociada a las tcnicas
de
clasificaci6n/recuperaci6n puedtenderse</p>
        </sec>
      </sec>
      <sec id="sec-4-19">
        <title>For estos dos criterios:</title>
        <p>22
30 Encontro Nacional para
a Qualidade nas Tecnologias de Informa9So e ComunicaC8es
Universidade do Minho
46 de Novembro 1998
.^
2. Recuperaci6n (recall): cantidad de componentes encontrados, este valor debe ofrecer
un rango que permita al usuario un manejo apropiado del conjunto de componentes
recuperado- Pocos componentes recuperados puede ocasionar problemas de
3. adaptaci6n (elecci6n diffcil), por el contrario, muchos componentes pueden resultar
en un trabajo inabordable por el usuario, qui6n finalmente termina desechando el
conjunto ofrecido, por su intratabilidad.</p>
      </sec>
      <sec id="sec-4-20">
        <title>Existen otros factores, relacionados con la calidad de las propias t6cnicas y no con los</title>
        <p>sistemas desarrollados por composici6n. Butte ellos podemos contar:</p>
        <p>I. Calidad de la interface de usuario: en cuanto a poder descriptivo, sencillez de manejo,
per{odo corto de curva de aprendizaje, adaptabilidad a las preferencias de los usuarios
(colores, mentis, barras, etc.).</p>
        <p>Calidad del esquema de clasificaci6n: en cuanto a la correcta descripci6n de los
componenets y la asignaci6n de un IL:inicIongar en la organizaci6n, lograr Que los
componentes sirnilares se organicen en zonas pr6ximas del esquema no ambigtiedad
en los criterios de clasificaci6n (objetividad), etc.
3. Calidad del proceso de recuperaci6n: en cuanto a la facilidad de uso (lenguaje de
interrogaci6n), rapidez en la recuperaci6n de los componentes, diversos tipos de
acceso al repositorio, flexible y adaptable a los requerirnientos de los usuarios
(nl:imero de items recuperados, tipo de orden, localizaci6n, cantidad de informaci6n
ofrecida de cada componente, etc.).,posibilidad de realizar busquedas sobre conjuntos
de componentes previamente obtenidos y no sobre todo el repositorio (refinamiento),
capacidad de combinar la interrogaci6n directa (consultas) con capacidades de
navegaci6n hipertexto, etc.
30 Enconbo NacionaE para
a QuaEidade masTecnoEogias de Informao
Universidade do Minho
4-6 de Novembro 1998
e Comunical;Ses
r.ecnicas para la clasificaci6n/recuperaci6n
de componentes software reutilizables
hrsu impact. en la Calidad
Grd</p>
        <p>teace got. bq.</p>
        <p>Simple Simple
SirnpleSirnple</p>
        <p>Navegad6n Aprend.User</p>
      </sec>
      <sec id="sec-4-21">
        <title>No Sencino</title>
        <p>No
ta Media
ta Media
Muy Alta Pequeha
Mea
de
Dependiente
Simple
'I'nV.l .</p>
        <p>Simple
'i'nvl
No
No
No
Si
Complejo
'1`n.v.l
'In</p>
        <sec id="sec-4-21-1">
          <title>3o Encontro Nacional para</title>
          <p>a Qualidade mas Tecnologias de Imformao
Universidade do Minho
4-6 de Novembro 1998
166
e Comunicaes
"^</p>
        </sec>
      </sec>
      <sec id="sec-4-22">
        <title>En el articulo Se ban expuesto las principales t6cnicas de clasificaci6recuperaci6n</title>
        <p>de componentes software reutinzables, identificando Sus caracteristicas, problemas y
posibles soluciones, asf como Su prenisible impacto en la calidad de los sistemas
desarrollados mediante la composici6n de los componentes recuperados For estas t6cnicas.
No existe, actualmente, ninguna t6cnica Que, a nuestro parecer, resuelva el problema
planteado: "almacenar componentes software en un repositorio y permitir su efectiva
recuperaci6n para usarlos en el desarrollo de nuevas aplicaciones". Sin embargo, ha de
reconocerse Que el trabajo de investigaci6n en ESta area es importante y Que, gradas a los
avances -tanto software como hardware- en diferentes t6cnicas, metodologias, y sistemas de
almacenamiento, la soluci6n parece estar pr6xima~ En los pr6ximos afjos, avarices en la
aje
:es
`an
&gt;a
6n
rte
las
I al
ue
30 Encontro Nacional para
a Qualidade mas Tecnologias de Informao</p>
        <sec id="sec-4-22-1">
          <title>Universidade do Minho</title>
          <p>46 de Novembro 1998
e ComunicaqSes</p>
        </sec>
        <sec id="sec-4-22-2">
          <title>T6cnicas para la clasificaci6n(recuperaci6n de componentes software reu6lizables y su impacto emla Calidad</title>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>6.Referencias</title>
      <p>26
3o Encontro Nacional para
a Qualidade masTecnologias de Informao
Umiversidade do Minho
4-5 de Novembro 1998</p>
      <p>e Comunica95es
[DeMey93]V. de Mey, O. Nierstrasz: "The ITHACA Application Development"</p>
      <sec id="sec-5-1">
        <title>Data</title>
        <p>________________________________________________________________________</p>
        <sec id="sec-5-1-1">
          <title>3o Encontm Nacional para</title>
          <p>a Qualidade masTecnologias de Imformac8o e ComunicaC:Ses</p>
        </sec>
        <sec id="sec-5-1-2">
          <title>Universidade do Minho</title>
          <p>4-6 de Novembro 1998</p>
        </sec>
        <sec id="sec-5-1-3">
          <title>T6micas para la clasiflcaci6n/recuperaci6n de componentes software reutilizables y su impacto en la Calidad</title>
          <p>28
30 Encontro Nacional para
a Qualidade nas Tecnologias de Informa9So e Comunica6es
Universidade do Minho
46 de Novembro 1998
30 Encontro NacionaL para
a QuaLidade mas TecnoLogias de Informao
Universidade do Minho
46 de Novembro 1998
e ComumicaCSes
29</p>
        </sec>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [A11an95]
          <string-name>
            <given-names>J.</given-names>
            <surname>Allan</surname>
          </string-name>
          <article-title>: "Automatic Hypertext Construction"</article-title>
          ,
          <fpage>TR95</fpage>
          -
          <lpage>1484</lpage>
          , Department of Computer Science, Cornell University, Ithaca Feb"
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [Allen89]
          <string-name>
            <given-names>B.</given-names>
            <surname>Allen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Lee</surname>
          </string-name>
          :
          <article-title>"A Knowledge-Based Environment for the Development of Software Parts Composition Systems"</article-title>
          ,
          <source>Proc. Ilth Int. Conference on Software Engineering</source>
          , pp.
          <fpage>104</fpage>
          -
          <lpage>112</lpage>
          ,
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [Borst92]
          <string-name>
            <given-names>J.</given-names>
            <surname>Borstler</surname>
          </string-name>
          <article-title>: "Feature-Oriented Classification and Reuse in IPSEN"</article-title>
          , University of Technology Am Nr.
          <fpage>92</fpage>
          -
          <lpage>35</lpage>
          , Aachen, Germany,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [Borst93]
          <string-name>
            <given-names>J.</given-names>
            <surname>Borstler</surname>
          </string-name>
          <article-title>: "FOCS: A Classification System for Software Reuse"</article-title>
          ,
          <source>Proc. of the Ilth Pacific Northwest Software Quality Conference</source>
          , Portland,
          <string-name>
            <surname>OR</surname>
          </string-name>
          , USA, pp.
          <fpage>201</fpage>
          -
          <lpage>211</lpage>
          , October,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [Burto87]
          <string-name>
            <given-names>B.</given-names>
            <surname>Burton</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Aragon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Bailey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Koehler</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Mayes</surname>
          </string-name>
          ,
          <article-title>"The Reusable Software Library"</article-title>
          ,
          <source>IEEE Software</source>
          , Vol.
          <volume>4</volume>
          , No 4, pp.
          <fpage>25</fpage>
          -
          <lpage>33</lpage>
          ,
          <year>July</year>
          ,
          <year>1987</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [Casta94]
          <string-name>
            <given-names>S.</given-names>
            <surname>Castano</surname>
          </string-name>
          and V. De AntonelEs:
          <article-title>The F3 reuse environment for requirements engineering</article-title>
          ,
          <source>ACM SIGSOFT Software Engineering Notes</source>
          , Vol.
          <volume>19</volume>
          , No 3, pp.
          <fpage>62</fpage>
          -
          <lpage>64</lpage>
          ,
          <year>July</year>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>[Covin94]M"</surname>
          </string-name>
          <article-title>A" Covington: "Natural Language Processing for Prolog Programmers"</article-title>
          , Prentice-Hall, Englewood Cliffs,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [Croft93]
          <string-name>
            <given-names>B.</given-names>
            <surname>Croft</surname>
          </string-name>
          :
          <article-title>"Knowledge-based and Statistical Approaches to Text Retrieval"</article-title>
          ,
          <source>IEEE Expert</source>
          , Vol.
          <volume>8</volume>
          , No 2, pp.
          <fpage>8</fpage>
          -
          <lpage>22</lpage>
          , April,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [Cybul93]
          <string-name>
            <given-names>J.L.</given-names>
            <surname>Cybulski</surname>
          </string-name>
          ,
          <string-name>
            <surname>K.</surname>
          </string-name>
          <article-title>Reed: "The Use of Templates and Restricted English in Structuring and Analysis of Informal Requirenment Specifications"</article-title>
          ,
          <source>AAITP Technical Report TR024</source>
          ,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <source>Universitaire d'lnformatique</source>
          , pp.
          <fpage>265</fpage>
          -
          <lpage>278</lpage>
          ,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [Devan9l]
          <string-name>
            <given-names>P.</given-names>
            <surname>Devanbu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Brachman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Seldge</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Ballard</surname>
          </string-name>
          :
          <article-title>"LaSSIE: A knowledge-based Software Information System"</article-title>
          ,
          <source>CACM</source>
          , Vol.
          <volume>34</volume>
          , No 5, pp.
          <fpage>3449</fpage>
          ,
          <string-name>
            <surname>May</surname>
          </string-name>
          ,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [Eichm92]
          <string-name>
            <given-names>D.</given-names>
            <surname>Eichmann</surname>
          </string-name>
          ,
          <string-name>
            <surname>K.</surname>
          </string-name>
          <article-title>Srinivas: Neural Network-Based Retrieval from Software Reuse Repositories", Neural Networks and Pattern Recognition in Human Computer Interaction</article-title>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Beale</surname>
          </string-name>
          and J.
          <string-name>
            <surname>Findlay</surname>
          </string-name>
          (Eds.), Ellis Horwood Ltd, West Sussex, UK, pp,
          <fpage>215</fpage>
          -
          <lpage>228</lpage>
          ,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [Fagan89]
          <string-name>
            <given-names>J.L.</given-names>
            <surname>Fagan</surname>
          </string-name>
          <article-title>: "The effectiveness of a nonsyntactic approach to automatic phrase indexing for document retrieval"</article-title>
          ,
          <source>Journal of the American Society for Information Science</source>
          , Vol.
          <volume>40</volume>
          ,
          <issue>No2</issue>
          , pp.
          <fpage>115</fpage>
          -
          <lpage>139</lpage>
          , Sept.,
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <string-name>
            <surname>[Fitzg88 J. Fitzgerald</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Mathis</surname>
          </string-name>
          :
          <article-title>"Use of an Expert System in Software Component Reuse"</article-title>
          ,
          <source>Proc. AIDA'88</source>
          , George Mason University, Fairfax, VA USA,
          <year>1988</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [Frake9O]
          <string-name>
            <given-names>W.B.</given-names>
            <surname>Frakes</surname>
          </string-name>
          , T. Pole:
          <article-title>"Proteus: A Software Reuse Library System that Supports Multiple Representation Methods"</article-title>
          ,
          <source>SIGIR Forum</source>
          , Vol.
          <volume>24</volume>
          , No 3, pp.
          <fpage>43</fpage>
          -
          <lpage>55</lpage>
          ,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [Frake92]
          <string-name>
            <given-names>W.B.</given-names>
            <surname>Flakes</surname>
          </string-name>
          and
          <string-name>
            <given-names>E.R.</given-names>
            <surname>Baeza-Yates</surname>
          </string-name>
          (Eds.): Information Retrieval Structures &amp; Algorithms, Prentice Hall, Englewood Cliffs,
          <year>1992</year>
          ..
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <string-name>
            <surname>[Girar92] M.R. Girardi</surname>
          </string-name>
          , R.T. Pierce:
          <article-title>"A Toll for Software Reuse in Object-'Oriented Development", V Brazilian Competition of Theses and Dissertations, published in Proc</article-title>
          . XU Brazilian Computer Society Conference, Brazilian Computer Society, Rio de Janeiro, pp.
          <fpage>344</fpage>
          -
          <lpage>350</lpage>
          , Oct.,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [Goldb84]
          <string-name>
            <given-names>A.</given-names>
            <surname>Goldberg</surname>
          </string-name>
          <article-title>: "Smalltalk-SO:The interactive Prograruming Environment"</article-title>
          , Addison-Wesley,
          <year>1984</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          <string-name>
            <surname>[Helm9l] R- Helrn</surname>
            <given-names>Y-S.</given-names>
          </string-name>
          <string-name>
            <surname>Maarek</surname>
          </string-name>
          <article-title>: "Integrating Information Retrieval and Domain Specific Approaches for Browsing and Retrieval in Object-Oriented Class Libraries"</article-title>
          ,
          <source>Proc. OOPSLA/ECOOP'91, ACM SIGPLAN Notices</source>
          , Vol.
          <volume>26</volume>
          , No 11, pp.
          <fpage>47</fpage>
          -
          <lpage>61</lpage>
          , Nov.,,
          <year>1991</year>
          ~
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>[ISRI98] http://www.uvigo.es/webs/proyectos/webisri</mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [Jeng93]
          <string-name>
            <given-names>J.</given-names>
            <surname>Jeng</surname>
          </string-name>
          , B. Cheng:
          <article-title>"Using Formal Methods to Construct a Software Component Library"</article-title>
          ,
          <source>Proc. 4th European Software Engineering Conference (ESEC'93)</source>
          , I. Sommerville and M. Paul (Eds.), LNCS 717,
          <issue>SpringerVerlag</issue>
          , pp.
          <fpage>397</fpage>
          -
          <lpage>417</lpage>
          ,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [Karls96]
          <article-title>Software Reuse: A Holistic Approach</article-title>
          . Even-Andr
          <string-name>
            <surname>Karlsson</surname>
          </string-name>
          (Ed.), pp.
          <fpage>287</fpage>
          -
          <lpage>375</lpage>
          .
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [Knigh92]
          <string-name>
            <given-names>J.</given-names>
            <surname>Knight</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.M.</given-names>
            <surname>Kienzle</surname>
          </string-name>
          <article-title>: "Reuse of Speciflcations"</article-title>
          ,
          <source>Proc. 5th Workshop on Software Reuse</source>
          ,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [Lanca93]
          <string-name>
            <given-names>F.W.</given-names>
            <surname>Lancaster</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.J.</given-names>
            <surname>Warner</surname>
          </string-name>
          :
          <article-title>"Information Retrieval Today"</article-title>
          , Information Resources Press,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          <string-name>
            <surname>[Mitte94} R.T. Mittermeir</surname>
          </string-name>
          <article-title>: "Building a Repository of Software Components: A Formal Specifications Approach"</article-title>
          ,
          <source>Proc. 6th Workshop on Software Reuse (WISR6)</source>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [Morel93]
          <string-name>
            <given-names>J.</given-names>
            <surname>Morel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Faget</surname>
          </string-name>
          <article-title>: "The REBOOT Environment"</article-title>
          ,
          <source>Proc. of International Workshop on Software Reuse (ISRW-2)</source>
          , E. Guerrieri (Ed.), Lucca, Italy, March
          <volume>24</volume>
          -26,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [Morga9l]
          <string-name>
            <given-names>R.</given-names>
            <surname>Morgan</surname>
          </string-name>
          <article-title>: "Component Library Retrieval Using Property Models"</article-title>
          ,
          <source>Proc. OOPSLA'86, ACM SIGPLAN Notices</source>
          , Vol.
          <volume>21</volume>
          ,
          <string-name>
            <surname>No</surname>
            <given-names>II</given-names>
          </string-name>
          ,
          <source>The British Library</source>
          , pp.
          <fpage>131</fpage>
          -
          <lpage>139</lpage>
          ,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          <string-name>
            <surname>[Neigh84]J"M"</surname>
          </string-name>
          <article-title>Neighbors: "The Draco Approach to Constructing Software from Reusable Components"</article-title>
          ,
          <source>IEEE Trans" on Software Engineering</source>
          , Vol.
          <volume>10</volume>
          , No 5, pp.
          <fpage>64</fpage>
          -
          <lpage>74</lpage>
          , New York,
          <source>Sept"</source>
          ,
          <year>1984</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          <string-name>
            <given-names>O.</given-names>
            <surname>Abou-Rabia</surname>
          </string-name>
          <string-name>
            <given-names>C.</given-names>
            <surname>Chang</surname>
          </string-name>
          and W. Koczkodaj (Eds.), IEEE Computer Society, Sudbury, Ontario-Canada, pp.
          <fpage>448</fpage>
          -
          <lpage>452</lpage>
          , May 27-29,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          .~, [Oster92]
          <string-name>
            <given-names>E.</given-names>
            <surname>Ostertag</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hendler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Prieto-Diaz</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.</surname>
          </string-name>
          <article-title>Braun: Computing similarity in a</article-title>
          .,_,.
          <article-title>reuse library system: an AI-based approach</article-title>
          ,
          <source>ACL TOSEM</source>
          , Vol.
          <volume>1</volume>
          , No 3, pp.
          <fpage>205</fpage>
          -
          <lpage>228</lpage>
          , (
          <year>July 1992</year>
          ) [Podgu92]
          <string-name>
            <given-names>A.</given-names>
            <surname>Podgurski</surname>
          </string-name>
          , L. Pierce:
          <article-title>"Behavior Sarnpling: A Technique for Automated Retrieval of Reusable Components"</article-title>
          ,
          <source>Proc. l4th Int. Conference on Software Engineering</source>
          , Australia, pp.
          <fpage>349</fpage>
          -
          <lpage>357</lpage>
          , May
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [Priet9l]
          <string-name>
            <given-names>R.</given-names>
            <surname>Prieto-Dfaz</surname>
          </string-name>
          :
          <article-title>Implementing faceted classification for software reuse</article-title>
          ,
          <source>Comm. of the ACM</source>
          , Vol.
          <volume>34</volume>
          , No 5,pp"
          <fpage>88</fpage>
          -
          <lpage>97</lpage>
          , May,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          <string-name>
            <surname>[Rijsb8Ol C"J. van Rijsbergen</surname>
          </string-name>
          :
          <article-title>"Iforrnation Retrieval"</article-title>
          ,
          <source>Butterworths</source>
          ,
          <year>1980</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [Rolli9l]
          <string-name>
            <given-names>E.J.</given-names>
            <surname>Rollins</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.M.</given-names>
            <surname>Wing</surname>
          </string-name>
          <article-title>: "Specifications as search keys for software libraries"</article-title>
          ,
          <source>Proc. Int. Conference on Logic Programming</source>
          ,
          <string-name>
            <surname>K.</surname>
          </string-name>
          Furukawa (Ed.), pp.
          <fpage>173</fpage>
          -
          <lpage>187</lpage>
          ,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          - [Salto7l]
          <string-name>
            <given-names>G</given-names>
            <surname>Salton</surname>
          </string-name>
          :
          <article-title>"The SMART Retrieval System: Experiments in Automatic Document Processing"</article-title>
          , Prentice-Hall, Englewood Cliffs,
          <year>1971</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [Salto83]
          <string-name>
            <given-names>G.</given-names>
            <surname>Salton</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Gill: "Introduction to Modem Information Retrieval"</article-title>
          ,
          <string-name>
            <surname>McGraw-Hill</surname>
          </string-name>
          , New York,
          <year>1983</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          [Salto89]
          <string-name>
            <given-names>G.</given-names>
            <surname>Salton: Automatic Text Processing The Transformation</surname>
          </string-name>
          ,
          <article-title>Analysis and Retrieval of Information by Computer</article-title>
          , Addison-Wesley,
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          [Salto9O]
          <string-name>
            <given-names>G.</given-names>
            <surname>Salton</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Zhao</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.</surname>
          </string-name>
          <article-title>Buckley: "A Simple Syntactic Approach for the Generation of Indexing Phrases"</article-title>
          ,
          <source>TR 90-1137</source>
          , Department of Computer Science, Cornell University, July,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          [Salto94]
          <string-name>
            <given-names>G.</given-names>
            <surname>Salton</surname>
          </string-name>
          , Allan,
          <string-name>
            <given-names>C.</given-names>
            <surname>Buckley</surname>
          </string-name>
          ,
          <source>Singhal: "Automatic Analysis</source>
          ,
          <source>Theme Generation and Summarization of Machine-Readable Texts", Science</source>
          , Vol.
          <volume>264</volume>
          ,
          <string-name>
            <surname>June</surname>
          </string-name>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          [Savoy93]
          <string-name>
            <given-names>J.</given-names>
            <surname>Savoy</surname>
          </string-name>
          <article-title>: "Effectiveness of Information Retrieval Systems Used in a Hypertext Environment"</article-title>
          ,
          <source>Hipermedia</source>
          , Vol.
          <volume>5</volume>
          , No 1,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref40">
        <mixed-citation>
          [Sindre93]
          <string-name>
            <given-names>G.</given-names>
            <surname>Sindre</surname>
          </string-name>
          , E. Karlsson:
          <article-title>"A Method for Software Reuse through Large Component Libraries"</article-title>
          ,
          <source>Proc. of ICCI'93</source>
          ,
          <fpage>0</fpage>
          .
          <string-name>
            <surname>Abou-Rabia</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Chang</surname>
          </string-name>
          , W. Koczkodaj (Eds.), pp.
          <fpage>464</fpage>
          <lpage>468</lpage>
          , May 27-29,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref41">
        <mixed-citation>
          [Smeat92]
          <string-name>
            <given-names>A.F.</given-names>
            <surname>Smeaton</surname>
          </string-name>
          <article-title>: "Progress in the Application of Natural Language Processing to Information Retrieval Tasks"</article-title>
          ,
          <source>The Computer Journal</source>
          , Vol
          <volume>35</volume>
          , No 3, pp.
          <fpage>268</fpage>
          -
          <lpage>278</lpage>
          , June,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref42">
        <mixed-citation>
          <article-title>[Somme9O] I. Sommerville: "DSCC components catalog tool for software reuse"</article-title>
          ,
          <source>IEEE Software</source>
          , Vol.
          <volume>7</volume>
          , No 3,
          <string-name>
            <surname>May</surname>
          </string-name>
          ,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref43">
        <mixed-citation>
          [Steel94]
          <string-name>
            <given-names>L.</given-names>
            <surname>Steels</surname>
          </string-name>
          , G. Schreiber, W. van de Velde (Eds.):
          <article-title>"A FUTURE for knowledge acquisition"</article-title>
          ,
          <source>Proc. of EKAW'94, LNAI</source>
          , Vol.
          <volume>867</volume>
          , Springer, Berlin,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref44">
        <mixed-citation>
          <string-name>
            <surname>[Steig92] R"A. Steigerwald</surname>
          </string-name>
          <article-title>: "Reusable Component Retrieval with Formal Specifications"</article-title>
          ,
          <source>Proc~5th Workshop on Software Reuse (WISR5)</source>
          ,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref45">
        <mixed-citation>
          [Tichy89]
          <string-name>
            <given-names>W.</given-names>
            <surname>Tichy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Adams</surname>
          </string-name>
          ,
          <string-name>
            <surname>L</surname>
          </string-name>
          " Bolter:
          <article-title>"NLII/E: A natural language help system"</article-title>
          ,
          <source>Proc. Ilth ICSE</source>
          , Pittsburgh, pp.
          <fpage>364</fpage>
          -
          <lpage>374</lpage>
          , May,
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>