Revista Ingenieria 2010 Vol. 1 y 2

Page 1

Volumen 15 • Número 1 • Año 2010

Pág.

Representación computacional del lenguaje natural escrito Computational representation of written natural language Sonia Ordoñez Salinas • Alexander Gelbukh

6 - 21

Estudio del impacto de la certificación ISO 9001:2000 en la competitividad-país Impact of the ISO 9001:2000 standard on countries competitiveness Luz Esperanza Bohórquez Arévalo

22-34

Herramienta de software para el desarrollo de descripciones de hardware utilizando VHDL a partir de modelos gráficos A software tool for the development of graphic-model-based hardware descriptions using VHDL Jose Roberto Vargas Rivero

Volumen 15 • Número 2 • Año 2010

35-46

Pág.

Sistema de inferencia difusa basado en relaciones Booleanas A fuzzy inference system based on Boolean relations Helbert Eduardo Espitia Cuchango • José Jairo Soriano Méndez

52-66

Desarrollo de un lenguaje de dominio específico para sistemas de gestión de aprendizaje y su herramienta de implementación “KiwiDSM” mediante ingeniería dirigida por modelos Developing a domain-specific language for learning management systems, and a corresponding implementation tool (“KiwiDSM”) through model-driven engineering Carlos Enrique Montenegro Marín • Juan Manuel Cueva Lovelle • Óscar Sanjuán Martinez • Paulo Alonso Gaona García

67-81

Modelo de dimensionamiento del servicio web hosting dirigido a proveedores de la pequeña y mediana empresa colombiana A capacity planning model for web hosting providers serving small- and medium-scale businesses in Colombia Olga Lucía Ramírez Calero Jairo Humberto Torres Acosta •

82-95

Vol. 15 l No. 1 y 2 l Año 2010

Contenido l Vol. 15 l No. 1 y 2 l Año 2010 l


UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERÍA

REVISTA

Ingeniería Volumen 15 • Número 1 • Año 2010 • ISSN 0121-750X

2010

REVISTA CIENTÍFICA SEMESTRAL


REVISTA

Ingeniería Vol. 15 • No. 1 • Año 2010 • ISSN 0121-750X

REVISTA CIENTÍFICA SEMESTRAL Publicación admitida en el Índice Nacional de Publicaciones Seriadas Científicas y Tecnológicas de Colciencias ÁRBITROS EN ESTA EDICIÓN

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS, FACULTAD DE INGENIERÍA

Carrera 7 No. 40-53 Piso 4 Bogotá, Colombia Teléfono: + 57 (1) 323 93 00 ext. 2413 Correo electrónico: revista_ing@udistrital.edu.co http://revistas.udistrital.edu.co/ojs/index.php/reving EDITOR

Sergio A. Rojas, PhD.

Sofía Natalia Galicia Haro, PhD., U. Nacional Autonoma de Mexico Grigori Sidorov, PhD., Instituto Politecnico Nacional de Mexico Fabiola Sáenz Blanco, PhD., Universidad Distrital Mabel Muñoz, Universidad Distrital Laura Marcela Giraldo, Econ., Universidad Distrital Andrés Gaona, MSc., Universidad Distrital Jose Luis Villa, PhD., Universidad Tecnológica de Bolivar Daniel Llamocca, MSc., The University of New Mexico Fabio González, PhD., Universidad Nacional de Colombia Juan Carlos Figueroa, MSc., Universidad Distrital Oscar German Duarte, PhD., Universidad Nacional de Colombia Jose Marcio Luna, MSc., University of New Mexico Álvaro David Orjuela, MSc., Universidade Federal do Rio de Janeiro Eduardo Caicedo Bravo, PhD., Universidad del Valle Jose Guillermo Guarnizo Marin, MSc., U. Nacional de Colombia

Universidad Distrital Francisco José de Caldas

COMITÉ EDITORIAL

POSTURA EDITORIAL Y AUDIENCIA

Luz Esperanza Bohorquez, MSc.

La Revista INGENIERÍA es editada por la Universidad Distrital, y publicada con periodicidad semestral. Su principal objetivo es difundir y debatir avances en investigación y desarrollo en las diferentes áreas de la ingeniería. El contenido de la revista está dirigido a investigadores, especialistas, docentes, estudiantes de pregrado y posgrado, ingenieros en ejercicio y al sector empresarial.

Universidad Distrital Francisco José de Caldas

Marco Alzate, PhD.

Universidad Distrital Francisco José de Caldas

Rodrigo Herrera, Magister.

Universidad Distrital Francisco José de Caldas

Ana María Peña, PhD.

PERMISO DE REPRODUCCIÓN

Edwin Rivas, PhD.

Los textos de los artículos incluidos en esta edición pueden ser utilizados y reproducidos con fines sin ánimo de lucro y dando crédito a los autores.

Universidad Distrital Francisco José de Caldas Universidad Distrital Francisco José de Caldas

Juan Carlos Figueroa, MSc.

Universidad Distrital Francisco José de Caldas

SUSCRIPCIÓN

Germán Méndez, PhD.

Cra. 7 No. 40-53 P. 4 Decanatura Facultad de Ingeniería Teléfono: + 57 (1) 323 93 00 ext. 2413

Víctor Hugo Grisales, PhD.

INDIZADA EN

COMITÉ CIENTÍFICO Universidad Distrital Francisco José de Caldas Universidad Nacional de Colombia

DIRECTIVAS

Inocencio Bahamón C., MSc.

Colciencias

UNAM

Rector

María Elvira Rodríguez, PhD. Vicerrectora Académica

UNAM

Directory of Open Access Journals

Octavio Salcedo Parra, MSc. Decano Facultad Ingeniería

REVISOR DE ESTILO

Universidad de la Rioja

Sergio A. Rojas, PhD.

Universidad Distrital Francisco José de Caldas

SCIENTIFIC WRITING ADVISOR

Ing. Felipe Forero, CAE (Cambridge).

Maquetación, indización, copy edición, diseño gráfico e impresión:

Grupo Editorial Gaia

Ni la Revista INGENIERÍA, Editor, Comité Editorial, Facultad de Ingeniería de la Universidad Distrital F.J.C., otorgan ninguna garantía, expresa o implícita, o asumen responsabilidad alguna por la exactitud, completitud o utilidad de cualquier información, aparato, producto o proceso divulgado, o que represente que su uso no infrinja derechos privados. La mención o referencia a algún producto, proceso o servicio comercial en específico, por su marca comercial, marca registrada, fabricante o cualquier otra denominación, no implica ni constituye su endoso, recomendación o favorecimiento por parte de la Revista INGENIERÍA. Los juicios y opiniones expresadas por los autores en este medio son de su responsabilidad, y no establecen, reflejan o comprometen los de la Revista INGENIERÍA.


Citación: Rojas, S.A.. (2010). Reingeniería a la Revista INGENIERÍA. En: Ingeniería, Vol. 15, No. 1, pág. 3-4.

Editorial Reingeniería a la Revista INGENIERÍA

REVISTA

Ingeniería

La Revista INGENIERÍA, fundada en 1993, ha tenido publicación seriada desde el año 2000, lo que la constituye en una de las de mayor tradición en el país. Su prestigio es alto, no así su impacto ni su visibilidad, tal como lo evidencia su indización en la Categoría C (bajo impacto) en el índice PUBLINDEXColciencias. El principal reto que se han propuesto el Editor y el Comité Editorial presentes, apalancándose en la trayectoria de la Revista, es consolidar este espacio como un medio de divulgación de avances y reflexiones científicas reconocido como referencia primaria para la actividad ingenieril colombiana. Nuestro propósito es ser leídos. Nuestro desafío es ser citados.

INGENIERÍA

Lo anterior requiere de varios frentes de acción, entre ellos la rigurosidad editorial, las plataformas digitales, y el apoyo institucional. A esto lo hemos denominado la necesidad de realizar una reingeniería a la Revista INGENIERÍA. El proceso de reingeniería lleva en marcha ya cerca de un año. En nuestras notas editoriales iremos comentando los diferentes aspectos que se vayan cubriendo. Comenzaremos por el tema de la plataforma digital. Nos complace comunicar a nuestra audiencia que a partir del presente número y gracias a la colaboración del Centro de Investigaciones y Desarrollo Científico de la Universidad Distrital, nuestra Revista cuenta desde ahora con un portal Web institucional: http://revistas.udistrital.edu.co/ojs/index/reving. En este sitio nuestros lectores podrán consultar de manera abierta el contenido de los artículos del número en curso, así como su archivo digital completo desde 1993. La plataforma es una herramienta de gestión documental y editorial, OJS (Open Journal System), con lo que esperamos más adelante, sistematizar igualmente el proceso de recepción, evaluación, corrección, diagramación y seguimiento a la comunicación con nuestros autores, evaluadores, editores y lectores. Por el momento, la comunicación con todos ellos la realizamos de manera electrónica en nuestro buzón: revista_ing@udistrital.edu.co. Esperamos este sea un paso adelante en la evolución que nos proponemos.

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

3


La Red Colombiana de Revistas de Ingeniería

Por otra parte, hemos tomado la desición de aumentar los estándares de rigurosidad editorial. Entre otras medidas, hemos promocionado la exogeneidad de los evaluadores, en lo posible estamos buscando que tengan estudios de doctorado preferiblemente con investigaciones en el tema del artículo en evaluación. Igualmente estamos realizando una revisión cuidadosa de estilo en español, además de exigir medidas de presentación de gráficas, imágenes, seguimiento de normas y filtros de plagio y de citación más estrictos. Contamos con un consultor certificado Cambridge para revisar la traducción al inglés del título y resumen de los artículos. Ahora es común tener hasta 3 y 4 rondas de revisión con nuestros autores. Nuestros lectores también notarán un aire fresco en la diagramación de los artículos, con un nuevo formato en una columna, una tinta, que nos brinda mayor libertad particularmente en la presentación de tablas, figuras y modelos matemáticos. La renovación de estas pautas tiene como intención alcanzar la meta mencionada en un comienzo. Aunque bienintencionadas, indudablemente tiene un costo asociado. El factor de rechazo ha subido a cerca de un 72%, de forma que el material con mérito de publicación ha menguado. Nos hemos visto en la necesidad de conformar números menos voluminosos en cantidad, pero más abundantes en pertinencia científica. Creemos que es un camino doloroso pero confiamos en que al recorrerlo, logremos posicionar la Revista en un lugar preponderante. Agradecemos desde ya a nuestros autores, evaluadores y lectores por su paciencia y acompañamiento en este proceso de reingeniería. Los dejamos pues con un número renovado de nuestra Revista donde se abarcan temáticas como la representación del lenguaje escrito en estructuras computacionales, el estudio del impacto de la certificación ISO 9001 en la comptetitividad-país, y la descripción de una herramienta visual para generar especificaciones de hardware en VHDL. A nuestros autores provenientes de la Universidad Distrital y el Instituto Politécnico de México, y a nuestros evaluadores de la UNAM, el IPN de México, la Universidad Distrital, la Universidad Tecnológica de Bolivar, The University of New Mexico, la Universidad Nacional de Colombia, la Universidade Federal do Rio de Janeiro, y la Universidad del Valle, nuestra inmensa gratitud.

Ing. Sergio A. Rojas, MSc., PhD. Editor General Revista INGENIERÍA

4

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


REVISTA

Ingeniería Volumen 15 • Número 1 • Año 2010 • ISSN 0121-750X

REVISTA CIENTÍFICA SEMESTRAL UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS, FACULTAD DE INGENIERÍA

Contenido

Publicación admitida en el Índice Nacional de Publicaciones Seriadas Científicas y Tecnológicas de Colciencias

Representación computacional del lenguaje natural escrito Computational representation of written natural language Sonia Ordoñez Salinas • Alexander Gelbukh

6 - 21

Estudio del impacto de la certificación ISO 9001:2000 en la competitividad-país Impact of the ISO 9001:2000 standard on countries competitiveness Luz Esperanza Bohórquez Arévalo

22 - 34

Herramienta de software para el desarrollo de descripciones de hardware utilizando VHDL a partir de modelos gráficos A software tool for the development of graphicmodel-based hardware descriptions using VHDL Jose Roberto Vargas Rivero

INGENIERÍA

Páginas

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

35 - 46

5


Citación: Ordoñez, S.S. y Gelbukh, A. (2010). Representación computacional del lenguaje natural escrito. En: Ingeniería, Vol. 15, No. 1, pág. 6 -21.

Representación computacional del lenguaje natural escrito Computational representation of written natural language Sonia Ordoñez Salinas Universidad Distrital Francisco José de Caldas Facultad de Ingeniería sordonez@udistrital.edu.co

Alexander Gelbukh Laboratorio de Lenguaje Natural y Procesamiento de Texto del Centro de Investigación en Computación del Instituto Politécnico Nacional, México www.gelbukh.com

Resumen Cuando el ser humano lee o escucha una palabra, inmediatamente la relaciona con un concepto. Esto es posible gracias a la acumulación de información y a la posibilidad de filtrar, procesar y relacionar dicha información. Para la máquina, una expresión escrita en el lenguaje natural es una cadena de bits que no aporta información por sí sola. Un computador interpreta esta cadena de bits, modelando el proceso que tiene lugar en la mente humana, estructurando y relacionado la cadena con información previamente almacenada. En el proceso, así como al momento de describir los resultados, el texto es representado por estructuras formales que permiten el procesamiento automático, la interpretación y la comparación de la información. Este artículo presenta una descripción detallada de estas estructuras. Palabras claves: Procesamiento de lenguaje natural, estructuras computacionales.

Abstract When humans read, or hear, words, they immediately relate them to a concept. This is possible due to the information already stored in the brain and also to human’s ability to select, process, and associate such information with words. However, for a computer, natural language text is only a sequence of bits that does not convey any meaning on its own, unless properly processed. A computer interprets this bit sequence by modeling the processing that takes place in human minds, namely structuring and linking the text with previously stored information. During this process, as well as when describing its results, the text is represented using various formal structures that permit automatic processing, interpretation, and comparison of information. In this paper, we present a detailed description of these structures. Key words: Natural language processing, computational structures. 6

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Sonia Ordoñez Salinas • Alexander Gelbukh

1. Introducción La mayor parte de la información que posee la humanidad se encuentra almacenada en forma de lenguaje natural. La gran necesidad de los usuarios de esta información es gestionarla: almacenarla, consultarla, entenderla y actualizarla. Para el ser humano una frase expresada en lenguaje natural leída, escuchada, hablada o escrita adquiere inmediatamente un significado. Cada palabra o conjunto de palabras, se asocia con un conjunto de experiencias e imágenes que al ser relacionadas y filtradas trae a la mente exactamente el significado correcto. El hombre identifica de quien se habla, la acción que realiza, el tiempo, los sinónimos, el dominio y todas las particularidades del lenguaje natural. Para una máquina computacional, un texto escrito en lenguaje natural, corresponde a una cadena de bits (símbolos) sin significado alguno. Para que una máquina pueda entender su significado, se debe recurrir a técnicas propias del procesamiento del lenguaje natural (PLN) y de la lingüística computacional (LC) y a artificios computacionales como el de estructurar la información de tal forma que esta pueda ser gestionada y relacionada con algún significado. Significado que puede buscarse usualmente en elementos especializados para tal fin, tales como ontologías, tesauros, bases de conocimiento, entre otros (ver Figura No 1).

Figura 1. Procesamiento del lenguaje natural por el humano vs. la máquina (fuente: autores)

El proceso de estructurar el texto escrito en lenguaje natural o de representar la cadena de símbolos en una estructura computacional como un vector, un árbol, una pila, un modelo relacional, entre otras, permite que se pueda gestionar la cadena a través de algoritmos computacionales. Para transformar de forma automática el texto a la estructura escogida se utilizan las partes de dicha cadena, es decir las palabras y sus interrelaciones y de acuerdo a la estructura escogida, es deseable que, por un lado, dicha estructura permita incluir la mayor cantidad de información —entendida información como aquella que aporta al significado de la cadena—, y por el otro, que el proceso de transformar la cadena a esta estructura sea factible de ser automatizado. INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

7


Representación computacional del lenguaje natural escrito

En términos generales se podría afirmar que el PLN, es una disciplina que con apoyo de la LC se encarga de proveer soluciones para la interpretación y gestión del lenguaje natural. Dichas disciplinas se soportan en técnicas y métodos propios de la estadística, las matemáticas, la lingüística, la inteligencia artificial, entre otras. Lo correspondiente a la generación de herramientas y aplicativos que incluyen la gestión del lenguaje natural se puede enmarcar dentro de lo que se conoce como ingeniería lingüística. En la actualidad ya no es solo el deseo de que las máquinas computacionales puedan establecer una comunicación utilizando el lenguaje natural, tal y como lo hacen las personas sino que se ha convertido en una exigencia. Es así que responder a un sinnúmero de necesidades actuales como la utilización de la información almacenada a través de la Web o de aplicativos ya sea para buscar información específica, patrones de comportamiento o predicciones han hecho que cada vez se busquen y optimicen alternativas para que de alguna manera las máquinas interpreten el contenido de los documentos digitales expresados en lenguaje natural. Consecuentemente, entre las aplicaciones más comunes en las áreas en mención son la recuperación de información, la respuesta automática a preguntas, la traducción automática y la clasificación de documentos. En este artículo se presenta una revisión del primer aspecto mencionado, es decir de las estructuras computacionales utilizadas para el procesamiento del lenguaje natural escrito. El artículo está organizado como sigue. En la sección 2 se presenta brevemente la información general sobre dichas estructuras. En la sección 3 se presentan las estructuras básicas, las cuales no representan la semántica detallada. En la sección 4 se presentan estructuras más avanzadas. En la sección 5 presenta detalles sobre las estructuras conceptuales que tienen un estándar claro para su construcción. Finalmente la sección 6 concluye el artículo.

2. Estructuras computacionales en el PLN Una gran variedad de formalismos estructurados han sido propuestos para representar los textos en el lenguaje natural. Estos formalismos van desde las representaciones más simples como las vectoriales hasta las más complejas como los lenguajes estructurados, estructuras conceptuales y formalismos matemáticos como los grafos. Los formalismos más simples, en el sentido de que pueden capturar menos cantidad de elementos que conduzcan a la interpretación del significado o semántica y su procesamiento, incluida la transformación de la cadena de caracteres a dicha estructura requiere de una algoritmia. Por su parte los formalismos más complejos, si bien permiten incluir más elementos que pueden contribuir a la interpretación del significado inmerso dentro de la cadena, el procesamiento —la transformación de lenguaje natural al formalismo y viceversa— es más complicado y, lo más importante, mucho menos confiable con la tecnología actual. En la sección 4 se amplia y detallan estas estructuras y se justifica del porqué se hacen tales afirmaciones. En las siguientes secciones se presenta una revisión de las estructuras computacionales, empezando por las más básicas y continuando con más avanzadas.

8

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Sonia Ordoñez Salinas • Alexander Gelbukh

3. Estructuras básicas Dentro de esta categoría se clasifican aquellas estructuras que se usan cuando no se requiere mayor nivel de detalle, resultados aceptables y bajo costo computacional. Tanto el proceso de convertir el texto en una estructura, como el de gestionar dicha estructura, requiere de una algoritmia básica y por ende un bajo costo computacional. Es de anotar que estas estructuras también son la base para las estructuras más avanzadas.

3.1 Modelo de espacio vectorial Teniendo en cuenta el conjunto de palabras que hacen parte de una sentencia, una representación muy clásica es la propuesta por Salton [1], autor del trabajo pionero en representar los documentos como un vector de frecuencias, donde cada entrada (coordenada) del vector corresponde a una determinada palabra dentro del documento y su valor es la frecuencia de aparición de dicha palabra. Se puede decir que la mayoría de trabajos de recuperación de información y clasificación utilizan dicha representación, como en [2], [3] y [4]. Trabajar con las palabras que pertenecen a un lenguaje conlleva al manejo de un gran número de variables y por ende el procesamiento de alta dimensionalidad. El procesar el lenguaje a través de alguna estructura no elimina, por sí solo, la problemática de la dimensionalidad, por lo que aparecen trabajos que estudian el comportamiento de las palabras con análisis estadístico [5] y los que permiten asimilar las palabras a sus raíces (stemming) como el presentado en [6] o el algoritmo propuesto por Porter, llamado Porter stemmer [7]. Otra representación basada también en vectores, es aquella donde cada entrada del vector significa la presencia o ausencia de una palabra en el documento, es decir que el documento se representa como un vector de entradas binarias [8]. La representación de documentos con la estructura vectorial, puede darse a través de tuplas como un conjunto de parejas (término, peso), donde el peso corresponde a un valor dado de acuerdo a la parte del documento donde aparece la palabra —por ejemplo, un título tendrá mayor peso que un subtítulo. La colección de palabras puede ser extraída de todo el documento o de alguna parte específica como de los títulos o el resumen: por ejemplo, en [9] las palabras se extraen únicamente de los enlaces de un hipertexto, para así cumplir con un trabajo de clasificación. Con esta representación se pueden utilizar diferentes técnicas en las tareas propias del procesamiento del lenguaje natural. Por ejemplo, en los trabajos de recuperación de información y de indexación se utilizan métodos de semántica latente que buscan visualizar las relaciones ocultas que existen entre las palabras a través de la aplicación de vectores y valores propios [10]. Estas técnicas se aplican sobre vectores de frecuencia o sobre vectores cuyo contenido corresponde a valores binarios [11].

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

9


Representación computacional del lenguaje natural escrito

3.2 Listas Las colecciones de palabras representadas con estructuras básicas no solo se han tenido en cuenta de forma vectorial sino también como listas. Den-tro de esta clasificación se pueden referenciar las estructuras utilizadas para indexar documentos a través de los índices invertidos. Un índice invertido es una lista de términos acompañados por los números o referencias de los documentos en los cuales aparecen dichos términos. El contenido de dicha lista puede tener algunas variaciones como por ejemplo que a demás de contener el documento, contenga las posiciones donde se encuentra la palabra dentro del documento o la presentada en [12], donde cada documento se representa por medio de una lista de tuplas (palabra, valor).

3.3 Grafos Existen varios métodos para representar los documentos como grafos. En [13], se clasifican los métodos en: estándares, simples, distancia n, distancia n-simple, frecuencia absoluta y frecuencia relativa. Cada método se basa en examinar los términos en cada documento y sus adyacencias. Al igual que en otros métodos, los términos se extraen del documento y se realiza un pre-procesamiento, que generalmente consiste en eliminar las palabras que no aportan significado a los documentos (stop words) para así tratar de disminuir la dimensionalidad. A continuación brevemente se expondrá en qué consiste cada una de las representaciones. •

10

Estándar. Cada palabra corresponde a la etiqueta de un nodo y si una palabra a inmediatamente precede a una palabra b en una sección s, entonces existe una arista que comienza en a y termina en b etiquetada con s. En este caso se tiene en cuenta la puntuación y las secciones propias de un documento como el título o resumen, entre otros. Simple. A diferencia de la estándar, no se etiquetan las aristas con las secciones y no se tienen en cuenta todas las secciones sino aquellas que sean más visibles. Distancia n. Se buscan las n palabras siguientes a partir de un término dado, y las aristas se etiquetan con la distancia al punto inicial. El parámetro n es definido por el usuario. Distancia simple. Es similar a la anterior, con la diferencia de que las aristas no son etiquetadas y lo único que se sabe es que la distancia entre dos nodos conectados es menor que n. Frecuencia absoluta. Es similar a la representación simple, pero cada nodo y arista son etiquetados con una medida de frecuencia. Para un nodo esto indica cuántas veces los términos aparecen en el documento; para las aristas esto significa el número de veces que dos términos conectados aparecen en el orden específico. Bajo esta representación, el tamaño del grafo se define como la suma de las frecuencias de los nodos más la suma de las frecuencias de las aristas. Frecuencia relativa. Es similar a la frecuencia absoluta con la diferencia de que las frecuencias son normalizadas entre 0 y 1. Los nodos se normalizan por el valor máximo de frecuencia de los nodos y las aristas similarmente por el máximo valor de frecuencia en las aristas. INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Sonia Ordoñez Salinas • Alexander Gelbukh

Varias propuestas utilizan la representación con grafos. Por ejemplo, en [6] se representa un documento por un grafo que tiene en cuenta la frecuencia de ocurrencia de las palabras. En [14] se incluyen varias formas de representar los documentos a través de los grafos. Además, en [6] se propone una metodología para la construcción de grafos: a partir de análisis del dominio se presentan objetos o entidades que son agrupados dentro de clases o tipos.

3.4 Estructuras estadísticas Con base a la teoría de la información se han realizado investigaciones sobre el comportamiento de las palabras y la información que más aporta a un documento. El primer modelo estadístico del lenguaje fue propuesto por Claude Shannon [39]. De acuerdo a la teoría de la información, el lenguaje se modela como una fuente estadística de información. La estadística se ha constituido en una herramienta fundamental para el análisis de lenguaje natural. De igual forma se han propuesto estructuras que incluyen funciones probabilísticas para representar el contenido de un texto. Dentro de estas estructuras están, por ejemplo, los modelos de Markov, las gramáticas probabilísticas, los analizadores probabilísticos [22]. En general, cualquier estructura (un vector, un grafo o lista, entre otros) puede ser marcada con probabilidades o funciones de probabilidad. En los modelos probabilísticos, se construyen distribuciones de los documentos que pertenecen a una clase. En el caso de recuperación de información, por ejemplo, se asume una distribución para los documentos relevantes y otra para los no relevantes. Se establecen suposiciones sobre las distribuciones, como independencia, y se aplican procedimientos como el clasificador de Bayes simplificado (naïve Bayes) [22]. En los trabajos como [18], la representación de los documentos se logra a través de funciones probabilísticas, y se asume que un documento fue generado a partir de una función de densidad. En dicha investigación, se utiliza un método de agrupamiento (clustering) discriminativo distribucional para extractar las características relevantes de los documentos y así representar los documentos como una distribución de probabilidad. En otros trabajos se mezclan algunas de las técnicas previamente ya expuestas con modelos del lenguaje. En [19], por ejemplo, se presenta un modelo probabilístico para representar el grafo de un documento, con la esperanza de que en el marco de la recuperación de información, un modelo de grafo pueda generar o estimar un grafo de la consulta. Los modelos estadísticos diferentes a los modelos probabilísticos incluyen las dependencias directas que se presentan por la proximidad o adyacencia entre palabras como en los bigramas y en general los n-gramas ([19], [21]).

4. Estructuras avanzadas Para este documento se asumen como estructuras avanzadas aquellas que permiten incluir elementos propios de la lingüística. Entendida la lingüística como el estudio de la estructura de las lenguas naturales [52]. La ventaja de incluir más información propia del lenguaje (mayor significado) se torna en desventaja a la hora de su procesamiento. La INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

11


Representación computacional del lenguaje natural escrito

tarea para una máquina de entender que elemento debe ubicar, donde lo debe ubicar y con quien lo debe relacionar, no es tan trivial como se quisiera. El proceso tanto de transformar de manera automática el texto a la estructura en cuestión como el de gestionar la estructura puede llegar a requerir de métodos heurísticos propios de la inteligencia artificial, el aprendizaje estadístico, entre otros, que por su fundamentación teórica basada generalmente en supuestos estadísticos, arrastran un margen de inexactitud. Estas afirmaciones se hacen en virtud a que algunas de estas estructuras permiten incluir elementos propios de la sintáctica y la semántica, entre otros, por lo que exige la ubicación y la relación de elementos propios de la interpretación del lenguaje. Si se habla de elementos sintácticos, se requiere de la ubicación, las interrelaciones y las dependencias del verbo, el sustantivo, el predicado, entre otros. Si se habla de elementos semánticos, el objeto, el actor, el recipiente, la herramienta, sus relaciones y dependencias, entre otros. El proceso de automatización de los anteriores elementos, exige de la interpretación del lenguaje con todos los fenómenos propios, como por ejemplo, que una palabra puede referirse a un sujeto que previamente o posteriormente se ha hecho referencia (anáforas y catáforas), que dos palabras diferentes significan lo mismo (sinonimia), que una palabra significa diferente dependiendo del contexto (homonimia), que un sustantivo puede ejercer la función de adjetivo, que una palabra o conjunto de palabras hacen referencia a un nombre propio (entidad nombrada). Dentro de esta categoría se pueden ubicar las representaciones a través de las gramáticas y a la lógica, así como los lenguajes orientados a objetos y aquellos usados para la creación de repositorios de datos como el Lenguaje de Definición de Datos (DDL, por sus siglas en inglés: Data Definition Language).

4.1 Representación gramatical Una forma que se podría utilizar para representar un documento es a través de la descripción morfológica y sintáctica. La descripción morfológica establece la clase gramatical de cada una de las palabras del texto. Dicha clase se define de acuerdo a la función gramatical en el proceso que se denomina etiquetamiento de categorías gramaticales (part of speech tagging). El análisis sintáctico se encarga de analizar la sentencia teniendo en cuenta tanto la función que ejerce cada palabra así como las relaciones existentes entre las mismas. Para dicho análisis se construyen estructuras sintácticas mediante las técnicas de constituyentes, de dependencias o de enlaces, entre otras. La técnica de análisis de constituyentes consiste en construir un árbol a partir de la teoría de gramáticas generativas expuestas por Noam Chomsky [53] y de un proceso iterativo de segmentación y clasificación gramatical de la oración, hasta que las partes constituyentes sean indivisibles. Desde el punto de vista de la teoría de las dependencias [36] se puede construir una jerarquía —esquematizada en un árbol— de acuerdo al papel que ejercen las palabras dentro de la frase como la cabeza o raíz del árbol, las subordinadas y rectoras [37]. Las

12

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Sonia Ordoñez Salinas • Alexander Gelbukh

relaciones se marcan con flechas y varias palabras pueden depender de una sola, aunque cada palabra excepto la raíz depende de exactamente de otra palabra. Las gramáticas de enlace (link grammars) introducidas en [40] se definen como un conjunto de palabras que requieren de un enlace. Una sucesión de palabras equivale a una frase del lenguaje natural si existe una forma de dibujar los enlaces entre las palabras que la conforman. Dichos enlaces no se cruzan y satisfacen los requerimientos de cada palabra.

4.2 Lógica de primer orden y otros métodos basados en lógica En la lógica de primer orden (FOL por sus siglas en inglés: First Order Logic), con pocos símbolos básicos se pueden representar elementos del mundo real y a través de predicados se pueden establecer las relaciones entre los elementos. Es así que usando elementos, proposiciones y operadores simples se puede representar el texto [15]. La lógica del primer orden es un sistema deductivo formal usado en las matemáticas, filosofía, lingüística e informática. Se conoce también como cálculo de predicados de primer orden (FOPC por sus siglas en inglés: First Order Predicate Calculus), el más bajo cálculo de predicados, el lenguaje lógico de primer orden o lógica de predicados. Con esta técnica se pueden representar texto y por ende documentos. Por ejemplo, en [16] un documento se presenta como una sentencia lógica proposicional de la forma d = (recuperación ∧ información) ∨ (recuperación ∧ datos). Siguiendo la representación a través de la lógica, se encuentran investigaciones como [17], donde a través de la lógica difusa se representa el documento para implementar posteriormente una forma de recuperación de documentos.

4.3 Lenguaje de representación de marcos Los lenguajes de tipo FRL (por sus siglas en inglés: Frame Representation Language) clasificados bajo esta categoría, se definen como metalenguajes basados en el concepto de marco (frame), orientado al reconocimiento y descripción de objetos y clases. La idea principal del razonamiento basado en estos lenguajes es la simplificación, ya que la unidad primaria de organización es el marco. Un marco tiene un nombre y puede tener varios atributos. Cada atributo tiene a su vez un nombre y un valor. Los diferentes tipos de valores pueden ser de una amplia variedad de acuerdo al sistema de marcos. Los valores más comunes son las cadenas y los símbolos [41]. En los FRLs, la herencia es el mecanismo de inferencia central basado en la organización jerárquica. Muchos sistemas que se basan en este lenguaje, permiten la herencia múltiple, como los lenguajes de programación y en particular los orientados a objetos. Los FRLs, contrario a las ontologías que buscan representar el conocimiento en detalle [15], solo se ocupan de representar el conocimiento como objetos. Sin embargo, algunas implementaciones y lenguajes basados en FRLs, pueden asumir un lenguaje ontológico. Dentro de las implementaciones basadas en FRLs destacan los siguientes: Protégé. Protégé [42] es una plataforma de desarrollo de ontologías definida en marcos y bajo el estándar del lenguaje ontológico para la Web (OWL: Web Ontology Language), INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

13


Representación computacional del lenguaje natural escrito

desarrollada en Java. Las ontologías definidas pueden ser exportadas en una amplia variedad de formatos. Capa de inferencia ontológica. La Capa de Inferencia Ontológica o lenguaje de intercambio ontológico (OIL: Ontology Inference Layer o Ontology Interchange Language) [43] se define como una estructura ontológica para la semántica en la Web. Lógica de marcos. La lógica de marcos (Frame logic o F-logic) [44] es un lenguaje ontológico que permite representar el conocimiento. Su estructura está basada tanto en el FRL como en la orientación a objetos. Sistema para representación de conocimiento. El sistema para representación de conocimiento (Knowledge Representation One o KL-ONE) [45] es un lenguaje muy similar al mismo FRL (aunque los marcos en este lenguaje se llaman conceptos) con la diferencia de que se permite el manejo de subclase, superclase y múltiple herencia. Lógica de descripciones. La lógica de descripciones (DL: Descriptions Logics) [46] corresponde a una familia de lenguajes definidos para representar el conocimiento. Su nombre se refiere por un lado a la descripción de conceptos para describir dominios y por otro a la semántica basada en lógica de predicados de primer orden. Las DLs fueron diseñadas como una extensión de los FRLs y las redes semánticas con el fin de fortalecer la parte semántica formal. La lógica descriptiva no solamente representa el conocimiento como objetos sino justifica el proceso con un razonamiento estrictamente lógico basado en conceptos, roles y relaciones. Los conceptos corresponden a clases de elementos y son tratados como subconjuntos del universo. Las relaciones corresponden a vínculos entre elementos y son tratados como relaciones binarias.

5. Estructuras conceptua-les estandarizadas Las estructuras conceptuales para la representación de conocimiento son modelos (artefactos) que representan una realidad percibida. Con base en técnicas como la inteligencia artificial, estos modelos además de representar el conocimiento, pueden lograr reconstruir conocimiento a través de métodos como la inferencia [23]. Dentro de esta clasificación se encuentran las redes semánticas, los grafos conceptuales, el formato de intercambio de conocimiento (KIF: Knowledge Interchange Format) [47], el lenguaje de descripción de recursos (RDF: Resource Description Framework) [48] del consorcio World Wide Web Consortium (W3C) y los diferentes lenguajes ontológicos para la Web (OWL: Web Ontology Language) propuestos por el W3C [24]. Otra estructura conceptual que se puede mencionar, es la Lógica Común (CL: Common Logic) que no hace parte del grupo W3C pero se posiciona al lado de RDF y de OWL. CL es un marco (framework) para una familia de lenguajes basados en lógica. La lógica de primer orden tiene como objetivo el intercambio y la transmisión de información. El objetivo de este framework es proveer la sintaxis y semántica abstracta de las sintácticas 14

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Sonia Ordoñez Salinas • Alexander Gelbukh

concretas o dialectos. El CL preserva el modelo teórico de primer orden, pero cuenta con características muy particulares como la de permitir construcciones de orden superior tales como cuantificaciones sobre clases o relaciones.

5.1 Redes semánticas Las redes semánticas aparecen a partir de trabajos lingüísticos presentados en el año 1968, y de ahí en adelante los diferentes aportes llevaron a que a finales de los años 70, se puedan observar dos tendencias: por un lado, las redes estructuradas y los sistemas de representación del conocimiento y por el otro, las multiredes orientadas a las ciencias cognitivas. De forma general se pude definir una red semántica como un modelo matemático que consiste de una estructura conceptual formada por un conjunto de conceptos y relaciones cognitivas entre éstos. Son representadas por un grafo generalizado donde los conceptos corresponden a los nodos y las relaciones entre los conceptos corresponden a los arcos [25] y, desde el punto de vista semántico, como una colección de las diferentes relaciones que los conceptos tienen entre si [26]. Generalmente, la construcción de una frase se logra con la ayuda de los analizadores sintácticos. Sin embargo, esto es aún un problema para aquellos idiomas que no cuentan con un orden estricto de palabras, como el español [27]. Las redes semánticas se catalogan en tres categorías [28]: Red de relaciones es-un. Se construye desde los conceptos más generalizados hasta más específicos, que se representan de forma jerárquica. Dado que la filosofía de estas redes gira en torno a la herencia y la explicación de los conceptos mediante otros conceptos, son generalmente complejas. Entre las investigaciones que utilicen una red semántica del tipo red de relaciones es-un (is-a en inglés) se puede mencionar, por ejemplo [29], donde se construye una red en forma de árbol; sus atributos y palabras se seleccionan a través del método de entropía condicional. Red de marcos. Este tipo de red se representa a través de estructuras de datos llamadas marcos. Cada marco se corresponde a una clase o a una instancia. Las clases describen los conceptos mediante un conjunto de propiedades y los marcos son las instancias de las clases. Ellos describen objetos concretos y heredan propiedades de los marcos clase. Los atributos y valores se esquematizan a través de ranuras (slots). Grafos conceptuales. Durante los años 60 la representación semántica basada en grafos fue popular tanto a nivel teórica como en la lingüística computacional. Esta representación se conoce como grafo conceptual. Esta estructura, propuesta por Sowa [26], está basada en los grafos existenciales de Pierce [32]. El estándar para los grafos conceptuales especifica la sintaxis, la semántica y la representación de cadenas de caracteres en el formato de intercambio de grafos conceptuales (CGIF: Conceptual graph interchange form). CGIF ha sido diseñado para intercambio de información entre los sistemas que hacen parte del estándar “Formato para el modelamiento de esquemas conceptuales” (CSMF: Conceptual Schema Modeling Facilities) especificado por el estándar ISO/IEC 14481. El estándar de los GC provee una guía para implementar sistemas que usan los grafos conceptuales en la representación interna INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

15


Representación computacional del lenguaje natural escrito

o externa. Las representaciones externas se definen para la comunicación humano— máquina, y la interna, para la comunicación entre las máquinas [33]. Los grafos conceptuales para representar texto fueron introducidos por Sowa [33]. Los grafos conceptuales manejan dos tipos de nodos: conceptos y relaciones conceptuales. Los conceptos tienen un tipo (clase de concepto) y un referente (la instancia de este tipo de objeto). Las relaciones conceptuales señalan la manera en que los conceptos se relacionan [34]. Cada relación conceptual tiene uno o más (usualmente dos) arcos, cada uno de los cuales debe estar enlazado a un concepto [33]. Dado que la representación por medio de un grafo conceptual denota los términos que contribuyen a la semántica de la sentencia y que cada término se escoge de acuerdo a la posición dentro de la sentencia [35], los grafos conceptuales cuentan con una serie de características que hacen que sean muy ricos semánticamente y se utilicen no solo para el intercambio de información sino para la creación de bases de conocimiento y ontologías.

5.2 Formato de intercambio de conocimiento El Formato de Intercambio de Conocimiento (KIF: Knowledge Interchange Format) se basa en caracteres que pueden ser combinados en lexemas; los lexemas a su vez pueden ser combinados en expresiones. La sintaxis del KIF [47] generalmente se presenta con una modificación de la notación de las formas BNF (Backus-Naur forms). El alfabeto de KIF consiste de seis bloques de datos para referenciar las mayúsculas, las minúsculas, los dígitos, los caracteres alfa —caracteres específicos que se usan de la misma forma que las letras—, los caracteres especiales y otros caracteres como el espacio. El proceso de convertir los caracteres a lexemas se llama análisis léxico. Al proceso entra una cadena de caracteres y se obtiene una cadena de lexemas. Este proceso es cíclico: en este proceso se leen las cadenas de caracteres hasta que se encuentra un carácter que no puede ser combinado con los caracteres previos y dentro del lexema actual. Cuando esto ocurre, el proceso se vuelve a empezar con el nuevo carácter y otro lexema. KIF maneja cinco clases de lexemas: lexemas especiales, palabras, referencias al carácter, cadenas de caracteres y bloques de caracteres. Los lexemas se forman de acuerdo a una serie de reglas. Se presentan tres tipos de expresiones: términos, sentencias y definiciones. Los términos son usados para denotar objetos, las sentencias para expresar hechos y las definiciones para definir constantes. Las definiciones y las sentencias se llaman formas; una base de conocimiento es un conjunto finito de formas. La base de la semántica de KIF es la conceptualización del mundo en términos de objetos y relaciones entre los objetos. El universo del discurso es el conjunto de todos los objetos que hipotéticamente existen en el mundo. La noción de objeto es amplia. Los objetos pueden ser concretos o abstractos, primitivos o compuestos y pueden ser de ficción.

16

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Sonia Ordoñez Salinas • Alexander Gelbukh

Además de permitir incluir listas, el lenguaje permite incluir sentencias matemáticas, de control, de relaciones y lógicas.

5.3 Infraestructura para la descripción de recursos El leguaje RDF (Resource Description Framework) [48] ha sido definido para representar información sobre recursos en la Web. En particular, intenta representar metadatos sobre los recursos de la Web como el título, el autor, fechas, derechos y en general cualquier información relevante. Por otro lado, proporciona interoperabilidad entre las diferentes aplicaciones que intercambian información en la Web. Su desarrollo se ha basado no solo en las necesidades de la Web sino en los demás estándares que definen las diferentes comunidades, tales como los presentados a continuación. Lenguaje de metadatos para publicar hipertexto en Internet. El lenguaje HTML (HyperText Markup Language) es estandarizado por el grupo W3C y es el más popular para escribir las páginas Web. Permite describir la estructura y el contenido en forma de texto, incluir imágenes, tablas, vínculos y muchos otros aspectos de presentación y diseño. Plataforma para la selección de contenido en Internet. Esta especificación (PICS: Plataform for Internet Content Selection) [49] habilita los metadatos que pueden ser asociados con el contenido de Internet. PICS fue inicialmente diseñada para ayudar al control de contenido que acceden los menores de edad en la Web; sin embargo actualmente es ampliamente utilizada en los filtros. En general este estándar permite etiquetar el contenido propio o relacionado, creando así el principal parámetro de control. Lenguaje de marcado generalizado. El lenguaje SGML (Standard Generalized Markup Language) se define como un sistema para la organización y etiquetado de documentos. Al igual que el HTML, fue normalizado por la Organización Internacional de Estándares (ISO) en 1986. Lenguaje de marcado extensible. El Lenguaje de Marcado Extensible (XML: Extensible Markup Language) es un metalenguaje extensible de etiquetas desarrollado por el W3C. Es una simplificación y adaptación del SGML. Permite definir la gramática de lenguajes específicos, como HTML. En general XML no es un lenguaje en particular, sino una manera de definir lenguajes para diferentes necesidades. XML estandariza el intercambio de información estructurado entre las diferentes plataformas computacionales.

5.4 Lenguaje ontológico El Lenguaje de Ontologías para la Web (OWL: Web Ontology Language) [50] es un lenguaje de marcado desarrollado por el grupo W3C para publicar y compartir ontologías en la Web. Fue desarrollado como una extensión del RDF y del lenguaje de marcado semántico para recursos en la Web DAML+OIL fusión de los lenguajes (DARPA1 Agent Markup Language) DAML y (Ontology Inference Layer or Ontology Interchange Language) OIL [43].

1 Defense Advanced Research Projects Agency (DARPA)

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

17


Representación computacional del lenguaje natural escrito

Una ontología OWL es un grafo RDF que permite expresar relaciones complejas entre las diferentes clases de RDFs. Provee los recursos para determinar propiedades y elementos y para construir nuevas clases a partir de otra u otras.

5.5 Lógica común Lógica Común (CL: Common Logic) es una estructura definida para una familia de lenguajes lógicos basados en lógica de primer orden. Define estándares para el intercambio de información basados en formas sintácticas llamadas dialectos. Un dialecto puede usar cualquier sintaxis que conforme una semántica abstracta CL. Todos los dialectos son equivalentes, es decir que pueden automáticamente ser traducidos entre ellos aunque algunos pueden ser más expresivos que otros, en cuyo caso se pueden traducir solo a menos expresivos. El estándar ISO 24707 para la Lógica Común especifica tres tipos de dialectos: • Formato de Intercambio de Lógica Común (CLIF: Common Logic Interchange Format), • Formato de Intercambio de Grafos Conceptuales (CGIF: Conceptual Graph Interchange Format), • Notación basada en XML para la Lógica Común (XCL: XML based notation for Common Logic). Son muchos los lenguajes que hereden de una sintaxis abstracta de la CL, entre los cuales destaca el que se presenta en [30]. Lenguajes naturales controlados. Los lenguajes naturales controladas son subconjuntos de los lenguajes naturales restringidos en la gramática y el vocabulario con el fin de reducir o eliminar la ambigüedad y la complejidad [31]. Los lenguajes controlados pueden ser desarrollados con dos objetivos: aquellos que mejoran la legibilidad para los lectores humanos y aquellos que permiten el análisis semántico automático confiable del texto. Dentro de estos lenguajes están el inglés, el chino y el español controlados [30]. Diagramas FLIPP (Format for Logical Information Planning and Presentation). Se conocen como una representación lógica conceptual que no hace uso de texto ni símbolos. Cada diagrama consiste en un conjunto de bloques dependientes a nivel jerárquico [54]. El diagrama total represente un grafo acíclico. Cada sub-bloque puede contener información en lenguaje declarativo, natural o matemático. Mapas de tópicos y mapas conceptuales. Los mapas conceptuales son artefactos para la organización y representación del conocimiento. Tienen su origen en teorías sobre psicología [51]. El objetivo de estos mapas es de representar relaciones entre conceptos en forma de proposiciones. Los conceptos están incluidos en cajas o círculos, mientras que las relaciones entre ellos se explicitan mediante líneas que unen las cajas respectivas. Las líneas, a su vez, tienen palabras asociadas que describen la naturaleza de la relación que liga los conceptos. Lenguaje de modelamiento unificado2. Es un lenguaje de modelado de software (UML: Unified Modeling Language). Su estándar es definido por el grupo Object Management 2 Ver http://www.omg.org

18

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Sonia Ordoñez Salinas • Alexander Gelbukh

Group (OMG). El estándar define el modelo estático y dinámico de todos los componentes que pueden hacer parte de un sistema de software incluidos los referentes a las ontologías para la representación, manejo e interoperabilidad y aplicaciones para la semántica de los negocios. Otros lenguajes. El lenguaje de consulta estructurado (SQL: Structured Query Language3) es un lenguaje declarativo que permite recuperar información estructurada de las bases de datos relacionales. El lenguaje de restricción de objetos (OCL: Object Constraint Language4) definido por el grupo OMG, para describir las reglas que aplican al UML. Prolog5 es un lenguaje de programación lógico e interpretativo. Datalog, una derivación del Prolog, es un lenguaje de consulta para bases de datos deductivas. Esquema RDF, una extensión semántica de RDF, es un lenguaje primitivo para la descripción de vocabulario ontológico.

6. Conclusiones La búsqueda de nuevas alternativas para la representación y procesamiento del lenguaje natural que permitan no solo la inclusión de la semántica propia del lenguaje sino que faciliten operaciones que lleven a la inferencia del conocimiento, es un tema que aún está en espera de mostrar resultados. Como se puede concluir de la revisión presentada, si bien existen muchas estructuras, a mayor cantidad de elementos semánticos que se pueden incluir, mayor es su dificultad para el procesamiento. Gran parte del camino a recorrer con estas estructuras aún esta por explorar, no solo en lo que se refiere a la representación del lenguaje natural, sino igualmente, a la creación de ontologías y bases de conocimiento. Agradecimientos. El trabajo fue realizado parcialmente con el soporte que el segundo autor recibió del Gobierno de México (CONACYT 50206-H, SIP-IPN 20113295, programa CONACYT de estancias Sabáticas 2010-2011) y de Universidad Waseda, Japón.

7. Referencias [1] Salton, G. y Lesk, M. E. (1965). The SMART automatic document retrieval systems and illustration. Commun. ACM. [2] Farkas, J. (1966). Improving the classification accuracy of automatic text processing systems using context vectors and backpropagation algorithms. Canadian Conference on Electrical and Computer Engineering. [3] Henderson, J., Merlo, P., Petroff, I. y Schneider, G. (2002). Using NLP to efficiently visualize text collections with SOMs. Proceedings: 13th International Workshop on Database and Expert Systems Applications. [4] Kimura, M., Saito, K., Ueda, N. (2005). Multinomial PCA for extracting major latent topics from document streams. Neural Networks 2005, IJCNN ’05. Proceedings. 2005 IEEE International Joint Conference. [5] Maron, M.E. y Kuhns, J.L. (1960). On relevance, probabilistic indexing and information retrieval. Journal of the ACM. [6] Badia, A. y Kantardzic, M. (2005). Graph building as a mining activity: finding links in the small. LinkKDD ’05: Proceedings of the 3rd international workshop on Link discovery. 17-24. ACM.

3 En las especificaciones ISO/IEC 9075-1:2008; ISO/IEC 9075-2:2008; ISO/IEC 9075-11:2008, se incluyen los mínimos requerimientos del lenguaje. 4 Ver http://www.omg.org 5 ISO/IEC 13211-1 ISO-Prolog

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

19


Representación computacional del lenguaje natural escrito

[7] Rijsbergen C.J. van, Robertson S.E. y Porter M.F. (1980). New models in probabilistic information retrieval. London: British Library. (British Library Research and Development Report, No. 5587. [8] Klabbankoh B. y Pinngern Q. (2000). Applied Genetic Algorithms in Information Retrieval. Faculty of Information Technology, King Mongkut´s Institute of Techology Ladkrabang. [9] Varlamis I., Vazirgiannis M., Halkidi M., Nguyen B. (2004). Thesus, A Closer View on Web Content Management Enhanced with Link Semantics. IEEE Transactions on Knowledge and Data Engineering, Vol. 16. No. 6. 685-700. [10] Deerwester S., Dumais S. T., Furnas G. W., Landauer T. K. y Harshman R. (1990). Indexing by Latent Semantic Analysis. Journal of the American Society for Information Science, Vol. 41. No. 6. 391-407. [11] Hensman S. (2004). Automatic Construction of Conceptual Graphs from Texts using Computational Linguistics Techniques. Department of Computer Science, University College Dublin. Belfield, Dublin 4. Proceedings of Student Research Workshop at HLT-NAACL. [12] Rijsbergen Van C.J. (1979). Information Retrieval. Department of Computing Science, University of Glasgow Second edition. [13] Schenker A., Bunke Horst, M. L. A. K. (2005). Graph-theoretic techniques for Web content mining. World Scientific Publishing. [14] Schenker A., Bunke H., M. L. y Kandel, A. (2004). A Graph-Based framework for Web document mining. Lecture Notes in Computer Science Publisher Springer Berlin Heidelberg, Vol. 3163. 401-412. [15] Barski C. (2009). The enigmatic art of knowledge representation. Consultado: www.lisperati.com//ex.html. (5 de marzo, 2009). [16] Losada, D. y Barreiro A. (2001). Rating the impact of logical representations on retrieval performance. Database and Expert Systems Applications Proceedings. 12th International Workshop, 247-253. [17] Chang C. y Chen A. (1998). Supporting conceptual and neighborhood queries on WWW. Systems, Man, and Cybernetics, Part C: Applications and Reviews, IEEE Transactions, Vol. 28. No. 2. 300-308. [18] Peltonen, J., Sinkkonen J. y Kaski, S. (2002). Discriminative clustering of text documents. 9th International Conference Neural Information Processing, 2002. ICONIP ’02, Vol. 4. 1956-1960. [19] Maisonnasse L., Gaussier E., J. C. (207). Multiplying Concept Sources for Graph Modeling. LIG contribution to the CLEF 2007 medical retrieval task (ImageCLEFmed). [20] Gao J., Nie J.-Y, Wu G., Cao G. (1999). Dependence Language Model for Information Retrieval. Microsoft Research, Asia, Brooks Cole Publishing Co., Pacific Grove. [21] Williams R. (2007). A Computational Effective Document Semantic Representation. DEST’07. Digital EcoSystems and Technologies Conference, IEEE-IES. [22] Manning C., Schütze H. (1999). Foundations of Statistical Natural Language Processing. MIT Press. Cambridge, MA: May. [23] Mineau, G. W., Stumme, G. y Wille, R. (1999). Conceptual Structures Represented by Conceptual Graphs and Formal Concept Analysis. International Conference on Conceptual Structures. [24] Delugach H. S. Towards. (2008). Conceptual Structures Interoperability Using Common Logic Computer. Science Department Univ. of Alabama in Huntsville. Third Conceptual Structures Tool Interoperability Workshop. [25] Helbig H. (2006). Knowledge Representation and the Semantics of Natural Language. Lecture Notes in Computer Science. Springer. [26] Sowa, J. F. (2008). Conceptual Graphs. Handbook of Knowledge Representation. [27] Gelbukh A., Sidorov G. (2006). Procesamiento automático del español con enfoque en recursos léxicos grandes. Instituto Politécnico Nacional, México. [28] Hernández Cruz, M. (2007). Generador de los grafos conceptuales a partir del texto en español. Tesis de Maestría. Instituto Politécnico Nacional. Centro de Investigación en computación. [29] Last M., Maimon O. (2004). A compact and Accurate Model for Classification. IEEE Transactions on Knowledge and Data Engineering., Vol. 16. No. 2. 203-215. [30] Sowa, J. F. (2008). Common Logic, A Framework for a Family of Logic-Based Languages. [31] Barceló, G., Cendejas, E., Bolshakov, I. y Sidorov G. (2009). Ambigüedad en nombres hispanos. Revista Signos. Estudios de Lingüística 42 (70). 153-169. [32] Shin S-J. (1994). The Logical Status of Diagrams. Cambridge University Press. [33] Committee on Information Interchange and Interpretation. Sowa, J. F. (2008). Conceptual Graph Standard. Consultado: www.jfsowa.com/cg/cgstandw.htm. (12 de noviembre, 2008). [34] Montes-y-Gómez M. (2001). Minería de texto: Un nuevo reto computacional. 3er Taller Internacional de Minería de Datos MINDAT-2001, Universidad Panamericana, Ciudad de México. [35] Shehata, S., Karray, F. y Kamel, M. (2006). Enhancing Text Retrieval Performance using Conceptual Ontological Graph. Data Mining Workshops, 39-44, Sixth IEEE International Conference on Data Mining - Workshops (ICDMW’06).

20

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Sonia Ordoñez Salinas • Alexander Gelbukh

[36] Tesnière, A. L. (1959). Elements de syntax e structurale. Klincksieck Paris. [37] Castro-Sánchez, N. A., y Sidorov, G. (2010). Analysis of Definitions of Verbs in an Explanatory Dictionary for Automatic Extraction of Actants based on Detection of Patterns. Lecture Notes in Computer Science, No. 6177. 233-239. [38] Abdulrub S., Polovina S. y Hill, R. (2008). Implementing Interoperability through an Ontology Importer for Amine. Conceptual Structures Tools and the Web - Third Conceptual Structures Tool Interoperability Workshop. [39] Shannon, C. (1948). A mathematical theory of communication. The Bell System Technical Journal, Vol. 27, 379–423. [40] Sleator, D. D. y Temperley, D. (1993). Parsing English with a link grammar. Third International Workshop on Parsing Technologies. [41] Roberts R, Goldstein I,. (1977). The FRL manual. Memo 409, Massachusetts Institute of Technology, Artificial Intelligence Laboratory. [42] Noy N., Grosso W, Musen A. (2000). Knowledge acquisition Interfaces for Domain Experts: An Empirical Evaluation of Protege2000. Twelfth International Conference on Software Engineering and Knowledge Engineering (SEKE 2000), Chicago, IL. [43] McGuinness D. L., Fikes R., Hendler J., Stein L. A., (2002). DAML+OIL: An Ontology Language for the Semantic Web. IEEE Intelligent Systems, Vol. 17, No. 5. 72-80, Sep./Oct. [44] Kifer M, Lausen G, Wu J. (1995). Logical Foundations of Object-Oriented and Frame-Based Languages. Journal of ACM, May. [45] Brachman R., Schmolze J. (1985). An overview of the KL-ONE Knowledge Representation System. Cognitive Science, Vol. 9, No. 2, 171-216. [46] Baader F., Nutt W. (2002). Basic Description Logics. The Description Logic Handbook, Cambridge University Press. 47-100. [47] Ginsberg M. (1991). Knowledge Interchange Format: The KIF of Death. Journal AI Magazine, Vol. 12. 57-63. [48] Lassila O., Swick R. y World Wide and Web Consortium. (1999). Resource Description Framework (RDF) Model and Syntax Specification. Consortium, Cambridge (MA). W3C Recommendation. [49] Krauskopf T., Miller. J, Resnick P., Treese W. (1996). PICS Label Distribution Label Syntax and Communication Protocols. Version 1.1, W3C Recommendation. [50] Sirin E., Hendler J., Parsia B. (2002). Semi-automatic Composition of Web Services using Semantic Descriptions. Web Services: Modeling, Architecture and Infrastructure workshop in ICEIS 2003. 17-24. [51] Ausube l, D., Novak, J. Hanesian, H. (1978). Psicología Educacional: Una visión cognitiva. Halt, Reinhart and Winston, New York. [52] Bally C, Sechehaye C. (1945). Curso de Linguistica General. Editorial losada, Buenos Aires. 31-32. [53] Chomsky, N. (1957). Syntactic structures. La Haya, Mouton. [54] Croitoru M., Jäschke R. (2008). Conceptual Structures Tools and the Web. Third Conceptual Structures Tool Interoperability Workshop.

Sonia Ordoñez Salinas Docente Universidad Distrital – Facultad de ingeniería. Estadística de la Universidad Nacional. Ingeniera de Sistemas de la Universidad Distrital. Especialista Teleinformática Universidad Distrital. Magíster en Ingeniería de Sistemas Universidad Nacional. Doctor Ing. Sistemas y Computación, Universidad Nacional de Colombia. Grupo de Investigación Gesdatos U.D.

Alexander Gelbukh Profesor-Investigador y Jefe del Laboratorio de Lenguaje Natural y Procesamiento de Texto del Centro de Investigación en Computación del Instituto Politécnico Nacional, México. Doctor en la ciencia de la computación por el Instituto de la Información Científica y Técnica de toda Rusia (VINITI). Maestro en Ciencias en matemáticas por la Universidad Nacional “Lomonósov” de Moscú (MGU), Rusia. Miembro de la Academia Mexicana de Ciencias, Investigador Nacional de México nivel II.

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

21


Citación: Bohórquez, L.H. (2010). Estudio del impacto de la certificación ISO 9001:2000 en la competitividad-país. En: Ingeniería, Vol. 15, No.1, pág. 22-34

Estudio del impacto de la certificación ISO 9001:2000 en la competitividad-país Impact of the ISO 9001:2000 standard on countries competitiveness Luz Esperanza Bohórquez Arévalo Universidad Distrital Francisco José de Caldas Facultad de Ingeniería lebohorquez@hotmail.com

Resumen El estudio analiza el nivel de correlación que se presenta entre la posición competitiva obtenida por los diferentes paises y el número de certificaciones ISO 9001:2000 que cada uno de estos posee. Para tal fin, se consideran los datos publicados por el observatorio de competitividad mundial Institute of Management Development – IMD y la Organización Internacional del estándares ISO, durante la serie de tiempo 2001-2005. Los resultados muestran la existencia de una relación positiva débil entre la posición competitiva y el número de empresas certificadas. Adicionalmente, indican que la principal relación entre la certificaciones en el contexto de la competitividad pais se encuentra en el fortalecimiento de la infraestructura sectorial y no en la mejora de la eficiencia de los negocios. De lo anterior, se desprende que el impacto de las certificaciones ISO 9001 no se encuentra en la diferenciación que le pueda generar a una organización en particular, sino en el fortalecimiento que le puede otorgar a un sector en general cuando un amplio número de empresas alcanzan la certificación. Palabras clave: calidad, competitividad, ISO, IMD.

Abstract This study analyzes the correlation found between the competitive position gained by the different countries and the number of ISO 9001:2000 certifications such countries hold. For this purpose, data released by the world observatory Institute of Management Development – IMD and also by the International Organization for Standardization – ISO – for the 2001-2005 time span were used. The results evidence the existence of a weak positive relationship between the competitive position and the number of certified companies. Results also indicate that the main relationship between the different certifications, within a country’s competitiveness context, lies in the strengthening of sector-wise infrastructure, rather than in the improvement of business efficiency. Accordingly, it may be inferred that the impact of ISO 9001 certifications cannot be seen in the differentiation status experienced by a specific organization but rather in the potential strengthening of a whole sector when a significant number of companies obtain the certification. Key words: Quality, Competitiveness, ISO, IMD. 22

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Luz Esperanza Bohórquez Arévalo

1. Introducción Desde 1987, año en el cual se publicó la primera serie de estándares para la administración de la calidad ISO 9000, el número de compañías que ha buscado certificarse con este estándar ha crecido en más del 2000%, tal como se puede observar en los resultados publicados por la Organización Internacional de Estándares - ISO [1]. De igual manera y con el fin de coadyuvar en el logro de este propósito, organizaciones como el Banco Interamericano de Desarrollo – BID, han asignado, en el marco de programas de competitividad país, recursos financieros para que en los países cada vez más empresas puedan implementar y certificar los sistemas de gestión de la calidad. Los beneficios esperados con la implementación y certificación del sistema de gestión de la calidad (SGC) son diversos [2] destacándose principalmente el impacto en la productividad a través de incremento en ingresos y reducción de costos [17], en donde existe una amplia cantidad de trabajos de investigación. De igual manera, algunos autores afirman que los SGC impactan en la competitividad, resaltando que los estudios desde esta perspectiva son relativamente recientes y, a la fecha, escasos [3]. Sin embargo, si se tiene en cuenta que la competitividad está determinada por la productividad y la estrategia [4], se podría afirmar que los diferentes esfuerzos por mejorar la productividad empresarial redundan en un incremento de la competitividad. De esta manera si los SGC, en particular ISO 9001:2000, impactan en la productividad, como se afirma por ejemplo en los trabajos de Adams y Dale (2001) [5] se podría aseverar que también lo realizan en la competitividad, lo cual constituye precisamente la premisa central del presente trabajo. En este sentido, el propósito de esta investigación es evaluar si la certificación de la calidad ISO 9001:2000 puede impactar en la posición competitiva de un país lo anterior teniendo en cuenta que no es posible un país competitivo si sus empresas no son competitivas. De igual manera, se busca analizar si es posible afirmar que un país es más competitivo en la medida en que tenga una mayor proporción de empresas certificadas en sistema de gestión de la calidad. Para tal fin, la investigación analizó la correlación existente entre el número empresas certificadas con la norma ISO 9001:2000 por país y la posición competitiva del mismo, acorde con los resultados publicados por el Institute of Management Development (IMD), siendo la ventana de observación desde el año 2001 al año 2005. Es de resaltar que el estudio consideró este espacio de tiempo buscando homogeneidad en la muestra, dado que la versión 2000 de la norma ISO, es emitida en diciembre del año 2000, y por ende las primeras empresas certificadas con esta norma surgen en el año 2001, cambiando la norma nuevamente en el año 2008. En concreto, la hipótesis principal que se busca corroborar en el presente estudio es que el número de certificados ISO 9001:2000 presenta correlación positiva con la posición competitiva de los países, seguidamente y como segunda hipótesis se busca establecer que el factor de mayor nivel de correlación es eficiencia en los negocios (Tabla No. 3).

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

23


Estudio del impacto de la certificación ISO 9001:2000 en la competitividad-país

2. Evolución de la certificación ISO 9001 en el mundo. Desde la primera publicación de la serie de estándares de administración de la calidad ISO 9000 realizada en 1987 por la Organización Internacional para la Estandarización ISO, el crecimiento del número de compañías que obtienen el certificado se ha incrementado notablemente [1]. El total de los certificados ISO 9001:2000 creció en el año 2003 en un 200% en comparación con el año 2002 (Figura No. 1), marcando así un importante aumento a 500.125 empresas certificadas en 149 países con esta norma internacional, cifra que es 10 veces mayor a la registrada en el año 2001, en el cual existían 44.388 empresas certificadas en 98 países (Tabla No. 1). 800.000,00 700.000,00 600.000,00 500.000,00 400.000,00 300.000,00 200.000,00 100.000,00 -

Ene-01

Ene-02

Ene-03

Ene-04

Ene-05

Figura No. 1. Crecimiento de las certificaciones ISO 9001 en el mundo [1]

Tabla I. Comportamiento de la certificación ISO 9001:2000 [1]. Datos a nivel mundial Total Crecimiento Num. países

dic-03 497.919 330.795 149

dic-04 660.132 162.213 154

dic-05 773.867 113.735 161

dic-06 896.929 123.062 170

dic-07 951.486 54.557 175

Desde la perspectiva regional, Europa continúa manteniendo el porcentaje más alto de certificados ISO 9000 con el 48,52 % del total general, seguida por el Lejano Oriente con el 33,05 %, América del Norte con el 8,03 %, Australia/Nueva Zelanda con el 4,56 %, África/Asia Oriental con 3,99 % y América Central y del Sur con 1,86 %. En el contexto sectorial, la encuesta ISO muestra que si bien no todos los organismos certificadores suministran esta información, la industria de la construcción continúa liderando con 51.188 certificados, seguida por los productos metálicos básicos y productos metálicos fabricados con 41.455, los equipos eléctricos y ópticos con 38.782, maquinarias y equipos con 27.705, el comercio mayorista y minorista, las reparaciones de vehículos, ciclomotores y bienes personales y domésticos con 23.751 certificados [1]. A nivel país, los primeros 10 países en términos de crecimiento de la certificación ISO 9001:2000 en 2003 incluyen: China (55.718) certificados nuevos, Italia (49.387), el Reino 24

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Luz Esperanza Bohórquez Arévalo

Unido (36.164), los EE.UU (25.707), España (22.964), Japón (21.938), Australia (12.951), Alemania (12.787), Corea del Sur (9.904) y Francia (8.544). Tendencia que se sostiene según datos de la ISO al año 2009 [6]. Los resultados referentes al número de certificados por país llaman la atención al compararlos con la posición obtenida por éstos en el Índice Global de Competitividad emitido por el IMD en el año 2006, en donde Estados Unidos se encuentra en el primer lugar, Australia en el puesto 6o, Japón en el 17o, China en el 19o y Reino Unido en el 21o (Tabla No. 2). Posiciones favorables si se tiene en cuenta que el IMD considera para el estudio 59 países industrializados y emergentes. Tabla II. Países con mayor número de certificados ISO 9001 en el mundo y posición competitiva según el IMD [1, 7]

China Italia Japón España Reino Unido Estados Unidos Alemania India Francia Australia

No. certificados ISO 9001 2003 143.823 98.028 53.771 47.445 45.612 44.270 39.816 26.660 24.441 16.922

Posición competitiva (IMD) 2003 2006 29 19 41 56 25 17 27 36 19 21 1 1 20 26 50 29 23 35 7 6

El crecimiento experimentado en los últimos años por las certificaciones ISO 90001:2000 es atribuible a los beneficios determinados por el Comité Técnico (TC) 176 de la ISO, en el documento No. 595 Quality Management Principles [8], que menciona entre otros el incremento de los ingresos, las mejoras en la eficacia de los procesos, el incremento en la satisfacción del personal que labora en la organización, el fortalecimiento de la ventaja competitiva la reducción de costos, el aumento en la productividad, y la mejora en las relaciones con los proveedores. Es de resaltar, que la búsqueda de tales beneficios surge como respuesta a estímulos del mercado, del gobierno, del sector financiero, entre otros. Así, por ejemplo, el mercado lleva a que las empresas busquen la certificación como medio para mejorar la imagen a través de la satisfacción de los clientes, aspecto que redunda en la fidelización de los mismos, el aumento en la participación de mercado, así como el incremento de las exportaciones. Por su parte ante los estímulos del gobierno, las empresas buscan la certificación a fin de aprovechar las oportunidades que diferentes entidades del estado ofrecen para acceder a programas de formación, consultoría y principalmente financiación para el desarrollo de procesos de mejoramiento de la calidad. De igual manera, la certificación surge, en algunas oportunidades, dada la reglamentación exigida a la empresa para producir, comercializar o prestar determinados productos y/o servicios.

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

25


Estudio del impacto de la certificación ISO 9001:2000 en la competitividad-país

De otro lado, el sector financiero estimula la búsqueda de certificación al exigirla como uno de los requisitos para acceder a determinados productos de financiación. Es decir, los motivos que llevan a que una organización se certifique son diversos, aunque todos se orientan a la búsqueda de beneficios de impacto en la competitividad. Lo anterior conduce a plantear la pregunta de si son, realmente, las certificaciones ISO 9001:2000 un elemento generador de competitividad.

2.1. Competitividad país. La competitividad país se puede entender como “el grado en que una nación en condiciones de mercado libre y justo produce bienes y servicios que satisfacen la prueba de los mercados internacionales en tanto que, simultáneamente, mantiene y expande el ingreso real de los ciudadanos” [9]. Con este objetivo, las naciones tienen la necesidad de proporcionar un entorno que propenda por estructuras eficientes e instituciones y políticas que alienten la competitividad de las empresas [10] Actualmente, existen dos estudios destacados a escala mundial que analizan y cuantifican los factores que determinan la competitividad de las naciones: el Global Competitiveness Report [11] y el World Competitiveness Yearbook [12]. El primero lo realiza el World Economic Forum (WEF), el segundo el International Institute for Management Development (IMD), ambos con sede en Suiza. Desde 1989 hasta 1995 ambos institutos habían publicado su informe en cooperación, pero desde 1996 han estado publicando dos informes anuales por separado. Tanto el WEF como el IMD publican sus estudios cada año y utilizan información procedente de datos estadísticos y de datos obtenidos de la Encuesta de Opinión Ejecutiva enviada a nivel mundial a fin de obtener sus conceptos acerca de la competitividad actual y futura de un país. Asimismo, cada uno de estos estudios se sustenta en una definición de competitividad basada en el mediano y largo plazo. El WEF, define la competitividad país como “la capacidad de alcanzar un rápido crecimiento económico sostenible”, por otro lado, mientras que el IMD, define la competitividad país como “la capacidad del entorno de una nación para mantener la creación de valor añadido y, por consiguiente, la competitividad de sus empresas” [13]. Los informes de competitividad generados por el IMD y el WEF ofrecen la información necesaria para analizar las debilidades y fortalezas de las naciones incluidas en estos. También los informes entrañan gran cantidad de oportunidades para identificar áreas de expansión y diversificación de la base productiva de los países [14]. Teniendo en cuenta que tanto el IMD como el WEF, si bien utilizan metodologías diferentes, arrojan resultados similares, la presente investigación se soportó en los factores de competitividad, considerados por el IMD, el cual clasifica sus datos en cuatro factores de entrada: • Desarrollo Económico: considera los datos de la evaluación macroeconómica de la economía nacional. • Eficiencia Gubernamental: grado en que las políticas de gobierno favorecen la 26

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Luz Esperanza Bohórquez Arévalo

competitividad de las empresas y del país. • Eficiencia de los Negocios: resultados alcanzados por el sector empresarial del país. • Infraestructura: la medida en que la base tecnológica y científica satisface las necesidades de las empresas y las personas. Cada uno de los 4 factores, se subdivide a su vez en 20 subfactores y 286 criterios, resumidos en la Tabla No. 3. Tabla III. Factores y subfactores para medición de competitividad país según IMD ACTUACIÓN ECONÓMICA 68 CRITERIOS Economía doméstica Comercio Internacional Inversión Internacional Empleo Precios

EFICIENCIA DEL GOBIERNO 84 CRITERIOS Finanzas publicas Política Fiscal Modelo Institucional Modelo Empresarial Educación

EFICIENCIA DE NEGOCIOS 60 CRITERIOS Productividad Mercado Laboral Mercado Financiero Practicas de gestión Impacto de la globalización

INFRAESTRUCTURA 74 CRITERIOS Infraestructura básica Infraestructura tecnológica Infraestructura científica Salud y medio ambiente Sistemas de valores

2.2. Calidad y competitividad La adopción de herramientas para la mejora de la calidad en diferentes sectores ha sido ampliamente estudiada, en la mayor parte de los casos se han utilizado metodologías cualitativas de investigación. Dentro de los estudios realizados se encuentran los trabajos de Adams y Dale [15]. en empresas manufactureras, Cleary [16] en el sector educativo, Jackson [17] en el sector sanitario e incluso en su aplicación a situaciones cotidianas, como el realizado por Bamford y Greatbanks citados por Heras, et al [18]. El análisis realizado en dichas investigaciones permite concluir que a pesar de los resultados exitosos que algunas empresas han tenido con la implementación de modelos de gestión de la calidad, estos no pueden generalizarse. En el trabajo realizado por Honnaker P. et al [19] se hace alusión a un estudio adelantado por McIntyre & Kirscheman (2000) en 1500 empresas del sector de la construcción, en las cuales encontraron impactos positivos en la situación financiera de aquellas empresas que implementaban la estrategia de certificación de la calidad. De igual manera, estos autores citan los estudios realizados por Torbica y Stroh (1999) quienes resaltan el impacto en la satisfacción del cliente, y los trabajos de Liu (2003) en los que identificaron que las empresas certificadas presentaban menor cantidad de defectos en los proyectos de construcción que las empresas sin certificación. Ahmed y Hassan (2003)1, citados por Heras, Marimon, & Casadesús [18], concluyen de manera general que las empresas que adoptan herramientas de gestión de la calidad obtienen usualmente mejores resultados que las que no lo hacen, aunque si bien en estos trabajos no se logra relacionar el desempeño con la implementación efectiva de las herramientas para la gestión de la calidad. De igual manera en el trabajo desarrollados por Nava Caballido & Rivas Tobar [20], en empresas mexicanas se demuestra como el desempeño de las empresas certificadas es superior al de las no certificadas con la norma ISO 9001:2000 en aspectos tales como costos, ventas y satisfacción del cliente. 1

Esta investigación fue de carácter empírico y en ella se analizó la aplicación y los resultados generados por la implementación de herramientas de gestión de la calidad en 63 pymes.

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

27


Estudio del impacto de la certificación ISO 9001:2000 en la competitividad-país

En contraposición se encuentra los trabajos realizados por Lambert, G., & Ouedraogo, N. [21] en un grupo de empresas francesas en las cuales se implementó el ISO 9001:2000: en esta investigación se resaltan críticas al modelo, argumentando su falta de orientación al aprendizaje. De igual manera se manifiesta que posterior a la implementación un alto porcentaje de empresas abandonaron el modelo por considerarlo rígido, inflexible y burocrático. En la misma línea se sitúa el trabajo realizado por Kaziliûnas [22] en donde se citan los resultados de las investigaciones de autores tales como Dimara, et al (2004) quien luego de observar el comportamiento financiero durante 6 años de un grupo de empresas certificadas con la norma ISO 9001, encontró que no habían grandes diferencias con respecto a empresas no certificadas. Resultados similares fueron obtenidos en la investigación realizada por Bonilla García [23], quien encontró que no existen diferencias en lo referente a la gestión de los recursos humanos entre empresas certificadas y no certificadas con el modelo ISO 9001:2000, planteando la necesidad de modelos menos genéricos. De igual manera Kaziliûnas, [22] cita los trabajos de Kasadeus & Karapetrovic, (2005) quienes afirman que la implementación del SGC, demanda altos costos, tiempo, recursos y en general esfuerzos que no compensan los resultados obtenidos. Como se puede observar los estudios frente al impacto que la gestión de la calidad genera en la organización son diversos, sin embargo el análisis de si dichas metodologías han impactado en la competitividad de las organizaciones no ha sido tan prolijo [18]. De igual manera los estudios empiricos acerca del impacto externo de la gestión de la calidad son relativamente recientes [3]. De hecho investigaciones acerca del impacto de la gestión de la calidad en la competitividad pais, son realmente escasos, aunque se esperaría que si el desempeño de las organizaciones mejora, esto redundaría en mejores resultados en el factor de competitividad y eficiencia de los negocios, medido por el IMD [18], la cual es la premisa central del presente trabajo.

3. Metodología Como se mencionó inicialmente el propósito del presente trabajo es identificar cual es el nivel de correlación que se presenta entre el número de empresas certificadas por país con la norma ISO 9001:2000 y los resultados por factor de competitividad medidos por el IMD obtenido por 51 países en la serie de tiempo 2001-2005. La metodología consideró los siguientes pasos: • Identificar las posiciones de competitividad según el IMD, de los diferentes países, desde el año 2001, hasta el año 2005. Aspecto desarrollado a nivel general, y para cada uno de los factores, subfactores y criterios evaluados por el IMD. Los factores de competitividad del IMD se encuentran agrupados en cuatro categorias: a) desarrollo Económico: considera los datos de la evaluación macroeconómica de la economía nacional, b) eficiencia Gubernamental: grado en que las políticas de gobierno favorecen la competitividad de las empresas y del país, c) eficiencia de los Negocios: resultados alcanzados por el sector empresarial del país, d) infraestructura: la medida en que la base tecnológica y científica satisface las necesidades de las empresas y las personas (Tabla No.3).

28

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Luz Esperanza Bohórquez Arévalo

• Identificar el número de empresas certificadas con la norma ISO 9001:2000 en los 59 países evaluados por el IMD, desde el año 2001, hasta el año 2005. • Identificar el PIB de los diferentes países del mundo, desde el año 2001 hasta el año 2005. • Calcular la variable de control para cada uno de los países, durante la serie de tiempo 2001 a 2005. La cual corresponde al número de empresas certificadas sobre el PIB: Variable control =

No. certificados pais ____________ PIB

(1)

La variable de control es aplicada a fin de buscar homogeneidad en la muestra por cuanto cada país posee un número diferente de empresas y por ende el potencial de certificaciones ISO 9001 cambia para cada nación. Adicionalmente, y acorde con investigaciones previas el producto interno bruto (PIB) es la variable macroeconómica que presenta el mayor coeficiente de correlación con el número de empresas certificadas por país [24]. Es decir a mayor número de empresas certificadas en un país mayor es el PIB obtenido por este. De esta manera, la variable de control presentará un valor cercano a 1 en la medida en que aumente el número de empresas certificadas o aumente el PIB, siendo este último aspecto abordado en investigaciones previas [24], [30]. • Calcular la relación entre la variable de control y la posición competitiva de cada país publicada por el IMD durante la serie de tiempo 2001-2005. Para tal fin, se utilizó la correlación de Pearson, calculado mediante SPSS, dado que esta permite determinar si existe relación lineal entre dos variables aleatorias cuantitativas [25]. Lo anterior a fin de validar la primera hipótesis del estudio en la cual se plantea que el número de certificaciones ISO 9000 presenta correlación positiva con la posición competitiva-país. • De igual manera, se determinó el nivel de relación entre el número de certificaciones ISO 9001 con las posiciones obtenidas por los diferentes países para cada cada uno de los factores, subfactores y criterios aplicados por el IMD (Tabla No.3). Lo anterior, a fin de validar la hipótesis No. 2 del estudio, en la cual se plantea que el número de certificados ISO 9001 presenta el mayor índice de correlación con el factor eficiencia de los negocios dado el impacto de los SGC en la productividad.

4. Resultados Los resultados muestran que existe un coeficiente de correlación de Pearson de 0,32 entre la variable de control y la posición país en el índice de competitividad generado por el IMD. Resultado que surge al promediar el coeficiente de correlación obtenido por los diferentes países durante la serie de tiempo 2001-2005. Es de resaltar, que el resultado obtenido indica que el nivel de asociación que existe entre el número de empresas certificadas por país con la norma ISO 9001:2000 y la posición competitiva de los mismos, es positiva, confirmándose de esta manera la hipótesis No.1. Sin embargo, si bien el resultado muestra que existe relación entre las certificaciones ISO 9001 y la posición competitiva, esta no es fuerte. De los resultados obtenidos (Tabla No. 4), el 25% de los países estudiados presentó correlación negativa, encontrándose dentro de estos, países como Australia, Canadá, Chile, Dinamarca, Hong Kong, India, Islandia, Japón, Jordania, Malasia, Noruega, NueINGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

29


Estudio del impacto de la certificación ISO 9001:2000 en la competitividad-país

va Zelanda, Singapur. Resultados que llaman la atención por cuanto como se mencionó en la primera parte del documento países como Japón y Australia se caracterizan por la gran cantidad de empresas certificadas así como por ocupar posiciones favorables en el ranking de competitividad publicado por el IMD (Tabla No. 2). Tabla IV. Coeficiente de correlación de Pearson entre la variable de control y la posición competitiva del país, durante la serie de tiempo 2001-2005 País Alemania Grecia Sudáfrica Venezuela Portugal Indonesia México Rumania Italia Irlanda Polonia Brasil Eslovenia Argentina Filipinas Inglaterra España Estonia Rep. Checa Holanda Bélgica Hungría Rusia Israel

Correlación de Pearson 0,99 0,97 0,96 0,94 0,93 0,92 0,92 0,91 0,91 0,90 0,89 0,87 0,87 0,86 0,84 0,79 0,74 0,74 0,74 0,73 0,71 0,70 0,69 0,66

País

Correlación de Pearson Korea 0,65 Francia 0,58 Suiza 0,50 Luxemburgo 0,46 Colombia 0,21 China 0,19 Turquía 0,19 Finlandia 0,12 Austria 0,05 Rep. Eslovaca 0,02 Hong Kong -0,21 Singapur -0,26 India -0,26 Malasia -0,35 Chile -0,37 Japón -0,39 Jordania -0,44 Noruega -0,44 Nueva Zelandia -0,67 Australia -0,76 Canadá -0,82 Islandia -0,84 Dinamarca -0,88 Thailandia -0,98

Adicionalmente, el 75% de los países estudiados presentaron correlación positiva encontrándose que de estos el 62% presenta un coeficiente de correlación fuerte, tal como es el caso de Alemania (0,98), Grecia (0,97), Indonesia (0,92), Portugal (0,93), México (0,92), Inglaterra (0,79), Irlanda (0,90), Polonia (0,89), entre otros, países que para efectos del presente análisis se han denominado de primer grupo. El 38% de países restantes presenta correlación positiva débil, tal como es el caso de China (0,19), Colombia (0,20), Austria (0,05), República Checa (0,02), Luxemburgo (0,45), países que para el análisis de han denominado de segundo grupo. De lo anterior, se podría considerar que los países en los cuales se presenta correlación positiva son aquellos en donde los sistemas de gestión son implementados no necesariamente por la certificación, si no, por realmente obtener la mejora continua de sus procesos organizacionales. Lo anterior, por cuanto en el primer grupo, se encuentran países principalmente desarrollados en los cuales la certificación ISO 9001:2000 es una necesidad natural de las organizaciones, mientras que en los países del segundo grupo como es el caso de Colombia, la certificación ISO 9001:2000 aun es vista como el fin, mas no como el medio para promover la mejora de los procesos, llegando a considerase en algunos espacios como moda empresarial pasajera [26].

30

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Luz Esperanza Bohórquez Arévalo

0,60 0,50 0,40 0,30 0,20 0,10 -

Factor Desarrollo Económico

Factor Eficiencia del Gobierno

Factor Eficiencia de Negocios

Factor Infraestructura

Figura No. 2. Resultados nivel de correlación entre los factores de competitividad del IMD (Tabla No.3) y el número de empresas certificadas por país

Respecto a la comprobación de la segunda hipótesis de la presente investigación, en la cual se plantea que el factor de competitividad de mayor nivel de correlación con el número de empresas certificadas es eficiencia en los negocios, los resultados indicaron que no lo es. De esta forma como se puede observar en el Figura No. 2, el factor con el cual se presentó mayor índice de correlación es Infraestructura (0,50), seguido de eficiencia del factor gobierno (0,30), y en tercer lugar se encuentra el factor eficiencia en los negocios (0,28). Así, el factor que presenta mayor índice de correlación es infraestructura, el cual representa la medida en que la base tecnológica y científica de un país satisface las necesidades de las empresas y las personas, por lo cual los anteriores resultados podrían llevar a pensar que el impacto de la certificación ISO 9001:2000 en la competitividad país está dado por la fortaleza global que adquiere el sector empresarial al mejorar de manera conjunta sus procesos organizacionales, creando con esto las condiciones necesarias para el fortalecimiento científico y tecnológico de un país, es decir la relación de las certificaciones ISO 9001:2000 en la competitividad país depende de los efectos positivos que estas generen en el sector empresarial, y no en cada unidad independiente. El segundo factor que presentó mayor índice correlación con el número de empresas certificadas fue eficiencia del gobierno, permitiendo establecer que las certificaciones en gestión de la calidad ISO 9001:2000 pueden mejorar la competitividad en la medida en que el Estado cree marcos legales que exijan o promuevan en las empresas la certificación del sistema de gestión de la calidad. Aspecto que evidentemente llegará a impactar en la relación de estas entidades con sus proveedores generando de esta forma una cadena de mejora continua. Los resultados obtenidos del índice de correlación entre el número de certificaciones y el factor eficiencia en los negocios, indican que la segunda hipótesis formulada en el presente trabajo es falsa. Dado que si bien existe correlación positiva (0,28), esta se encuentra debajo de la obtenida con el factor infraestructura (0,50).

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

31


Estudio del impacto de la certificación ISO 9001:2000 en la competitividad-país

0,25

0,20

0,15

0,10

0,05

Productividad

Mercado Laboral

Finanzas

Prácticas de Gestión

Actitudes y Valores

Figura No. 3. Subfactores del factor eficiencia de los negocios (Tabla No.3) que presentan mayor relación con el número de empresas certificadas

Por otro lado, al analizar los subfactores que comprenden el factor eficiencia de los negocios (Figura No. 3), se encuentra el mayor índice de correlación con el subfactor productividad (0,21), seguido de finanzas (0,15), tal como se muestra en la Figura No. 3, aspecto que se puede dar por cuanto los sistemas de gestión de la calidad pueden contribuir a disminuir costos o a incrementar los ingresos [27]. Sin embargo es de resaltar, que en el 68% de los países estudiados se presenta correlación negativa entre la variable de control y la productividad. Lo cual implica que la afirmación realizada por autores como Deming [28], Feigenbaum [29], Honnaker P. et al [19], Nava Caballido & Rivas Tobar [20], entre otros, no es posible generalizarla y puede depender para su logro de otros criterios y enfoques que complementan a los sistemas de gestión de la calidad o incluso que no se encuentran relacionados con estos. Es decir, si bien la implementación y certificación del SGC puede impactar la productividad esto no ocurre en todos los casos, lo cual concuerda con los hallazgos presentados en el trabajo de Lambert & Ouedrago [21]. Adicionalmente, en el estudio se muestra que tan solo el 39% de los países analizados presenta correlación positiva tanto en productividad como en el factor finanzas, y un 33% de los países analizados presentaron correlación positiva en uno de los dos factores. Tal es el caso de Colombia, en el cual se encontró que la relación más fuerte de la certificación del sistema de gestión de la calidad está dada con la productividad (0,37), mientras que en las finanzas presentó un resultado negativo del (-0,12). Lo anterior permite evidenciar que las certificaciones ISO: 9001 no necesariamente impactan en el desempeño financiero de las empresas y por el contrario, tal como lo afirman autores como Kaziliûnas, [22] estos demandan altos costos, tiempo y esfuerzo que no compensan los resultados obtenidos.

5. Implicaciones de los resultados obtenidos Los resultados de la presente investigación, permiten evidenciar que el principal aporte de las certificaciones ISO 9001, no se encuentra en la productividad de las organizaciones. De hecho de los cuatro factores de competitividad del IMD estudiados es el tercero en importancia. Siendo el factor de mayor relevancia el correspondiente a infraestructura 32

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Luz Esperanza Bohórquez Arévalo

sectorial lo cual permite denotar que el verdadero impacto de la certificación se logra cuando un alto porcentaje de las empresas de un sector la alcanzan. En este sentido se llama la atención a los organismos certificadores, firmas consultoras y directores de empresa, acerca de la responsabilidad que representa para la competitividad de un país, que la implementación del sistema de gestión de la calidad se enfoque en la mejora continua y no en la simple obtención de un certificado. Lo anterior soportado en el hecho de que en los países donde se presentaron los índices de correlación más altos entre la variable de control y la posición competitiva se caracterizan por un alto nivel de desarrollo, donde la mejora continua es parte de la cultura empresarial. Por otro lado, el nivel de correlación que se presenta entre la variable de control y el factor eficiencia del gobierno considerado por el IMD, permite evidenciar la importancia de las decisiones que en materia de gestión empresarial toma el Estado para la competitividad país. Llevando a formular nuevas preguntas de investigación tales como la evaluación del impacto, en el caso colombiano, de la Ley 872 del 2003, o de la acreditación de los programas e instituciones de educación superior, en la eficiencia de las organizaciones y por ende en la competitividad país. De igual manera es importante considerar que dadas las implicaciones que los resultados encontrados en la presente investigación tienen para el sector empresarial en su conjunto, es conveniente la aplicación de herramientas complementarias que permitan robustecer el análisis, tales como el análisis envolvente de datos (DEA), con el cual se mide el nivel de eficiencia de las diferentes variables estudiadas.

6. Conclusión El principal aporte de la certificación de los sistemas de gestión ISO 9001 a la competitividad país es el fortalecimiento de la infraestructura sectorial, por cuanto se promueven las condiciones para el desarrollo científico y tecnológico de una nación. Lo anterior, permite inferir que la certificación ISO 9001 no es una fuente de ventaja competitiva para la organización y por ende no se debe esperar diferenciación a partir de esta. La certificación ISO 9001 es una necesidad para competir sectorialmente.

7. Referencias [1] Organización Internacional de Estándares. (2008). The ISO Survey of ISO 9001:2000 and ISO 14001 Certificates. Ginebra Suiza: ISO. [2] International Organization for Standardization, ISO. (2001). Quality management principles. Consultado: http://www.iso.org/iso/ iso_catalogue/management_and_leadership_standards/quality_management/qmp.htm. (2 de Noviembre, 2009). [3] Santos Vijande, M. L., & Álvarez González, L. I. (2009). TQM’s contribution to marketing implementation and firm’s competitiveness. Total Quality Management & Business Excellence, 20 (2). 171-196. [4] Porter, M. (1996). ¿Que es la estrategia? Harvard Business Review, 3. [5] Adams, A., & Dale, B. (2001). The use of quality management tools and techniques: a study in plastic injection moulding manufacture. Proceedings of the institution of mechanical engineers part b-journal of engineering manufacture, 215 (6). 847-855. [6] International Organization for Standardization, ISO. (2009). The ISO Survey of ISO 9001:2000 and ISO 14001 Certificates. Ginebra - Suiza: ISO. [7] IMD. (2006). IMD World Competitiveneness Yearbook 2005. Consultado: http://formedia.pt/downloads/imd/PressRelease.pdf. (2 de Noviembre, 2009).

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

33


Estudio del impacto de la certificación ISO 9001:2000 en la competitividad-país

[8] International Organization for Standardization, ISO. (2001). Quality management principles. Consultado: http://www.iso.org/iso/ iso_catalogue/management_and_leadership_standards/quality_management/qmp.htm. (23 de abril, 2009). [9] Porter, M. (1991). La ventaja competitiva de las naciones. Barcelona: MacGraw Hill. [10] Linard, M. (2005). Informe Anual de la Competitividad Mundial. Metodología y principios de análisis. Washington: Banco Interamericano de Desarrollo. [11] World Economic Forum, WEF. (2009). Consultado: http://www.weforum.org/. (5 de julio, 2009). [12] IMD. (2009). IMD- Real world. Real Learning. Consultado: http://www.imd.org/. (5 de julio, 2009). [13] ITAM. (n.d.). El Concepto de Competitividad Sistémica. [14] Linard, M. (2005). Informe Anual de la Competitividad Mundial. Metodología y principios de análisis. Washington: Banco Interamericano de Desarrollo. [15] Adams, A., & Dale, B. (2001). The use of quality management tools and techniques: a study in plastic injection moulding manufacture. Proceedings of the institution of mechanical engineers part b-journal of engineering manufacture, 215 (6). 847-855. [16] Cleary, B. (1997). Promoting the use of quality management tools in the classroom. Quality Progress, 30 (5), 8. [17] Jackson, S. (2001). Successfully implementing total quality management tools within healthcare: what are the key actions? International Journal of Health Care Quality Assurance, 14 (4). 157-163. [18] Heras, I., Marimon, F., & Casadesús, M. (2009). Impacto competitivo de las herramientas para la gestión de la calidad. Cuadernos de Economía y Dirección de la Empresa (CEDE) (4). 417-435. [19] Hoonakker, P., Carayon, P., & Loushine, T. (2010). Barriers and benefits of quality management in the construction industry: An empirical study. Total Quality Management & Business Excellence, 21 (9). 953-969. [20] Nava Caballido, V. M., & Rivas Tobar, L. A. (2008). Desempeño de las organizaciones certificadas en la norma ISO 9001:2000. Estudios gerenciales, 24 (108). 107-128. [21] Lambert, G., & Ouedraogo, N. (2008). Empirical investigation of ISO 9001 quality management systems’ impact on organisational learning and process performances. Quality Management & Business Excellence, 19 (10). 1071-1085 [22] Kaziliunas, A. (2010). Impacts of different factors on the implementation of quality management systems and performance outcomes. Current Issues of Business & Law. 575-592. [23] Bonilla Garcia, J. (2009). La Calidad de los sistemas de gestión de recursos humanos en función de la tenencia o no de la certificación ISO 9001:2000. Algunas evidencias, indicadores asociados. Estudios Gerenciales, 26 (115). 39-64. [24] Jimenez, A. (2007). Descripción y análisis de la relación entre los indicadores macroecnómicos y el número de compañías con certificación ISO 9001:2000, en los países miembros de la ALADI. Universidad Catolica de Colombia. Bogotá: Universidad Catolica de Colombia. [25] Walpole, R., & Myers, R. (2004). Probabilidad y estadística (Cuarta ed.). México: McGraw Hill. [26]. Marimon, F., Heras, I., & Casadesús, M. (2004). La difusión internacional de las normas ISO 9000 e ISO 14000. XIV Congreso Nacional ACEDE. Murcia: Universidad Internacional de Catalunya. [27] Bohorquez Arevalo, L. E., Lozano Montaña, A., y Forero, J. (2008). Impacto de la calidad en la rentabilidad. Revista de Ingenieria, Vol. 1. Universidad Distrital Francisco José de Caldas. 49-64. [28] Deming, E. (1989). Calidad, productividad y competitividad - La salida de la crisis. Madrid: Ediciones Diaz de Santos. [29] Feigenbaum, A. (1977). Control Total de la Calidad: Ingenieria y Admiistración. Mexico: CECSA. [30] Sarmiento, X. (2007). Evaluar el Impacto del numero de empresas certificadas con ISO 9001:2000 en la competitividad país según el IMD. Bogotá: Universidad Católica de Colombia.

Luz Esperanza Bohórquez Arévalo Estudiante del Doctorado en Ciencias de la Dirección de la Universidad del Rosario. Magister en Administración de Empresas, con especialización en Pensamiento Estratégico y Prospectiva, al igual que en Ingeniería de la Calidad y el Comportamiento. Se ha desempeñado como consultora en procesos de diseño e implementación de sistemas de gestión. Actualmente se desempeña como docente de planta de la Universidad Distrital Francisco José de Caldas.

34

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Citación: Vargas, J.R. (2010). Herramienta de software para el desarrollo de descripciones de hardware utilizando VHDL a partir de modelos gráficos. En: Ingeniería, Vol. 15, No. 1, pág. 35-46.

Herramienta de software para el desarrollo de descripciones de hardware utilizando VHDL a partir de modelos gráficos A software tool for the development of graphic-model-based hardware descriptions using VHDL José Roberto Vargas Rivero Universidad Distrital Francisco José de Caldas Facultad de Ingeniería jrvargasr@correo.udistrital.edu.co

Resumen Con el objetivo de agilizar y facilitar el proceso de diseño de hardware se han realizado investigaciones relacionadas con la generación automática de descripciones VHDL a partir de modelos gráficos. En este documento se describe una herramienta de software que permite obtener la descripción VHDL a partir de un diagrama ASM o de un diagrama de componentes. Esta herramienta tiene la característica de que pueden reutilizarse descripciones ya creadas como nuevos componentes y la información contenida en diagramas ASM como parte de nuevos diagramas ASM. La herramienta es utilizada para generar la descripción VHDL de 15 circuitos comunes a partir de sus diagramas de componentes y ASMs, obteniéndose en un 53% de los casos descripciones equivalentes y en el resto de casos aproximadas. Palabras clave: VHDL, ASM, componentes, herramienta, XML, jerarquía.

Abstract With the purpose of making the process of hardware design quicker and easier, a number of investigations have been conducted concerning the automatic generation of VHDL descriptions based on graphic models. In this document, a software tool that generates VHDL descriptions based on either ASM diagrams or components diagrams will be presented. The characteristics of this tool allow a VHDL description already created to be reused like a new component. Additionally, the information contained in an ASM diagram can be reused as part of new ASM diagrams. The tool is used to generate the VHDL description of 15 well-known circuits from both their component diagrams and their ASM diagrams, obtaining an equivalent description in 53% of the cases and approximate descriptions in the remaining cases. Key words: VHDL, ASM, components, tool, XML, hierarchy. INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

35


Herramienta de software para el desarrollo de descripciones de hardware utilizando VHDL a partir de modelos gráficos

1. Introducción A medida que el tamaño de los transistores disminuye más funcionalidad puede ser incluida en un dispositivo como una FPGA (Field Programmable Gate Array) y el sistema digital a desarrollar puede crecer en tamaño y complejidad; se utilizan dos técnicas para tratar con esta complejidad [1], [2]: • Considerar niveles de jerarquía. • Aumentar el nivel de abstracción del lenguaje en el cual el sistema puede ser desarrollado, hacia lenguajes gráficos. Teniendo como objetivo implementar estas características se han desarrollado herramientas libres [2],[3],[4],[5],[6] que permiten la construcción de modelos gráficos de diagramas FSM (Finite State Machine) [3] y recientemente de diagramas de estado UML (Unified Modeling Language) [2], a partir de los cuales puede obtenerse de forma automática la descripción VHDL (Very-high-speed integrated circuits Hardware Description Language) correspondiente. Sin embargo los diagramas ASM (Algorithmic State Machine) son más descriptivos que los FSM y se adaptan mejor a diseños más complejos debido a su estructura similar a un diagrama de flujo [4], además de ser una representación alternativa mucho más común que los diagramas UML para los diseñadores de hardware [1],[7]. Por otra parte los diagramas mencionados permiten hacer descripciones funcionales [1] y no se cuenta con elementos para desarrollar descripciones estructurales. Por último no se cuenta con una herramienta libre que permita desarrollar diseños gráficos jerárquicos utilizando diagramas ASM y componentes en conjunto. Con base en lo anterior se plantea el desarrollo de una herramienta de software que permita a partir de modelos gráficos simples de diagramas ASM y componentes extraer código VHDL sintetizable con la característica que estos modelos puedan organizarse de forma jerárquica.

2. Referentes Ogubi y David [4] muestran las ventajas en tiempo de diseño y tamaño del circuito al emplear un lenguaje de nivel intermedio, entre aquellos de alto nivel como Java o C y los de descripción de hardware como VHDL, inspirado en la estructura de los ASM, que resulte más familiar a los programadores de software que los HDLs (Hardware Description Language) y a la vez permita un manejo de las temporizaciones más preciso que otras herramientas existentes como Handel-C y HardwareC, y que adicionalmente pueda ser sintetizado en alto nivel. Para este lenguaje intermedio se desarrolla un compilador. Como se evidenciará en este artículo la representación de ASM en texto facilita que desarrolladores de software implementen circuitos sin un conocimiento profundo de diseño hardware, reduciendo el tiempo de diseño. En [8] se desarrolla una investigación sobre la optimización de descripciones VHDL a nivel funcional. Para lograrlo se interpretan las estructuras implícitas en una descripción VHDL. Dentro de esta investigación se desarrolló una herramienta de software. Uno de los elementos que conforman este software reconoce las palabras clave presentes en una descripción VHDL. A partir de estas palabras se crea una estructura jerárquica de obje36

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Jose Roberto Vargas Rivero

tos en la cual se almacena cada tipo de elemento existente. De la declaración de entidad se extraen los puertos de entrada y salida mientras que de la arquitectura se extraen los elementos definidos por las palabras clave: case, component, if, else, elseif, null, portmap, process y when. A partir de las palabras clave y los elementos contiguos se generan objetos Java. Con relación a herramientas con interfaz gráfica, en [9] se presenta una herramienta capaz de obtener el código VHDL funcional de una representación FSM gráfica. La metodología que los autores manejan es partir de una herramienta de edición gráfica ya existente llamada Graphviz que les permite a los usuarios de forma interactiva explorar grandes espacios de estados y diagramar gráficas de estado transición (STG) del diseño requerido. La salida de este programa es un archivo en lenguaje (dot) el cual es una representación textual de la máquina FSM. La herramienta convierte el archivo dot a formato estándar kiss2 usado para representar FSMs. Este archivo kiss2 se utiliza por otro módulo de la herramienta para directamente generar código VHDL. En [5] se presenta una aproximación al proceso inverso que es la extracción de un modelo gráfico, es decir un STG a partir del código HDL, antecediéndolo un proceso de optimización de los FSM obtenidos, teniendo como única limitante sobre el código HDL que este sea sintetizable. Con relación a los modelos gráficos a utilizar, en [6] se propone un estándar gráfico para la representación de VHDL estructural, dejando abierto a los vendedores de herramientas de software la representación gráfica funcional, de forma similar a como se realizó con lenguajes de descripción formales como SDL y MSC. Más recientemente, en [2] se describe un proceso y una herramienta de software para pasar de los diagramas de estado de UML a código VHDL automáticamente. Los elementos que los autores contemplan en tal proceso son los siguientes: 1. Editor de diagrama de estado: Provee las herramientas necesarias para permitir que el usuario ingrese especificaciones de diagramas de estado de forma cómoda, los autores comentan que para esta etapa hay dos alternativas, la primera utilizar una herramienta ya creada y emplear un formato de intercambio o construir una nueva herramienta. 2. Metamodelo de diagrama de estado y metamodelo de VHDL: En esta etapa se indica que el metamodelo de diagrama de estado para UML está definido de manera estándar, pero en el caso de VHDL los autores lo definen. 3. Transformación de modelo de diagrama de estado a modelo VHDL: En esta etapa se aplican un conjunto de reglas para la transformación de cada uno de los elementos del metamodelo de diagrama de estado al de VHDL. 4. Obtención del código VHDL: La etapa final del proceso consiste en pasar del modelo VHDL obtenido a texto utilizando nuevamente un conjunto de reglas.

3. Desarrollo El proceso de obtención de la descripción VHDL es abordado utilizando como interfaz gráfica la herramienta Draw de OpenOffice.org [10] que tiene como característica geneINGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

37


Herramienta de software para el desarrollo de descripciones de hardware utilizando VHDL a partir de modelos gráficos

rar un archivo estándar compuesto por un conjunto de documentos XML, los cuales almacenan la información sobre la estructura y contenido de los modelos gráficos. Examinando el código XML de estos archivos, se puede extraer la información necesaria para la reconstrucción de la descripción VHDL. Esta información debe organizarse y los elementos de sintaxis necesarios deben agregarse. Por otra parte, la posibilidad de hacer uso de niveles de jerarquía en modelos gráficos de ASM y componentes, se logra mediante la definición de elementos que permiten la inclusión de un diagrama ya elaborado, dentro de otro. Por último, mediante un software desarrollado en el lenguaje de programación Java se aplican los métodos propuestos. Esta herramienta permite corroborar la metodología al utilizarla para generar descripciones VHDL a partir de varios modelos gráficos de diagramas ASMs y de componentes, en los cuales se utilizan niveles de jerarquía.

3.1 Elementos gráficos utilizados para la representación de diagramas ASM y de componentes A continuación se presentan algunos equivalentes entre el modelo gráfico convencional de los elementos que conforman un diagrama ASM y el modelo obtenido utilizando elementos gráficos provistos por la herramienta Draw de OpenOffice.org, que fue utilizada en esta propuesta. En relación con los diagramas ASM, se dispone de bloques de estado, condición, y condicionales (ver Figura 1). Adicionalmente ya que a partir de los modelos gráficos desarrollados con esta herramienta se debe obtener código VHDL sintetizable, es necesario que se definan elementos que no se Nombre del Código del encuentran en un diagrama ASM convenEstado Estado cional. Por ejemplo, se requiere que el 1 0 Asignación de variable usuario tenga la posibilidad de definir Condición y salida incondicionales cuales serán las entradas, salidas y señales (signals) que compondrán la declaración de entidad de la descripción VHDL, para este propósito se definió el bloque I/O. Nombre del estado Asignación de variable y salida incondicionales

1

SO A=“0001” D=´0´&B(7downto 0)

Nombre de estado condición

0

SO ¿A= ´0´? or ¿B=´1´? 1

0

Figura 1. Diagrama de un bloque de estado y condición, (arriba) modelo, (medio) estructura, (abajo) ejemplo

38

INGENIERÍA

A su vez para identificar los puntos en los cuales comienza y termina un diagrama ASM se definieron los bloques de RESET y de FIN. Una representación de la forma en que se conectarían estos bloques se presenta en la Figura 2, el bloque de FIN es opcional debido a que el último estado puede saltar a un estado anterior. Adicionalmente, dado que se requiere que el usuario pueda reutilizar estructuras para poder implementar niveles de jerar-

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Jose Roberto Vargas Rivero

quía se utiliza la palabra reservada HNAME, la cual en caso de incluirse al inicio del bloque I/O indica que el diagrama ASM será reutilizado como parte de un nuevo diagrama, en este caso los indicadores A y B se usan para marcar el inicio y fin de la estructura, como se ilustra en la Figura 3. La información que se extrae de un gráfico ASM para reutilización se guarda en un archivo de texto simple (.txt) en una serie de caracteres con sus elementos separados por viñetas y organizados por secciones que luego pueden ser leídas con facilidad, este tipo de elementos se llamarán elementos heredados. Un ejemplo se presenta en la Figura 4. Con relación a los diagramas de componentes se utilizan compuertas AND, OR y NOT dado que con estas se puede generar cualquier otra compuerta. Sin embargo dado que no es práctico elaborar circuitos complejos únicamente a partir de estas compuertas, se emplean los componentes VHDL los cuales son creados a partir de una descripción VHDL. Así por ejemplo a partir del archivo ‘xor_of.vhd’ que contiene la descripción funcional o estructural de una compuerta ‘xor’ se genera automáticamente un elemento gráfico que puede ser conectado a otros elementos permitiendo la creación de circuitos cada vez más complejos como se ilustra en la Figura 5. En ella puede observarse la estructura de un componente VHDL, este elemento esta constituido por un número (m) de entradas y un número (p) de salidas que dependerán de la declaración de entidad de la cual se genere. Y cuyo nombre sigue la estructura: ‘nombre del archivo sin extensión’ +’.’+un número único de componente 1,2,…n.

Bloque Reset

Bloque I/O

Conjunto de bloques

Bloque fin

Figura 2. Diagrama de conexión bloques adicionales

A

HNAME: hname BLOQUE I/O

Conjunto de bloques

B

Figura 3. Diagrama de conexión para reutilización ENRITY xor_of IS PORT (D,E: IN stcl_logic; H: OUT stcl_logic); END xor_of; Arquitectura { Descripción fundacional o estructural }

D E

H

xor_of.1

Figura 4. Ejemplo de generación de un componente VHDL

Entrada 1

Salida 1

Entrada 1

Salida 2 nombre #

Entrada m

Salida p

Figura 5. Modelo general de un componente

VHDL Los componentes que se pueden importar no están limitados a aquellos cuya descripción VHDL ha sido generada con la herramienta, lo cual permite al diseñador hacer uso de su librería particular de componentes para incorporar al modelo gráfico.

En la Figura 6 se muestra el elemento de entrada, salida o señal (I/O/S), el cual se utiliza para representar las entradas, salidas y señales en un diagrama estructural.

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

39


Herramienta de software para el desarrollo de descripciones de hardware utilizando VHDL a partir de modelos gráficos

3.2 Estructura y características del código XML generado El archivo context.xml es uno de los archivos que conforman un documento guardado en Draw de OpenOffice.org. Este contiene la información sobre todas las figuras que hayan sido creadas. Cada figura se transforma en un elemento XML específico que tiene un grupo de atributos como un identificador “draw:id”, la posición del elemento “svg:x” y “svg:y”, entre otros. El texto interno se transforma en elementos subordinados tipo “text:p”. En la Figura 7 se presenta un elemento tipo “rect” en el cual se transforman los componentes VHDL, nótese la presencia de elementos hijos tipo draw:gluepoint que corresponden a las entradas o salidas del componente. Los elementos I/O/S a su vez se transforman en elementos tipo “circle” o “ellipse”. A nivel de los diagramas ASM también encontramos elementos tipo “rect” o “custom-shape”, el elemento subordinado tipo “text:p” contiene la información sobre el nombre del estado y las asignaciones que en este se realicen, como se observa en la Figura 8.

A

A(0)

A(1)

A(2)

Figura 6. Elemento I/O/S, (izquierda) elemento de 1 bit (derecha) vector rect draw: id, otros atributos <draw:gluepoint> draw: id, svg:x, otros atributos <text:p> nombrecomponente.#

Figura 7. Elemento XML tipo rect custom-shape o rect draw: id, svg:y otros atributos <text:p> Estado 2 Asignaciones y condiciones

Figura 8. Elemento XML tipo custom-shape o rect connector draw:stat-shape draw:end-shape otros atributos

En ambos tipos de diagramas la interconexión de Figura 9. Elemento XML tipo connector los diferentes elementos se hace con el uso de conectores los cuales se transforman en elementos tipo “connector”. Estos elementos tienen los atributos “draw:start-shape” y “draw:end-shape” que corresponden al atributo “draw:id” del elemento del cual parten y al cual llegan respectivamente, esto permite identificar las conexiones en un diagrama de componente y la secuencia de estados en un diagrama ASM (ver Figura 9).

3.3 Extracción del contenido del código XML requerido para construir la descripción VHDL La información contenida en cada uno de los elementos XML debe extraerse para poder construir la descripción VHDL correspondiente; con este objetivo se utilizó XPath [11] el cual es un lenguaje de consulta que utiliza expresiones con sintaxis simple, compuesta por una ruta y uno o más predicados opcionales, y que retorna todos los nodos que concuerdan con la expresión [8]. La estructura genérica de una consulta XPath es: (Tipo de variable retornada) nombre = xpath.evaluate (ruta+[expresión], documento, XPathConstants.(Tipo de variable))

40

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Jose Roberto Vargas Rivero

Así por ejemplo para extraer el número de elementos tipo “circle” se utiliza la expresión: Número de elementos tipo circulo= XPath(documentcontent/body/drawing/page/circle, doc,XPathConstants.NUMBER)

3.4 Construcción de objetos VHDL para diagramas de componentes y ASMs A partir de las variables obtenidas con base en las consultas XPath, es necesario reconstruir la descripción VHDL tanto de un diagrama de componentes como ASM. Para esto se requiere definir un método en el cual se organice la información de una manera mas adecuada. Con este objetivo se definieron los objetos VHDL, que son piezas de la descripción VHDL en las cuales se agrupan los datos extraídos del XML. A continuación se describe de forma general la secuencia de pasos a seguir para cada tipo de diagrama. Para diagramas de componentes: 1) Identificar las entradas (Objeto entradas). 2) Identificar las salidas (Objeto salidas). 3) Identificar elementos comunes a entradas y salidas que corresponden a señales (Objeto señales). 4) Relacionar las entradas, las salidas y las señales con los componentes utilizando los atributos “draw:id”. 5) Clasificar los componentes según su texto interno. 6) Organizar las entradas y salidas en listas de asociación (Objeto instancias de componentes). 7) Añadir las declaraciones de los componentes a partir de la carpeta que agrupa los archivos VHDL del usuario (Objeto declaraciones de componentes). Para diagramas ASM: 1) Identificar si se debe generar un arreglo o una descripción VHDL. Si es el primer caso generar el arreglo a partir de la secuencia de bloques y el bloque I/ O. Si es el segundo caso: 2) Construir la entidad a partir del bloque I/O (Objeto entradas, Objeto salidas y Objeto señales). 3) Organizar los bloques a partir de su posición vertical. 4) Leer la secuencia a partir del bloque Reset, utilizando los atributos “draw:id” para identificar los estados siguientes (Objeto asignaciones de reset). 5) Añadir la información de los elementos heredados. 6) Identificar los nombres de los estados y las acciones que se realizan en cada estado. INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

41


Herramienta de software para el desarrollo de descripciones de hardware utilizando VHDL a partir de modelos gráficos

7) Identificar los bloques de decisión y los estados siguientes (Objeto estados).

3.5 Construcción de la descripción VHDL a partir de los objetos VHDL Utilizando las reglas de sintaxis del lenguaje VHDL y los objetos obtenidos, es posible obtener una descripción VHDL sintetizable correspondiente al diagrama inicial. La estructura que se propone para cada tipo de diagrama es la siguiente: Para diagramas de componentes:

Para diagramas ASM:

Entidad{ Objeto entradas, Objeto salidas }

Entidad{ Objeto entradas, Objeto salidas }

Objeto componente Arquitectura{ Objeto señales Objeto declaraciones de componentes Objeto instancias de componentes }

Objeto componente Arquitectura{ Objeto señales Objeto asignaciones de reset Objeto estados }

4. Resultados 4.1 Ejemplos A continuación se presentan tres ejemplos contruidos con la herramienta: el primero es un diagrama ASM para la serie de Fibonacci (Figura 11); el segundo es un diagrama de componentes correspondiente a un contador ascendente descendente de 4 bits (Figura 10) con su modelo gráfico; el tercero es un diagrama ASM de un circuito arbitrador con prioridad alternada utilizando niveles de jerarquía (Figura 12) en el cual se reutiliza dos veces la estructura del arbitrador simple; además se presenta la arquitectura de la descripción VHDL obtenida en los dos primeros casos. Nótese que en el caso del diagrama de componentes, el HAS (Half adder substractor) y el DedgeflipflopRQ (flip-flop tipo D con disparo por flanco positivo) son incorporados automáticamente como componentes al igual que su entidad.

Figura 10. Diagrama ASM del contador ascendente descendente de 4 bits

42

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Figura 11. Diagrama ASM para el cálculo de la serie de Fibonacci

Figura 12. Diagrama ASM para un arbitrador con prioridad alternada utilizando niveles de jerarquía

Jose Roberto Vargas Rivero

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

43


Herramienta de software para el desarrollo de descripciones de hardware utilizando VHDL a partir de modelos gráficos

4.1.1. Serie de Fibonacci when S0 => ready<=’1'; done_tick<=’0'; if (start=’1') then t0_next<=(others=>’0'); t1_next<= (0=>’1', others=>’0'); n_next<=i; sx<=S1; else sx<=S0; end if; when S1 => n_reg<=n_next; t1_reg<=t1_next; sx<=S2; when S2 => null; if (n_reg=”00000") then t1_next<=(others=>’0'); sx<=S4; else sx<=S3; end if; when S3 =>

null; if (n_reg=”00001") then sx<=S4; else sx<=S5; end if; when S4 => done_tick<=’1'; sx<=S0; f<=t1_reg; when S5 => t1_next<=t1_reg+t0_reg; t0_next<=t1_reg; n_next<=n_reg-’1'; sx<=S6; when S6 => t0_reg<=t0_next; t1_reg<=t1_next; n_reg<=n_next; sx<=S2; end case; end if; end process;

4.1.2. Contador ascendente descendente de 4 bits component HAS is port ( Ci : in std_logic; a : in std_logic; Down : in std_logic; Co : out std_logic; s : out std_logic); end component; component DedgeflipflopRQ is port ( clear : in std_logic; clk : in std_logic; D : in std_logic; Q : out std_logic); end component; begin HAS4: HAS port map (C(2),K(3),Down,Overflow,D(3)); DedgeflipflopRQ4: DedgeflipflopRQ port map (Clear,Clock,D(3),K(3)); HAS3: HAS port map (C(1),K(2),Down,C(2),D(2)); DedgeflipflopRQ3: DedgeflipflopRQ port map (Clear,Clock,D(2),K(2)); HAS2: HAS port map (C(0),K(1),Down,C(1),D(1)); DedgeflipflopRQ2: DedgeflipflopRQ port map (Clear,Clock,D(1),K(1)); HAS1: HAS port map (Count,K(0),Down,C(0),D(0)); DedgeflipflopRQ1: DedgeflipflopRQ port map (Clear,Clock,D(0),K(0)); Q(3)<=K(3); Q(2)<=K(2); Q(1)<=K(1); Q(0)<=K(0);

4.2 Simulaciones La herramienta de software se creó utilizando el lenguaje de programación Java el cual es libre y multiplataforma. Para propósitos de validación de la herramienta, se generaron las descripciones VHDL de 15 circuitos; 5 a partir de su diagrama de componentes, 5 a partir de su diagrama ASM y 5 en los que se aplican características adicionales como el uso de vectores, niveles de jerarquía y reutilización de código existente [1], [7], [9], [12]. 44

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Jose Roberto Vargas Rivero

En la Tabla I se resumen los resultados obtenidos comparando las simulaciones de la descripción VHDL original y la obtenida con la herramienta utilizando el simulador Modelsim XEIII 3.4b. La comparación se basa en la equivalencia funcional (EF) según la tabla de verdad o descripción del circuito. Tabla I. Resultados obtenidos Circuito Codificador BCD 7 segmentos Sumador Restador Decodificador 3 a 8 Flip-Flop tipo D con disparo por flanco positivo Ejemplo de un FSM de Moore Tiempo promedio de generación (segs.) Cálculo polinomio Promedio Raíz cuadrada Medidor de periodo Serie de Fibonacci Tiempo promedio de generación (segs.) Unidad aritmética lógica Contador ascendente-descendente 4 bits Raíz cuadrada con niveles de jerarquía Medidor de baja frecuencia Arbitrador Tiempo promedio de generación (segs.)

EF Si Si Si Si Si 13.32 Parcial Parcial Parcial Parcial Parcial 2.74 Si Si Parcial Si Parcial 44.8

Con respecto a los resultados obtenidos la equivalencia funcional parcial que se observa en algunas simulaciones es consecuencia de que el número total de estados es mayor en las descripciones obtenidas con la herramienta desarrollada. Esto se debe a que los bloques ASM complejos deben descomponerse en bloques que solo tengan 1 bloque de decisión. Esta limitante del algoritmo se basa en el número creciente de posibilidades que se generan sobre la descripción VHDL a obtener, cuando aumenta el número de bloques de decisión en un mismo estado. En estos casos la descripción generada por la herramienta y la original corresponden a diferentes circuitos. Se establece el calificativo de parcial para indicar que aunque el circuito obtenido es distinto la misma funcionalidad se puede replicar. Otro punto a mencionar es que en la Tabla I se presentan tiempos de generación mayores cuando la descripción VHDL se obtiene a partir de un diagrama de componentes que cuando se obtiene a partir de un diagrama ASM, lo cual se puede explicar a raíz de que el análisis de la estructura de este tipo diagramas es computacionalmente mas exigente que el de un diagrama ASM, el cual es primordialmente lineal. Por último puede observarse el impacto en el tiempo de generación en los últimos cinco circuitos en los cuales se implementaron niveles de jerarquía.

4.3 Trabajo futuro El algoritmo para interpretación de diagramas ASM debe mejorarse de tal forma que se puedan interpretar diagramas con más de un bloque de decisión por estado. Al mismo tiempo el algoritmo que realiza la lectura de las declaraciones de entidad para crear los componentes VHDL puede mejorarse de tal forma que existan menos limitantes con respecto al contenido y organización de las declaraciones que se pueden interpretar. También puede mejorarse el manejo de vectores ya que si se genera una entrada o salida INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

45


Herramienta de software para el desarrollo de descripciones de hardware utilizando VHDL a partir de modelos gráficos

por cada elemento de un vector, el tamaño del componente VHDL a nivel gráfico aumenta drásticamente; por otra parte, si solo se genera una entrada o salida para todo el vector se pierde la posibilidad de conectar individualmente cada uno de sus elementos. Finalmente se planea lograr una mayor integración con el trabajo desarrollado en [8] de tal forma que se pueda realizar optimización sobre la descripción VHDL generada a partir del modelo gráfico.

5. Conclusiones En este estudio se encontró que el uso de XML como lenguaje intermedio para la transformación entre un diagrama de componentes o ASM y una descripción VHDL genera ventajas en cuanto a la portabilidad al ser un archivo de texto y la facilidad de extracción de la información con herramientas como XPath. De la misma forma, se evidencia que las descripciones VHDL de diagramas de componentes o ASMs pueden ser representadas en modelos gráficos con el uso de un número pequeño de elementos de construcción. Por último, se resalta que el uso de niveles de jerarquía en modelos gráficos de diagramas ASMs y de componentes puede implementarse a partir de la definición de elementos que simbolicen la información contenida en una descripción VHDL o algoritmo previamente elaborado.

6. Referencias bibliográficas [1] Pong P Chu. (2006). RTL Hardware Design Using VHDL. Jhon Wiley & Sons, Inc. Hoboken, New Jersey. 21, 25,317,357,474,475. [2] Wood, Steve K, Akehurst David H, Uzenkov Oleg, Howells W, McDonald-Maier, Klaus D. (2008). A Model-Driven Development Approach to Mapping UML State Diagrams to Synthesizable VHDL. IEEE Transactions on Computers. Vol. 57. 1357-1371. [3] Abdel-Hamid, Mohamed Zaki, Sofiéne Tahar. (2004). A tool converting finite state machine to VHDL. Canadian Conference on Electrical and Computer Engineering. Vol. 4, 2-5. 1907-1910. [4] Etienne Ogoubi, Jean Pierre David. (2004). Automatic synthesis from high level ASM to VHDL: a case study. The 2nd Annual IEEE Northeast Workshop on Circuits and Systems. 81-84. [5] Chien-Nan Liu, Jing-Yang Jou. (2000). An Automatic controller extractor for HDL Descriptions at the RTL. IEEE Design & Test of Computers. Vol. 17. 72-77. [6] Thomas Hadlich. (1997). Proposing graphic extensions to VHDL. VHDL International User’s Forum (VIUF ’97). 109-115. [7] Enoch O Wang. (2005). Digital Logic and Microprocessor Design with VHDL Brooks/Cole. 80, 84, 110, 116, 118, 185, 210, 271, 367, 368. [8] Oscar Javier Méndez Zuluaga. (2007). Modificación de ASMs sobre descripciones funcionales de VHDL. Trabajo de grado Universidad Distrital Francisco José de Caldas. [9] Volnei A Pedroni. (2004). Circuit Design with VHDL. MIT Press. Cambridge Massachusetts. 3. [10] Open Office. (2010). OpenOffice.org 3.3.0. OpenOffice.org project. 2011. Consultado: http://www.openoffice.org. (7 de marzo, 2010). [11] Oracle. (2010). Package javax.xml.xpath . Oracle. 2011. Consultado: http://download.oracle.com/javase/1,5.0/docs/api/javax/ xml/xpath/package-summary.html. (7 de marzo, 2010). [12] Pong P Chu. (2008). FPGA prototyping by VHDL examples. Jhon Wiley & Sons, Inc. Hoboken, New Jersey. 109,110,153.

Jose RRoberto oberto VVargas argas Rivero Ingeniero Electrónico de la Universidad Distrital Francisco José de Caldas, de Bogotá, Colombia. Miembro del grupo de investigaciòn LAMIC, Universidad Distrital Francisco Jose de Caldas, Bogota, Colombia.

46

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERÍA

REVISTA

Ingeniería Volumen 15 • Número 2 • Año 2010 • ISSN 0121-750X

2010

REVISTA CIENTÍFICA SEMESTRAL


REVISTA

Ingeniería Vol. 15 • No. 2 • Año 2010 • ISSN 0121-750X

REVISTA CIENTÍFICA SEMESTRAL Publicación admitida en el Índice Nacional de Publicaciones Seriadas Científicas y Tecnológicas de Colciencias ÁRBITROS EN ESTA EDICIÓN Jose Luis Villa, PhD., Universidad Tecnológica de Bolivar Danilo Rairán, MSc., Universidad Distrital Luis Farley Ortiz, Universidad Nacional de Colombia Bell Manrique Losada, MSc., Universidad de Medellin

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS, FACULTAD DE INGENIERÍA

Carrera 7 No. 40-53 Piso 4 Bogotá, Colombia Teléfono: + 57 (1) 323 93 00 ext. 2413 Correo electrónico: revista_ing@udistrital.edu.co http://revistas.udistrital.edu.co/ojs/index.php/reving

Javier Orjuela, MSc., Universidad Distrital Andrés Gaona, MSc., Universidad Distrital Edgar Forero Granados, TecnoParque Colombia María Eugenia Calderón, PhD., Universidad Distrital Camilo Eduardo Prieto, MSc., Universidad Nacional de Colombia José J. Martínez, MSc., Universidad Nacional de Colombia

EDITOR

Jorge Rodríguez, MSc., Universidad Distrital

Sergio A. Rojas, PhD.

Deicy Alvarado, PhD., Universidad Distrital

Universidad Distrital Francisco José de Caldas

COMITÉ EDITORIAL

POSTURA EDITORIAL Y AUDIENCIA

Luz Esperanza Bohorquez, MSc.

La Revista INGENIERÍA es editada por la Universidad Distrital, y publicada con periodicidad semestral. Su principal objetivo es difundir y debatir avances en investigación y desarrollo en las diferentes áreas de la ingeniería. El contenido de la revista está dirigido a investigadores, especialistas, docentes, estudiantes de pregrado y posgrado, ingenieros en ejercicio y al sector empresarial.

Universidad Distrital Francisco José de Caldas

Marco Alzate, PhD.

Universidad Distrital Francisco José de Caldas

Rodrigo Herrera, Magister.

Universidad Distrital Francisco José de Caldas

Ana María Peña, PhD.

PERMISO DE REPRODUCCIÓN

Edwin Rivas, PhD.

Los textos de los artículos incluidos en esta edición pueden ser utilizados y reproducidos con fines sin ánimo de lucro y dando crédito a los autores.

Universidad Distrital Francisco José de Caldas Universidad Distrital Francisco José de Caldas

Juan Carlos Figueroa, MSc.

Universidad Distrital Francisco José de Caldas

SUSCRIPCIÓN

Germán Méndez, PhD.

Cra. 7 No. 40-53 P. 4 Decanatura Facultad de Ingeniería Teléfono: + 57 (1) 323 93 00 ext. 2413

Víctor Hugo Grisales, PhD.

INDIZADA EN

COMITÉ CIENTÍFICO Universidad Distrital Francisco José de Caldas Universidad Nacional de Colombia

DIRECTIVAS

Inocencio Bahamón C., MSc.

Colciencias

UNAM

Rector

María Elvira Rodríguez, PhD. Vicerrectora Académica

UNAM

Directory of Open Access Journals

Octavio Salcedo Parra, MSc. Decano Facultad Ingeniería

REVISOR DE ESTILO

Universidad de la Rioja

Sergio A. Rojas, PhD.

Universidad Distrital Francisco José de Caldas

SCIENTIFIC WRITING ADVISOR

Ing. Felipe Forero, CAE (Cambridge).

Maquetación, indización, copy edición, diseño gráfico e impresión:

Grupo Editorial Gaia

Ni la Revista INGENIERÍA, Editor, Comité Editorial, Facultad de Ingeniería de la Universidad Distrital F.J.C., otorgan ninguna garantía, expresa o implícita, o asumen responsabilidad alguna por la exactitud, completitud o utilidad de cualquier información, aparato, producto o proceso divulgado, o que represente que su uso no infrinja derechos privados. La mención o referencia a algún producto, proceso o servicio comercial en específico, por su marca comercial, marca registrada, fabricante o cualquier otra denominación, no implica ni constituye su endoso, recomendación o favorecimiento por parte de la Revista INGENIERÍA. Los juicios y opiniones expresadas por los autores en este medio son de su responsabilidad, y no establecen, reflejan o comprometen los de la Revista INGENIERÍA.


Citación: Rojas, S.A. (2010). La Red Colombiana de Revistas de Ingeniería. En: Ingeniería, Vol. 15 No. 2, pág. 75-76.

Editorial

REVISTA

Ingeniería

La Red Colombiana de Revistas de Ingeniería

INGENIERÍA

Mencionábamos en un editorial anterior, que nuestra Revista podía entenderse como un entramado de lectores, autores, editores, revisores, pares y árbitros, conformando una red social ávida y poseedora del saber disciplinar y las buenas prácticas que garantizan la divulgación auto-regulada, veraz y oportuna de nuevo conocimiento en las diferentes especialidades de la ingeniería. Esta apreciación podría aplicarse a cualquier revista de divulgación de resultados científicos, en particular, a las demás revistas de ingeniería que se publican en el país. En razón de lo anterior, cabe preguntarse si siguiendo el espíritu de trabajo colaborativo que ha venido caracterizando el nuevo milenio, y apoyándonos en las tecnologías de la conectividad y la ubicuidad, ¿tiene sentido mantener aisladas las redes sociales científicas que conforman a estas revistas? La respuesta inmediata es un no, puesto que de facto, las revistas ya se encuentran conectadas por medio de los autores, revisores y lectores que participan indistintamente en varias de ellas. Realmente solo faltaría definir los canales efectivos y formales para el intercambio, reparto y distribución mutua de información entre las mismas. Esto sería, desde nuestro punto de vista, escalar un nivel en la jerarquía de conectividad de la red social científica-ingenieril colombiana. La anterior reflexión está íntimamente ligada al surgimiento de la Red Colombiana de Revistas de Ingeniería (RCRI), iniciativa que busca la integración de publicaciones arbitradas en el campo de la ingeniería, en aras de mejorar la visibilidad, el impacto y en términos generales, la calidad científica de los avances y resultados en ellas divulgados. La RCRI tiene como misión además, consolidar una estructura que facilite la comunicación y cooperación (por ejemplo, intercambio de experiencias, controles, material, bases de datos de pares y autores, entre otros), así como la promoción de la profesionalización e institucionalización de los equipos editoriales de sus revistas integrantes. Originalmente

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

49


Reingeniería a la Revista INGENIERÍA

propuesta por la Revista Ingeniería e Investigación de la Universidad Nacional, sede Bogotá, la Revista de Ingeniería de la Universidad de los Andes y la Revista Educación en Ingeniería de la Asociación Colombiana de Facultades de Ingeniería (ACOFI), la idea ha tenido eco en los editores de las demás revistas colombianas, al punto de haberse realizado ya varios encuentros en diferentes universidades y tener casi cerca de cuarenta (40) revistas adscritas. La RCRI opera en cinco mesas de trabajo organizadas así: Tecnologías de Información y Comunicación, Mejores Prácticas, Política Editorial, Impacto Social e Indicadores y Ética. La Revista INGENIERÍA de la Universidad Distrital se ha adherido de manera entusiasta como miembro fundador de la RCRI y para impulsarla, su emblema distintivo, de cuyo diseño somos co-autores, tendrá presencia desde hoy en nuestras páginas. A nuestros lectores asiduos les extendemos gentil invitación a visitar y tener entre sus favoritos el sitio Web de la RCRI (http://www.rcri.co), donde podrán encontrar mayor información respecto a las actividades de la Red y un repositorio central de enlaces a todas las revistas miembro. Este será sin duda una fuente valiosa de divulgación y corroboración de los avances científicos de la ingeniería de todo el país. Avances como los que, a propósito, presentamos en este nuevo número, y que incluyen temáticas como el diseño de sistemas de inferencia difusa booleanos, continuando con la descripción de un lenguaje de metamodelos para sistemas gestores de aprendizaje, y finalizando con un modelo de optimización para el dimensionamiento del servicio Web-hosting. Reiteramos nuestro agradecimientos a nuestros autores de la Universidad Distrital, la Universidad de Oviedo y el Banco de la República, y de la misma forma a nuestros evaluadores de la Universidad Distrital, la Universidad Tecnológica de Bolivar, la Universidad Nacional de Colombia, la Universidad de Medellín, y TecnoParque Colombia.

Ing. Sergio A. Rojas, MSc., PhD. Editor General Revista INGENIERÍA

50

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


REVISTA

Ingeniería Volumen 15 • Número 2 • Año 2010 • ISSN 0121-750X

REVISTA CIENTÍFICA SEMESTRAL UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS, FACULTAD DE INGENIERÍA Publicación admitida en el Índice Nacional de Publicaciones Seriadas Científicas y Tecnológicas de Colciencias

Contenido

Páginas

Sistema de inferencia difusa basado en relaciones Booleanas A fuzzy inference system based on Boolean relations Helbert Eduardo Espitia Cuchango • José Jairo Soriano Méndez

52 - 66

Desarrollo de un lenguaje de dominio específico para sistemas de gestión de aprendizaje y su herramienta de implementación “KiwiDSM” mediante ingeniería dirigida por modelos Developing a domain-specific language for learning management systems, and a corresponding implementation tool (“KiwiDSM”) through model-driven engineering Carlos Enrique Montenegro Marín • Juan Manuel Cueva Lovelle • Óscar Sanjuán Martinez • Paulo Alonso Gaona García

67 - 81

Modelo de dimensionamiento del servicio web hosting dirigido a proveedores de la pequeña y mediana empresa colombiana A capacity planning model for web hosting providers serving small- and medium-scale businesses in Colombia

82 - 95

Olga Lucía Ramírez Calero • Jairo Humberto Torres Acosta

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

51


Citación: Espitia, H.E. y Soriano, J.J. (2010). Sistema de inferencia difusa basado en relaciones Booleanas. En: Ingeniería, Vol. 15, No. 2, pág. 52-66.

Sistema de inferencia difusa basado en relaciones Booleanas A fuzzy inference system based on Boolean relations Helbert Eduardo Espitia Cuchango Universidad Distrital Francisco José de Caldas Facultad de Ingeniería heespitiac@udistrital.edu.co

José Jairo Soriano Méndez Universidad Distrital Francisco José de Caldas Facultad de Ingeniería jairosoriano@udistrital.edu.co

Resumen Este documento describe la estructura de un sistema de inferencia difusa basado en relaciones booleanas. La teoría relacionada con lógica y conjuntos booleanos es una buena herramienta para el diseño de automatismos y sistemas digitales. Una variación con la cual se busca mejorar los sistemas basados en automatismos consiste en emplear conjuntos difusos en lugar de booleanos. Lo anterior se realiza con el objetivo de tener una acción continua en el actuador del automatismo. Al realizar esta variación y al aplicar la metodología de diseño de los sistemas de automatismos, aparecen los sistemas de inferencia difusa basados en relaciones booleanas. Aunque inicialmente esta propuesta se realizó considerando sistemas de automatismos, se observa que es posible extenderla a sistemas de inferencia difusa. Palabras clave: Sistemas de inferencia Lógica difusa, lógica booleana.

Abstract This paper describes a fuzzy-inference system that is based on Boolean relations. Boolean logic is recognized as a useful tool for automata and digital systems design. An alternative to improve automata systems consists in smoothing the crisp sets into fuzzy sets. The purpose to perform a continuous action on the actuator; by making this change, a new fuzzy inference system based on Boolean relations arises. Although the original proposal was formulated so as to consider automata systems, it is clear that this approach can be extended to more general fuzzy inference systems. Key words: Fuzzy logic Inference systems, Boolean logic. 52

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Helbert Eduardo Espitia Cuchango • José Jairo Soriano Méndez

1. Introducción La lógica booleana es una herramienta útil en el diseño de sistemas automáticos [1,2]. Sin embargo este tipo de sistemas de control presentan un desempeño limitado debido a su no linealidad. Una forma de mejorar el desempeño de estos sistemas consiste en reemplazar conjuntos booleanos por difusos. Un trabajo donde se busca aprovechar las características del diseño de automatismos basados en álgebra booleana se presenta en [3], donde se propone un método de minimización de expresiones en sistemas de inferencia difusa, empleando lógica booleana. En un principio la metodología propuesta se consideró como un posible mecanismo para la implementación del proceso asociado a la defusificación [4,5], sin embargo con el tiempo se apreció que se podía interpretar propiamente como un sistema de inferencia difusa por sí mismo [13]. El Concresor Basado en Relaciones Booleanas (CBR) o como se denominó originalmente en inglés Defuzification Based on Boolean Relations (DBR), busca plantear un mecanismo de implementación para los sistemas de lógica difusa tomando como referencia el diseño de automatismos, ya que estos sistemas son muy empleados en control de procesos por su facilidad de implementación. Esta técnica de diseño considera los sensores, actuadores y las relaciones booleanas empleadas en las estrategias de control [6]. Debido a la evolución que ha tenido la metodología desde su propuesta inicial, se observó que el término DBR solo es adecuado para hacer referencia al proceso simplificado asociado a la defusificación, mientras que la caracterización como CBR (Concretion Based on Boolean Relations) propuesta para el diseño del sistema de inferencia como tal, se considera más acorde para expresar el fundamento de esta metodología. En aplicaciones anteriores a este documento, se puede encontrar comúnmente empleado el término DBR. De igual manera, como la forma de implementación de este tipo de sistemas difiere de aquel de los sistemas difusos tradicionales, se decidió denominarlo Sistemas de Inferencia Difusa Basados en Relaciones Booleanas FIS-BBR (Fuzzy Inference System - Based on Boolean Relations). Dado que la anterior definición no ha sido considerada en trabajos anteriores es muy común encontrar los términos FIS-DBR o FIS-CBR para referirse al sistema de inferencia difusa. Las definiciones anteriormente expuestas y la relación jerárquica o de subordinación existente entre ellas se pueden apreciar en la Figura 1. FIS - BBR Sistema de inferencia difusa

Las características que se esperan logran con este nuevo enfoque son: •

CBR Metodología de diseño

DBR Defusificación

Facilitar la implementación computacional del sistema de inferencia difusa. Debido a la anterior característica se espera tener un mejor desempeño en cuanto al tiempo de procesamiento del sistema de inferencia difusa. Proporcionar una metodología de diseño para sistemas de lógica difusa.

Figura 1. Relación entre FIS-BRB, CBR y DBR.

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

53


Sistema de inferencia difusa basado en relaciones Booleanas

2. Referentes Una de las características importantes a considerar en esta propuesta es la relación (isomorfismo [7]) observada entre: teoría de conjuntos, lógica y sistemas matemáticos (retículos y álgebra booleanas [8]); algunas de las equivalencias más importantes de estos isomorfismos se pueden observar en la Tabla I.

Tabla I. Equivalencia entre conjuntos, lógica y álgebra booleana. Conjuntos

Lógica

Elgebra booleana

Pertenencia

Veracidad

Valor

Pertenece (

Verdad (

V) Falso ( F ) Conjunción (∧ ) Disyunción (∨) Negación (¬)

1

∈) No pertenece (∉) Intersección (∩) Unión (∪)

Complemento ( — )

0 Producto ( X ) Suma (

+)

Complemento ( )

Otro aspecto de importancia a considerar en la propuesta desarrollada consiste en las operaciones entre conjuntos difusos.

2.1. Intersección de conjuntos difusos En el contexto de lógica difusa se denomina T-norma a la operación de intersección. Una forma general para representar esta operación es: T[ μA (ui),μB (ui)] = μA∩B (ui) = μA (ui) ⊗ μB (ui)

(1)

Una T-norma es una función de la forma T : [0,1] → [0,1], que cumple con las siguientes propiedades:

μA , μB ∈ [0 ,1]

Asociativa:

μA ⊗ (μB ⊗ μC ) = (μA ⊗ μB ) ⊗ μC •

A

Conmutativa:

μA ⊗ μB = μB ⊗ μA , .

A

μA, μB ,μC ∈ [0 ,1]

Si μA ≤ μB y μC ≤ μD entonces

μA ⊗ μC ≤ μB ⊗ μD •

Condiciones de frontera:

μA ⊗ 0 = 0, μA ∈ [0 ,1]. μA ⊗ 1 =μA , μA ∈ [0 ,1]. Existen varios métodos para el cálculo de esta operación, siendo el más empleado la función mínimo. 2.1.1. Mínimo y T-norma de Lukasiewicz

Sean Αi y Βi conjuntos difusos, con funciones de pertenencia μA (ui) y μB (ui), definidas en el universo Ui , se tiene un conjunto intersección Αi ∩ Βi , cuya función de pertenencia se define como el mínimo en el caso de la ecuación (2-1) o la T-norma de Lukasiewicz

54

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Helbert Eduardo Espitia Cuchango • José Jairo Soriano Méndez

μA∩B (ui) = min {μA (ui), μB (ui)}

μA∩B (ui) = max {0, μA (ui) + μB (ui) - 1}

(2-1) (2-2)

2.2. Unión de conjuntos difusos La operación de unión en lógica difusa es conocida como S-norma. Una forma general para la representar la operación difusa de unión es: S[ μA (ui),μB (ui)] = μA∪B (ui) (3) = μA (ui) ⊕ μB (ui) Una S-norma es una función de la forma: S : [ 0,1] x [ 0,1] → [ 0,1] que cumple con las siguientes propiedades:

μA , μB ∈ [0 ,1]

Asociativa:

μA ⊕ (μB ⊕ μC ) = (μA ⊕ μB ) ⊕ μC

A

Conmutativa:

μA ⊕ μB = μB ⊕ μA ,

A

μA, μB ,μC ∈ [0 ,1]

Si μA ≤ μB y μC ≤ μD entonces μA ⊕ μC ≤ μB ⊕ μD

Condiciones de frontera:

μA ⊕ 0 = 0, μA ∈ [0 ,1]. μA ⊕ 1 =1, μA ∈ [0 ,1].

Al igual que el caso anterior la S-norma presenta varios métodos de cálculo, siendo el más empleado el máximo. 2.2.1. Máximo y s-norma de Lukasiewicz

Sean Ai y Bi conjuntos difusos, con funciones de pertenencia μA (ui) y μB (ui), definidas en el universo Ui , se tiene un conjunto unión Αi ∪ Βi , cuya función de pertenencia se define como el máximo en el caso de la ecuación (4-1) o la S-norma de Lukasiewicz en la ecuación (4-2):

μA∪B (ui) = max {μA (ui), μB (ui)}

μA∪B (ui) = min {1, μA (ui) + μB (ui) }

(4-1) (4-2)

2.3. Complemento difuso En lógica difusa existen diferentes formas para calcular el complemento de un conjunto difuso Ai, con base en su función de pertenencia μA (ui). Una forma general para representar el complemento de un conjunto difuso es: (5) C {μ ( u )}=μ − ( u ) A

i

A

i

La forma más empleada del complemento difuso, consiste en definir el conjunto difuso complemento con la función de pertenencia (6). (6) C {μ ( u )}= 1−μ ( u ) A

INGENIERÍA

i

A

i

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

55


Sistema de inferencia difusa basado en relaciones Booleanas

3. Concepción de los sistema de inferencia difusa basados en relaciones booleanas Los sistemas de inferencia difusa basados en relaciones booleanas son concebidos como una alternativa para mejorar el desempeño de los sistemas de control basados en automatismos, por lo tanto, esta propuesta se basa en los principios del diseño de automatismos y circuitos digitales. Desde el punto de vista de automatismos se tiene una acción sobre uno o varios actuadores, esta acción suele ser todo o nada generando transiciones bruscas en el proceso. La propuesta aquí presentada pretende lograr que estas transiciones no sean bruscas al convertir conjuntos booleanos en difusos y al mismo tiempo poder aprovechar la metodología de diseño de automatismos desde el dominio booleano. En [3] se presenta un concepto similar, pero solo se considera como un proceso de optimización y no como una posible forma para implementar sistemas de lógica difusa. El concepto de los sistemas de inferencia basados en relaciones booleanas se encuentran fundamentados en las siguientes premisas: • Segmentación de los universos con conjuntos booleanos. • Transiciones monótonas entre regiones booleanas. Al momento de realizar un diseño para un sistema de control teniendo en cuenta las anteriores características, surgen los siguientes aspectos a considerar: • Mecanismo de inferencia para determinar la salida. • Metodología para convertir conjuntos booleanos en difusos. • Restricciones y/o consideraciones presentes al momento de implementar la metodología de diseño basada en conjuntos booleanos. Aunque las anteriores consideraciones están siendo abordadas en la actualidad, los resultados se esperan reportar en futuras publicaciones. Este trabajo se limita a presentar el esquema de los sistemas de inferencia basados en relaciones booleanas. Los bloques estructurales de un sistema de inferencia difusa basado en relaciones booleanas, son en esencia, la fusificación y la concreción de la información difusa, ya que el proceBase de reglas difusas: so de defusificación es Si Entonces Salida (Crisp) una tarea intrínseca a la Entrada (Crisp) manera como se realiMotor de inferencia za la concreción. Un difusa: 1. Operador difuso Fusificación Defusificación esquema de dicho pro2. Implicación ceso se observa en la 3. Agregación x en u Figura 2. Concresor

y en v

Figura 2. Sistema de inferencia FIS-BBR.

56

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Helbert Eduardo Espitia Cuchango • José Jairo Soriano Méndez

4. Diseño de automatismos basado en álgebra booleana El álgebra de Boole ha sido una poderosa herramienta para el diseño de automatismos [9, 10]. La lógica booleana es básicamente bi-valuada donde las proposiciones verdaderas son valoradas con uno mientras que las falsas con cero; en general una relación booleana es una función que asigna un valor de verdad a una proposición. Las proposiciones son definidas como variables y las combinaciones de ellas determinan si la salida se cumple o no, dichas combinaciones se presentan por lo general en una tabla. Considerando el operador lógico de conjunción ∧ y el operador lógico de disyunción ∨, [10], entonces desde el punto de vista de lógica, el controlador basado en lógica booleana se puede describir como un sistema de inferencia con reglas de la forma: Si (Â1 ∧ Â2 ∧ ...∧ Âp) Entonces f

(7)

Para p variables, cuando la k-ésima salida es verdadera, se aplica la definición de minterm [8-10]: k

k

k

Â=

A si A = 1, A si A = 0.

fk = Â1 ∧ Â2 ∧ ... Âj )... ∧ Âp

k

(8)

donde

Para q salidas parciales, la salida global Y puede expresarse de manera compacta como: q

p

∨ ∧ Âjk

Y=

(9)

k⏐f k=1 j=1

Para efectos de síntesis (mínimo número de términos) de un sistema booleano se pueden aplicar las siguientes simplificaciones [1]: 1.

(a ∧ b) ∨ (a ∧ c) ≡ a ∨ (b ∧ c).

2.

(a ∨ b) ∧ (a ∨ c) ≡ a ∧ (b ∨ c).

3.

a ∨ (a¯∧ b) ≡ a ∨ b.

4.

a ∧ (b¯∨ b) ≡ a.

En un sistema de w salidas la m-ésima salida es: q

Ym=

p

∨ ∧ Â jk

k⏐f k,m=1 j=1

(10)

4.1. Síntesis mediante mapas de Karnaugh Una metodología utilizada para hacer síntesis de automatismos, es el mapa de Karnaugh [1, 9], (Veitch para otros autores), que se basa en una unidad fundamental de 2 elementos, que representan los valores que puede tomar una variable binaria, para lograr de un determinado efecto. A medida que el número de variables (p) aumenta, también se p incrementa el número de elementos (cuadros) 2 ; otra forma de visualizarlo es la asignaINGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

57


Sistema de inferencia difusa basado en relaciones Booleanas

ción de cada combinación de la tabla de verdad a una posición en los cuadros del mapa de Karnaugh. El siguiente paso es la agrupación de los cuadros adyacentes que contengan el valor de n 1 en grupos de 2 para n=1,2,4... cuadros adyacentes, donde n es el número de variables. Para el caso de dos variables las posibilidades de agrupar serán de uno, dos o cuatro cuadros. p

Cuando un sistema no tiene todas las posibles combinaciones 2 , las combinaciones que no se dan se denominan condiciones “no importa’’. En este caso el mapa de Karnaugh tiene una aplicación muy importante, ya que tales condiciones se pueden asumir según la conveniencia para efectos de simplificar la expresión.

4.2. Acción de salida del automatismo Para determinar la acción de control total del automatismo se pueden considerar las acciones parciales como el producto de la respectiva salida lógica Ym y la correspondiente acción de control vm, de tal forma que la salida total es la suma de los anteriores productos. w

Y=

ΣY v

(11)

m m

m=1

En general un proceso interpretado por reglas del tipo Si-Entonces, puede ser representado de diferentes maneras por variables de tipo booleano. 4.2.1. Sistemas de inferencia difusa basados en relaciones booleanas

Debido a los procesos involucrados en este esquema, las operaciones lógicas empleadas son: • •

T-norma: Mínimo. S-norma: Máximo. Los anteriores operadores se escogen por su facilidad de implementación [11] y por ciertos requerimientos al momento de realizar la simplificación de términos [3]. A pesar de lo anterior, se puede extender el siguiente planteamiento para otros operadores difusos según las prestaciones que se espera tener del sistema. Para un sistema de w funciones de activación, p conjuntos, q posibles implicaciones, siendo Ym la m -ésima salida de activación y μ Âjk la j-ésima función de pertenencia de la k-ésima implicación, el proceso de inferencia de Ym, considerando conjuntos difusos, se puede expresar como [13]: q

p

Y m= k⏐f k,m =1 j=1

58

INGENIERÍA

Âj

k

(12)

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Helbert Eduardo Espitia Cuchango • José Jairo Soriano Méndez

En el caso de considerar funciones de pertenencia se tiene la siguiente expresión: q

Y m=

p

⊕⊗μÂ

k⏐f k,m=1 j=1

k

j

(13)

la salida concreta del sistema se puede calcular como: w

y=

ΣY v

m m

(14)

m=1

donde vm corresponde al m-ésimo actuador virtual, entonces la m-ésima salida virtual es: y v = Y mv m (15) m

La ecuación (12) puede ser asociada con la Tabla II. La T-norma se aplica sobre las filas correspondientes a la parte de entradas en la Tabla II, las cuales representan las reglas que aportan a una salida de activación. La S-norma es aplicada sobre las columnas de la parte de salidas de activación de la misma tabla. La S-norma se puede considerar como un operador de agregación, de las reglas que aportan para cada una de las salidas de activación. En el esquema se distinguen dos partes, una correspondiente a la codificación booleana de las funciones de pertenencia de cada universo de discurso de entrada y otra, correspondiente a las salidas de activación asociadas a las salidas virtuales del sistema. En la parte de las entradas cada fila representa una regla de inferencia, en la sección de las salidas cada columna representa una salida de activación. Para el cálculo de la salida (sin simplificar), como primer paso se aplica por separado la T-norma (mínimo) entre los conjuntos a lo largo de las filas, cuya salida de activación en la tabla de verdad es activa (reglas de inferencia). El siguiente paso consiste en aplicar la S-norma (máximo) entre todos los resultados obtenidos del paso anterior para cada columna, las cuales corresponden a las salidas de activación (proceso de agregación). La Tabla II muestra un esquema general de la respectiva colección de reglas en la tabla de verdad. Finalmente, dadas las funciones difusas que determinan las salidas de activación difusas, se procede a realizar la ponderación de cada una de ellas por el respectivo valor del actuador virtual, este producto se llama salida virtual. Sumando los anteriores productos se obtiene una sola salida concreta de acción.

4.3. Salida virtual En el diseño de automatismos, la salida se puede considerar como el consecuente de una función booleana de las entradas que corresponden a los antecedentes. El sistema de inferencia difusa basado en relaciones booleanas toma este esquema, el cual es el mismo en lógica difusa, sin embargo la salida desde el punto de vista de automatismos se considera como la acción total que se tiene por parte de los actuadores que están afectando el sistema. En el caso donde solo se dispone de un elemento de acción, este se puede considerar como la suma de varios actuadores los cuales se denominan virtuales y que a su vez tienen asociada una salida virtual. INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

59


Sistema de inferencia difusa basado en relaciones Booleanas

Dependiendo de los conjuntos empleados y de las acciones a realizar en las regiones de operación, es posible tener un solapamiento de las acciones, por lo cual, la salida total puede ser mayor que las acciones virtuales parciales. En esta propuesta los actuadores virtuales son constantes y en un esquema tradicional de lógica difusa tipo Mamdani se pueden considerar como conjuntos singleton (univaluados) en el universo de discurso de salida. Dependiendo el caso, los actuadores virtuales pueden ser positivos o negativos y sus valores también pueden ser definidos según la aplicación. Para el sistema de inferencia, la salida corresponde a la suma de las respectivas salidas virtuales: w

y = yv1 + yv2 +... + yvm + yvw =

Σy m=1

vm

donde yvm esta dado por (15). El término de salida virtual fue concebido bajo una correspondencia física real en aplicaciones de control, para la salida total del sistema de inferencia. A manera de ilustración, el concepto de salida virtual se puede observar la acción que tiene una válvula de para el llenado de un tanque; en este caso el flujo permitido por la válvula se puede considerar como el aporte que darían tres válvulas virtuales (que tienen una existencia aparente y no real) de diferente diámetro que dan lugar a los actuadores virtuales: •

La ejecución del proceso de concresión en un sistema difuso, trata de la forma como la información difusa es procesada para proporcionar una salida de acción sobre la planta controlada

Flujo pequeño:

Flujo mediano:

Flujo grande:

v1 = 0.5” v2 = 1.0” v3 = 1.5”

5. Metodología de diseño para sistemas de inferencia basados en relaciones booleanas Inicialmente la presente propuesta se trabajó como un proceso de concresión y/o defusificación para simplificar los cálculos en sistemas de inferencia difusa, sin embargo esta también se puede considerar como una metodología de diseño de sistemas de inferencia difusa, tratando el problema a solucionar como un sistema de control basado en automatismos. La figura 3 permite ilustrar el proceso de diseño para sistemas de inferencia difusa basados en relaciones booleanas. Este inicia definiendo los conjuntos booleanos del universo de entrada, que en sentido práctico pueden estar asociados al funcionamiento de un elemento sensor. El siguiente paso consiste en definir las respectivas acciones de control a realizar, estas acciones pueden estar asociadas a un elemento que puede ser real o no, la acción de 60

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Helbert Eduardo Espitia Cuchango • José Jairo Soriano Méndez

control considerada en este punto es el máximo valor posible que suministra el respectivo actuador. La asignación de acciones de salida (salidas de activación), se realiza considerando la información que suministra el experto de la planta a controlar. Cada regla de inferencia es almacenada en la tabla de verdad como una fila. Por otro lado, la salida de activación se encuentra consignada en la tabla como una columna. La Tabla II muestra la forma general como son expresadas las reglas.

Partición Booleana de universos de discurso Identificación mediante una codificación Booleana regiones de los universos de discurso

Reglas de inferencia Establecer las reglas lingüísticas de inferencia considerando las particiones Booleanas

Tabla de verdad Traducir las relaciones lingüísticas en una tabla de verdad

Simplificación de relaciones Booleanas Simplificación empleando mapas de Karnaugh o un algoritmo computacional

Una vez establecidas las reglas de inferencia y almacenado cada antecedente y Implementación del sistema de inferencia cada consecuente en la tabla de verdad, Se implementa el sistema empleando los se tiene la opción de utilizar una de las respectivos operadores difusos diferentes herramientas de la lógica Figura 3. Esquema del proceso de diseño booleana (mapas de Karnaugh, álgebra de Boole o el método de Quine Mccuskley [14]) para la simplificación de cada salida de activación.

CBR.

El paso siguiente consiste en generalizar las expresiones lógicas booleanas en expresiones difusas (T-norma y S-norma), esto para la implementación del sistema de inferencia. Tal como fue mencionado anteriormente, en esta propuesta la operación lógica de intersección se implementa con la T-norma del mínimo, la operación lógica de unión se implementa con la S-norma del máximo y se usa el complemento estándar. Tabla II. Tabla de verdad donde se establecen las reglas de control.

El paso siguiente consiste en generalizar las expresiones lógicas booleanas en expresiones difusas (T-norma y S-norma), esto para la implementación del sistema de inferencia. Tal como fue mencionado anteriormente, en esta propuesta la operación lógica de intersección se implementa con la T-norma del mínimo, la operación lógica de unión se implementa con la S-norma del máximo y se usa el complemento estándar.

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

61


Sistema de inferencia difusa basado en relaciones Booleanas

6. Principios de diseño Para una adecuada implementación de los sistemas de lógica difusa basados en relaciones booleanas se tiene dos principios: • •

Partición booleana de universos de discurso. Conmutación monótona y continua entre regiones booleanas. El primer principio consiste en realizar una partición de los universos de discurso mediante conjuntos booleanos, de tal forma que es posible definir las regiones de operación que se tienen para los diferentes universos de discurso. El segundo principio consiste en lograr transiciones continuas y monótonas entre las regiones booleanas definidas anteriormente. Este principio es formulado para tener un comportamiento interpolado del caso booleano empleando conjuntos difusos.

7. Comparación entre sistemas de inferencia difusa Mandani, Sugeno y sistemas de inferencia difusa basados en relaciones booleanas Con la finalidad de ilustrar el funcionamiento de los sistemas de inferencia basados en relaciones booleanas se propone una comparación con los sistemas de inferencia Mamdani y Sugeno.

7.1. Sistemas tipo Mamdani En la Figura 4 se muestra la configuración básica de un sistema tipo Mamdani, [12], en el cual se se distinguen tres elemntos principales: fusificación, motor de inferencia difusa y defusificación. Base de reglas difusas: Si Entonces

Salida (Crisp)

Entrada (Crisp)

Fusificación

Motor de inferencia difusa: 1. Operador difuso 2. Implicación 3. Agregación

Defusificación

x en u y en v

Figura 4. Sistemas tipo Mamdani.

La Figura 5 muestra un ejemplo gráfico del funcionamiento de un sistema de inferencia difusa tipo Mamdani, donde se observan los siguientes pasos: • Un valor puntual ingresa al sistema difuso y luego es convertido en un nivel de pertenencia para cada regla. 62

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Helbert Eduardo Espitia Cuchango • José Jairo Soriano Méndez

• En cada regla se aplican los respectivos operadores difusos para los valores de pertenencia asociados con las entradas. • Con el anterior resultado y la respectiva función de pertenencia de la salida asociada a la regla, se aplica el operador difuso correspondiente al método de implicación. • Luego mediante un operador difuso se agregan todas las implicaciones. • Finalmente se obtiene el resultado aplicando algún método de defusificación.

Figura 5. Funcionamiento de un sistema difuso tipo Mamdani.

6.2. Sistemas tipo Sugeno Una alternativa de procesamiento en los sistemas difusos fue la propuesta por Takagi Sugeno en los sistemas difusos que llevan su nombre, [12]. La figura 6 presenta el esquema de un sistema de inferencia Base de reglas difusa tipo Sugeno. En estos sisdifusas: temas la fusificación e Si Entonces implicación son similares a los Entrada (Crisp) empleados en los sistemas tipo Motor de inferencia Mamdani, mientras que la didifusa: Salida (Crisp) 1. Operador difuso Fusificación ferencia se presenta en la forma y en v 2. Implicación 3. Agregación como se calcula la salida. x en u

Figura 6. Sistema difuso tipo Sugeno.

Para calcular la salida del sistema difuso se ponderan los diferentes consecuentes teniendo en cuenta el valor con el cual se activó el antecedente de cada una de las reglas, para un sistema con dos reglas la salida del sistema difuso sería: y = w1y1 +w2y2 w1 +w2 Cada regla tiene asociada una función que depende de las variables de entrada, para un caso donde se tengan dos variables de entrada las funciones serían: y1 = f1 (x1, x2) y2 = f2 (x1, x2) La Figura 7 presenta de forma gráfica el funcionamiento de un sistema difuso Sugeno, donde se observan los siguientes pasos: •

Un valor puntual ingresa al sistema difuso y luego es convertido en un nivel de pertenencia para cada regla.

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

63


Sistema de inferencia difusa basado en relaciones Booleanas

• •

En cada regla se aplican los respectivos operadores difusos obteniendo como resultado w1 y w2. La salida se calcula como: y = w1y1 +w2y2 w1 + w2

Los bloques estructurales de un sistema de inferencia basado en relaciones booleanas, son en esencia, la fusificación y la concreción de la información difusa, ya que el proceso de defusificación es una tarea intrínseca a la manera como se realiza la concreción. Un esquema de dicho proceso se observa en la Figura 8. En la Figura 9 se presenta un ejemplo de la implementación de un sistema de inferencia difusa basado en relaciones booleanas, donde se tienen dos universos de discurso x1, x2 y dos funciones de pertenencia por cada universo de discurso.

Figura 7. Funcionamiento de un sistema difuso tipo Sugeno

Base de reglas difusas: Si Entonces

Salida (Crisp)

Entrada (Crisp)

Fusificación

Motor de inferencia difusa: 1. Operador difuso 2. Implicación 3. Agregación

Defusificación

x en u Concresor

y en v

Figura 8. Sistema de inferencia FIS-BBR.

Figura 9. Ejemplo gráfico del funcionamiento FIS-BBR

64

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Helbert Eduardo Espitia Cuchango • José Jairo Soriano Méndez

La Tabla III contiene las relaciones asociadas al proceso de inferencia, en esta tabla se representa con una X los casos donde las variables se pueden considerar como verdaderas o falsas según la conveniencia para lograr una expresión más simplificada.

Tabla III. Tabla de verdad asociada a la figura 9.

A1 (x1) 1 0 1 X

A2 (x2) 0 1 X 1

A3 (x3) 1 0 1 X

Con el objetivo de lograr una expresión simpli-ficada se puede emplear el mapa de Karnaugh de la Figura 10.

Y1 , Y 1 :

Al realizar la simplificación propuesta en la figura 10, las relaciones para las salidas de activación activación Y1 y Y2 son:

A4

Y1 1 1 X X

Y2 1 0 X X

A2 A1 0

0

0

0

1

X

0

0

X

X

X

0

0

X

1

0

A3

A4 (x4) 0 1 X 1

Figura 10. Mapa de Karnaugh para la tabla de verdad III

Y1 = [μA (x1) ⊗ μA (x2)] ⊕ [μA (x1) ⊗ μA (x2)] 1

3

2

Y2 = μA (x1) ⊗ μA (x2) 1

4

3

La salidas de activación tienen asociados los respectivos actuadores virtuales v1 y v2 , de tal forma que la salida del sistema de inferencia es: y = Y1 v 1 + Y2 v 2 La Figura 9 presenta de forma gráfica el funcionamiento de un sistema difuso FISBBR, con los siguientes pasos: • Un valor puntual ingresa al sistema difuso y luego es convertido en un nivel de pertenencia para cada regla. • Para cada salida de activación se realiza primero la operación difusa de T-norma y luego la S-norma obteniendo así Y1 y Y2 . • La salida se calcula como: y = Y1 v1 + Y2 v2 .

8. Conclusiones y expectativas futuras Los sistemas de inferencia difusa basados en relaciones booleanas se fundamentan en la relación existente entre los sistemas que emplean algebra booleana y lógica difusa. Lo anterior permite emplear herramientas de diseño de algebra booleana para sistemas de lógica difusa. En la metodología CBR se pueden utilizar menos conjuntos para tener el mismo número de particiones de los universos de discurso. Lo anterior, sumado a la posibilidad de realizar una simplificación de reglas, permite tener una menor cantidad de operaciones disminuyendo tiempos, costos computacionales o de hardware, todo esto sin llegar a perder interpretabilidad. INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

65


Sistema de inferencia difusa basado en relaciones Booleanas

Una posible desventaja de esta metodología radica en el proceso gráfico asociado a la simplificación de reglas lo cual por lo general se realiza fuera de línea, adicionalmente cuando se tenga un número elevado de conjuntos el método gráfico resulta ser inviable. Para solucionar la anterior situación se pueden emplear métodos computacionales de simplificación que permitan manejar un número elevado de variables y que puedan trabajar en línea para aplicaciones de tiempo real. En este trabajo se expone el fundamento y concepción de los sistemas de inferencia difusa basa-dos en relaciones booleanas y fueron presentados ejemplos con los cuales se espera mostrar el concepto que involucran los sistemas de inferencia basados en relaciones booleanas. En trabajos futuros se espera presentar los resultados para realizar la simplificación de reglas de inferencia y la formulación para construir conjuntos difusos partiendo de conjuntos booleanos.

9. Referencias [1] Dougherty, E. y Giardina, C. (1988). Mathematical methods for artificial intelligence and autonomous systems, Prentice-Hall. 7-133. [2]

Ogata, K. (1987). Dinámica de Sistemas, Prentice-Hall Hisp. 285-299.

[3]

Rovatti, R., Guerrieri, R. yBaccarani, G. (1995). An Enhanced Two-Level Boolean Synthesis Methodology for Fuzzy Rules Minimization. IEEE Transactions On Fuzzy Systems, Vol. 3, No. 3. 288-299.

[4]

Ballén, A. y Rodriguez, C. (2003). Diseño e implementación de un controlador difuso autosintonizado sobre microcontroladores, aplicado al control del péndulo invertido, Tesis de pregrado, Ingeniería Electrónica, Universidad Distrital Francisco José De Caldas.

[5]

Soriano, J., Gálvez, C. y Vargas, D. (2005). Identificación de personas por medio de biometría en la planta de la mano usando técnicas digitales de procesamiento de imágenes y concresor difuso basado en relaciones booleanas, Tesis de pregrado, Ingeniería Electrónica, Universidad Distrital Francisco José de Caldas.

[6]

Soriano, J., González, O., Munar, F. y Ramos, A. (2001). Propuesta de concresor basado en relaciones booleanas, Revista Ingeniería, Universidad Distrital Francisco José de Caldas, Vol. 6, No. 1. 42-50.

[7]

Peña, C. (2004). Coevolutionary Fuzzy Modeling, Springer Verlag. 1-18.

[8]

Dubisch, R. (1964). Lattices to Logic, Blaisdell Publishing Company. 1-62.

[9]

Soriano, J. (2001). Un enfoque moderno para el diseño de automatismos, Sorytel.

[10] Irazo, P. (2005). Lógica Simbólica para informaticos, Alfaomega Ra-Ma. 15-45. [11] Wang, L. (1996). A course on Fuzzy Systems and Control, New Jersey, Prentice Hall. 19-86. [12] Klir, G. y Yuan, B. (1995). Fuzzy Sets and Fuzzy Logic, Prentice Hall, Upper Saddle River, New Jersey. 1-175. [13] Espitia, H. (2009). Aplicación del concresor basado en relaciones booleanas para sistemas de lógica difusa tipo dos, Tesis de Maestria Universidad Distrital Francisco José de Caldas. [14] Gajski, D. (1997). Principios de Diseño Digital, Pearson Prentice Hall. 100-200.

Helbert Espitia Ingeniero Electrónico, Universidad Distrital FJC. Ingeniero Mecatrónico, Universidad Nacional de Colombia. Especialista en Telecomunicaciones Móviles, Universidad Distrital FJC. Magister en Ingeniería Industrial, Universidad Distrital FJC. Magister en Ingeniería Mecánica, Universidad Nacional de Colombia. Docente de Planta, Universidad Distrital Francisco José de Caldas.

Jairo Soriano Ingeniero Químico, Universidad Nacional de Colombia. Ingeniero Electrónico, Universidad Distrital FJC. Magíster en Ingeniería Industrial, Universidad Distrital FJC. Docente de Planta, Universidad Distrital. Director Grupo LAMIC (Laboratorio de Automática, Microelectrónica e Inteligencia Computacional), Universidad Distrital Francisco José de Caldas, Colombia.

66

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Citación: Montenegro, C. E., Cueva, J.M., Sanjuán O., y Gaona P.A. (2010). Desarrollo de un lenguaje de dominio específico para sistemas de gestión de aprendizaje y su herramienta de implementación “KiwiDSM” mediante ingeniería dirigida por modelos. En: Ingeniería, Vol. 15, No. 2, pág. 67-81.

Desarrollo de un lenguaje de dominio específico para sistemas de gestión de aprendizaje y su herramienta de implementación “KiwiDSM” mediante ingeniería dirigida por modelos Developing a domain-specific language for learning management systems, and a corresponding implementation tool (“KiwiDSM”) through model-driven engineering Carlos Enrique Montenegro Marín Universidad Distrital Francisco José de Caldas Facultad de Ingeniería cemontenegrom@usitrital.edu.co

Juan Manuel Cueva Lovelle Universidad de Oviedo Departamento de Informática cueva@uniovi.es

Óscar Sanjuán Martinez Universidad de Oviedo Departamento de Informática osanjuan@uniovi.es

Paulo Alonso Gaona García Universidad Distrital Francisco José de Caldas Facultad de Ingeniería pagaonag@udistrital.edu.co

Resumen El artículo presenta la creación de KiwiDSM: herramienta de lenguaje de dominio específico (DSL), que apoyada en ingeniería dirigida por modelos (MDE), permite modelar módulos que conforman un sistema de gestión del aprendizaje (LMS) en el área de comunicaciones; esta herramienta es independiente de la plataforma. La validación de la propuesta se realizó desplegando un modelo hecho con KiwiDSM sobre una plataforma LMS particular llamada Atutor. Las pruebas realizadas evidenciaron que al trabajar con MDE se reduce el tiempo y esfuerzo en la creación y despliegue de los módulos modelados sobre Atutor y que el metamodelo planteado es compatible con los requerimientos de dicho LMS. Palabras clave: Lenguaje de Dominio Especifico (DSL), Ingeniería Dirigida por Modelos (MDE), Arquitectura Dirigida por Modelos (MDA), Transformación de Modelos, Sistema de gestión del Aprendizaje (LMS), XML Metadata Interchange (XMI), Modelo y Metamodelo.

Abstract This article presents the creation of a domain-specific-language (DSL) tool called WikiDSM, which is supported by model-driven engineering (MDE) and allows modeling the different modules that conform learning management systems (LMS), particularly in the field of communications. Such a tool is platform-independent. The validation of the proposal was performed by deploying a model built with WikiDSM on Atutor platform. The tests showed that using MDE reduces the time and effort when creating and deploying the Atutormodeled modules. Moreover, it is shown that the meta-model proposed is compatible with Atutor requirements. Key words: Domain Specific Language (DSL), Model Driven Engineering (MDE), Model Driven Architecture (MDA), Transformations of Models, Learning Management System (LMS), XML Metadata Interchange (XMI), Model, Metamodel.

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

67


Desarrollo de un lenguaje de dominio específico para sistemas de gestión de aprendizaje y su herramienta de implementación “KiwiDSM”

1. Introducción Dentro de la gran gama de dificultades que existen en el área de los sistemas de gestión del aprendizaje (LMS), destaca el problemas de la interoperabilidad entre ellos como lo aseguran Grob y Moreno [1, 2], éste articulo presenta una solución al problema desde el enfoque de la ingeniería dirigida por modelos (MDE) y también demostrará mediante un caso práctico la hipótesis que al trabajar con MDA (Model Driven Architecture) el tiempo y esfuerzo en la generación de soluciones se reducen. El enfoque a utilizar parte de desde la perspectiva de uso de materiales u objetos de aprendizaje para migración de contenidos bajo especificaciones y/o estándares y los problemas que aparecen de forma repetitiva durante el desarrollo de software; además en muchas ocasiones estos problemas pertenecen a un dominio concreto, para dar solución a estos problemas se puede utilizar un GPL (General Purpose Language) como es Java y C# o se puede recurrir a la utilización de un DSL (Domain Specific Language), que no es más que un lenguaje definido específicamente para resolver los problemas de un dominio concreto. A partir del contexto de DSL se puede hablar de DSM (Modelado de Dominio Especifico) que tiene su origen en la existencia de muchos desarrollos de software similares para un mismo dominio, una parte común y una parte variable. La parte común podría desarrollarse utilizando las técnicas de desarrollo tradicionales y la parte variable podría desarrollarse utilizando un DSL y es bajo este contexto que se pretende dar solución al problema plateado. El artículo se organiza de la siguiente forma: primero una pequeña descripción de la metodología utilizada y del problema, luego un estado del arte acerca de ingeniería dirigidas por modelos y lenguajes de dominio especifico para ubicar al lector en el contexto del trabajo, después se explicará mediante un caso práctico y enfocado al problema anteriormente descrito, como aplicar la ingeniería dirigida por modelos al contexto de los LMS, en éste sentido se utilizará metodológicamente para su desarrollo las etapas que define el proceso de despliegue de una solución bajo MDE (ver Figura 1), por ello se hablará acerca de la construcción de la herramienta KiwiDSM, la siguiente sección tratará la temática de el metamodelado con KiwiDSM, posteriormente se explicará el proceso de generación de código, después se hablará de las pruebas de despliegue realizadas, por último las conclusiones y referencias del trabajo.

2. Metodología Metodológicamente hablando se han contemplado las siguientes etapas: 1. Recopilación de información: Generar una base documental que soporte la elaboración de la investigación en las áreas de: estándares de representación de contenidos para plataformas virtuales de aprendizaje (LMS), estructura de plataformas LMS, modelamiento de plataformas LMS, ontología y construcción de un metamodelo LMS, construcción de DSLs basados en metamodelos. 2. Desarrollo y elaboración de la propuesta: Una vez realizada toda la base documental se procederá al desarrollo y elaboración de la propuesta en el siguiente orden: modelado y construcción de una ontología para LMS, generación de un metamodelo y un 68

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Carlos Enrique Montenegro Marín • Juan Manuel Cueva Lovelle • Óscar Sanjuán Martinez • Paulo Alonso Gaona García

DSL, asistido por ontologías, aplicación de MDA y transformaciones de modelos. 3. Despliegue de la propuesta: Construir varios módulos LMS empleando el DSL creado y aplicar transformaciones de modelos hasta obtener su despliegue en una plataforma LMS. 4. Pruebas del contenido: Probar el funcionamiento del contenido desplegado en la plataforma LMS previamente seleccionada. Se aclara que los resultados a esbozar en el presente artículo son los relacionados con el área de ingeniería dirigida por modelos en el contexto de los LMS.

3. Interoperabilidad entre plataformas LMS Autores como Grob y Moreno [1, 2] han identificado un problema de interoperabilidad entre plataformas LMS, si este problema no existiera se podría migrar un curso que está desplegado sobre la plataforma LMS-A a la plataforma LMS-B manteniendo todos sus contenidos y funcionalidades, pero esto no es posible ya que cada LMS está construido bajo un estándar diferente o si están bajo el mismo estándar cada una hace su propia interpretación. En este artículo se plantea la solución a este problema desde la perspectiva de los modelos, para ello se aumentará el nivel de abstracción para obtener un framework independiente de la plataforma, con el cual se pueda modelar un LMS para su posterior despliegue en una u otra plataforma especifica. Existen propuestas orientadas a trabajar éste problema con MDA como las de Grob, Moreno y Bizoòová [1-5] pero que no incluyen los módulos que componen a un LMS ni la utilización de un DSL, también existen otros planteamientos de solución como el de Muñoz [6] que se orientan a la utilización de servicios pero agrega el problema de la mantenibilidad de mas plataformas; en el presente estudio se propone una herramienta de lenguaje de dominio especifico, que empleando MDA desplegará módulos en una plataforma LMS especifica como es Atutor [24].

4. Ingeniería dirigida por modelos (MDE) La ingeniería dirigida por modelos surge como la respuesta de la ingeniería de software a la industrialización del desarrollo de software, MDA es la propuesta de la OMG (Object Management Group), que centra sus esfuerzos en reconocer, que la interoperabilidad es fundamental y el desarrollo de modelos permite el desarrollo de otros modelos que luego al ser juntados proveerían la solución a todo un sistema e independiza el desarrollo de las tecnologías empleadas [7]. MDA plantea que el artefacto que reúne los requisitos del sistema se llama el CIM (Modelo Independiente de la Computación), el resultado de modelar éste sistema es un PIM (Modelo Independiente de la Plataforma) que se hace a través de de un DSL construido previamente. Éste DSL genera a través de un proceso de transformación un PSM (Modelo Especifico de la Plataforma), que por ultimo a través de otra transformación se convierte en código desplegable ó ISM (Modelo Específico de Implementación), éste proceso se visualiza en la Figura 1.

4.1. Metamodelos INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

69


Desarrollo de un lenguaje de dominio específico para sistemas de gestión de aprendizaje y su herramienta de implementación “KiwiDSM”

Los metamodelos según Atkinson [8] son uno de los pilares de la ingeniería dirigida por modelos. Sin embargo, cuando se trabaja con modelos se suelen encontrar dificultades en la definición de los metamodelos por la gran variedad de representaciones posibles para los mismos y la ausencia de manuales que guíen su definición.

Modelo Independiente de la Computación (CIM)

Requerimientos del sistema

Modelodel sistema Modelo Independiente de la Plataforma (PIM)

Se hace con

Lenguaje de Dominio Específico (DSL)

4.1.1. Metamodelos y la arquitectura de metadatos

Proceso de transformación Modelo Específico de la Plataforma (PSM)

Un modelo es una abstracción de la realidad, que la presenta de una manera simplificada. Un metamodelo es un modelo que describe un Lenguaje de Modelado (LM), con el que se describen otros modelos. La noción de metamodelo se basa en la

Proceso de transformación Modelo Específico de Implementación (ISM)

Figura 1. Proceso de despliegue de una solución completa con MDE

arquitectura de metadatos que se muestra en la Figura 2, adoptada por el consorcio OMG en la especificación del Meta-Object Facility (MOF) [9]. Ésta figura muestra la diferencia entre información, modelos, metamodelos y meta-metamodelos. MOF nombra cada una de estas capas o niveles con los nombres M0, M1, M2 y M3 respectivamente. Es importante fijarse en que estos conceptos están en capas diferentes y poseen significados diferentes aunque usen la misma notación.

El nivel más alto es el nivel de los meta-metamodelos, M3. Algunos ejemplos de lenguajes en éste nivel son MOF [9] usado por OMG, ECore [10] usado por EMF (Eclipse Modeling Framework), y GOPRR (Grafo, Objeto, Propiedad, Relación, y Rol) [11]. Las instancias de los lenguajes de M3 son los metamodelos, que definen LMs y corresponden al nivel M2. Un ejemplo bien conocido de metamodelos es la definición de UML (Unified Modeling 70

INGENIERÍA

Capa M3 Meta-metamodelo

Modelo MOF

Metamodelo UML

Modelos Modelos Modelos UML Modelos UML UML UML

Metamodelo IDL “interfase” “interfase” “interfase” InterfacesIDL IDL “interfase” Interfaces Interfaces IDL Interfaces IDL

Capa M2 metamodelos

Capa M1 Modelos

Capa M0

Figura 2. Arquitectura de Metadatos en MOF

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Carlos Enrique Montenegro Marín • Juan Manuel Cueva Lovelle • Óscar Sanjuán Martinez • Paulo Alonso Gaona García

Language) [12]. Luego están los modelos que representan, por ejemplo, diseños de aplicaciones, estos son instancias de los metamodelos y constituyen el nivel M1, cualquier diseño concreto de una aplicación en UML podría servir como ejemplo. Por último se encuentra el nivel M0, que sería la implementación de los diseños, por decirlo en términos de programación orientada a objetos, en el nivel M0 se considerarían los objetos de las clases en ejecución y en el nivel M1 estarían las definiciones de las clases de objetos. Para éste trabajo todo lo que haga referencia a modelos se serializará en ficheros XMI (XML Metadata Interchange).

Meta-metamodelo ECORE-MOF

M3 Descrito por

Descrito por

M2

Metamodelo del lenguaje de transformación

Metamodelo A

usa Descrito por

M1

Modelo origen

Descrito por

Entrada

Metamodelo B usa

Descrito por

Instancia del modelo de transformación

Descrito por

Salida

Modelo destino

Ejecuta

Motor de transformaciones

Figura 3. Transformaciones entre modelos

4.1.2. XML Metadata Interchange (XMI)

El estándar de la OMG XMI [9] es una especificación basada en XML para compartir metadatos MDA. Actualmente XMI es la base para conseguir interoperabilidad entre herramientas de apoyo a MDA, una de las grandes ventajas de XMI es que sobre él se pude almacenar todos los modelos basados en MOF utilizando un mismo esquema. Sin embargo, tiene inconvenientes, como su complejo formato para ser comprendido por humanos o que muchas herramientas que trabajan con XMI no se ajustan a las especificaciones de la recomendación.

4.2. Transformaciones entre modelos (M2M) Una transformación de modelos significa convertir un modelo de entrada (o un conjunto de modelos) descritos por un determinado metamodelo, en otro modelo descrito por un segundo metamodelo, como se muestra en la Figura 3.

5. Lenguajes de dominio específico (DSL) Los DSL intercambian generalidad por expresividad en un dominio limitado. Ofrecen notaciones y construcciones orientadas a un dominio particular, presentando ganancias sustanciales en términos de expresividad y facilidad de uso en comparación con los GPL para el dominio en cuestión. Estas ganancias se corresponden en mejoras de la productividad y reducción de los costes de mantenimiento.

5.1. Tipos de DSL Los DSLs se pueden clasificar desde un punto de vista de la construcción del lenguaje en: INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

71


Desarrollo de un lenguaje de dominio específico para sistemas de gestión de aprendizaje y su herramienta de implementación “KiwiDSM”

• Internos: Utilizan un determinado lenguaje anfitrión para darle la apariencia de otro lenguaje concreto. Un ejemplo claro son lo que actualmente se conoce como Fluent Interfaces [13]. • Externos: Tiene su propia sintaxis y es necesario un parser para poder procesarlos. Un ejemplo claro de DSL externo es SQL (Structured Query Language). Desde el punto de vista del formato del lenguaje: • Textuales: La mayoría de los lenguajes informáticos son textuales y están formados por un conjunto ordenado de sentencias. Un ejemplo muy conocido de DSL textual es SQL utilizado para realizar consultas a una base de datos. Una forma de crear DSLs textuales es mediante la creación de una determinada gramática (por ejemplo utilizando EBNF - Extended Backus-Naur Form) y posteriormente crear o utilizar un parser para dicha gramática, que en etapas posteriores puede interpretar el DSL o generar código. • Gráficos: En los últimos años están ganando gran aceptación los lenguajes gráficos, podrían citarse como ejemplo UML. La creación de un lenguaje grafico es similar a la de un lenguaje textual, la única diferencia es que en lugar de usar texto para representar los conceptos, se utilizan conectores y figuras simples. Desde el punto de vista del dominio del problema: • Horizontales: Los DSL horizontales son aquellos en los que el cliente que utilizará el lenguaje no pertenece a ningún dominio específico. Un ejemplo son los editores visuales de entornos de desarrollo que permiten generar interfaces de usuario automáticamente (por ejemplo Windows Forms de visual Studio). • Vertical: A diferencia de los DSL horizontales, el cliente que utilizará el lenguaje pertenece al mismo dominio que el lenguaje en sí. Por ejemplo un lenguaje de definición de encuestas, los usuarios finales serían los expertos en estadística encargados de definir dichas encuestas.

5.2. Partes de un DSL Los lenguajes de dominio específico son el elemento principal de cualquier solución de dominio específico. El lenguaje se define como un metamodelo, una notación específica y generalmente una herramienta informática que lo soporta para facilitar la usabilidad. La idea básica es no utilizar conceptos de lenguajes de programación de propósito general. En su lugar, se utilizan conceptos y reglas de dominio. La sintaxis abstracta de un lenguaje especifica su estructura, es decir, las construcciones, propiedades y conectores que pueda tener dicho lenguaje. La sintaxis concreta es necesaria para especificar la notación específica con la que los usuarios del lenguaje podrán utilizarlos. Idealmente cada concepto del dominio y del lenguaje se mapearán a una representación en la notación especifica. Es importante reseñar que una misma sintaxis abstracta podría tener diferentes sintaxis concretas.

72

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Carlos Enrique Montenegro Marín • Juan Manuel Cueva Lovelle • Óscar Sanjuán Martinez • Paulo Alonso Gaona García

Como ya se ha puesto en contexto lo que es la ingeniería dirigida por modelos y los lenguajes de dominio especifico, en éste trabajo se construirá un DSL grafico. En el siguiente apartado se explicará el desarrollo de la propuesta.

6. Construcción de KiwiDSM 6.1. Meta-metamodelo El meta-metamodelo que se empleará será Ecore, éste se encuentra en el paquete org.eclipse.emf.ecore y es la especificación más alta que existe en la pirámide de los modelos (M3), sobre ella se construirá el metamodelo del proyecto, la especificación de Ecore se puede consultar en [14].

6.2. Metamodelo Para la utilización de Ecore en Eclipse es necesario tener instalado el plugin de EMF, éste plugin provee básicamente dos herramientas para construir un modelo basado en Ecore, una el Ecore Model que es un editor manual y funciona en un estilo de árbol de navegación para la creación del modelo basado en Ecore, la otra es el Ecore Diagram siendo éste un editor gráfico similar a las herramientas gráficas para la creación de diagramas de clases UML. Cualquiera de las dos forma que se utilice para crear el diagrama basado en Ecore, genera un fichero XMI[9].

Chat

Forum messageForum:EString

sendTextChat:EString

0..*

Announcement

Wiki

News newsBody:EString

wikiBody:EString

0..*

0..*

LMSModel_Has_Chat

0..*

0..*

LMSModel_Has_Announcement

LMSModel_Has_Wiki

LMSModel_Has_News

LMSModel_Has_Forum LMSModel

0..* LMSModel_Has_Note

Note messageNote:EString

LMSModel_Has_Communications

0..1 Module moduleName:EString

0..* Communications_Has_Module

Communications

Tools nameCourse:EString

Figura 4. Metamodelo para módulos de comunicaciones de un LMS.

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

73


Desarrollo de un lenguaje de dominio específico para sistemas de gestión de aprendizaje y su herramienta de implementación “KiwiDSM”

Para la construcción del metamodelo, se ha acotado el dominio únicamente a lo concerniente a los módulos de comunicaciones que tiene un LMS, por ello, ésta propuesta se basa en el metamodelo LMS planteado en el trabajo de Montenegro [15], éste metamodelo está construido sobre Ecore y se puede ver en la Figura 4. El metamodelo en esencia posee seis módulos llamados EClass en Ecore, que son: Forum, Chat, Wiki, Annoncement, News y Note, todos están relacionados con la EClass Module mediante herencia, ya que todos los módulos poseen el atributo moduleName. La razón para definir esta herencia fue para eliminar la gran variedad de conexiones que habían en la herramientas DSL por una sola que está representada por la relación entre las EClass Communications y Module, de ésta forma una Communications puede tener cero o muchos Module; ésta EClass Communications hereda de la EClass Tools y todas las EClass que se visualizarán en KiwiDSM están contenidas en la EClass LMSModel, ésta relación es obligatoria en todo metamodelo pues es quién representará el contenedor de EClasses, y allí será en donde se desplieguen los módulos a modelar o mejor dicho donde estarán contenidos. Es necesario aclarar que la EClass LMSModel solo almacenará cero o una EClass Communications, esto tiene sentido pues no puede haber más de un módulo Communications en un LMS, ya que éste a su vez almacena las herramientas de Communications tales como Forum, Chat, Wiki, Annoncement, News y Note. Por último cada EClass tiene sus propios atributos que la compone.

6.3. Construcción del editor para el modelo o DSL Como se está trabajando bajo eclipse, para ésta etapa se empleó EMF Tooling (Graphical Modeling Framework Tooling) que hace parte del proyecto GMP (Graphical Modeling Project)[16]. El proceso para la construcción del DSL gráfico se visualiza en la Figura 5; para mayor información para este tipo de herramientas el lector puede referirse a Budinsky [10] ó los tutoriales que ofrece su Web oficial [17]. Según el dashboard de la Figura 5, lo primero que se debe crear es el Domain Model, éste corresponde al metamodelo LMS descrito en la sección anterior. El siguiente paso es crear el Domain Gen Model, que es un modelo que permite transformar automáticamente el modelo Ecore a código fuente. El código se genera aplicando patrones de transformación. El resultado es un conjunto de clases Java, que serán utilizadas más adelante en la herramienta DSL.

Derive

Graphical Def Model <not specified> Select / Edit / Create

Derive

Domain Model <not specified>

Select / Edit / Create

Select / Edit / Create

Domain Gen Model <not specified> Select / Edit / Reload

Derive

Mapping Model <not specified>

Combine

Tooling Def Model <not specified> Select / Edit / Create

RPC Transform

Diagram Editor Gen Model <not specified> Select / Edit / Create Generate diagram editor

Figura 5. GMF Overview o dashboard. Tomado de T. E. Foundation [17]

74

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Carlos Enrique Montenegro Marín • Juan Manuel Cueva Lovelle • Óscar Sanjuán Martinez • Paulo Alonso Gaona García

Seguidamente, se crea el Graphical Def Model, éste es usado para definir las figuras, nodos, conexiones, etc. El resultado es un fichero con la siguiente estructura; un Canvas (lienzo) en la raíz con una galería de figuras base que contiene elementos de Rectángulos, Etiquetas y Conexiones de Polilineas. Estas son usadas por el correspondiente elemento Nodo, Etiqueta del diagrama y Conexión para representar los temas del Domain Model. El siguiente paso en el dashboard es el Tooling Def Model, éste es usado para especificar la paleta (Pallete) de herramientas de creación, acciones, etc, para los elementos gráficos. Allí existe un elemento en el nivel superior “Tool Registry”, en el que se encuentra la paleta. La paleta contiene un “Tools Group” con elementos de tipo “Creation Tool” para los nodos tema y conexiones para elementos de subtemas. El Mapping Model es el siguiente paso en el dashboard, el Mapping Model combina los tres modelos: el “Domain Model”, el “Graphical Def Model”, y el “Tooling Def Model”. El último paso es la creación del Diagram Editor Gen Model. El modelo generador establece las propiedades para la generación de código, similar al EMF Gen Model. A partir de éste modelo se obtiene un plugin para eclipse que contiene la herramienta DSM construida. La apariencia de la herramienta se muestra en la Figura 6. Palette nameChat messageChat

Communications nameForum messageForum

message Announcement

Announcement Chat Forum News

nameNews

Note

messageNews

Wiki Connection

* messageNote User@user.com nameWiki

messageNote

messageWiki

Figura 6. Apariencia de KiwiDSM

7. Modelado utilizando KiwiDSM En la sección anterior se describió como se creó la herramienta KiwiDSM para modelar módulos de un LMS, ahora se mostrará cómo utilizar dicha herramienta para poder obtener un modelo de ella. El diagrama que se obtenga como resultado de emplear el editor de KiwiDSM, tendrá asociado un fichero XMI [9] que basará su sintaxis en el metamodelo creado. El funcionamiento de la herramienta es muy sencillo, para crear los módulos basta con arrastrar los nodos de la “Pallete” al área de trabajo, rellenar los campos y conectarlos respetando las siguientes reglas:

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

75


Desarrollo de un lenguaje de dominio específico para sistemas de gestión de aprendizaje y su herramienta de implementación “KiwiDSM”

• Un curso solo puede tener un módulo de “Communications”, esto es validado por la herramienta. • El módulo de “Communications” tiene cero o muchos: “Announcements”, “Chat”, “Forum”, “News”, “Note”, y “Wiki”. • Cuando se genere el código a desplegar, aquellos nodos que estén sueltos (sin conexión) no serán tenidos en cuenta para la creación del curso. Es muy importante tener en cuenta que los elementos modelados con ésta herramienta se desplegarán en un solo tema del curso, con lo cual es necesario considerar los nombres de los campos en cada elemento (Nodo o Módulo) como genéricos, para no tener que cambiar el modelo cada vez que se despliegue sobre el curso. En la Figura 7 se puede visualizar un ejemplo, esta figura también muestra la relación de cada nodo y con el código XMI que genera la herramienta. Algunas observaciones a tener en cuenta en el modelado son: • Para enviar una “Note” a todos los inscritos en un curso, el primer campo debe estar marcado con asterisco (“*”). • Para enviar una “Note” a un solo inscrito en un curso, en el primer campo debe ir el correo completo con el que la persona se inscribió en la plataforma virtual. Si éste correo no corresponde con el de la persona el mensaje no será enviado. • Todos los campos en los nodos deben estar diligenciados, pues aquellos campos en los cuales el usuario no ponga información serán tomados en blanco y la herramienta no procesará esos nodos. • Todos los campos aparecen con información por defecto pero ésta información solo es de carácter orientativo, no implica información en los nodos. nameChat

platform:/resorce/DslLmdNew/default.upmodelo

messageChat

LMS Model Communications nameForum

Forum nameForum

messageForum

Chat nameChat

message Announcement

Wiki nameWiki Announcement messageAnnouncement nameNews

News NameNews

messageNews

Note*

* messageNote User@user.com nameWiki

messageNote

messageWiki

Figura 7. Modelo generado con KiwiDSM y su correspondencia con XMI.

Connection

76

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Carlos Enrique Montenegro Marín • Juan Manuel Cueva Lovelle • Óscar Sanjuán Martinez • Paulo Alonso Gaona García

En resumen, hasta el momento se ha hablado de cómo se creó KiwiDSM (M1), basada en un metamodelo generado (M2) y que a su vez se estructura sobre el meta-meta modelo Ecore (M3), el siguiente paso es convertir éste nuevo modelo que se obtuvo con KiwiDSM y hacerle una transformación a código (M0), ésta idea se explicará en la siguiente sección.

8. Proceso de generación de código a partir del modelo hecho con KiwiDSM En éste último paso, existen varias tecnologías que se integran a Eclipse, como son Acceleo [18], Jet [19], Xpand [20] y MOFScript [21], todas emplean el mismo principio, la creación de reglas de transformación basándose en un metamodelo. Estas reglas serán aplicadas al modelo, para generar código en el lenguaje deseado, éste tipo de tecnologías reciben el nombre M2T o Model to Text. Para éste caso se empleará MOFScript [21]. MOFScript es un lenguaje basado en reglas, presentado por la OMG, para realizar transformaciones de modelo a texto (M2T). Se puede instalar como un plugin de Eclipse y su uso no es complicado de entender. El lector puede referirse al manual para el uso de MOFScript aportado por Oldevik [22]. Para poder comprender el contenido del fichero MOFScript es necesario entender cómo se desarrolla un módulo para la plataformas LMS Atutor, cuya guía se encuentra en su web oficial [23, 24]. Los detalles de este tema están por fuera del alcance de este artículo. Para transformar el modelo que se obtiene con KiwiDSM es necesario considerar que este modelo estará basado en el metamodelo LMS construido anteriormente. Lo primero que se debe hacer es definir el modelo de entrada a las plantillas MOFScript, para ello se debe declarar la transformación con texttransformation darle un nombre a la trasformación y enviarle como parámetro de entrada el nombre del metamodelo con extensión Ecore, para éste caso upmodelo, también se debe dar un nombre al modelo enviado, para éste caso se llamo mlms. Lo anterior se puede visualizar el siguiente fragmento de código Figura 8. texttransformation modellmsTransformationAtutor (in mlms:”upmodelo”) {//Cuerpo de la transformación} Figura 8. Declaración de una transformación en MOFScript.

La funciona principal o punto de partida para las transformaciones en MOFScript están contendidas en la función “main()” Finalmente aplicando las tecnologías de transformación sobre el modelo creado se obtiene el código en el formato definido para su despliegue sobre la plataforma seleccionada Atutor. El proyecto completo está disponible para su descarga en http://www.vicegd.com/KiwiDSMCode.rar.

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

77


Desarrollo de un lenguaje de dominio específico para sistemas de gestión de aprendizaje y su herramienta de implementación “KiwiDSM”

9. Pruebas de despliegue El objetivo de esta sección es validar el metamodelo planteado así como comprobar la validez de la siguiente hipótesis “al trabajar con MDA (Model Driven Architecture) el tiempo y esfuerzo en la generación de soluciones se reducen”. Las pruebas medirán el tiempo y esfuerzo (usabilidad) de los usuarios para crear exactamente los mismos módulos en Atutor y KiwiDSM; el esfuerzo será medido, de acuerdo a la definición de Yamada [25], como la “cantidad de ocasiones en las que usuario selecciona o ingresa algún tipo de información al sistema”. Cada uno de los usuario creará 5 temas y cada uno de los temas tendrá en éste orden: 1 Chat, 1 Forum, 1 Wiki, 1 Announcement, 1 News y 1 Note a todas las personas inscritas en ese curso, la información de cada módulo será la misma en todos los casos y los valores son normalizados con respecto al mayor, las pruebas se aplicaron a un total de 16 personas con conocimientos básicos en el uso de Atutor. Las mediciones se realizaron tanto a la plataforma Atutor como a KiwiDSM y abarcaron: tiempo y esfuerzo en la creación de cada herramienta por tema, tiempo y esfuerzo en la creación de todas las herramientas que conforman un tema, tiempo y esfuerzo total en la creación de los cinco temas acompañados de sus herramientas. En las pruebas se ha considerado que el envío de las notas (mensajes) a los inscritos en el curso son una herramienta del tema. Para poder comparar las mediciones se hizo necesario que todos los módulos fueran creados en el mismo orden para los dos sistemas. La Figura 9 muestra los tiempos promedio normalizados al mayor (el mayor tiempo para éste caso es el tiempo total de crear todos los temas con sus módulos en Atutor) por tema, allí se ve que la diferencia al final de crear el primer tema, es tan solo de 7.65% más tiempo, en crear los módulos en KiwiDSM que en Atutor, pero ésta diferencia cambia a partir del segundo tema en adelante, logrando reducir hasta en un 58.87% los tiempos; también se observa que los tiempos para la creación de módulos en Atutor crecen más rápido que con la herramienta KiwiDSM.

Figura 9. Comparación de tiempos entre la creación de módulos usando la plataforma Atutor Vs la creación de módulos con la herramienta KiwiDSM.

78

INGENIERÍA

La Figura 10 muestra un comportamiento muy similar pero midiendo el esfuerzo promedio normalizado al mayor (el mayor esfuerzo para éste caso se obtiene en la creación de todos los módulos para el primer tema con KiwiDSM y despliegue sobre Atutor), allí la diferencia al final de crear el primer tema, es de 17.98% menos esfuerzo con Atutor que con la herramienta KiwiDSM, pero desde el segundo tema en adelante, el esfuerzo en la creación de módulos con la herramienta KiwiDSM, es por lo menos 71.16% menor que al hacerlo en Atutor.

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Carlos Enrique Montenegro Marín • Juan Manuel Cueva Lovelle • Óscar Sanjuán Martinez • Paulo Alonso Gaona García

Las Figuras 11 y 12 muestran el tiempo promedio total y esfuerzo total normalizados al mayor valor (que para éste caso se obtienen al crear todos los temas con sus módulos en Atutor), en la creación de 5 temas cada uno con sus respectivos módulos, y se concluye que la creación de módulos con la herramienta KiwiDSM, es por lo menos 58.87% más eficiente que al hacerlo en Atutor. Los resultados de estas pruebas evidencian que al trabajar con modelos se disminuye el tiempo y el esfuerzo del usuario durante la creación de módulos para una plataforma LMS, caso particular, Atutor. Igualmente de esta manera se verifica el funcionamiento del metamodelo, ya que no se genero ningún fallo en la creación de los módulos con la herramienta DSL, que tiene como base fundamental el metamodelo LMS planteado.

Figura 10. Comparación de usabilidad (esfuerzo) entre la creación de módulos usando la plataforma Atutor y la creación de módulos usando la herramienta KiwiDSM.

10. Conclusiones Se ha descrito una herramienta DSL que se basa en un metamodelo LMS; la herramienta funciona para la creación de módulos independientes de la plataforma y solo cubre algunos módulos de comunicaciones. Las pruebas a la herramienta han demostrado que los tiempos y esfuerzos necesarios en la creación de diversos módulos en una plataforma LMS se minimizan en más del 50% y que este rendimiento mejora a medida que se utiliza más la plataforma. El siguiente paso es probar con mas módulos y distintas plataformas, y comprobar si éste comportamiento se mantiene. INGENIERÍA

Figura 11. Comparación de tiempo total en la creación de módulos usando la plataforma Atutor Vs la herramienta KiwiDSM.

Figura 12. Comparación de usabilidad (esfuerzo) total en la creación de módulos usando la plataforma Atutor Vs la herramienta KiwiDSM.

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

79


Desarrollo de un lenguaje de dominio específico para sistemas de gestión de aprendizaje y su herramienta de implementación “KiwiDSM”

El metamodelo planteado es acorde al LMS trabajado y su validez se soporta en el correcto despliegue del modelo creado con KiwiDSM. Dicho metamodelo podría extenderse para integrar más módulos y plataformas LMS. De igual forma es posible que, a partir de la definición de este metamodelo, se plantee un proceso inverso en el cual los módulos que ya estén creados en un LMS específico se conviertan a instancias del metamodelo y de esta forma establecer un mecanismo de transformación a cualquier otra plataforma LMS. En esta propuesta se han explorado los niveles M0, M1, M2 y M3 planeados en la ingeniería dirigida por modelos (MDE). El metamodelo LMS construido representa el nivel M2, el meta-metamodelo Ecore es el nivel M3, el resultado de modelar los módulos con KiwiDSM representa al nivel M1 y finalmente, las conversiones y despliegue de esos módulos construidos en Atutor representan el nivel M0. El alcance de esta propuesta se limitó a la utilización de MDE para crear un modelo independiente de la plataforma y lograr un despliegue real de este sobre una plataforma LMS. Finalmente, respecto al diseño de la herramienta DSL, mediante la aplicación del patrón Fabrica Abstracta se solucionó el inconveniente de mantener muchos conectores para un mismo módulo. Se deja abierta la posibilidad de plantear otros mecanismos que se apoyen en los patrones de diseño orientados por objetos, aplicables a este tipo de situaciones en ingeniería de metamodelos.

11. Referencias bibliográficas [1] Grob, H. L. et al. (2010). eleed - Model Driven Architecture (MDA): Integration and Model Reuse for Open Source eLearning Platforms, FernUniversität Hagen, CampusSource Muenster, Germany. [2]

Moreno, N. y Romero, J. R. (2005). Recent Research Developments in Learning Technologies, en: The A MDA-based framework for building interoperable e-learning platforms, Badajoz, Spain.

[3]

Bizoòová, Z. et al. (2007). Model Driven E-Learning Platform Integration, en: 2nd European Conference on Technology Enhanced Learning EC-TEL PROLEARN 2007 Doctoral Consortium, Crete, Greece. 8-14.

[4]

Bizonova, Z. y Ranc, D. (2007). Model Driven LMS Platform Integration, en: Telecommunications, 2007. AICT 2007. The Third Advanced International Conference. 25-25.

[5]

Bizonova, Z. y Ranc, D (2008). Interoperability and Reuse Between Systems in eLearning, en: World Conference on Educational Multimedia, Hypermedia and Telecommunications 2008, Vienna, Austria. 1700-1705.

[6]

Muñoz-Merino, P. J. et al. (2009). Enabling interoperability for LMS educational services, en: Computer Standards & Interfaces, Vol. 31. 484498.

[7]

Stephen, J. M. et al. (2004). MDA Distilled: Principles of Model-Driven Architecture, Addison Wesley.

[8]

Atkinson, C. y Kuhne, T. (2003). Model-driven development: a metamodeling foundation, en: Software, IEEE, Vol. 20. 36-41.

[9]

OMG. (2007). MOF 2.0/XMI Mapping, Version 2.1.1, ed: Object Management Group. 120.

[10] Budinsky, F. et al. (2009). EMF: Eclipse Modeling Framework: Addison-Wesley. [11] Tolvanen, J. P. et al. (1993). An integrated model for information systems modeling, en: System Sciences, 1993, Proceeding of the TwentySixth Hawaii International Conference. Vol.3. 470-479 [12] OMG. (1999). OMG Unified Modeling Language Specification, Version 1.3, ed: Object Management Group. 808. [13] Freeman, S. y Pryce, N. (2006). Evolving an embedded domain-specific language in Java, en: Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications, Portland, Oregon, USA. [14] I. C. a. others. (2010). Package org.eclipse.emf.ecore. Consultado: http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/ emf/ecore/package-summary.html (5 de Septiembre, 2010). [15] Montenegro, C. et al. (2011). Generation of metamodel in ecore with start point in an ontology for learning management systems (lms), Journal of Web Engineering, (en prensa).

80

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Carlos Enrique Montenegro Marín • Juan Manuel Cueva Lovelle • Óscar Sanjuán Martinez • Paulo Alonso Gaona García

[16] T. E. Foundation. (2010). Graphical Modeling Project (GMP). Consultado: http://www.eclipse.org/modeling/gmp/ (2 de diciembre, 2010). [17] T. E. Foundation. (2011). GMF Tutorial. Consultado: http://wiki.eclipse.org/GMF_Tutorial. (6 de Agosto, 2010) [18] Obeo. (2010). Acceleo. Consultado: http://www.eclipse.org/acceleo/. (1 de Septiembre, 2010). [19] T. E. Foundation. (2010). M2T-JET. Consultado: http://wiki.eclipse.org/M2T-JET. (5 de Septiembre, 2010) [20] T. E. Foundation. (2010). XPand. Consultado: http://wiki.eclipse.org/Xpand. (5 de Septiembre, 2010). [21] T. E. Foundation. (2010). MOFScript Consultado: http://www.eclipse.org/gmt/mofscript/. (2 de Septiembre, 2010) [22] Oldevik, J.. (2010). MOFScript User Guide Version 0.8 (MOFScript v 1.3.6), 2009. Consultado: http://www.eclipse.org/gmt/mofscript/doc/ . (5 de Septiembre, 2010) [23] ATutor. (2010). Module Development Documentation. Consultado: http://atutor.ca/development/documentation/modules.html#structure. (5 de Septiembre, 2010) [24] ATutor. (2010). ATutor Learning Managment Tools. Consultado: http://atutor.ca/ (5 de Septiembre, 2010) [25] Yamada, S. et al. (1993). Software-reliability growth with a Weibull test-effort: a model and application, Reliability, IEEE Transactions on, Vol. 42.100-106.

Carlos Enrique Montenegro Marín Ingeniero de Sistemas de la Universidad Distrital Francisco José de Caldas, de Bogotá, Colombia. Obtuvo su título de Maestría en Ciencias de la información y las comunicaciones en la Universidad Distrital Francisco José de Caldas de Bogotá, Colombia. Es estudiante del Doctorado en sistemas y servicios informáticos para internet en la Universidad de Oviedo, de Oviedo, España. Actualmente se desempeña como profesor de la Facultad de Ingeniería en la Universidad Distrital Francisco José de Caldas, de Bogotá, Colombia, y pertenece como investigador al grupo GIIRA donde realiza estudios sobre Ingeniería Dirigida por Modelos MDE.

Juan Manuel Cueva Lovelle Ingeniero Superior E.T.S.I. de Minas de Oviedo de, Oviedo, España. Obtuvo su PhD. en ingeniería en la Universidad Politécnica de Madrid, España. Catedrático de Escuela Universitaria de Lenguajes y Sistemas Informáticos de la Universidad de Oviedo (España). Director de la Escuela Universitaria de Ingeniería Técnica en Informática de Oviedo (Universidad de Oviedo) desde Julio-1996 a Julio-2004. Socio de ATI y miembro con voto de ACM e IEEE. Sus áreas de investigación son Tecnologías Orientadas a Objetos, Procesadores de Lenguaje, Interacción PersonaOrdenador e Ingeniería Web. Ha dirigido varios proyectos de Investigación y tesis doctorales en Ingeniería Informática. Es autor de libros, artículos y comunicaciones a congresos. Coordina el laboratorio de investigación de Tecnologías Orientadas a Objetos del departamento de Informática de la Universidad de Oviedo (www.ootlab.uniovi.es).

Óscar Sanjuán Martínez Ingeniero Informático de la Universidad Pontificia de Salamanca, España. Obtuvo su título de PhD. en Ingeniería Informática en la Universidad la Universidad Pontificia de Salamanca, España. Se ha desempeñó en el sector empresarial de la informática a nivel mundial, ha sido catedrático en el área de informática en la Universidad la Universidad Pontificia de Salamanca y la Universidad de Oviedo, España, también ha sido profesor invitado en varias universidad a nivel mundial. Actualmente se desempeña como profesor e investigador en el departamento de informática de la universidad de Oviedo, España.

Paulo Alonso Gaona García Ingeniero de Sistemas de la Universidad Distrital Francisco José de Caldas, de Bogotá, Colombia. Obtuvo su título de Maestría en Ciencias de la información y las comunicaciones en la Universidad Distrital Francisco José de Caldas de Bogotá, Colombia. Es estudiante del Doctorado en Informática de la Universidad Pontificia de Salamanca, España. Actualmente se desempeña como profesor de la facultad de Ingeniería en la Universidad Distrital Francisco José de Caldas, de Bogotá, Colombia, y es director del grupo de investigación GIIRA.

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

81


Citación: Ramírez, O.L., y Torres, J.A. (2010). Modelo de dimensionamiento del servicio web hosting dirigido a proveedores de la pequeña y mediana empresa colombiana. En: Ingeniería, Vol. 15, No. 2, Pág. 82 - 95

Modelo de dimensionamiento del servicio web hosting dirigido a proveedores de la pequeña y mediana empresa colombiana A capacity planning model for web hosting providers serving small- and medium-scale businesses in Colombia Olga Lucía Ramírez Calero Universidad Distrital Francisco José de Caldas Facultad de Ingeniería olga.lucia.ramirez@gmail.com

Jairo Humberto Torres Acosta Universidad Distrital Francisco José de Caldas Facultad de Ingeniería jatorres@udistrital.edu.co

Resumen La administración y dimensionamiento de recursos de infraestructura de un servicio web hosting, que consiste en proveer alojamiento para que una página web funcione correctamente [21], se realiza con un alto costo en servidores de elevado tamaño y disponibilidad, mediante el monitoreo de indicadores del nivel de ocupación de la capacidad que establecen reactivamente necesidades de modificación de la misma, o de otra forma, mediante una infraestructura redundante que significa incrementar el número de componentes para garantizar la disponibilidad del servicio. En un servicio dirigido a pequeñas y medianas empresas, se requiere cumplir ciertos niveles de disponibilidad a bajo costo. El presente artículo contiene los resultados de una investigación acerca del diseño, desarrollo y validación de un modelo de optimización de capacidades para el dimensionamiento y selección de la mejor combinación de recursos de infraestructura (servidor, disco duro, memoria RAM y procesador) en el servicio web hosting dirigido a PYMES colombianas. Palabras clave: Capacidades, dimensionamiento, investigación de operaciones, minería de datos, optimización, PYME, web hosting.

Abstract Infrastructure resource management and capacity planning of a web hosting service, which consists on assigning shared resources of a computer server to run multiple websites [21], are achieved at a high cost in terms of large-scale high-availability servers. This is carried out by monitoring capacity indicators that reactively establish the capacity needs, or else, by using redundant IT infrastructure, which implies increasing the number of hardware components to ensure service availability. When providing services intended for small- and mediumscale businesses, it is necessary to meet certain availability requirements at low cost. This paper presents research results on the design, development and validation of a capacity optimization model that allows sizing and selecting the best combination of server infrastructure resources (hard disk, RAM and processor) in a web hosting service, intended for small- and medium-scale businesses in Colombia. Key words: Capacity, data mining, operations, research, SBM, sizing, web hosting. 82

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Olga Lucía Ramírez Calero • Jairo Humberto Torres Acosta

1 Introducción La pequeña y mediana empresa (PYME) colombiana genera un impacto significativo en el dinamismo de su economía [11], lo cual unido al actual auge de los mercados electrónicos, hacen patente la necesidad de ofrecer sus servicios a través de Internet. No obstante, las PYMES colombianas presentan acceso limitado a las Tecnologías de Información y Comunicación (TIC), como lo indican algunos estudios [6][12], dificultando así su participación en el mercado virtual de forma competitiva. La publicación de tales servicios requiere del diseño y puesta en marcha de una página Web y de la adquisición de un servicio de web hosting, el cual ha experimentado crecimientos del 10% en el año 2009 y del 9,1% en el 2010 situándose en 420 millones de euros, con una tendencia a la alza que permite estimar un incremento del mercado del 13% para el año 2011 [13]. Pese al crecimiento del servicio web hosting, se presentan en Colombia debilidades en su oferta debido principalmente a la inestabilidad de los proveedores y el sobredimensionamiento de la capacidad de recursos necesarios, lo que implica incurrir en altos costos de infraestructura tecnológica, o el sub-dimensionamiento que, en un sentido más amplio, implica baja cobertura, baja disponibilidad e insatisfacción del cliente [8][17][21]. La revisión sobre el estado del arte de trabajos relacionados con modelos de capacidad de recursos tecnológicos [1] [3] [5] [10] [15] [16] [17] [18][22] [23] [26][27], no evidenció un tratamiento específico de modelos matemáticos para optimización de la combinación de recursos e infraestructura tecnológica para garantizar la disponibilidad del servicio web hosting en los niveles acordados con el cliente. Actualmente, el dimensionamiento de la infraestructura tecnológica, se realiza mediante el monitoreo y seguimiento a indicadores sobre disponibilidad del servicio, que señalan el nivel de utilización de la capacidad y sus necesidades de su ampliación. En nuestra opinión se requiere trascender de la administración basada en el seguimiento de indicadores reactivos, hacia una gestión con base en planeación preventiva [9]. El principal objetivo de esta investigación consiste en el diseño, desarrollo y validación de un modelo matemático basado en análisis de capacidades, para optimizar o por lo menos definir eficazmente y de manera anticipada el dimensionamiento y selección de la mejor combinación de recursos de infraestructura tecnológica, de manera que se pueda satisfacer la demanda de alojamiento y procesamiento de solicitudes de visitas a las páginas Web, en el servicio web hosting dirigido a las PYMES colombianas. Los parámetros para el dimensionamiento se delimitaron en torno a recursos de infraestructura de servidor, disco duro, memoria RAM y procesador. El articulo presenta una breve descripción del servicio web hosting y de las herramientas utilizadas para la administración de la capacidad. Continúa con un resumen del análisis de capacidades. Luego expone la metodología de desarrollo y validación del modelo matemático, los resultados y las conclusiones.

2 Marco teórico 2.1 Servicio web hosting El servicio web hosting, debe proporcionar disponibilidad durante las 24 horas del día, capacidad para abastecer la demanda de solicitudes de visita a las páginas Web alojadas, una conexión rápida a internet y un espacio para almacenamiento de información que sea flexible a las necesidades de crecimiento. INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

83


Modelo de dimensionamiento del servicio web hosting dirigido a proveedores de la pequeña y mediana empresa colombiana

En el caso de las PYMES colombianas se utiliza principalmente el servicio sharedhosting, hosting de tipo compartido, que consiste en alojar clientes de varios sitios en un mismo servidor, de forma económica y con adecuado rendimiento [3] [9]. Entre los principales recursos de infraestructura que componen el hardware de un servicio sharedwebhosting se encuentran el servidor, el disco duro, la memoria RAM, el procesador y la red con sus componentes como repetidores, switches, bridges, routers y fierwalls [5] [15] [16] [27]. En la actualidad, éstos recursos de infraestructura, son administrados mediante los mecanismos explicados a continuación, los cuales no se consideran dentro del desarrollo del modelo de dimensionamiento objeto del presente artículo, debido a que su instalación implica elevados costos para aumentar el número de componentes o una gestión reactiva ante necesidades de ampliación o reducción de capacidad [1] [16] [17] [18] [22] [27]: • Redundancia: Aumentar o duplicar el número de componentes de hardware de la infraestructura. Incrementa de manera significativa los costos y gastos de la operación [6][10]. • Monitoreo de los niveles de servicio: Medición de los niveles a través de indicadores y señales de alerta que establecen reactivamente necesidades de ampliación o reducción de capacidad [6][16] [17] [18][22] [27]: • Arquitectura de múltiples capas: Infraestructura en la que los requerimientos hechos por estaciones de trabajo, son transmitidos a servidores que se ocupan del desarrollo de una actividad específica correspondiente a cada una de las capas del modelo [6] [9] [19] [21] [22] [27]. • Esquema de failover y clúster: Instalación de servidores duplicados funcionando como pares redundantes, que actúan automáticamente en caso de falla de los principales [1] [6] [9][16] [17] [18] [19] [21][22][27].

2.2 Análisis de capacidades El desarrollo del modelo matemático se aborda desde la perspectiva de la teoría de análisis y programación de capacidades de los medios de trabajo, que permite el diseño de modelos de optimización para la planeación de la capacidad en sistemas productivos. El modelo presentado aquí es una transferencia del dominio de capacidades en sistemas productivos al de capacidades de infraestructura en las Tecnologías de la Información y de la Comunicación (TIC), lo cual es el principal aporte del estudio. La capacidad se define como la cantidad de producto o servicio que puede ser obtenido por una determinada unidad productiva, durante un cierto periodo de tiempo [7] [20]. Se destacan los siguientes tipos de capacidad: • Capacidad instalada (Ci): Capacidad máxima de producción prevista con la construcción de máquinas, instalaciones y equipos, disminuida por las necesidades de mantenimiento y funcionamiento normal del medio de trabajo. • Capacidad disponible (Cd): Capacidad instalada disminuida por los días no laborales del año, horas perdidas por ausentismos, organizacionales y por factores de fuerza mayor. • Capacidad necesaria (Cn): Nivel de capacidad requerida en un periodo de tiempo. 84

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Olga Lucía Ramírez Calero • Jairo Humberto Torres Acosta

Para el desarrollo del modelo, se tuvo en consideración el concepto de capacidad disponible (Cd) para calcular el número máximo de kilobytes que puede procesar un tipo de recurso de infraestructura, enmarcado en el contexto de programación lineal, la cual permite describir y optimizar una función objetivo sujeta a unas restricciones, asignando de la mejor manera posible recursos limitados entre actividades competitivas [7] [14].

3. Metodología La metodología de la investigación presentada en este artículo, parte de la elaboración de una propuesta del modelo matemático, continúa con la validación del mismo mediante el análisis de datos de entrada y la estimación de parámetros, la solución y el análisis de datos salida, y finaliza con ajustes y calibraciones al modelo. Como parte de la metodología y aporte a la comprensión del problema, la Figura 1 presenta el contexto del servicio web hosting, restricciones, variables de decisión, parámetros y proceso necesarios para la elaboración del modelo.

4. Desarrollo del modelo matemático 4.1 Planteamiento La solución del problema busca determinar el número mínimo de recursos de infraestructura tipo servidor, disco duro, memoria RAM y procesador, necesario para abastecer la demanda de alojamiento y solicitudes de visita a páginas Web de los proveedores de servicios web hosting dirigido a PYMES colombianas. Se definieron un máximo de 32 unidades de procesamiento o núcleos de procesador por servidor, 4 GB de memoria y 8 discos duros de 500 GB. El tamaño de red o ancho de banda se considera un parámetro constante y se asume que el recurso de infraestructura no podrá procesar una mayor cantidad de kilobytes de los que puede procesar la red. Para el cálculo de la demanda, se da como supuesto que el conjunto de proveedores utilizados en la muestra para validación del modelo, desea alcanzar un porcentaje del 0,05% de participación en el mercado colombiano de alojamiento de páginas Web para PYMES. La capacidad disponible de los recursos se reduce como resultado del almacenamiento y operación normal del sistema operativo y de la ejecución de tareas y aplicaciones básicas del servidor. La capacidad disponible del procesador se reduce en un 2%, la de la memoria RAM en 500 MB y la del disco duro en 20 GB. El modelo considera máximo cinco (5) tipos diferentes de combinaciones de recursos de infraestructura, es decir, máximo cinco (5) tipos diferentes de servidores, con su(s) respectivo(s) disco(s) duro(s), memoria RAM y procesador(es). Cada combinación se realiza basada en el siguiente supuesto: el servidor tipo 1 (j=1) está conformado por los recursos de infraestructura j con estándar k tipo 1, el servidor tipo 2 (j=2) está conformado por los recursos de infraestructura j con estándar k tipo 2, y así sucesivamente hasta el servidor tipo 5 (j=5).

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

85


Modelo de dimensionamiento del servicio web hosting dirigido a proveedores de la pequeña y mediana empresa colombiana

4.2 Desarrollo del modelo Se diseñó un modelo de optimización que utiliza como técnica base la programación lineal entera y binaria, con una función objetivo que minimiza el número de recursos de infraestructura necesarios para abastecer la demanda de alojamiento y solicitudes de visita a las páginas Web, entendiéndose que al minimizar el número de recursos de infraestructura necesarios, se reducen sustancialmente los costos de procesamiento, debido que es menor la inversión en máquinas, mantenimiento, instalaciones y energía. Según lo observado en el contexto del modelo presentado en la Figura 1, el servicio web hosting contiene elementos cuya magnitud se busca conocer para hallar la solución óptima del problema (variables de decisión), elementos que caracterizan el costo, el beneficio o el ritmo al cual se consume un recurso (parámetros), limitaciones que restringen el cumplimiento del objetivo (restricciones) y un objetivo claramente definido que corresponde al interés principal del decisor (función objetivo).

Figura 1. Contexto del servicio web hosting para el desarrollo del modelo matemático.

Un aporte complementario de este estudio y el punto de partida para el planteamiento del modelo, es la definición de una regla para el cálculo de capacidad disponible de los recursos de infraestructura tecnológica, como se describe en la siguiente sección. 4.2.1 Capacidad disponible

Considerando que el servicio web hosting opera de manera automatizada a través de máquinas o recursos de infraestructura, para el cálculo de la capacidad se tuvo en cuenta el número de kilobytes que puede procesar y/o almacenar el recurso tipo j, reducidos por el porcentaje de tiempo requerido para el mantenimiento preventivo de las máquinas y el porcentaje de tiempo que el servicio no se encuentra disponible por otros factores diferentes a mantenimiento preventivo (protocol status), es decir, Cdisjk = [ KBjk * P * 1 ( 1-uj ) - gjk ]

(1)

Donde: 86

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Olga Lucía Ramírez Calero • Jairo Humberto Torres Acosta

KBjk = Número máximo de kilobytes que puede procesar el recurso de infraestructura tipo j, con el estándar de tamaño tipo k. P = Porcentaje de solicitudes que no han sido rechazadas por el servidor. En consecuencia, el parámetro protocol status corresponde al número de solicitudes que han sido rechazadas por el servidor. gjk = Consumo normal del recurso tipo j con el estándar tipo k (en kilobytes), que reduce la capacidad disponible como resultado de la operación normal del sistema operativo y de la ejecución de tareas básicas del procesador. uj: Porcentaje de tiempo necesario para mantenimiento preventivo del recurso de infraestructura tipo j. Obsérvese que para todo el modelo: j = 1,2,3,4 (Tipo de recurso de infraestructura: 1. Disco duro, 2. Memoria RAM, 3. Procesador, 4. Servidor). k = 1,2,…,s (Tamaño del recurso en unidades de kilobytes). 4.2.2 Forma general del modelo ñ

s

ΣΣ X

Optimizar f (Xj,k; j = 1,2,...,n;k = 1,2...,s) = Min

jk

j=1

(2)

k=1

Sujeto a: m

s

Σ

Cdisp 1k * X1k -

k=1

Σ a *Y 1

≥ 0

1

(3)

i=1

m

s

Σ

Cdisp jk * Xjk -

k=1

Σ b *D *Y ij

1

1

≥ 0

W1 ≤ Y1 m

n

(5)

ΣΣ b * D * Y ≤ Σ h *X i=1

(4)

i=1

j=1

s

ij

1

1

k

4k

* Zk

(6)

k=1

s

Σ Z =1 k

(7)

k=1 s

Σ X ≥1

(8)

Cdisp 1k * X1k ≤ 8 * 500 Mb * X4k

(9)

jk

k=1

Cdisp 2k * X2k ≤ 500 Mb * X4k

(10)

Cdisp 3k * X3k ≤ 32 * Cdisp 3k * X4k

(11)

Xjk ≥ X4k INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

(12) 87


Modelo de dimensionamiento del servicio web hosting dirigido a proveedores de la pequeña y mediana empresa colombiana

n

Σ u *X j

jk

≤ Tmanj

j=1

(13)

Xjk , Yi ≥ 0

(14)

Xjk , Yi Enteras

(15)

Zk = 0 ó 1

(16)

Cada una de las restricciones corresponde a: (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16)

Capacidad de almacenamiento en el disco duro. Capacidad de procesamiento y almacenamiento en la memoria RAM. Demanda del número de páginas web. El número de kilobytes procesados por solicitud de acceso, debe ser menor al ancho de banda. Solamente se puede seleccionar un tipo de ancho de banda. Se debe seleccionar al menos un recurso de infraestructura tipo j con el estándar de tamaño k. Solamente se permiten ocho (8) discos duros de 500 Mb por servidor. Solamente se permiten 500 Mb de memoria RAM por servidor. Solamente se permiten 32 unidades o núcleos de procesamiento por servidor. Debe seleccionarse al menos un recurso de infraestructura j tipo k, por cada servidor tipo k que sea seleccionado. Tiempo máximo permitido para mantenimiento del recurso tipo j. No negatividad de las variables. Variables enteras. Variable binaria.

Se asumieron los siguientes subíndices para los parámetros y variables: j = 1,2,3,4 (Tipo de recurso de infraestructura: 1. Disco duro, 2. Memoria RAM, 3. Procesador, 4. Servidor). A

k = 1,2,…,s (Tamaño del recurso en unidades de kilobytes).

A

i = 1,2,…,m (Tipo de conjuntos de páginas Web alojadas en el servicio web hosting, obtenido a partir de la segmentación del comportamiento de visitas a las mismas. Para mayor detalle, ver la sección 5). A

4.2.3 Parámetros

h: Ancho de banda. Di: Número de solicitudes de acceso a la página Web tipo i. Wi: Demanda mínima de páginas Web alojadas en el hosting por unidad de tiempo. 88

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Olga Lucía Ramírez Calero • Jairo Humberto Torres Acosta

ai: Número de kilobytes usados del disco duro por página Web tipo i por unidad de tiempo. bij: Número de kilobytes procesados por solicitud de acceso a la página Web tipo i en el recurso de infraestructura tipo j por unidad de tiempo. Cdisj: Capacidad disponible del recurso de infraestructura tipo j en unidades de kilobytes. ej: Máximo número de unidades de almacenamiento o procesamiento permitidas por recurso de infraestructura tipo j. Tmanj: Tiempo máximo de mantenimiento permitido para el recurso de infraestructura tipo j. P: Porcentaje de solicitudes no defectuosas según el protocol status. 4.2.4 Variables de decisión

Xjk: Número de máquinas o recursos de infraestructura tipo j, con tamaño estándar tipo k. Yi: Número de páginas web tipo i a alojar en el hosting. Zk: Variable binaria que indica si se selecciona o no el ancho de banda con el estándar tipo k.

5. Validación del modelo Para la validación del modelo y estimación de parámetros, se tomó una población de setecientas treinta y cinco (735) páginas Web con aproximadamente cincuenta (50) millones de registros de solicitudes de acceso o visitas a las páginas, las cuales se encuentran alojadas en un servicio web hosting dirigido a PYMES colombianas. De dicha población, se seleccionó una muestra probabilística de cuarenta y dos (42) páginas web que contenían 3.199.600 registros de solicitudes de acceso. Debido al alto volumen de información, dentro del análisis de datos de entrada para la estimación de parámetros se utilizaron técnicas de minería de datos. Se realizaron los siguientes análisis utilizando los datos de entrada: 1. Determinación del tamaño de la muestra probabilística, de páginas Web a seleccionar como unidades experimentales, a partir la población de 735 páginas web. 2. Estadística descriptiva y análisis exploratorio de datos de los parámetros ai, Di y bij definidos anteriormente, comparado por tipo de página web, con el fin de establecer si las medias diferían para cada página o conjuntos de páginas Web, y determinar si se debían establecer segmentos de páginas sobre los cuales realizar de manera independiente la estimación de parámetros y el análisis de comportamiento de los datos. 3. Segmentación de las unidades experimentales, es decir, definición de conjuntos homogéneos de páginas Web, de acuerdo con el resultado obtenido en el inciso anterior. 4. Estadística descriptiva y análisis exploratorio para conocer el comportamiento de los datos, por segmentos o conjuntos de páginas Web. 5. Estimación de parámetros a partir de las estadísticas descriptivas y cálculo de los INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

89


Modelo de dimensionamiento del servicio web hosting dirigido a proveedores de la pequeña y mediana empresa colombiana

intervalos de confianza de los mismos, con el fin de realizar un análisis de sensibilidad del modelo, utilizando como datos de entrada la media, el límite máximo y mínimo del intervalo de cada parámetro. 6. Aplicación del modelo matemático, generación de resultados y análisis de sensibilidad de los mismos bajo los escenarios del comportamiento medio, máximo y mínimo de los parámetros. 7. Análisis de resultados.

5.1 Análisis de datos de entrada Para determinar el tamaño de la muestra, se utilizó una ecuación de muestra probabilística tomada de Hernández Sampieri [22]. n′ n= (17) n′ 1+

N s2 n′ = 2 V p (1 - p ) s2 = 2

2

V = se

(18) (19) (20)

Donde: p: Probabilidad de que la media de la muestra X estime el valor real de la media de la población µ. s2: Varianza de la muestra expresada como la probabilidad de ocurrencia de X. se2:Error estándar del tamaño de la muestra determinado por el investigador. V2: Varianza de la población. Corresponde al cuadrado del error estándar. N: Tamaño de la población. n´: Tamaño de la muestra sin ajustar. n: Tamaño de la muestra ajustada. Se seleccionó como p, el valor de 0,99, es decir un 99% de probabilidad de que la media de la muestra estime el valor real de la media de la población. Por lo tanto, el error de estimación de la media de la población corresponde a 1%. Como error de estimación del tamaño de la muestra se seleccionó un 1,5% de error. El tamaño de muestra obtenido fue de cuarenta y dos (42) páginas Web; para la selección de la misma se definió como unidad de análisis la variable Di, multiplicado por la variable bij. La muestra seleccionada correspondió a las cuarenta y dos (42) páginas web con el mayor producto Di*bij, teniendo en cuenta que lo que se buscaba era determinar el dimensionamiento del servicio web hosting y por lo tanto, era importante conocer las características de las PYMES que generan un mayor consumo de capacidad cuando se realizan visitas a sus páginas, es decir, tanto las páginas con el mayor número de kilobytes procesados por minuto, como las páginas con el mayor número de solicitudes de acceso por minuto. 90

INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Olga Lucía Ramírez Calero • Jairo Humberto Torres Acosta

A partir de la muestra de las 42 páginas Web se realizó un análisis exploratorio de los parámetros Di y bij, encontrándose la necesidad de realizar una segmentación de los datos por tipo de página Web, dado que los resultados tanto de las medias de Di y bi son inferiores a los resultados de sus respectivas desviaciones estándar, lo cual permite presumir que existen diferencias significativas en la muestra. En la Tabla I se presentan los resultados del análisis exploratorio preliminar. Tabla I. Estadísticos descriptivos parámetros Di y bij Di: Sol bi: Kb

N 3199600 3199600

Mín 1 1

Máx 3965 497081

Media 91,022 1108,02

Desv. 147,419 5404,84

Con el fin de confirmar o descartar la sospecha que puede existir una diferencia significativa entre las medias de las diferentes páginas Web, se realizó un análisis de varianza ANOVA para los parámetros Di y bij. Como resultado se encontró que a un nivel de significancia del 5% existe suficiente evidencia estadística para rechazarla hipótesis nula que la media de los parámetros Di y bij son iguales. Se concluye que existe una diferencia significativa entre las medias de los parámetros y es necesario segmentar el análisis de datos de entrada y la corrida del modelo matemático por tipo de página i. De la misma forma los resultados del análisis exploratorio para el parámetro ai indicaron que se debía realizar una segmentación de los datos por tipo de página Web. La segmentación de los datos se realizó a través del algoritmo de k-medias para definición de clúster de información, utilizando el software “R” para minería de datos. A partir de la segmentación se obtuvieron cinco (5) tipos diferentes de páginas Web, representados con el subíndice i. A partir de los segmentos o conjuntos de páginas Web, se realizaron estimaciones por intervalos de los parámetros ai, Di y bij.; dado que la desviación estándar σxera desconocida y n era mayor que 30, se utilizó el intervalo de confianza para estimar la media μx con muestras grandes [2] [24]. En la Ecuación (21) se presenta la fórmula para el cálculo de este intervalo de confianza: Donde: Sx Sx X - z ____ < μx < X + z ____ n n

(19)

X: Media de los datos.

Sx: Desviación estándar de los datos. z: Estandarización de la distribución normal para un nivel de significancia del 5%. n: Tamaño de la muestra. En la Tabla II se presentan los resultados del cálculo de los intervalos de confianza utilizando la Ecuación (21) para los diferentes parámetros del modelo, obteniendo como INGENIERÍA

• Vol. 15 • No. 1 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

91


Modelo de dimensionamiento del servicio web hosting dirigido a proveedores de la pequeña y mediana empresa colombiana

resultado los escenarios mínimo, medio y máximo de dichos parámetros, que son utilizados para la aplicación y validación del modelo. Tabla II. Datos de entrada para la corrida del modelo en kilobytes Parámetro 1,0

2,0

Tipo página 3,0

4,0

5,0

Di (medio)

11,0

292,0

634,0

59,0

140,0

Di (mínimo)

11,0

292,0

633,0

59,0

139,0

Di (máximo)

11,0

292,0

636,0

59,0

140,0

bi (medio)

691,0

12769,0

386860,0

206484,0

44676,0

bi (mínimo)

690,0

12724,0

362091,0

204339,0

44351,0

bi (máximo)

692,0

12815,0

411629,0

208629,0

45001,0

ai (medio)

1829059,0

4225825,0

886201,0

5547400,0

107965,0

ai (mínimo)

1808702,0

4193094,0

872468,0

5547400,0

105443,0

ai (máximo)

1849417,0

4258557,0

899935,0

5547400,0

110488,0

Wi

181,0

4,0

23,0

1,0

925,0

Di * bi (medio)

7599,0

3730365,0

245350436,0

12267217,0

6235862,0

Di * bi (mín.)

7577,0

3714345,0

229066710,0

12131887,0

6186537,0

Di * bi (máx.)

7621,0

3746405,0

261712858,0

12402712,0

6285245,0

Di * bi * Wi (medio)

1375403,0

675196042,0

44408428953,0

2220366244,0

1128691044,0

Di * bi * Wi (mín.)

1371368,0

672296360,0

41461074527,0

2195871625,0

1119763258,0

Di * bi * Wi (máx.)

1379444,0

678099277,0

47370027281,0

2244890934,0

1137629413,0

P

0,997

Cdis Disco Duro

135803671,0

222552611,0

466076743,0

709600874,0

976118700,0

Cdis Memoria RAM

2623503,0

3668671,0

1578335,0

533167,0

N/A

Cdis Procesador

762373478,0

700559386,0

608982995,0

549458342,0

425830215,0

(Cdis Procesador)*32

24395951296,0

22417900352,0

19487455840,0

17582666944,0

13626566880,0

Cdis Servidor j=4

N/A

N/A

N/A

N/A

N/A

Ancho de banda h

3145728000,0

4194304000,0

6291456000,0

8388608000,0

10485760000,0

Tabla III. Resultados de la aplicación del modelo para los escenarios mínimo, medio y máximo de los parámetros Servidor 1

Escenario Mínimo

j=2 4 – 2 GB 2

j=3 4 – 2,4 GH 14N = 4P

Yi Cant. Di * bij

Y2 4 3.714.345

Servidor 1 Servidor 2

Escenario Medio

j=1 4 – 750 GB 3

Tipo j Estándar k-Tamaño Cantidad

j=4 5 1

j=1 5 – 1 TB 3

j=2 4 – 2GB 2

j=3 5 – 1,86 GH 19N = 5P

Ancho de banda

10000 GB

Tipo j Estándar k-Tamaño Cantidad

j=4 4 1

j=1 4 – 750 GB 3

j=2 4 – 2 GB 2

j=3 4 – 2,4 GH 16N = 4P

Yi Cant. Di * bij

Y2 4 3.714.345

Servidor 1 Servidor 2

Escenario Máximo

Demanda

j=4 4 1

Tipo j Estándar k-Tamaño Cantidad

j=4 5 1

j=1 5 – 1 TB 3

j=2 4 – 2GB 2

j=3 5 – 1,86 GH 18N = 5P

Ancho de banda

10000 GB

Tipo j Estándar k-Tamaño Cantidad

j=4 4 1

j=1 4 – 750 GB 3

j=2 4 – 2 GB 2

j=3 4 – 2,4 GH 15N = 6P

Yi Cant. Di * bij

Y2 4 3.714.345

Servidor 2

Tipo de Recurso Xj,k Tipo j Estándar k-Tamaño Cantidad

Tipo j Estándar k-Tamaño Cantidad

j=4 5 1

j=1 5 – 1 TB 3

j=2 4 – 2GB 2

j=3 5 – 1,86 GH 19N = 5P

Ancho de banda

10000 GB

Y3 23 229.066.710

Y4 1 12.131.887

Y3 23 229.066.710

Y4 1 12.131.887

Y3 23 229.066.710

Y4 1 12.131.887

Donde, N = Núcleos P = Procesadores Di * bij Se encuentra en unidades de kilobytes

92

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Olga Lucía Ramírez Calero • Jairo Humberto Torres Acosta

5.2 Aplicación del modelo Después de estimar todos los parámetros del modelo utilizando la muestra de 42 páginas Web, se calculó la capacidad disponible para los recursos de infraestructura: Disco duro, memoria RAM y procesador, utilizando la Ecuación (1). La aplicación del modelo se realizó utilizando el software de optimización GAMSIDE. Los resultados bajo el escenario mínimo, medio y máximo de los parámetros ai, Di y bij se presentan en la Tabla III.

5.3 Análisis de resultados Después de aplicar el modelo para los escenarios mínimo, medio y máximo de los parámetros ai, bij y Di, se encontró que las variables X1k: Número de servidores requeridos con el estándar tipo k, X2k: Número de memorias RAM requeridas con el estándar tipo k y X4k: Número de servidores requeridos con el estándar tipo k, presentaron el mismo resultado, lo cual indicó que no existe diferencia significativa entre el número de recursos de infraestructura tipo disco duro, memoria RAM y servidor, independiente de la desviación estándar y el comportamiento extremo de los parámetros. En el caso de la variable X3k: Número de procesadores requeridos con el estándar tipo k, los resultados obtenidos fueron diferentes en las soluciones del modelo bajo los escenarios mínimo, medio y máximo de los parámetros. Con el fin de establecer si diferían significativamente, se realizó una prueba de ANOVA, con las siguientes hipótesis: H0: µ1= µ2 = µ3. No existe diferencia significativa entre el número de recursos de infraestructura tipo X3k para los escenarios mínimo, medio y máximo de los parámetros ai, bij y Di. H1: µ1≠ µ2≠ µ3. Al menos un par de medias del número de recursos de infraestructura tipo X3k para los escenarios mínimo, medio y máximo de los parámetros ai, bij y Di, difiere entre sí. Como resultado de la prueba ANOVA, se encontróque a un nivel de significancia del 5% existe suficiente evidencia estadística para no rechazar la hipótesis nula de que la medias de la variable X3kson iguales para los tres escenarios de los parámetros ai, bij y Di. Por lo tanto, independiente de la desviación estándar y el comportamiento extremo de los parámetros ai, bij y Di, el número de procesadores requeridos para satisfacer la demanda de alojamiento y solicitudes de visitas a las páginas Web, no presenta una diferencia significativa desde el punto de vista estadístico. Lo anterior confirma la viabilidad de utilizar un modelo matemático basado en programación lineal y análisis de capacidades, ya que la solución del modelo para los escenarios mínimo, medio y máximo de los parámetros arroja resultados del número de recursos de infraestructura tipo servidor, disco duro, memoria RAM y procesador que no difieren significativamente entre sí.

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

93


Modelo de dimensionamiento del servicio web hosting dirigido a proveedores de la pequeña y mediana empresa colombiana

6. Conclusiones El modelo matemático es viable en la medida que permite cumplir el objetivo general de la investigación, ya que es útil para el dimensionamiento eficaz de recursos y selección de la mejor combinación de infraestructura tecnológica del servicio web hosting dirigido a PYMES colombianas, en condiciones promedio y extremas de demanda del servicio, es decir, escenarios mínimo, medio y máximo de los parámetros, pues los resultados del número de recursos de infraestructura tipo servidor, disco duro, memoria RAM y procesador arrojados por el modelo, no difieren significativamente entre sí, desde el punto de vista estadístico. Se presentó una propuesta inicial para un método ingenieril que pueda contribuir en el futuro a sustituir la gestión reactiva de infraestructura mediante la estimación de recursos, compra e instalación de máquinas, monitoreo de su utilización, identificación de necesidades de reducción o ampliación de capacidad de inversión, por un nuevo método basado en un modelo matemático para realizar un análisis prospectivo de la demanda y estimar la capacidad y cantidad de recursos de infraestructura tipo disco duro, procesador y memoria RAM, necesarios para satisfacerla.

7. Referencias [1]

Anandasivam, A. (2009). A Heuristic Approach for Capacity Control in Clouds. IEEE Conf. onCommerce+Enterprise Computing.

[2]

García Sipolis, A. y Simón de Blas, C. (2000). Manual de Estadística. Universidad Rey Juan Carlos. Ed. Dykinson, Madrid.

[3]

Daccach, C. (2000). Arquitectura para comercio electrónico. Revista Sistemas, Asociación Colombiana de Ingenieros de Sistemas (ACIS), Colombia, Vol. 78. 37-49.

[4]

Figallo, C. (1998). Internet world: Hosting web communities. Editorial Wiley, USA.

[5]

Huang, C-Y. (2007). Concentration of Web users’ online information behavior, Information Research. Consultado: http://InformationR.net/ir/ 12-4/paper324.html. (02 de noviembre, 2010).

[6]

Jabba, D. y Márquez , J. (2003). Herramientas para Consulta y Modelado en la Web: una forma diferente del manejo de grandes volúmenes de información de los Web Sites en Internet. Revista de Ingeniería & Desarrollo, Universidad del Norte, Colombia, Vol. 13. 41-57.

[7]

Kalenatic, D. (2001). Modelo Integral y Dinámico para el Análisis, Planeación, Programación y Control de las Capacidades Productivas en Empresas Manufactureras, Universidad Distrital Francisco José de Caldas, Bogotá.

[8]

Kaye, D. (2001). Strategies for web hosting and management services. Editorial Wiley John & Sons, USA.

[9]

Martinez, D. y Sanchez, J. (2006). Los niveles de servicio en la ingeniería del software. El Cid Editor, Universidad Nacional del Nordeste, Departamento de Informática. Universidad de Málaga, Departamento de Lenguajes y Ciencias de la Computación, Argentina.

[10] Menascé, D. y Almeida, A. (2000). Scaling for E-Business: Tecnologies, Models, Performance and Capacity Planning. Prentice Hall, New Jersey. [11] Puyana, D. (2002). Universidad Sergio Arboleda. La problemática de las PYMES en Colombia: internacionalizarse o morir. Consultado: http:/ /www.usergioarboleda.edu.co/PYMES/noticia1.htm. (02 de noviembre, 2010). [12] Departamento Nacional de Estadística Colombia, DANE. (2003). Modelo de la medición de las tecnologías de la información y las comunicaciones (TIC). [13] DBK, S.A. (2011). Informe Especial Hosting y Housing. (Análisis de sectores). Madrid, 5 Ed. [14] Hillier, F. y Lieberman, G. (2001). Investigación de Operaciones, 7 Ed., McGraw Hill, México. [15] IBM. (2009). Seeding the Clouds: Key Infrastructure Elements for Cloud Computing. [16] Garbani, J., Washburn, D. y Chi, E. (2011). The New Capacity Planning Process Requires Three New Steps. Reboot Your Capacity Planning Process With Cost-Value Analysis, Governance, And Global Planning. Forrester Research, Inc., Technology Square, Cambridge, USA. [17] Garbani, J., Cecere, M., Washburn, D., O’Donnell, G., Dines, R., Staten, J. y Chi, E. (2011). IT Infrastructure And Operations: The Next Five Years The Cloud On IT’s Horizon. Forrester Research, Inc., Technology Square, Cambridge, USA.

94

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


Olga Lucía Ramírez Calero • Jairo Humberto Torres Acosta

[18] Garbani, J., Whiteley, R. y Nelson, L. (2010). I&O’s New Capacity Planning Organization. Virtualization And Cloud Computing Force A New Organizational Model That. Decentralizes Capacity Management And Centralizes Capacity Planning. Forrester Research, Inc., Technology Square, Cambridge, USA. [19] Applegate, L., Austin, R., y Warren, F. (2003). Estrategia y Gestión de la Informática Corporativa: Los retos de gestión de una economía en red, Ed. McGraw Hill, Madrid, 6 Ed. [20] Dominguez, M. (1995). Dirección de Operaciones: Aspectos tácticos y operativos en la producción y los servicios. Ed. McGraw Hill, Madrid. [21] Drowin, M. (2001). Web hosting and web site development a guide to opportunities. The Library of E-Commerce and Internet Careers, Ed. The Rosen Publishing Group. [22] Johnston, M y Mahowald, R. (2010). HP Cloud Infrastructure Services Jump-Start Enterprise Decisions and Deployments. IDC, Analyze The Future. Marzo de 2010. [23] Laoutaris, N. (2003). On the Optimization of Storage Capacity Allocation for Content Distribution, University of Athens. [24] Delgado de la Torre, R. (2008). Probabilidad y estadística para ciencias e ingenierías. Delta, Publicaciones Universitarias. Madrid, 1 Ed. [25] Hernández Sampieri, R., Fernández, C. y Baptista, L. (2003). Metodología de la Investigación. Ed. McGraw Hill, México. [26] Agarwal, V. (2001). An Architecture for Virtual Server Farms, Research Report, IBM India Research Lab. [27] Wenying, Z., Yuelong, Z., Kairi, O. y Wei, S. (2009). Research on cloud storage architecture and key technologies. ICIS ’09 Proceedings of the 2nd International Conference on Interaction Sciences: Information Technology, Culture and Human.

Olga Lucía Ramírez Calero Ingeniera Industrial de la Universidad Distrital Francisco José de Caldas, Bogotá, Colombia. Especialista en Gestión de Riesgos Financieros, Universidad Sergio Arboleda, Bogotá, Colombia. Magíster en Ingeniería Industrial, Universidad Distrital Francisco José de Caldas, Bogotá, Colombia. Está certificada como CobitFoundationCertificate. Es Miembro de ISACA (InformationSystemsAudit and Control Association) Capítulo Colombia. Actualmente se desempeña como Profesional Especializado en Riesgos y Procesos del Banco de la República de Colombia.

Jairo Humberto TTorres orres Acosta Ingeniero Industrial, Universidad Distrital Francisco José de Caldas, Bogotá, Colombia. Especialista en Ingeniería de Producción, Universidad Distrital Francisco José de Caldas, Bogotá, Colombia. Magíster en Investigación de Operaciones, Universidad Nacional Autónoma de México. Doctor en la Universidad Central Martha Abreu de las Villas, Cuba. Desarrollo su Investigación Post-doctoral en la Universidad de la Florida. Profesor de las áreas de investigación de operaciones, manufactura, ingeniería de calidad e ingeniería de costos a nivel de pregrado y postgrado. Ha publicado cuatro libros en el área de Ingeniería de Manufactura y Costos. Profesor invitado de la Universidad de Oviedo y de la Universidad Pontificia de Salamanca campus de Madrid. Presidente de la empresa JHTA Inversiones, empresa del sector de transformación de la madera y director Sénior de la empresa SEIP LTDA. (Servicio de Ingeniería y Productividad). Integrante del Grupo de Investigación “Modelos Matemáticos Aplicados a la Industria (MMAI)” de la Universidad Distrital Francisco José de Caldas.

INGENIERÍA

• Vol. 15 • No. 2 • ISSN 0121-750X • UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

95


C o n t e n i d o : Ingeniería REVISTA

Volumen 15 • Número 1 • Año 2010 • ISSN 0121-750X

Representación computacional del lenguaje natural escrito Computational representation of written natural language Sonia Ordoñez Salinas • Alexander Gelbukh

Páginas

6 - 21

Estudio del impacto de la certificación ISO 9001:2000 en la competitividad-país Study of the Impact of ISO 9001:2000 Certification on country-competitiveness Luz Esperanza Bohórquez Arévalo

22 - 34

Herramienta de software para el desarrollo de descripciones de hardware utilizando VHDL a partir de modelos gráficos Software tool to develop hardware descriptions using VHDL based on graphic models Jose Roberto Vargas Rivero

35 - 46

Volumen 15 • Número 2 • Año 2010 • ISSN 0121-750X

Sistema de inferencia difusa basado en relaciones Booleanas Fuzzy inference based on Boolean relations Helbert Eduardo Espitia Cuchango • José Jairo Soriano Méndez

52 - 66

Desarrollo de un lenguaje de dominio específico para sistemas de gestión de aprendizaje y su herramienta de implementación “KiwiDSM” mediante ingeniería dirigida por modelos Developing a domain-specific language for the learning management systems, and your tool of implementation “ KiwiDSM” through model driven engineering Carlos Enrique Montenegro Marín • Juan Manuel Cueva Lovelle • Óscar Sanjuán Martinez • Paulo Alonso Gaona García

67 - 81

Modelo de dimensionamiento del servicio web hosting dirigido a proveedores de la pequeña y mediana empresa colombiana A capacity planning model for web hosting providers of Colombian small and medium businesses Olga Lucía Ramírez Calero • Jairo Humberto Torres Acosta

82 - 95


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.