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

кандидата технических наук
Тимченко, Вадим Андреевич
город
Владивосток
год
2010
специальность ВАК РФ
05.13.11
Диссертация по информатике, вычислительной технике и управлению на тему «Преобразование классов семантических сетей»

Автореферат диссертации по теме "Преобразование классов семантических сетей"

V* (Л

О

На правах рукописи Тимченко Вадим Андреевич

ПРЕОБРАЗОВАНИЕ КЛАССОВ СЕМАНТИЧЕСКИХ СЕТЕЙ

05.13.11 - математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

Автореферат

диссертации на соискание ученой степени кандидата технических наук

2 О ЯНВ 2011

2010

004619565

Работа выполнена в лаборатории интеллектуальных систем Института автоматики и процессов управления ДВО РАН.

Научный руководитель:

доктор технических наук, доцент Князева Маргарита Александровна

Официальные оппоненты:

доктор технических наук, доцент Шахгельдян Карина Иосифовна

кандидат физико-математических наук, старший научный сотрудник Голенков Евгений Александрович

Ведущая организация:

Московский энергетический институт (Технический университет), г. Москва

Защита состоится 11 февраля 2011 года в 14 часов на заседании диссертационного совета Д 005.007.01 в Институте автоматики и процессов управления ДВО РАН по адресу: 690041, г. Владивосток, ул. Радио, 5.

С диссертацией можно ознакомиться в библиотеке Института автоматики и процессов управления ДВО РАН.

Автореферат разослан 28 декабря 2010 г.

Ученый секретарь

диссертационного совета Д 005.007.01, к.т.н.

А.В. Лебедев

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

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

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

Большой вклад в разработку и исследование методов решения таких задач внесли В.Н. Вагин, В.Ш. Кауфман, С.П. Крицкий, В.Н. Касьянов, В.А. Серебряков, В.Н. Скворцов, А.Н. Терехов, Н. Ehrig, G. Karsai, H.-J. Kreowski, G. Rozenberg, A. Schürr, G. Taentzer и другие.

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

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

Таким образом, разные задачи преобразования информации решаются различными методами, единый подход к преобразованию разных видов информации,

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

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

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

Для достижения поставленной цели необходимо решить следующие задачи:

1. Разработать общую концепцию преобразования информации, представленной семантическими сетями, в терминах описания их классов.

2. Разработать модель для описания классов семантических сетей и формализм для описания спецификаций преобразования семантических сетей - структурных проекций в терминах описания их классов.

3. Разработать метод преобразования классов семантических сетей на основе описания структурной проекции.

4. Разработать методы реализации средств преобразования информации, представленной семантическими сетями, на основе описания структурных проекций.

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

Методы исследования. Для решения указанных задач использовались теория формальных языков, теория графов, элементы теории множеств, а также методы теории синтаксического перевода и компиляции, методы объектно-ориентированного анализа и проектирования, методы системного программирования. Научная новизна работы состоит в следующем:

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

• впервые разработана основанная на категориальном базисе сущность - отношение модель для описания структуры информации как класса семантических сетей, которая расширена формализмом для описания связи класса семантических сетей с элементами конкретного синтаксиса языка, определяющего текстовое представление информации. Данная связь при этом одновременно является спецификацией преобразований как из текстового представления информации в структурное, так и наоборот;

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

Практическая ценность работы состоит в следующем:

• разработанная модель для описания классов семантических сетей позволяет создать и развивать базу описаний классов семантических сетей с помощью средства редактирования, управляемого данной моделью;

• разработанная модель для описания структурных проекций позволяет создать и развивать базу структурных проекций с помощью средства редактирования, управляемого данной моделью;

• разработан комплекс программных средств для преобразования информации, представленной семантическими сетями, на основе описания структурных проекций;

• применение платформы облачных вычислений Многоцелевой банк знаний позволило сделать комплекс программных средств доступным через сеть Интернет, при этом пользователям, имеющим соответствующие права, доступно не только выполнение преобразований, но и удаленное редактирование информационных баз, используемых при преобразовании.

Реализация результатов работы. Результаты диссертационной работы используются:

• в научных исследованиях, проводимых в рамках различных программ и проектов в лаборатории интеллектуальных систем Института автоматики и процессов управления ДВО РАН, г. Владивосток;

• в учебном процессе на кафедре Программного обеспечения ЭВМ при разработке учебно-методических комплексов и чтении курсов лекций по дисциплинам "Теория вычислительных процессов и структур II. Теория и методы трансляции" и "Оптимизация программ" для студентов, обучающихся по специальности 010503.65 -"математическое обеспечение и администрирование информационных систем" в Дальневосточном федеральном университете, г. Владивосток.

Программное средство "Система, моделирующая процесс преобразования программ, управляемый знаниями" зарегистрировано в Реестре программ для ЭВМ 15 августа 2006 г. (Свидетельство об официальной регистрации программы для ЭВМ №2006612928).

Программное средство "Преобразователь семантических сетей" зарегистрировано в Реестре программ для ЭВМ 9 июля 2010 г. (Свидетельство о государственной регистрации программы для ЭВМ №2010614544).

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

Апробация работы. Основные положения диссертации докладывались и обсуждались на следующих международных и российских конференциях и семинарах: Дальневосточной математической школе-семинаре имени академика Е.В. Золото-

ва (г. Хабаровск, 2005, 2009, г. Владивосток, 2006, 2007, 2008, 2010), Международной конференции "Искусственный интеллект. Интеллектуальные и многопроцессорные системы" (г. Таганрог, 2005), Научно-практической конференции "Современные проблемы и пути их решения в науке, транспорте, производстве и образовании" (г. Одесса, 2005), Научной сессии МИФИ (г. Москва, 2006), Второй Международной конференции "Системный анализ и информационные технологии" (г. Обнинск, 2007), Международной конференции KDS-2008 (г. Варна, Болгария), Девятой международной научно-технической конференции "Искусственный интеллект. Интеллектуальные системы ИИ-2008" (пос. Кацивели, АР Крым, Украина, 2008), Одиннадцатой национальной конференции по искусственному интеллекту с международным участием "КИИ-2008" (г. Дубна, 2008), Рабочем семинаре "Наукоемкое программное обеспечение" в рамках PSP09 - Седьмой международной конференции памяти академика А. П. Ершова "Перспективы систем информатики" (г. Новосибирск, 2009), Международной научно-технической конференции "Искусственный интеллект. Интеллектуальные и многопроцессорные системы-2009" (г. Таганрог, Россия, 2009), Первой Российско-Тихоокеанской конференции по компьютерным технологиям и приложениям RPC 2010 (г. Владивосток, Россия, 2010), Открытом дальневосточном конкурсе программных средств студентов, аспирантов и молодых специалистов "Программист-2005", "Программист-2006", "Программист-2010" (г. Владивосток, 2005, 2006, 2010), Конкурсе научных работ молодых ученых и специалистов ИАПУ ДВО РАН (г. Владивосток, 2009), а также на совместных семинарах лаборатории интеллектуальных систем ИАПУ ДВО РАН и базовой кафедры программного обеспечения ЭВМ ДВГУ (2006 - 2009).

Публикация результатов работы. По материалам диссертации опубликовано 19 работ, из них 2 статьи в журналах, рекомендуемых ВАК РФ для опубликования научных результатов, получено 2 свидетельства о регистрации программ для ЭВМ.

Структура и объем работы. Диссертационная работа состоит из введения, пяти глав, заключения, списка литературы, включающего 156 наименований, и 20 приложений. Основная часть работы изложена на 130 страницах, содержит 50 рисунков и 6 таблиц.

СОДЕРЖАНИЕ РАБОТЫ

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

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

Во второй главе диссертации сформулированы принципиальные требования к средству преобразования информации, представленной семантическими сетями, пре-

дложена концептуальная схема преобразования информации.

Определение 1. Под описанием класса семантических сетей информации (Б) будем понимать описание устройства информации из некоторой предметной области - ее структуры, свойств и ограничений на возможное содержание в виде семантической сети.

Определение 2. Под представлением информации в виде семантической сети или просто семантической сетью (5,м/) будем понимать семантическую сеть, являющуюся экземпляром (информацией более низкого уровня общности) по отношению к Б, представляющей собой информацию более высокого уровня общности - метаинформацию.

Это означает, что вершины представляющие понятия, входящие в объемы понятий, представленных вершинами из Б, являются экземплярами этих вершин из семантической сети Б, тогда как сами вершины семантической сети 5 являются прототипами для вершин из семантической сети Б:„ц. Таким образом, Б определяет, в сущности, язык для описания множества Б,„,,.

Определение 3. Под структурной проекцией (р) (спецификацией преобразования) описания класса семантических сетей исходной информации на описание класса семантических сетей целевой информации будем понимать множество правил (соответствий) р = Каждое правило Ки1е, определяет описание

устройства (структуру и содержание) подсети семантической сети целевой информации, являющейся экземпляром некоторой подсети из описания класса семантических сетей целевой информации, сопоставляемое понятию из описания класса семантических сетей исходной информации.

Определение 4. Под преобразованием информации (семантических сетей) понимается генерация целевой семантической сети (ТБ'¡„¡¡), являющейся экземпляром описания класса семантических сетей целевой информации (ТБ„С), на основе исходной семантической сети являющейся экземпляром описания класса семантических

сетей исходной информации (ББПС), по описанию структурной проекции описания класса семантических сетей исходной информации на описание класса семантических сетей целевой информации (рис. 1).

Рис. 1. Общая схема преобразования информации, представленной семантическими

сетями

К средству преобразования информации, представленной семантическими сетями, предъявляются следующие принципиальные требования.

Требование 1. Средство преобразования должно быть спроектировано с соблюдением принципа разделения программных компонентов и обрабатываемой

ими информации, которая должна храниться отдельно и редактироваться независимо от средств ее обработки.

Требование 2. Должна быть обеспечена возможность выполнять как эндогенные, так и экзогенные преобразования, а также преобразования внутри разных технологических пространств и между технологическими пространствами.

Требование 3. Должна обеспечиваться возможность выполнять преобразования вида "текст - семантическая сеть" и "семантическая сеть - текст".

Требование 4. Должна обеспечиваться возможность работы с программным средством через локальную вычислительную сеть и Интернет.

Схему преобразования информации, представленной семантическими сетями, можно представить как совокупность трех концептуальных схем, каждая из которых соответствует одному из трех базовых типов преобразования: "семантическая сеть -семантическая сеть", "текст - семантическая сеть" и "семантическая сеть - текст" и их комбинаций.

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

Модель описания классов семантических сетей есть четверка: <Concepts_Network, Id_Concept, Const_Concept, Syntax_Restrictions>. 1. Concepts_Network = <Concepts, Relations, Attributes, Initial ConcepO - описание класса сетей понятий (S„c).

1.1. Concepts = {Concept,} c™ceP'scm"' _ конечное непустое множество понятий. Каждое понятие Conceptt описывается следующим образом: Concept = <Concept_Value, Concept Kind, Concept_TerminalType>.

1.1.1. Concept_Value = <Concept_Value_Type, Concept_Value_Value> - значение понятия описывается своим типом Concept_Value_Type и значением Conceptalue_Value. Значение понятия есть непустая последовательность символов, которая идентифицирует определенный класс объектов описываемой предметной области, множество значений (сорт) или представляет в ней конкретное (константное) значение. Concept_Value_Type е {"Строковое", "Целое", "Вещественное", "Логическое"}. Concept_Value_Value е String и Integer и Real и Boolean, где String - множество строк, Integer - множество целых чисел, Real -множество вещественных чисел, Boolean - множество {"true", "false"). Значением понятия может быть последовательность символов, интерпретируемых как строковая константа, целое число из множества целых чисел, вещественное число из множества вещественных чисел, элемент множества {"true", "false"}.

1.1.2. Concept Kind е {"Терминальное", "Нетерминальное"} - тип понятия. Понятие может быть терминальным или нетерминальным.

1.1.3. Concept_TerminalType е {"Идентификатор", "Константа", "Сорт", "Не определено"} - тип терминального понятия. Терминальное понятие может быть идентификатором, или константой, или обозначать некоторый сорт. Если понятие Conceptj является нетерминальным, то ConceptJTerminalType = "Не определено".

1.2. Relations = {Relation,) "'^"mscmM - конечное, возможно пустое, множество отношений. Каждое отношение Relation, является направленным бинарным отношением (дугой), имеющим, возможно, спецификатор множественности и

8

связывающим два понятия. Отношение описывается следующим образом: Relationj = <Relation_EndSp, Begin_Concept, End_Concept>.

1.2.1. Relation_EndSp e {"Конкретность", "Единственность", "Множество"} -спецификатор множественности (кардинальность) - характеристика отношения, определяющая способ порождения понятия-экземпляра (понятия из Sjnsi) вместе с отношением к нему по понятию-концу данного отношения (EndjConcept - понятие из S„c). Relation_EndSp = "Конкретность" (или пустой спецификатор) означает, что может быть порождено только одно понятие-экземпляр и его значение (имя) должно совпадать со значением (именем) его понятия-прототипа (End_Concept). Relation_EndSp = "Единственность" означает, что по EndjConcept может быть порождено только одно понятие-экземпляр, но его значение (имя) обязательно должно быть задано при порождении. Порожденное понятие при этом является сущностью из класса объектов или элементом из множества значений, идентифицируемого понятием-прототипом (EndjConcept) (строка, целое значение, вещественное значение, логическое значение). Relation_EndSp = "Множество" означает, что по EndjConcept может быть порождено любое количество (но, по крайней мере, один) понятий-экземпляров и их значения (имена) обязательно должны быть заданы при порождении. Каждое порожденное понятие при этом является сущностью из класса объектов или элементом из множества значений, идентифицируемого понятием-прототипом (EndjConcept).

1.2.2. BeginJConcept - понятие, из которого дуга исходит - понятие-начало отношения. BeginjConcept е Concepts \ TerminalJConcepts, где Terminal Concepts -множество терминальных понятий, TerminalConcepts с Concepts. Понятием-началом отношения может быть любое нетерминальное понятие.

1.2.3. EndjConcept - понятие, в которое дуга входит - понятие-конец отношения. EndjConcept е Concepts \ {InitialjConcept). Понятием-концом отношения может быть любое понятие за исключением начального понятия.

1.3. Attributes - {Аttribute,} ^'Ьше1сош' _ конечное, возможно пустое, множество атрибутов. Каждый атрибут Attribute/ представляет некоторое свойство понятия и описывается следующим образом: Attributef = <Attribute_Name, Attribute_Argument, Attribute_Value>.

1.3.1. Attribute_Name - имя атрибута, представляющее собой непустую последовательность символов.

1.3.2. Attribute_Argument е Concepts. Аргументом атрибута может быть понятие из множества описанных понятий.

1.3.3. Attribute_Value = <Attribute_Value_Type, Attribute_Value_Value> - значение атрибута описывается своим типом Attribute_Value_Type и значением Attribute_Value_Value. Attribute_ValueJType е {"Понятие", "Строковое", "Целое", "Вещественное", "Логическое", "Файл"}. Attribute_Value_Value е Concepts u String u Integer u Real и Boolean. Значением атрибута может быть ссылка на понятие, последовательность символов, интерпретируемых как строковая константа, целое число из множества целых чисел, вещественное число из множества вещественных чисел, элемент множества {"true", "false"} или содержимое файла в бинарном виде (Attribute_Value_Value в этом случае интерпретируется как путь к файлу).

1.4. InitialjConcept - начальное понятие в описании сети понятий информации, оно единственно, и через него не может быть выражено ни одно другое понятие из описываемого класса сетей понятий. Initial_Concept е Concepts.

2. Id Concept - понятие, представляющее идентификатор в описании класса сетей понятий информации, оно единственно и не может быть выражено через другие понятия, т.е. является терминальным понятием типа "Сорт". Id_Concept е Concepts.

3. Const_Concept - понятие, представляющее константу в описании класса сетей понятий информации, оно единственно и не может быть выражено через другие понятия, т.е. является терминальным понятием типа "Сорт". Const_Concept е Concepts.

4. Syntax Restrictions = <Lexica, Syntax> - описание синтаксических ограничений. Оно может отсутствовать, если текстовое представление информации не требуется, или же информация вовсе не имеет текстового представления.

4.1. Léxica = {<Lexem_Type¡, Definition/>}

4.2. Syntax = {<Concepth Definition, >}

Lexem_Type¡ e {"Идентификатор", "Целое число", "Вещественное число", "Строковая константа", "Ограничитель строковой константы"}. Concept i е Concepts \ {IdjConcept, Const Concept}.

Definitioni - строка символов, включающая метасимволы и представляющая конкретное лексическое или синтаксическое ограничение для конкретного понятия или вида лексемы.

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

Все ограничения на вид лексем контекстно-свободного языка задаются с помощью регулярных выражений с использованием нотации рег15. Метасимволы не распространяются на лексические ограничения.

Описание структурной проекции ft представляет собой множество правил ft = {Rule,} . в общем виде каждое правило Rule¡ можно представить следующим образом: а -» р, где а е Source Concepts, где Source Concepts - множество понятий из SS„C\

Р = {TargetjConceptDescn) u {Target_Relation_Descr^mscm"" и

{Target_Attribute_Descri¡} , где

{Targeí_Concept_Descr¡} j-™«/""™"' _ возможно пустое множество описаний порождаемых понятий в семантической сети TSi„st. Target_Concept_Descr¡ есть описание порождения понятия в TSiml.

{Target_Relation_Descr)}rfj£mscou"' - возможно пустое множество описаний

создаваемых отношений в семантической сети TSwsl. Target_Relation_Descr¡ есть описание порождения отношения в TS¡„sl.

{Target_Attribute_Descrii}f^'"""CM- возможно пустое множество описаний создаваемых атрибутов в семантической сети TSms,. Target_Attribute_Descrk есть описание порождения атрибута в TS,„st. При этом р ф 0 и для любых аь а2 е Source_Concepts, если правила cti->Pi, а2->р2 входят в р, то ai * а2.

Описание создания понятия в TS,„s, (Target_Concept_Descr) представляет собой шестерку: Target_Concept_Descr = <Proto_Concept_Name, SConceptValue, isTProtoCoriceptName, Storable, Loadable, Concept_Value>.

1. Proto_Concept_Name - имя понятия-прототипа из описания класса сетей понятий целевой информации TS„C, которое представляет собой непустую последовательность символов.

2. SConceptValue = <isSConceptValue, isTerminal, isAttributeValue, attributeName>. Описывает выбор значения для создаваемого в TSjnSf понятия на основе имени (значения) понятия из SS,„sl или на основе значения атрибута понятия из SSmsi-

2.1. isSConceptValue е {"true", "false"}. Определяет, нужно ли создаваемому в TS,m, понятию присваивать в качестве значения имя (значение) ПОНЯТИЯ ИЗ SSj„s, или значение атрибута понятия из

2.2. isTerminal е {"true", "false"}. Определяет, значение какого понятия (или его атрибута) из SSimt нужно присвоить*, экземпляра понятия, стоящего в левой части правила ("false"), или терминального понятия-потомка экземпляра понятия, стоящего в левой части правила ("true").

2.3. isAttributeValue е {"true", "false"}. Определяет, присваивать создаваемому в TSi„si понятию в качестве значения имя (значение) понятия из SS,„si ("false") или значение атрибута этого понятия ("true").

2.4. attributeName - строка символов, возможно пустая, представляющая имя атрибута, значение которого нужно присвоить создаваемому в TS,„U понятию в качестве значения.

3. isTProtoCoriceptName е {"true", "false"}. Определяет, нужно ли создаваемому в TSins, понятию присваивать в качестве значения имя (значение) его понятия-прототипа из TS„C.

4. Storable = <isStorable, Alias, storeConcepO. Описывает сохранение значений в хеш-таблицу.

4.1. isStorable е {"true", "false"}. Определяет, нужно ли значение, которое будет присвоено создаваемому в TSins, понятию, поместить (сохранить) в хеш-таблицу.

4.2. Alias - строка символов, возможно пустая, представляющая псевдоним, под которым нужно сохранить значение понятия в хеш-таблицу.

4.3. storeConcept е {"true", "false"}. Определяет, нужно ли поместить (сохранить) в хеш-таблицу создаваемое в TS,„s, понятие целиком или же только его значение (имя).

5. Loadable = <isLoadable, Alias>. Описывает извлечение значений из хеш-таблицы.

5.1. isLoadable е {"true", "false"}. Определяет, будет ли значение, которое необходимо присвоить создаваемому в TSimt понятию, извлекаться из хеш-таблицы.

5.2. Alias - строка символов, возможно пустая, представляющая псевдоним, по которому нужно получить значение для понятия из хеш-таблицы.

6. Concept_Value = <Concept_Value_Type, Concept_Value_Value>. Описывает значение (имя), присваиваемое создаваемому в TSim, понятию.

6.1. Concept_Value_Type e {"Строковое", "Целое", "Вещественное", "Логическое", "Вычислимое целое", "Вычислимое вещественное", "Вычислимое строковое"} - тип значения.

6.2. Concept_Value_Value - собственно значение понятия - строка символов, интерпретируемая в зависимости от значения типа понятия. Значением понятия может быть строковая константа, целое число из множества целых чисел, вещественное число из множества вещественных чисел, элемент множества {"true", "false"}. Если тип значения понятия "Вычислимое целое" (Concept_Value_Type = "Вычислимое целое"), то значение понятия интерпретируется как выражение, значение которого требуется вычислить, и результат вычисления будет интерпретироваться как целое число. Если тип значения понятия "Вычислимое вещественное" (Concept_Value_Type = "Вычислимое вещественное"), то результат вычисления будет интерпретироваться как вещественное число. Если тип значения понятия "Вычислимое строковое" (Concept_ValueJType = "Вычислимое строковое"), то вычисленное значение будет строковой константой. Под выражением здесь понимаются арифметико-логическое выражение, операции над строками, множество вложенных условных операторов.

Описание создания отношения в TSws, (Target_Relation_Descr) представляет собой тройку: Target_RelationJDescr = <Relation_Begin_Concept, Relation_End_Concept, Number>.

1. Relation_Begin_Concept = <Begin_Concept_Name, isProtoConcepName, isLoadable, Alias>. Описывает понятие-начало отношения.

1.1. Begin_Concept_Name - имя понятия-начала отношения, представляющее собой непустую последовательность символов.

1.2. isProtoConceptName е {"true", "false"}. Определяет, является ли это имя именем понятия из TS„C.

1.3. isLoadable е {"true", "false"}. Определяет, будет ли понятие-начало отношения, извлекаться из хеш-таблицы.

1.4. Alias - строка символов, возможно пустая, представляющая псевдоним, по которому нужно получить понятие из хеш-таблицы.

2. Relation_End_Concept = <End_Concept_Name, isProtoConceptName, isLoadable, Alias>. Описывает понятие-конец отношения. Аналогично описанию Relation_Begin_Concept, только End_Concept_Name есть имя понятия-конца отношения, которое также представляет собой непустую последовательность символов, a isLoadable определяет, будет ли понятие-конец отношения, извлекаться из хеш-таблицы.

3. Number - целое положительное число - порядковый номер отношения. Определяет номер, под которым создаваемое отношение будет добавлено к отношениям, в которых уже участвует понятие-начало.

Описание создания атрибута в TSmst (Target_Attribute_Descr) представляет собой шестерку: Target_Attribute_Descr = <Attribute_Name, SConceptValue, AttrJStorable, Attr_Loadable, Attribute_Argument, Attribute_Value>.

1. Attribute_Name - имя атрибута, представляющее собой непустую последовательность символов.

2. SConceptValue = <isSConceptValue, isTerminal, isAttributeValue, attributeName>.

Описывает выбор значения для создаваемого в TSws, атрибута на основе имени (значения) понятия из SSimt. или на основе значения атрибута понятия из SS,„sl. Аналогично описанию выбора значения для создаваемого понятия.

3. Attr_Storable = <isStorable, Alias>. Описывает сохранение значения атрибута в хеш-таблицу. Описание компонентов аналогично описанию сохранения понятия в хеш-таблицу.

4. Attr_Loadable = <isLoadable, Alias>. Описывает извлечение значений из хеш-таблицы. Описание компонентов аналогично описанию извлечения значений для понятий из хеш-таблицы.

5. Attribute_Argument = <Attribute_Argument_Value, isProtoConcepName>. Описывает аргумент атрибута.

5.1. Attribute_Argument_Value - собственно аргумент атрибута - строка символов, интерпретируемая как имя (значение) ПОНЯТИЯ ИЗ TSjnst или TSnc.

5.2. isProtoConceptName е {"true", "false"}. Определяет, является ли имя понятия-аргумента именем понятия из TS„C ("true") или TSins, ("false").

6. Attribute_Value = <Attribute_Value_Type, Attribute_Value_Value>.

6.1. Attribute_Value_Type e {"Понятие", "Строковое", "Целое", "Вещественное", "Логическое", "Файл", "Вычислимое целое", "Вычислимое вещественное", "Вычислимое строковое"}.

6.2. Attribute_Value_Value - собственно значение атрибута - строка символов, интерпретируемая в зависимости от типа. Если тип значения атрибута "Понятие", то значением атрибута является ссылка на понятие. Если тип значения атрибута "Файл" то Attribute__Value_Value интерпретируется как путь к файлу, а значением атрибута является содержимое этого файла в бинарном виде.

Для формирования пользователем множества правил в терминах приведенной выше модели разработан язык для описания структурных проекций.

Метод преобразования классов семантических сетей на основе описания структурной проекции можно представить как совокупность трех базовых методов преобразования: "текст - семантическая сеть", "семантическая сеть - текст" и "семантическая сеть - семантическая сеть".

Метод преобразования "текст - семантическая сеть" включает анализ текстового представления, построение последовательности номеров правил вывода грамматики и формирования семантической сети на основе полученной последовательности. Для анализа текста и построения вывода, используется алгоритм Эрли. Для формирования семантической сети предназначен алгоритм, основная идея которого состоит в том, чтобы, двигаясь от вершины сети (начального понятия), достраивать сеть понятий в соответствии со сформированной по описанию синтаксических ограничений КС-грамматикой и сгенерированной последовательностью списков ситуаций Эрли.

Метод преобразования "семантическая сеть - текст" состоит в рекурсивном обходе заданной семантической сети в глубину с параллельным просмотром правил сформированной по описанию синтаксических ограничений КС-грамматики для синтеза фрагментов результирующего текста.

Метод преобразования "семантическая сеть - семантическая сеть" основан на операционной семантике языка описания структурных проекций. Его суть состоит в

обходе исходной семантической сети в глубину и параллельном достраивании подсети в целевой семантической сети в соответствии с описанием правой части выбранного правила. После применения очередного правила формируемая целевая сеть всегда соответствует своей метаинформации.

Четвёртая глава диссертационной работы содержит описание архитектуры и методов реализации средства преобразования классов семантических сетей на основе описания структурной проекции.

На рис. 2 изображена архитектура средства преобразования классов семантических сетей как совокупность программных и информационных компонентов. На данной схеме отражены потоки данных между программными компонентами, а преобразователь классов семантических сетей представлен в виде совокупности трех подсистем - подсистема анализа и синтеза текстовых представлений информации (АИСТ), генератор семантических сетей и подсистема управления.

Генератор семантических сетей

St Stext Ttext TSinst SSinst

_I_I_I_

M

Подсистема управления преобразователя классов семантических сетей

□ ST

[ Модель описания \ [классов семантических) V сетей J

S, TS

inst

Бш семантических с«т*й

SSinst до

I tex^

Файловая систем«

»text

Информационное наполнение

База структур**» проекций

ш

(Модель описания \ структурных 1 проекций J

Редактор модели описания классов семантических сетей

±:

Редаетор семантических сетей

Редактор структурных проекций

Редактор модели описания структурных _проекций_

Описание_

Редактирование Info в качестве 'целевой информации" схемы

Передача информации

Программное средство

^ Info

Использование Info« в качестве метаинформации в процессе редактирования 'целевой информации* Info:

InfOi — - — -

Программное средство

► lnfo2

Рис. 2. Архитектура средства преобразования классов семантических сетей на основе описания структурной проекции

Для обеспечения возможности работы с программным средством через Интернет/Интранет оно реализовано как клиент-серверное приложение с использованием платформы облачных вычислений Многоцелевой банк знаний (МБкЗ).

Все информационные компоненты программного средства расположены на сервере, на котором развернут МБкЗ, в информационном наполнении МБкЗ. Для

14

каждого информационного компонента средства преобразования классов семантических сетей через административную систему зарегистрирован и создан соответствующий ему информационный ресурс в МБкЗ. На клиентском компьютере пользователя находятся средства редактирования и преобразователь классов семантических сетей.

Каждое средство редактирования реализуется с использованием Редактора информации различного уровня общности (ИР У О) как инструментального средства для создания специализированных средств редактирования информационных ресурсов МБкЗ.

Оставшиеся три компонента программной части средства реализованы в виде отдельного приложения (преобразователя классов семантических сетей), состоящего из трех подсистем - подсистемы управления, подсистемы АИСТ и генератора семантических сетей. Для реализации программного средства выбран язык программирования Java фирмы Sun Microsystems, поскольку он позволяет разрабатывать кроссплатформенные приложения, работающие под управлением виртуальной Java-машины. Для удаленного доступа к информационному наполнению МБкЗ используется специальный программный интерфейс (API), предоставляемый платформой МБкЗ.

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

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

На рис. 3 изображена общая схема использования программного комплекса при решении задач преобразования информации, представленной семантическими сетями. Цифры на стрелках обозначают очередность, в которой прикладной пользователь задает информацию, необходимую для процесса преобразования. Надпись на стрелке вида "["i"]" означает, что действие, указанное в ромбе, в который входит стрелка с цифрой i, не является обязательным для запуска процесса преобразования. Надпись на стрелке вида "["¿"|"j"]" означает, что действие, указанное в ромбе, в который входит стрелка с такой надписью, может быть выполнено либо i-м, либо j-м по порядку.

Практическая применимость разработанной технологии рассматривалась на следующих задачах: преобразование базы знаний о заболеваниях; преобразование диаграмм классов на языке UML в их представление в формате XML; разработка

конвертера языка программирования MILAN на язык программирования ASPLE; задача построения модели структурных программ.

преобразования информации, представленной семантическими сетями

Описанная совокупность примеров преобразования информации охватывает весь спектр видов преобразований: эндогенные и экзогенные, вертикальные и горизонтальные, а также преобразования внутри разных технологических пространств и между технологическими пространствами. При этом применяются все базовые типы преобразований: "семантическая сеть - семантическая сеть", "текст -семантическая сеть" и "семантическая сеть - текст". Помимо этого, задействуются

все три комбинации базовых типов преобразований: "семантическая сеть - семантическая сеть - текст", "текст - семантическая сеть - семантическая сеть" и "текст -семантическая сеть - семантическая сеть - текст".

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

Таблица 1 - Количественные характеристики классов семантических сетей, представляющих описания перечисленных видов информации и количество правил в описании проекции

—Характеристика Вид информации ' ■—_ Количество понятий Количество отношений Количество синтаксических ограничении Количество правил в описании проекции

Описание базы знаний о заболеваниях 8 7 — 4

Описание преобразованной базы знаний о заболеваниях 4 3 —

Описание диаграммы классов языка UML 7 11 — 7

Описание языка XML 12 16 и

Описание языка MILAN 41 60 39 35

Описание языка ASPLE 46 65 44

Ограниченное подмножество языка Pascal 105 171 103 59 —

Ограниченное подмножество языка С 144 229 142 80

Язык модели структурных программ 16 15 —

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ

1. На основе анализа основных задач преобразования различных видов информации, решаемых в научных исследованиях и профессиональной деятельности, а также моделей, методов и средств, существующих для решения таких задач, сформулирован и обоснован набор принципиальных требований к средству преобразования информации, представленной семантическими сетями. На основе требований предложена трехкомпонентная трехуровневая концептуальная схема преобразования информации, представленной семантическими сетями. Данная схема ориентирована на возможность описания преобразований "семантическая сеть -семантическая сеть", "семантическая сеть - текст" и "текст - семантическая сеть" (трехкомпонентность), описания эндогенных и экзогенных преобразований, а также преобразований внутри и между разными технологическими пространствами (трехуровневость).

2. Разработана модель для описания классов семантических сетей. Данная модель базируется на формализме представления семантических сетей, основанном на максимально абстрактных категориях "сущность" и "отношение". Расширение модели позволяет специфицировать преобразования вида "текст - семантическая сеть" и "семантическая сеть - текст" одинаковым образом: используется один и тот же формализм, нотация, вид правил и т.д.

3. Разработаны модель и язык для описания структурных проекций. Язык предназначен для описания преобразований вида "семантическая сеть -семантическая сеть". Описан абстрактный и конкретный синтаксис языка. Данный язык не ориентирован на конкретное технологическое пространство и позволяет специфицировать преобразования в самых общих категориях - "сущность", "свойство", "отношение".

4. Разработаны методы преобразований "текст - семантическая сеть", "семантическая сеть - текст" и "семантическая сеть - семантическая сеть", определяющие, как по соответствующей спецификации преобразования на основе входной информации получить выходную, удовлетворяющую этой спецификации. Используемый метод преобразования "текст - семантическая сеть" позволяет анализировать текст на языке, задаваемом КС-грамматикой без ограничений.

5. Разработаны методы реализации программного средства преобразования информации, представленной семантическими сетями, на основе описания структурных проекций. Для обеспечения процесса раздельного, независимого (от программных компонентов) сопровождения информации соответствующими специалистами все информационные компоненты программного средства выделены в отдельные информационные базы. Для каждой базы разработан свой специализированный редактор, позволяющий удаленно формировать и поддерживать в актуальном состоянии соответствующую информационную базу. Преобразователь классов семантических сетей обеспечивает возможность работы как в "сетевом" (через Интернет/Интранет), так и в "локальном" режиме, а также позволяет формировать и сохранять графические представления семантических сетей.

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

ОСНОВНЫЕ ПУБЛИКАЦИИ

1. Князева М.А., Тимченко В.А. Структурные редакторы программ на языках программирования высокого уровня и генератор моделей структурных программ в Банке знаний о преобразованиях программ // Искусственный интеллект. - 2005. - Т.4. - С. 200 - 208.

2. Князева М.А., Тимченко В.А. Средства структурного редактирования информационного наполнения в Банке знаний о преобразованиях программ // Вестник компьютерных и информационных технологий. - Москва. - 2006. - №6. - С. 43 - 49.

3. Клещев А.С., Князева MA., Тимченко В.А. Интеллектуальная система генерации единого внутреннего представления в системе преобразований программ // Вторая Международная конференция "Системный анализ и информационные технологии": Труды конференции. В 2 т. - Москва - 2007. -Т.1. - С. 130 -133.

4. Князева М. А., Тимченко В.А. Подсистема генерации единого внутреннего представления в системе преобразований программ // Программные продукты и системы.-2008.-Ksi.-С. 58-62.

5. Knyazeva M .A., Timchenko V.A. Orûology-based model of représentation of knowledge about language mappings // International Book Sériés "INFORMATION SCIENCE & COMPUTING", Number 5. Supplément to the International Journal "INFORMATION TECHNOLOGIES & KNOWLEDGE" - Bulgaria, Sofia: FOI ITHEA. - 2008. - Vol. 2. - Pp. 111 - 118. - ISSN: 1313-0455 (printed), 1313-048X (online), 1313-0501 (CD/DVD).

6. Князева M.A., Тимченко В.А. Генерация программ в целевом представлении на основе описаний проекций языков исходного представления на языки целевого представления // Искусственный интеллект. Интеллектуальные системы: Материалы IX Международной научно-технической конференции. - Донецк. -2008. -Т.2. - С. 343-347.

7. Князева М.А., Тимченко В.А. Преобразование программ из исходного представления в целевое представление на основе описаний проекций языка исходного представления на язык целевого представления // Искусственный интеллект. - 2008. - Т.З. - С. 681 - 689.

8. Князева М.А., Тимченко В.А. Модель онтологии проекций языков программирования высокого уровня на единое представление программ /У Одиннадцатая национальная конференция по искусственному интеллекту с международным участием КИИ-08. Труды конференции. - Москва. - 2008. - Т. 1. - С. 124 - 132.

9. Князева М.А., Тимченко В.А. Система преобразования графовых структур на основе проекций // Седьмая международная конференция памяти академика А. П. Ершова "Перспективы систем информатики" Рабочий семинар "Наукоемкое программное обеспечение". Информационный бюллетень. - Новосибирск. - 2009. - С. 168 — 172.

10. Князева М.А., Тимченко В.А. Преобразование графовых структур представления информации // Искусственный интеллект. - 2009. - Т.4. - С. 425 - 436.

11. Тимченко В.А. Преобразователь семантических сетей // Открытый Дальневосточный конкурс программных средств студентов, аспирантов и молодых специалистов "Программист-2010". Сборник докладов. Владивосток. - 2010. - С. 17-20.

12. Тимченко В.А. Концепция преобразования информации на основе проекций классов семантических сетей // XXXV Дальневосточная математическая школа-семинар имени академика Е.В. Золотова: сб. докл. [Электронный ресурс]. - Владивосток. - 2010. - С. 886-891.

13. Knyazeva М.А., Timchenko V.A. The concept of information transformation tool based on mapping of graph structures // Proceedings of the First Russia and Pacific Conference on Computer Technology and Applications (RPC 2010). [Electronic resource]. - Vladivostok, Russia.-2010.-Pp. 145- 150.

14. Князева M.A., Бердник A.H., Волков Д.А., Жеравин М.В., Зотов И.Ю., Маевский М.С., Плохих С.А., Тимченко В.А. Система, моделирующая процесс преобразования программ, управляемый знаниями. Зарегистрировано в Реестре программ для ЭВМ 15 августа 2006 г. Свидетельство Федеральной службы по интеллектуальной собственности, патентам и товарным знакам об официальной регистрации программы для ЭВМ № 2006612928.

15. Князева М.А., Тимченко В.А. Преобразователь семантических сетей. Зарегистрировано в Реестре программ для ЭВМ 9 июля 2010 г. Свидетельство Федеральной службы по интеллектуальной собственности, патентам и товарным знакам о государственной регистрации программы для ЭВМ № 2010614544.

Личный вклад автора. Все результаты, составляющие основное содержание диссертации, получены автором самостоятельно. В работах [1, 2] автором описаны виды информации, с которой работает программное средство для преобразования информации на основе проекций классов семантических сетей, а также средства редактирования этой информации. В работах [3, 4, 7, 9, 10, 13] автору принадлежит определение концепции системы для преобразования информации на основе проекций классов семантических сетей и методов ее реализации. В работах [5, 8, 10, 13] автором описаны модель и язык для описания структурных проекций. В работе [6] автором дано описание алгоритма преобразования семантических сетей на основе описания структурной проекции. В работе [10] автор приводит описание использования программного средства в рамках системы преобразований программ. В работе [14] разработанное программное средство "Преобразователь классов семантических сетей" является одной из подсистем в системе, моделирующей процесс преобразования программ, управляемый знаниями. В работе [15] автором разработаны подсистема генерации семантических сетей, подсистема анализа и синтеза текстов и подсистема управления.

Тимченко Вадим Андреевич

ПРЕОБРАЗОВАНИЕ КЛАССОВ СЕМАНТИЧЕСКИХ СЕТЕЙ Автореферат

Подписано к печати 21.12.2010 Усл. печ. л. 1,0 Уч.-изд. л. 0,8

Формат 60x84/16 Тираж 100 Заказ 42

Издано ИАПУ ДВО РАН. Владивосток, ул. Радио, 5 Отпечатано участком оперативной печати ИАПУ ДВО РАН Владивосток, ул. Радио, 5

Оглавление автор диссертации — кандидата технических наук Тимченко, Вадим Андреевич

ВВЕДЕНИЕ.

ГЛАВА 1. ПРЕОБРАЗОВАНИЯ СЕМАНТИЧЕСКИХ СЕТЕЙ. ОБЗОР

ЛИТЕРАТУРЫ.

1.1. Основные понятия.

1.2. Представление информации семантическими сетями.

1.3. Задачи преобразования семантических сетей.

1.4. Модели преобразования семантических сетей.

1.5. Средства преобразования семантических сетей.

1.6. Выводы из обзора литературы.

ГЛАВА 2. КОНЦЕПЦИЯ ПРЕОБРАЗОВАНИЯ ИНФОРМАЦИИ,

ПРЕДСТАВЛЕННОЙ СЕМАНТИЧЕСКИМИ СЕТЯМИ.

2.1. Основные понятия и определения.

2.2. Требования к средству преобразования информации, представленной семантическими сетями.

2.3. Концептуальная схема преобразования информации, представленной семантическими сетями.

2.4. Выводы.

ГЛАВА 3. МОДЕЛИ И МЕТОД ПРЕОБРАЗОВАНИЯ КЛАССОВ'

СЕМАНТИЧЕСКИХ СЕТЕЙ.

3.1. Модель описания классов семантических сетей.

3.2. Модель описания структурных проекций.

3.3. Язык описания проекций.

3.3.1. Абстрактный синтаксис языка описания проекций.

3.4. Метод преобразования классов семантических сетей на основе описания структурной проекции.

3.4.1. Метод преобразования "текст - семантическая сеть".

3.4.2. Метод преобразования "семантическая сеть — текст".

3.4.3. Метод преобразования "семантическая сеть - семантическая сеть".

3.5. Выводы.

ГЛАВА 4. МЕТОДЫ РЕАЛИЗАЦИИ СРЕДСТВА ПРЕОБРАЗОВАНИЯ КЛАССОВ СЕМАНТИЧЕСКИХ СЕТЕЙ НА ОСНОВЕ ОПИСАНИЯ СТРУКТУРНЫХ

ПРОЕКЦИЙ.

4.1. Назначение и функции программного средства.

4.2. Архитектура средства преобразования классов семантических сетей на основе описания структурных проекций.

4.3. Методы реализации средства преобразования классов семантических сетей на основе описания структурных проекций.

4.3.1. Клиент-серверная реализация.

4.3.2. Методы реализации средств редактирования.

4.3.3. Методы реализации преобразователя классов семантических сетей.

4.4. Технические характеристики.

4.5. Выводы.

ГЛАВА 5. ТЕХНОЛОГИЯ РЕШЕНИЯ ЗАДАЧ ПРЕОБРАЗОВАНИЯ ИНФОРМАЦИИ С ПОМОЩЬЮ РАЗРАБОТАННЫХ ПРОГРАММНЫХ СРЕДСТВ

И ПРИМЕРЫ ЕЕ ПРАКТИЧЕСКОГО ПРИМЕНЕНИЯ.

5.1. Технология решения задач преобразования информации с помощью разработанных программных средств.

5.2. Примеры описаний проекций семантических сетей в разных технологических пространствах.

5.2.1. Преобразование базы знаний.

5.2.2. Преобразование диаграмм классов на языке иМЬ в представление на языке XML.

5.2.3. Задача разработки языковых конвертеров.

5.2.4. Задача построения модели структурных программ.

5.3. Выводы. 128v

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ.

Введение 2010 год, диссертация по информатике, вычислительной технике и управлению, Тимченко, Вадим Андреевич

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

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

Большой вклад в разработку и исследование методов решения таких задач внесли В.Н. Вагин, В.Ш. Кауфман, С.П. Крицкий, В.Н. Касьянов, В.А. Серебряков, В.Н. Скворцов, А.Н. Терехов, Н. Ehrig, G. Karsai, H.-J. Kreowski, G. Rozenberg, A. Schürr, G. Taentzer и другие.

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

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

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

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

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

Для достижения поставленной цели необходимо решить следующие задачи:

1. Разработать общую концепцию преобразования информации, представленной семантическими сетями, в терминах описания их классов.

2. Разработать модель для описания классов семантических сетей и формализм для описания спецификаций преобразования семантических сетей -структурных проекций в терминах описания их классов.

3. Разработать метод преобразования классов семантических сетей на основе описания структурной проекции.

4. Разработать методы реализации средств преобразования* информации, представленной семантическими: сетями, на основе описания; структурных проекций.

5. Разработать технологию решения* задач преобразованиям информации с помощью разработанного комплекса программных средств и показать ее практическую применимость при? решении задач преобразованияшнформации, включая; эндогенные и экзогенные- преобразования; а также преобразования, в разных технологических. пространствах^ и между ними:.

Методы исследования; Для решения указанных задач- использовались теория формальных языков, теория; графов, элементы теории множеств, а таюке методы, теории синтаксического перевода и компиляции, методы объектно-ориентированного анализа; и проектирования, методы; системного программирования.

Научная новизна;работы состоит в следующем:

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

• впервые разработана основанная« на категориальном; базисе сущность -отношение модель для описания- структуры, информации: как класса семантических сетей, которая* расширена формализмом для описания, связи класса семантических сетей, с элементами конкретного синтаксиса языка, определяющего текстовое представление информации.- Данная.связь при этом одновременно является; спецификацией; преобразований как из текстового представления информации в структурное, так и наоборот; :

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

Практическая ценность работы состоит в следующем:

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

• применение платформы облачных вычислений Многоцелевой банк знаний позволило сделать комплекс программных средств доступным через сеть Интернет, при этом пользователям, имеющим соответствующие права, доступно не только выполнение преобразований,, но и удаленное редактирование информационных баз, используемых при преобразовании.

Реализация: результатов работы: Результаты диссертационной работы используются:

• 1 в научных исследованиях, проводимых в рамках различных программ и проектов в лаборатории интеллектуальных систем Института автоматики и процессов управления ДВО РАН, г. Владивосток;

• в учебном процессе на кафедре Программного обеспечения ЭВМ1 при разработке учебно-методических комплексов и чтении курсов лекций по дисциплинам "Теория вычислительных процессов и структур II. Теория и методы трансляции" и "Оптимизация программ" для студентов, обучающихся по специальности 010503.65 - "математическое обеспечение и администрирование информационных систем" в Дальневосточном федеральном университете, г. Владивосток.

Программное средство "Система, моделирующая процесс преобразования программ, управляемый знаниями" зарегистрировано в Реестре программ для ЭВМ 15 августа 2006 г. (Свидетельство об официальной регистрации программы для ЭВМ №2006612928).

Программное средство "Преобразователь семантических сетей" зарегистрировано в Реестре программ для ЭВМ 9 июля 2010 г. (Свидетельство о государственной регистрации программы для ЭВМ №2010614544).

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

Апробация работы. Основные положения диссертации докладывались и обсуждались на следующих международных и российских конференциях и семинарах: Дальневосточной математической школе-семинаре имени академика Е.В. Золотова (г. Хабаровск, 2005, 2009,^ г. Владивосток, 2006, 2007, 2008, 2010), Международной конференции "Искусственный интеллект. Интеллектуальные и многопроцессорные системы" (г. Таганрог, 2005), Научно-практической конференции "Современные проблемы и пути их решения в науке, транспорте, производстве и образовании" (г. Одесса, 2005), Научной сессии МИФИ (г. Москва, 2006), Второй Международной конференции "Системный анализ и информационные технологии" (г. Обнинск, 2007), Международной конференции К08-2008 (г. Варна, Болгария), Девятой международной научно-технической конференции "Искусственный интеллект. Интеллектуальные системы ИИ-2008" (пос. Кацивели, АР Крым, Украина, 2008), Одиннадцатой национальной конференции по искусственному интеллекту с международным участием "КИИ-2008" (г. Дубна, 2008), Рабочем семинаре "Наукоемкое программное обеспечение" в рамках Р8Г09 - Седьмой международной конференции памяти академика А. П. Ершова "Перспективы систем информатики" (г. Новосибирск, 2009), Международной научно-технической конференции "Искусственный интеллект. Интеллектуальные и многопроцессорные системы-2009" (г. Таганрог, Россия, 2009), Первой Российско-Тихоокеанской конференции по компьютерным технологиям и приложениям КРС 2010 (г. Владивосток, Россия, 2010), Открытом дальневосточном конкурсе программных средств студентов, аспирантов и молодых специалистов "Программист-2005", "Программист-2006", "Программист-2010" (г. Владивосток, 2005, 2006, 2010), Конкурсе научных работ молодых ученых и специалистов ИАПУ ДВО РАН (г. Владивосток, 2009), а также на совместных семинарах лаборатории интеллектуальных систем ИАПУ ДВО РАН и базовой кафедры программного обеспечения ЭВМ ДВГУ (2006 - 2009).

Публикация результатов работы. По материалам диссертации опубликовано 19 работ, из них 2 статьи в журналах, рекомендуемых ВАК РФ для опубликования научных результатов, получено 2 свидетельства о регистрации программ для ЭВМ.

Структура и объем работы. Диссертационная работа состоит из введения, пяти глав, заключения, списка литературы, включающего 156 наименований, и 20

Заключение диссертация на тему "Преобразование классов семантических сетей"

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ

1. На основе анализа основных, задач преобразования различных видов информации, решаемых: в; научных исследованиях и профессиональной деятельности, а также моделей, методов и средств, существующих для решения таких задач; сформулирован и обоснован набор принципиальных требований: к средству преобразования- информации; представленной семантическими сетями. На основе требований;; предложена трехкомпонентная трехуровневая концептуальная схема преобразования информации; представленной семантическими сетями. Данная- схема ориентирована на возможность описания преобразований "семантическая-сеть - семантическая-сеть", "семантическая сеть -текст" и "текст - семантическая сеть" (трехкомпонентность), описания эндогенных и экзогенных преобразований,, а. также преобразований внутри и между разными технологическими пространствами (трехуровневость).

2. Разработана модель для? описания? классов; семантических сетей. Данная модель базируется^ на формализме представления' семантических сетей, основанном на максимально абстрактных категориях "сущность" и "отношение". Расширение модели позволяет специфицировать преобразования вида "текст -семантическая сеть"" и- "семантическая сеть — текст" одинаковым образом: используется один и тот же формализм, нотация, вид правил и т.д.

3. Разработаны модель и язык, для: описания-структурных проекций. Язык предназначен для» описания преобразований вида "семантическая сеть -семантическая сеть". Описан абстрактный и конкретный синтаксис языка. Данный язык не ориентирован на конкретное технологическое пространство и позволяет специфицировать преобразования в самых общих категориях - "сущность", "свойство", "отношение".

4. Разработаны методы преобразований "текст - семантическая сеть", "семантическая сеть - текст" и "семантическая сеть - семантическая сеть", определяющие, как по соответствующей спецификации преобразования на основе входной информации получить выходную, удовлетворяющую этой спецификации. Используемый метод преобразования "текст - семантическая сеть" позволяет анализировать текст на языке, задаваемом КС-грамматикой без ограничений.

5. Разработаны методы реализации программного средства преобразования информации, представленной семантическими сетями, на основе описания структурных проекций. Для обеспечения процесса раздельного, независимого (от программных компонентов) сопровождения информации соответствующими специалистами все информационные компоненты программного средства выделены в отдельные информационные базы. Для каждой базы разработан свой специализированный редактор, позволяющий удаленно формировать и поддерживать в актуальном состоянии соответствующую информационную базу. Преобразователь классов семантических сетей обеспечивает возможность работы как в "сетевом" (через Интернет/Интранет), так и в "локальном" режиме, а также позволяет формировать и сохранять графические представления семантических сетей.

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

Библиография Тимченко, Вадим Андреевич, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

1. Артемьева И.Л., Князева М.А., Купневич O.A. Модель онтологии предметной области "Оптимизация последовательных программ". 4.1. Термины для описания объекта оптимизации // НТИ. Сер. 2. - 2002. — №12. - С. 23 - 28.

2. Артемьева И.Л., Князева М.А., Купневич O.A. Модель онтологии предметной области "Оптимизация последовательных программ". 4.2. Термины для описания процесса оптимизации // НТИ. Сер. 2. 2003. - №1. - С. 22 - 29.

3. Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции, Москва: Мир. 1978. В двух томах.

4. Бабкин, Э.А. Принципы и алгоритмы искусственного интеллекта: Монография // Э.А. Бабкин, О.Р. Козырев, И.В. Куркина. Н. Новгород: Нижегород. гос. техн. ун-т. - 2006. - 132 с.

5. Башмаков А.И., Башмаков И.А., Механизмы наследования, выявления и разрешения противоречий в обобщенной модели представления предметной области. 4.1 // Известия РАН. Техническая кибернетика. 1994. - №5. - С.14 -27

6. Башмаков А.И., Башмаков И.А., Механизмы наследования, выявления и разрешения противоречий в обобщенной модели представления предметной области. Ч. II // Известия РАН. Теория и системы управления. 1995. - №3. -С.175- 189

7. Бунимова Э.О., Кауфман В.Ш., Левин В.А. Об описании языковых проекций // Вестн. Моск. ун-та. Вычисл. матем. и киберн. 1978. - №4. - С. 68 - 73.

8. Вагин В.Н., Головина Е.Ю., Загорянская A.A., Фомина М.В. Достоверный и правдоподобный вывод в интеллектуальных системах // Под ред. В.Н. Вагина, Д.А. Поспелова. 2-е изд., испр. и доп. - М.: ФИЗМАТЛИТ. - 2008. - 712 с.

9. Ершов А.П. О сущности трансляции. Препринт, ВЦ Сибирское отделение АН СССР, Новосибирск. 1977.

10. Кауфман В.Ш., Левин В.А. Естественный подход к проблеме описания контекстных условий // Вестн. Моск. ун-та. Вычисл. матем. и киберн. 1977. — №2. — С. 67-77.

11. Кауфман В.Ш. О технологии создания трансляторов (проекционный подход). // Программирование. 1978. - №5. - С. 36 - 44.

12. Кауфман В.Ш. Проекционный подход к созданию трансляторов // Перспективы развития в системном и теоретическом программировании. -Новосибирск: Изд-во ВЦ СО АН СССР. 1979. - С. 87 - 103.

13. Клещев A.C., Князева М.А. Интернет-система управления информацией о преобразованиях программ // Информационные технологии. 2007. - №1. -С. 42-46.

14. Князева М.А., Тимченко В.А. Структурные редакторы программ на языках программирования высокого уровня и генератор моделей структурных программ в Банке знаний о преобразованиях программ // Искусственный интеллект. 2005. - Т.4. - С. 200 - 208.

15. Князева М.А., Тимченко В.А. Подсистема редактирования информационного наполнения в банке знаний о преобразованиях программ // Научная сессия МИФИ-2006, сб. научн. тр. в 16 томах, Москва: МИФИ. 2006. - Т.З. - С. 118 -119.

16. Князева М.А., Тимченко В.А. Средства структурного редактирования информационного наполнения в Банке знаний о преобразованиях программ // Вестник Компьютерных и информационных технологий. Москва: Машиностроение. 2006. - №6. - С. 43 - 49.

17. Князева М. А., Тимченко В.А. Подсистема генерации единого внутреннего представления в системе преобразований программ // Программные продукты и системы. 2008. - №1. - С. 58 - 62.

18. Князева М.А., Тимченко В.А. Преобразование программ из исходного представления в целевое представление на основе описаний проекций языка исходного представления на язык целевого представления // Искусственный интеллект. 2008. - Т.З. - С. 681 - 689.

19. Князева М.А., Тимченко В.А. Преобразование графовых структур на основе проекций. // Материалы X Международной научно-технической конференции

20. Князева М.А., Тимченко В.А. Преобразование графовых структур представления информации // Искусственный интеллект. 2009. — Т.4. - С. 425 - 436. I 27. Князева М.А., Тимченко В.А. Преобразователь семантических сетей.

21. Зарегистрировано в Реестре программ для ЭВМ 9 июля 2010 г. Свидетельство

22. Ин-т проблем информатики М. 1993. - С. 70 - 83.

23. Лозовский B.C. Семантические сети // Представление знаний в человеко-J машинных и робототехнических системах. М.: ВИНИТИ. - 1984.

24. Лозовский B.C. Сетевые модели // Искусственный интеллект. В Зх кн. Кн.2.

25. Модели и методы: Справочник / Под ред. Д.А. Поспелова. М.: Радио и связь. - 1990. - С. 28 - 49: 1 33. Маркотти Mi, Ледгард X., Бохман Г. Формальные описания языковпрограммирования // В' сб.: "Семантика языков программирования". М.: 1 Мир.-1980.-395 с.

26. Орлов В.А., Клещев A.C. Компьютерные банки знаний. Универсальный \ подход к решению проблемы редактирования информации. -j Информационные технологии. 2006. - №5. - С. 25 - 31.

27. Осипов Г.С. Приобретение знаний интеллектуальными системами. М.: Наука,1 Физматлит. 1997. - 112 с.

28. Перминов И.А. Нечеткая объектно-ориентированная семантическая сеть //

29. Международный форум информатизации 1999: Доклады международнойконференции "Информационные средства и технологии". 1999. - Т.З. - С. 37-40.

30. Перминов И.А. Объектно-ориентированный язык для оперирования семантическими сетями // Международный форум информатизации 2000: Доклады международной конференции "Информационные средства и технологии". - 2000. - ТЗ. - С. 212 - 215.

31. Тимченко В.А. Преобразование программ из исходного представления в целевое // XXXIII Дальневосточная математическая школа-семинар имени академика Е.В. Золотова: тезисы докладов. Владивосток: Изд-во Дальнаука. -2008.-С. 39-40.

32. Тимченко В.А. Преобразование информации на основе проекций графовых структур // XXXIV Дальневосточная математическая школа-семинар имени академика Е.В. Золотова: тезисы докладов. Хабаровск: Изд-во Тихоокеан. гос. ун-та. - 2009. - С. 183 - 185.

33. Фаулер М. Рефакторинг: улучшение существующего кода. Спб: Символ-Плюс. - 2004. - 430 с.

34. Хомский Н. Формальные свойства грамматик // Кибернетический сборник, новая серия, вып. 2, изд-во "Мир", Москва. 1966. - С. 121 - 230.

35. Akehurst D.H., Howells W.G., McDonald-Maier K.D. Kent Model Transformation Language // Model Transformations in Practice Workshop, part of MoDELS 2005. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, Springer, Heidelberg, 2005.

36. ANTLR; ANother Tool for Language Recognition. Electronic resource. URL: http://www.antlr.org (дата обращения: 15.05.2010).

37. Assmann U. OPTIMIX a tool for rewriting and optimizing programs // Handbook of graph grammars and computing by graph transformation: vol. 2: applications, languages and tools, World Scientific Publishing Co., NJ. - 1999. - Pp. 307 - 318.

38. Atkinson C., Kuhne T. Model-driven'development: A metamodeling foundation. IEEE Software, September, 2003.

39. Baader F., Nipkow T. Term Rewriting and All That. Cambridge, England: Cambridge University Press. 1998. - 301 p.

40. Balogh A., Varro D. Advanced model transformation language constructs in the VIATRA2 framework // In ACM Symposium on Applied Computing Model Transformation Track (SAC 2006), ACM Press, Dijon, France. - 2006. - Pp. 1280 -1287.

41. Bauderon M., Jacquet H. Pullback as a generic graph rewriting mechanism // In Applied Categorical Structures, vol. 9. 2001. - no. 1. - Pp. 65 - 82.

42. Bezivin J. In search of a basic principle for model-driven engineering // Novatica Journal, Special Issue, March-April, 2004.

43. Bezivin J., Kurtev I. Model-based Technology Integration with the Technical Space Concept // In Proceedings of the Metainformatics Symposium, Springer-Verlag,2005.

44. Bison GNU parser generator. Electronic resource. URL: http://www.gnu.org/ software/bison/manual/index.html (дата обращения: 15.05.2010).

45. Borger E., Stark R. Abstract State Machines. A method for High-Level System Design and Analysis. Springer-Verlag, 2003.

46. Brachman R. J., Levesque H. J., Reiter R. (eds.) Knowledge representation. Special Volume. Artificial Intelligence, vol. 49, 1991.

47. Gamacho D.O., Mens К., van den Brand M:, Vinju J. Automated Derivation of Translators From Annotated Grammars // Sixth Workshop on Language Descriptions, Tools and Applications. LDTA'06: ENOTS. 2006. - Pp 121 - 137.

48. Cercone N., McGalla G. (eds.). The Knowledge Frontier // Essays in the Representation of Knowledge. Springer-Verlag. 1987. - 512 p.

49. Chikofsky E., Gross J. Reverse Engineering and Design Recovery: A. Taxonomy // IEEE Software, 7(1).- 1990: Pp. 13 - 18.

50. Christiansen T. PERL5 Regular Expression Description. 1996: Electronic resource., URL:: http://www.perl.com/doc/FMTEYEWTK/regexps.html (дата обращения: 15.05.2010).

51. Cordy J. R., Halpern C. D., Promislow E. TXL: A rapid prototyping system for programming language dialects // In Proceedings of The International Conference of Computer Languages, Miami, FL. 1988.-Pp. 280-285.

52. Cordy J., Dean Т., Malton A., Schneider K. Source Transformation in Software Engineering Using the TXL Transformation1 System // Journal' of Information and Software Technology 44/13: 2002. - Pp. 827 - 837.

53. Gzarnecki K., Helsen S; Classification of model transformation approaches // In Workshop on Generative: Techniques in the context of Model Driven Architecture (OOPSLA '03), 2003.

54. Drewes F., Kreowski H.-J., Habel A. Hyperedge Replacement Graph Grammars // In G. Rozenberg (Ed.), Handbook of Graph Grammars and. Computing by Graph Transformation, vol. 1: Foundations. Singapore: World Scientific. 1997. - Pp: 95 -162.

55. Ehrig H., Mahr B. Fundamentals of Algebraic Specifications, vol. I, Equations and Initial Semantics, Springer, Berlin. 1985. -321 p.

56. Ehrig H., Engels G., Kreowski H.-J., Rozenberg G. (eds.). Handbook on Graph Grammars and Computing by Graph Transformation, vol. 2: Applications, Languages and Tools. World Scientific, 1999.

57. Engelfriet J., Rozenberg G. Node Replacement Graph Grammars // In G. Rozenberg (Ed.), Handbook of Graph Grammars and Computing by Graph Transformation, vol. 1: Foundations. Singapore: World Scientific. 1997. - Pp. 1 -94.

58. Fowler M. Language Workbenches: The Killer-App for Domain Specific Languages? 2005. Electronic resource. URL: http://www.martinfowler.com/ articles/language Workbench.html (дата обращения: 06.08.2010).

59. FUJABA Tool Suite, University of Paderborn Software Engineering. Electronic resource. URL: http://www.fuiaba.de (дата обращения: 28.08.2010).

60. Geiss R. GrGen.NET. 2008. Electronic resource. URL: http://www.grgen.net/ (дата обращения: 27.08.2010).

61. Guarino N., Giaretta P. Ontologies and Knowledge Bases. Towards a Terminological Clarification // In: Towards Very Large Knowledge Bases. N.J.I. Mars(ed.), IOS Press, Amsterdam, 1995.

62. Gruber T.R. A translation approach to portable ontologies II Knowledge Acquisition. No. 5(2). 1993. - Pp. 199 - 220.

63. Heering J., Hendriks P.R.H., Klint P., Rekers J. The syntax definition formalism SDF reference manual, SIGPLAN Notices 24 (11). - 1989. - Pp. 43 - 75.

64. Henriksson J., Heidenreich F., Johannes J., Zschaler S., Assmann U. Extending grammars and metamodels for reuse: the Reuseware approach // In IET Software, Special Issue on Language Engineering, vol. 2, 2008. issue 3. - Pp. 165 - 184.

65. Jonge M., Visser E., Visser J. XT: a bundle of program transformation tools // In Electronic Notes in Theoretical Computer Science, 44. Language Descriptions, Tools and Applications, 2001.

66. Jouault F., Kurtev I. Transforming models with ATL // In Satellite Events at the MoDELS 2005 Conference: MoDELS 2005 International Workshops, LNCS 3844, Bruel J.-M. Ed. Springer Berlin / Heidelberg. 2006. - Pp. 128 - 138.

67. Kalnins A., Barzdins J., Celms E. Model Transformation Language MOLA // Proceedings of Model Driven Architecture: Foundations and Applications, Linkoeping, Sweden. 2004. - Pp. 14 - 28.

68. Karakitsos G. A language for specifying program transformations // First International Conference on Software Testing, Reliability, and Quality Assurance, Conference Proceedings, New Delhi. 1994. - Pp. 36 - 42.

69. Karsai G. Why is XSL not suitable for Semantic Translation: Research Note, ISIS, Nashville, TN, 2000. Electronic resource. URL: http://www.isis.vanderbilt. edu/sites/default/files/Karsai G 4 0 2000 Why is XML.pdf (дата обращения: 19.08.2010).

70. Karsai G., Agrawal A., Shi F., Sprinkle J. On the Use of Graph Transformations for the Formal Specification of Model Interpreters // JUCS, Special issue on Formal Specification of CBS, vol. 9.-2003.-Pp. 1296-1321.

71. Kleppe A., Warmer S., Bast W. MDA Explained. The Model Driven Architecture: Practice and Promise. Addison-Wesley, 2003.

72. Klint P: A meta-environment for generating programming environments, ACM Trans. Software Eng. Methodology 2 (2). 1993. -Pp. 176-201.

73. Klop J.W. Term rewriting systems. In D: Gabbay, S.Abramski, and T. Maibaum, editors, Handbook of Logic and Computer Science, vol. 1. Oxford University Press, New York, 1992.

74. Kurtev I., Bezivin J., Aksit M. Technological Spaces: An Initial Appraisal // Int. Federated Conf. (DOA, ODBASE, CoopIS), Industrial track, Irvine, 2002.

75. Kuster J.M., Sendall S., Wahler M. Comparing two model transformation approaches // In Proc. UML 2004 Workshop OCL and Model Driven Engineering, Lisbon, 2004.

76. Lambers L. A new version of GTXL : An exchange format for graph transformation systems // Electronic Notes in Theoretical Computer Science, 127. -2005.-Pp. 51-63.

77. Lawley M., Steel J. Practical Declarative Model Transformation with Tefkat // MoDELS 2005 Workshops, LNCS 3844, Springer-Verlag, Berlin. 2006. - Pp. 139-150.

78. Lehmann E.W. Semantic Networks // Computers & Mathematics with Applications, vol. 23.-1992.-no. 2-5.

79. Levendovszky Т., Lengyel L., Mezei G., Charaf PI. A Systematic Approach to Metamodeling Environments and- Model Transformation Systems in VMTS // 2nd International Workshop on Graph Based Tools (GraBaTs), workshop at IGGT 2004, Rome, 2004s.

80. Mann: P.B. A translational BNF grammar notation (TBNF) // ACM SIGPLAN Notices, vol. 41. 2006. - no. 4. - Pp. 16 - 23.

81. Marschall F., Braun P. Model Transformations for the MDA with BOTL // Proceedings of the Workshop on Model Driven Architecture: Foundations and Applications, Enschede, Netherlands. — 2003. — Pp. 25 36.

82. MDA web site. Electronic resource. URL: http://www.omg.org/mda (дата обращения :16:07.2010).

83. Mens Т., Czarnecki K., van Gorp P. A Taxonomy of Model Transformations //In J. Bezivin, R. Heckel (Eds.),. Proc. of Language Engineering for Model-Driven Software Development. Dagstuhl Seminar Proceedings 04101, Schloss Dagstuhl, Germany, 2005.

84. Mernik M., Heering J., Sloane A.M. When and How to Develop Domain-Specific Languages // ACM Computing Surveys, vol. 37. 2006. - no. 5.

85. Muller P.-A., Fleurey F., Jezequel J.-M. Weaving Executability into Object-Oriented Metalanguages // ACM/IEEE 8th International Conference on: Model Driven Engineering Languages and Systems, Montego Bay, Jamaica; 2005. - Pp. 264 - 278. •

86. NeOn Glossary of Activities; Neon Project. 2007. Electronic resource. URL: http://www.neon-proiect.org (дата обращения: 16.07.2010).

87. Nupponen К. The Design and. Implementation of a Graph: Rewrite Engine for Model Transformations. 2005: Electronic resource!. URL: http://www.niksula.hut. fi/~knuppone/thesis.pdf (дата обращения: 28.08.2010")

88. OMG. Meta Object Facility (MOF) Core Specification. Available specification. Electronic resource. URL: http://www.omg.Org/spec/MQF/2.0/PDF (дата обращения: 30.09.2010).

89. OMG. Unified Modeling Language: (UML) Specification; Electronic resource. URL: http://www.omg.org/uml/ (дата обращения: 29.09.2010).

90. Patrascoiu O. YATL: Yet Another Transformation Language // Proceedings of the 1st European MDA Workshop, Twente, Netherlands. 2004. - Pp. 83 - 90.

91. Program Transformation Wiki. Electronic resource. URL: http://www.program-transformation.org (дата обращения: 23.08.2010).

92. Roussopoulos N.D; A semantic network model of data bases. Doctoral dissertation, University of Toronto, 1977.

93. Rozenberg G., editor. Handbook of Graph Grammars and Computing by Graph Transformation, vol. 1: Foundations, World Scientific Publishing Co. Pte. Ltd., 1997.

94. Schiirr A. Introduction to PROGRES, an attribute graph grammar based specification language // In Nagl, M., editor, Proc. Graph Theoretic Concepts in Computer Science, Lecture Notes in Computer Science 411. 1990. - Pp. 151 -165.

95. Schiirr A. Programmed graph replacement systems // In Rozenberg, G., editor, Handbook on Graph Grammars and Computing by Graph Transformation, vol. 2, Worl Scientific. 1999. - Pp. 669 - 689.

96. Sendall S., Kozaczynski W. Model transformation: the heart and soul of modeldrivensoftware development", vol. 20. 2003. - no. 5. - Pp. 42 - 45.

97. Sleep R., Plasmeijer R., van Eekelen M. C. D. J. Term Graph Rewriting: Theory and Practice. Wiley Publishers, New York, 1993.

98. Sowa J.F. Conceptual Structures. Addison-Wesley, Reading, MA, 1984.

99. Sowa J.F. Relating Diagrams to Logic // Procs. of ICCS-1993. 1993. - Pp. 1 - 35.

100. Taentzer G. AGG: A tool environment for algebraic graph transformation // In AGTIVE, ser. Lecture Notes in Computer Science, vol. 1779. Springer-Verlag. -1999.-Pp. 481-488.

101. Thayse A. et al. Approche logique de l'intelligence artificielle. 1. De la logique classique a la programmation logique., Bordas, Paris, 1988.

102. Перевод: Логический подход к искусственному интеллекту. 1. От классической логики к логическому программированию. Пер. с фр. / Тейз А., Грибомон П., Луи Ш. и др., М.: Мир. - 1990. - 132 с.

103. Tratt L. The МТ Model Transformation Language. Proceedings of ACM SIGAPP Symposium on Applied Computing, Dijon, France, 2006. Electronic resource. URL: http://eprints.mdx.ac.Uk/5925/l/Tratt-MT model transformations.pdf (дата обращения: 27.08.2010).

104. Varro D., Pataricza A. VPM: A visual, precise and multilevel metamodeling framework for describing mathematical domains and UML // Journal of Software and Systems Modeling, vol. 2(3). 2003. - Pp. 187 - 210.

105. Varro D., Balogh A. The Model Transformation Language of the VIATRA2 Framework // Sci. Gomput. Program., 68(3). 2007. - Pp. 187 - 207.

106. Visser E. et al. The online survey of program transformation. Electronic resource. URL: http://www.program-transformation.org (дата обращения: 10.08.2010).

107. Vojtisek D., Jzquel J.-M: MTL and Umlaut NG: Engine and Framework for Model Transformation // ERCIM News, no. 58, Special Issue on Automated Software Engineering. 2004. - Pp. 42-45.

108. Willink E.D. UMLX: A Graphical Transformation Language for MDA // Proceedings of the 18th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, Anaheim, CA(2003). 2003. -Pp. 13-24.

109. Winter A. Exchanging Graphs with GXL // In P: Mutzel, M: Junger, S. Leipert; editors. Graph Drawing, 9th International Symposium, GD 2001, LNCS 2265. Springer, Berlin. 2002. т- Pp. 485 - 500:

110. Wirth N. Pascal-S: A subset and its implementation // In Barron. 1981. - Pp. 199 -259.

111. Woods W.A. What's in a link? Foundation for semantic networks // In Representation and Understanding: Studies in Cognitive Science (Edited by D.G. Bobrow and A. Collins), Academic Press, New York. 1975. - Pp. 35 - 82.

112. World Wide Web Consortium. Extensible Markup Language (XML) Version 1.0 (Second Edition). W3C Recommendation. 2000: Electronic resource. URL: http://www.w3c.org/TR/xml. (дата обращения: 12.05.2010).

113. World Wide Web Consortium. XSL Transformations (XSLT) Version 1.0. W3C Recommendation. 1999. Electronic resource. URL: http://www.w3.org/TR/xslt. (дата обращения: 12.05.2010).