Онтология мультиагентных агентов в веб-центричной системе АСТПП

Н.Е. Филюков,
аспир.,
badfilin@gmail.com,
СПб НИУ ИТМО, г. Санкт-Петербург

В статье рассматривается вопрос создания онтологии для взаимодействия агентов в веб-центричной АСТПП на примере разрабатываемой системы на кафедре приборостроения СПб НИУ ИТМО.

 

In article is considered question of the creation to ontologies for interaction agents in web automatic system of technological preparation production on example of the under development system on pulpit of instrument making of Saint-Petersburg NRU ITMO.

 

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

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

Так как агенты существуют независимо друг от друга, появляется необходимость при их создании использовать единую для всех агентов базу общих знаний о «мире», которая может быть создана на основе онтологии технологической подготовки производства (онтология ТПП).

Термин инженерная онтология был введен в свое время Грубером [1]. Задача построения онтологии является довольно специфической. Грубер выделил для этой задачи отдельный термин – «спецификация концептуализации». Здесь под понятием «концептуализация» понимается «абстрактный, упрощенный взгляд на мир, который используется людьми для осуществления некоторой цели». [2] Особенность задачи заключается в том, чтобы построить описание этих знаний, причем в достаточной степени формальное, чтобы ее понимали другие системы.

Таким образом, понятие инженерная онтология можно определить как спецификацию (формальное описание) некого представления предметной области исследуемой задачи так, как это необходимо для данной задачи (концептуализации). [3]

Для технологической подготовки производства онтология понимается  как система, содержащая спецификацию задач и понятий, применяемых в ней. В такой онтологии формально описываются сферы деятельности, выполняемые приложениями, а так же термины, применяемые при описании моделей объектов, циркулирующих в АСТПП. Онтология основана на применении единого «языка», содержащего лингвистический словарь и правила манипулирования единицами словаря. Такой подход позволяет агентам понимать друг друга, что является необходимым условием для их общения при приеме и передачи моделей объектов и управляющих воздействий. Сложность разработки онтологии обусловлена различной природой объектов, информация о которых циркулирует в АСТПП: 3D и 2D модели деталей и сборочных единиц, модели технологических процессов, разнообразные модели средств технологического оснащения и т. д.

 

рис. 1  Родительский класс, представляющий онтологию ТПП

Для организации онтологии для  мультиагентной системы АСТПП на базе объектно-ориентрованного подхода был разработан единый родительский класс, который включается в себя знания о «мире» (рис. 1).

Агенты создаются на основе родительского класса, представляющий онтологию ТПП, после чего они имеют возможность для взаимодействия между собой (рис. 2).

Когда разрабатывается агент, он (а именно разработчик агента) должен определить свою область технологической деятельности и методы, которые предоставляются в рамках этой деятельности. Данные определения должны быть описаны в едином для системы и единственно возможном виде, представляющим собой «онтологическое описание»:

[Область знаний]/[Область технологической деятельности]/[Раздел технологической деятельности]/[Действие]/[Параметр]

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

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

Когда агент подключается к системе, он передает серверу свои онтологические описания.

На диаграмме рассмотрим основные действия агентов и серверного агента (далее сервер) связанные с онтологией. Прежде всего, взаимодействие агентов, как видно, начинается с «онтологического запроса» к серверу. Онтологический запрос представляет собой «онтологические описание», только направленное к серверу. После, сервер по своей базе знаний сверяет имеющиеся в нем «онтологические описания» с пришедшим «онтологическим запросом» и, если находит совпадения, выдает агенту параметры и адрес агента/метода для  запроса. После, агент направивший запрос посылает запрос к агенту, с данными в виде структуры содержащей параметры. Отвечающий агент передает данные также в виде специальной структуры для ответа.

рис. 2 Диаграмма взаимодействия агентов в мультиагентной системе АСТПП

Параметры, передаваемые агенту и ответ, получаемый от агента, определяются родительским классом, тем самым агенты «разговаривают» на одном языке, понимая друг друга.

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

Литература

1.  Gruber T.R. The Role of common ontology in achieving sharable, reusable knowledge bases // Principles of Knowledge Representation and Reasoning Proceedings of the Second Internation Conference. J.A. Allien, R. Fikes, E. Sandewell – eds. Morgan Kaufmann, 1991, 601-602.

2.  Gruber T.R. Ontologia: A mechanism to support portable ontologies // Technical Report KLS-91-66. Stanford University, Knowledge Systems Labaratory, Март 1992.

3.  Лапшин В.А. Онтологии в компьютерных системах. М.: Научный мир, 2010 – 224 с.: ил. стр. 16-17.