GXL

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

GXL (Graph eXchange Language) разработан как стандартный формат обмена графами. GXL - это подъязык расширяемого языка разметки (XML) синтаксис которого задается определением типа документа XML (DTD). Этот формат обмена предлагает адаптируемые и гибкие средства для поддержки взаимодействия между инструментами, основанными на графах.

Введение[править | править код]

В частности, GXL был разработан для обеспечения взаимодействия между инструментами и компонентами реинжиниринга программного обеспечения, такими как средства извлечения кода (парсеры), анализаторы и визуализаторы. GXL позволяет разработчикам программного обеспечения объединять универсальные инструменты, особенно для синтаксического анализа, извлечения исходного кода, восстановления архитектуры, анализа потоков данных, анализа указателей, нарезки программ, методов запросов, визуализации исходного кода, восстановления объектов, реструктуризации, рефакторинга, ремоделирования и т.д., в единый мощный инструментарий реинжиниринга.

В GXL есть две инновационные функции, которые делают его подходящим для формата обмена программными данными.

  1. Концептуальная модель данных представляет собой типизированный, атрибутированный, ориентированный граф. Это не означает, что всеми данными программного обеспечения следует манипулировать в виде графов, скорее, что ими можно обмениваться в виде графов.
  2. Он может использоваться для представления данных экземпляра, а также для схем описания структуры данных. Более того, схема может быть явно указана вместе с данными экземпляра. Структура графов, которыми обмениваются потоки GXL, задается схемой, представленной в виде диаграммы классов UML.

Поскольку GXL является общим форматом обмена графами, его также можно использовать для обмена любыми данными на основе графов, включая набор инструментов и методов программной инженерии, данными между переписыванием графов, или инструментами визуализации графиков. GXL включает поддержку гиперграфов и иерархических графов и может быть расширен для поддержки других типов графов.

GXL возник в результате слияния формата GRAph eXchange (GraX: Университет Кобленца, Германия) для обмена типизированными, атрибутированными, упорядоченными, ориентированными графами (TGraphs), языка атрибутов кортежей (TA: Университет Ватерлоо, Калифорния) и формата graph системы перезаписи графов PROGRES (Мюнхенский университет, DE). Кроме того, GXL включает в себя идеи из форматов exchange от reverse engineering, включая Relation Partition Algebra (RPA: Philips Research Эйндховен, Нью-Йорк) и стандартный формат Rigi (RSF: Университет Виктории, Калифорния). На развитие GXL также оказали влияние различные форматы, используемые при рисовании графиков (например, DaVinci, Graph Modelling Language (GML), Graphlet, GraphXML) и текущие обсуждения форматов обмена для систем преобразования графов.

Презентации предыдущих версий GXL[править | править код]

На семинаре по стандартным форматам обмена (WoSEF) международной конференции по программной инженерии 2000 года (ICSE 2000) GXL был принят в качестве рабочего проекта формата обмена многочисленными исследовательскими группами, работающими в области реинжиниринга программного обеспечения и преобразования графов.

Во время заседания подгруппы APPLIGRAPH по форматам обмена для преобразования графов был представлен обзор GXL [Schürr, 2000], и участники решили использовать GXL для представления графов в рамках своего формата обмена для систем преобразования графов (GTXL).

Конференция IBM Centers for Advanced Studies Conference 2000 (CASCON 2000) включала в себя два полудневных семинара по GXL. Утром на семинаре "Программный обмен данными с GXL: введение и учебное пособие" был представлен краткий обзор синтаксиса и концепций формата, в то время как на дневном семинаре "Программный обмен данными с GXL: проблемы реализации" обсуждалась разработка преобразователей и стандартных схем.

На cедьмой рабочей конференции по обратному проектированию (WCRE 2000) GXL был представлен в учебном пособии [Holt "et al.", 2000] и во время семинара по форматам обмена [Holt/Winter, 2000]. Основными результатами были упрощенное представление информации о порядке, использование диаграмм классов UML для представления графических схем и представление диаграмм классов UML с помощью графиков GXL.

Семинар в Дагштуле по функциональной совместимости инструментов реинжиниринга утвердил GXL 1.0 в качестве стандартного формата обмена данными, связанными с реинжинирингом. Многочисленные промышленные и исследовательские группы взяли на себя обязательство использовать GXL, импортировать и экспортировать документы GXL в свои инструменты, а также писать различные инструменты GXL.

Партнеры GXL[править | править код]

Во время различных конференций и семинаров следующие группы представителей промышленности и научных кругов взяли на себя обязательство усовершенствовать GXL, чтобы он стал стандартным форматом обмена графиками, написать фильтры и инструменты GXL или использовать GXL в качестве формата обмена в своих инструментах:

Внешние ссылки[править | править код]

Примечания[править | править код]

1. Petra Mutzel. Michael Junger, Sebastian Leipert. Graph Drawing. 9th International Symposium, GH 2001. Vienna, Austria, September 2001. Exchanging Graphs with GXL, Andreas Winter. 485-500. — ISBN 3-540-43309-0.