GXL
GXL ( язык Graph eXchange ) разработан как стандартный формат обмена графами . GXL — это подъязык расширяемого языка разметки ( XML ), синтаксис которого задается определением типа документа XML (DTD). Этот формат обмена предлагает адаптируемые и гибкие средства для поддержки взаимодействия между инструментами на основе графов.
Обзор
[ редактировать ]В частности, GXL был разработан для обеспечения совместимости между инструментами и компонентами реинжиниринга программного обеспечения , такими как экстракторы кода (парсеры), анализаторы и визуализаторы. GXL позволяет специалистам по реинжинирингу программного обеспечения комбинировать одноцелевые инструменты, особенно для синтаксического анализа, извлечения исходного кода, восстановления архитектуры, анализа потоков данных, анализа указателей, нарезки программ, методов запросов, визуализации исходного кода, восстановления объектов, реструктуризации, рефакторинга, ремодуляризации и т. д. в единую мощную среду реинжиниринга.
В GXL есть две инновационные функции, которые делают его подходящим для формата обмена программными данными.
- Концептуальная модель данных представляет собой типизированный атрибутированный ориентированный граф. Это не означает, что всеми данными программного обеспечения следует манипулировать в виде графиков, а скорее, что ими можно обмениваться в виде графиков.
- Его можно использовать для представления данных экземпляра, а также схем для описания структуры данных. Более того, схема может быть явно указана вместе с данными экземпляра. Структура графов, которыми обмениваются потоки GXL, задается схемой, представленной в виде диаграммы классов Unified Modeling Language (UML).
Поскольку GXL является общим форматом обмена графами, его также можно использовать для обмена любыми графовыми данными, включая модели между инструментами автоматизированной разработки программного обеспечения (CASE), данными между системами преобразования графов или инструментами визуализации графов. GXL включает поддержку гиперграфов и иерархических графов и может быть расширен для поддержки других типов графов.
GXL возник в результате слияния формата GRAph eXchange (GraX: Университет Кобленца, Делавэр) для обмена типизированными, атрибутированными, упорядоченными, ориентированными графами (TGraphs), Tuple Attribute Language (TA: Университет Ватерлоо, Калифорния) и формата графов система перезаписи графов PROGRES (Университет Bw München, DE). Кроме того, GXL включает идеи из форматов обмена, полученных в результате обратного проектирования, включая алгебру реляционных разделов (RPA: Philips Research Eindhoven, NL) и стандартный формат Rigi (RSF: Университет Виктории, Калифорния). На развитие GXL также повлияли различные форматы, используемые при рисовании графов (например, daVinci, язык моделирования графов (GML), Graphlet, GraphXML), а также текущие дискуссии о форматах обмена для систем преобразования графов.
Презентации бывших версий GXL
[ редактировать ]На семинаре по стандартным форматам обмена (WoSEF) Международной конференции по разработке программного обеспечения (ICSE 2000) 2000 года GXL был принят в качестве рабочего проекта формата обмена многочисленными исследовательскими группами, работающими в области реинжиниринга программного обеспечения и преобразования графов.
Во время встречи подгруппы APPLIGRAPH по форматам обмена для преобразования графов был дан обзор GXL [Schürr, 2000], и участники решили использовать GXL для представления графов в своем формате обмена для систем преобразования графов (GTXL).
в 2000 году IBM Конференция Центров перспективных исследований ( CASCON 2000) включала два семинара продолжительностью полдня по GXL. Утром на семинаре «Обмен данными программного обеспечения с GXL: введение и руководство» были даны основные сведения о синтаксисе и концепциях формата, а на дневном семинаре «Обмен данными программного обеспечения с GXL: проблемы реализации» обсуждалась разработка преобразователей и стандартных схем. .
На Седьмой рабочей конференции по обратному проектированию (WCRE 2000) GXL был представлен в учебном пособии [Holt et al. , 2000] и во время семинара по форматам обмена [Holt/Winter, 2000]. Основными результатами стали более простое представление информации об упорядочении, использование диаграмм классов UML для представления графовых схем и представление диаграмм классов UML с помощью графов GXL.
Семинар Дагштула по совместимости инструментов реинжиниринга утвердил GXL 1.0 в качестве стандартного формата обмена данными, связанными с реинжинирингом. Многочисленные группы из промышленности и исследований взяли на себя обязательство использовать GXL для импорта и экспорта документов GXL в свои инструменты, а также для написания различных инструментов GXL.
Партнеры GXL
[ редактировать ]Во время различных конференций и семинаров следующие группы представителей промышленности и ученых стремились усовершенствовать GXL, чтобы сделать его стандартным форматом обмена графами, писать фильтры и инструменты GXL или использовать GXL в качестве формата обмена в своих инструментах:
- Bell Canada (Datrix Group)
- Centrum Wiskunde & Informatica (CWI), Нидерланды (Интерактивная разработка и обновление программного обеспечения, а также визуализация информации)
- Центр перспективных исследований IBM , Канада
- Mahindra British Telecom , Индия
- Merlin Software-Engineering GmbH , Германия
- Исследовательский центр Nokia , Финляндия (Лаборатория программных технологий)
- Philips Research , Нидерланды (Группа архитектуры программного обеспечения)
- RWTH Ахен , Германия (факультет компьютерных наук III)
- TU Berlin , Германия (Группа теоретических CS/формальных спецификаций)
- Бернский университет , Швейцария (группа разработки программного обеспечения)
- Бременский университет , Германия ( Группа разработки программного обеспечения )
- Университет Бундесвера, Мюнхен , Германия (Институт программных технологий)
- Эдинбургский университет , Великобритания, (Edinburgh Concurrency Workbench)
- Университет Кобленца , Германия ( Группа ГУПРО )
- Университет Орегона , США (факультет компьютерных наук)
- Университет Падерборна , Германия (AG Software Engineering)
- Штутгартский университет , Германия (BAUHAUS Group)
- Университет Сегеда , Венгрия (Исследовательская группа по искусственному интеллекту)
- Университет Торонто , Канада (группа архитектуры программного обеспечения)
- Университет Виктории , Канада (RIGI Group)
- Университет Ватерлоо , Канада (группа архитектуры программного обеспечения)