Articulo de referencia

GXL

GXL ( Graph eXchange Language ) está diseñado para ser un formato de intercambio estándar para grafos . GXL es un sublenguaje del lenguaje de marcado extensible ( XML ) y su sin...

GXL ( Graph eXchange Language ) está diseñado para ser un formato de intercambio estándar para grafos . GXL es un sublenguaje del lenguaje de marcado extensible ( XML ) y su sintaxis viene dada por una definición de tipo de documento XML (DTD). Este formato de intercambio ofrece un medio adaptable y flexible para facilitar la interoperabilidad entre herramientas basadas en grafos.

Descripción general

En concreto, GXL se desarrolló para permitir la interoperabilidad entre herramientas y componentes de reingeniería de software , como extractores de código (analizadores), analizadores y visualizadores. GXL permite a los ingenieros de reingeniería de software combinar herramientas específicas para análisis sintáctico, extracción de código fuente, recuperación de arquitectura, análisis de flujo de datos, análisis de punteros, segmentación de programas, técnicas de consulta, visualización de código fuente, recuperación de objetos, reestructuración, refactorización, remodularización, etc., en un único y potente entorno de trabajo de reingeniería.

GXL cuenta con dos características innovadoras que lo hacen idóneo como formato de intercambio de datos de software.

  1. El modelo de datos conceptual es un grafo dirigido, tipado y con atributos. Esto no significa que todos los datos de software deban manipularse como grafos, sino que pueden intercambiarse como tales.
  2. Puede utilizarse para representar datos de instancia, así como esquemas que describan la estructura de los datos. Además, el esquema puede especificarse explícitamente junto con los datos de instancia. La estructura de los grafos intercambiados por flujos GXL se define mediante un esquema representado como un diagrama de clases del Lenguaje Unificado de Modelado (UML).

Dado que GXL es un formato general de intercambio de grafos, también puede utilizarse para intercambiar cualquier dato basado en grafos, incluidos modelos entre herramientas de ingeniería de software asistida por ordenador (CASE), datos entre sistemas de transformación de grafos o herramientas de visualización de grafos. GXL incluye soporte para hipergrafos y grafos jerárquicos, y puede ampliarse para admitir otros tipos de grafos.

GXL surgió de la fusión del formato GRAph eXchange (GraX: Universidad de Koblenz, Alemania) para el intercambio de grafos dirigidos, ordenados y tipificados (TGraphs), el lenguaje de atributos de tuplas (TA: Universidad de Waterloo, Canadá) y el formato de grafos del sistema de reescritura de grafos PROGRES (Universidad de Múnich, Alemania). Además, GXL incorpora ideas de formatos de intercambio provenientes de ingeniería inversa, como el álgebra de partición de relaciones (RPA: Philips Research Eindhoven, Países Bajos) y el formato estándar Rigi (RSF: Universidad de Victoria, Canadá). El desarrollo de GXL también se vio influenciado por diversos formatos utilizados en el dibujo de grafos (por ejemplo, daVinci, lenguaje de modelado de grafos (GML), Graphlet, GraphXML) y los debates actuales sobre formatos de intercambio para sistemas de transformación de grafos.

Presentaciones de versiones anteriores de GXL

En el Taller sobre Formatos de Intercambio Estándar (WoSEF) de la Conferencia Internacional de Ingeniería de Software de 2000 (ICSE 2000), GXL fue aceptado como borrador de trabajo para un formato de intercambio por numerosos grupos de investigación que trabajan en el ámbito de la reingeniería de software y la transformación de grafos.

Durante la reunión del subgrupo APPLIGRAPH sobre formatos de intercambio para la transformación de grafos, se presentó una descripción general de GXL [Schürr, 2000] y los participantes decidieron utilizar GXL para representar grafos dentro de su formato de intercambio para sistemas de transformación de grafos (GTXL).

La Conferencia de los Centros de Estudios Avanzados de IBM de 2000 ( CASCON 2000) incluyó dos talleres de medio día sobre GXL. Por la mañana, el taller "Intercambio de datos de software con GXL: Introducción y tutorial" ofreció una introducción a la sintaxis y los conceptos del formato, mientras que el taller de la tarde, "Intercambio de datos de software con GXL: Problemas de implementación", trató sobre el desarrollo de convertidores y esquemas estándar.

En la Séptima Conferencia de Trabajo sobre Ingeniería Inversa (WCRE 2000), GXL se presentó en un tutorial [Holt et al. , 2000] y durante el taller sobre formatos de intercambio [Holt/Winter, 2000]. Los resultados principales fueron una representación más sencilla de la información de ordenación, el uso de diagramas de clases UML para presentar esquemas de grafos y la representación de diagramas de clases UML mediante grafos GXL.

El Seminario Dagstuhl sobre Interoperabilidad de Herramientas de Reingeniería ratificó GXL 1.0 como formato de intercambio estándar para el intercambio de datos relacionados con la reingeniería. Numerosos grupos de la industria y la investigación se comprometieron a utilizar GXL, a importar y exportar documentos GXL a sus herramientas y a desarrollar diversas herramientas GXL.

Socios de GXL

Durante diversas conferencias y talleres, los siguientes grupos de la industria y el mundo académico se comprometieron a perfeccionar GXL para convertirlo en el formato estándar de intercambio de grafos, escribir filtros y herramientas para GXL o utilizar GXL como formato de intercambio en sus herramientas:

  • Página principal de GXL