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

Прототип системы поддержки проектирования агентов для имитационных моделей сложных систем Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
377
82
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
агентное имитационное моделирование / продукционная экспертная система / системы / основанные на знаниях / agent-based simulation / expert system / knowledge-based system

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — А.И. Павлов, А.Б. Столбов

В работе рассматривается реализация прототипа системы поддержки проектирования агентов имитационных моделей. Приведена последовательность этапов процесса разработки имитационной модели, использованная в качестве основы для построения алгоритма формирования агентной модели, – от концептуального описания исследуемой области до ее программной реализации. Рассмотрена программная реализация компонентов создания концептуальной модели, визуального конструирования баз знаний продукционного типа и реализации агентов в среде моделирования Madkit. Компонент создания концептуальной модели предназначен для формирования иерархической структуры понятий, определения свойств понятий и отношений между ними. При этом описание отношений осуществляется путем построения набора семантических сетей, вершинами которых являются понятия концептуальной модели, а связями – отношения между ними. Каждая из семантических сетей поясняет отдельный аспект моделируемой области. Компонент визуального конструирования баз знаний обеспечивает конструирование правил вида «ЕСЛИ условия ТО действия» и генерацию кода базы знаний на языках Jess и Clips. Компонент реализации агентов в среде моделирования Madkit включает в себя библиотеку среды моделирования, классы, использующиеся в процессе агентного моделирования («Типовой агент», «Планировщик» и т.д.), а также классы для выполнения служебных функций (взаимодействие с БД или с внешней системой). Основные функции данного компонента – выполнение агентной модели, а также информирование пользователя о текущем состоянии процесса моделирования и параметров отдельных агентов. Реализация всех компонентов осуществлена в виде веб-приложений.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — А.И. Павлов, А.Б. Столбов

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

A PROTOTYPE OF AN AGENTS DESIGN SUPPORT SYSTEM FOR COMPLEX SYSTEM SIMULATION MODELS

The paper describes the details of implementation of a support system for designing simulation model agents. It also considers the sequence of stages for developing a simulation model that was used as a basis for constructing an agent model algorithm from the conceptual model of domain to the software implementation. The paper considers software imple-mentation of the components for a conceptual model, for visual design of knowledge bases and for implementation of agents in the Madkit simulation environment. A conceptual model component provides facilities for a hierarchical structure of con-cepts, determining concepts’ properties and relations between them. This description of the relationships is performed by con-structing a set of semantic networks, whose vertices are the concepts of a conceptual model, and links are relationships between them. Each of semantic networks explains a different aspect of a considered domain. A component for visual design of knowledge base provides an opportunity for rule construction in the form “IF conditions THEN actions” and code generation in Jess and Clips languages. A component for agent implementation in Madkit includes a simulation library; specially designed software classes (“Typical Agent”, “Scheduler”, etc.), as well as classes to perform service functions (interaction with a data-base or an external system). The main function of this component is providing simulation of an agent-based model, as well as informing the user about the current state of a modeling process and the parameters of particular agents. All components are implementated as web applications.

Текст научной работы на тему «Прототип системы поддержки проектирования агентов для имитационных моделей сложных систем»

УДК 004.89 Дата подачи статьи: 23.12.15

Б01: 10.15827/0236-235Х. 115.079-084

ПРОТОТИП СИСТЕМЫ ПОДДЕРЖКИ ПРОЕКТИРОВАНИЯ АГЕНТОВ ДЛЯ ИМИТАЦИОННЫХ МОДЕЛЕЙ СЛОЖНЫХ СИСТЕМ

(Работа выполнена при частичной финансовой поддержке РФФИ, проекты №№ 14-07-31298, 14-07-0222, 15-07-05641)

А.И. Павлов, к.т.н., старший научный сотрудник, asd@icc.ru; А.Б. Столбов, младший научный сотрудник, stolboff@icc.ru (Институт динамики систем и теории управления СО РАН, ул. Лермонтова, 134, г. Иркутск, 664033, Россия)

В работе рассматривается реализация прототипа системы поддержки проектирования агентов имитационных моделей. Приведена последовательность этапов процесса разработки имитационной модели, использованная в качестве основы для построения алгоритма формирования агентной модели, - от концептуального описания исследуемой области до ее программной реализации. Рассмотрена программная реализация компонентов создания концептуальной модели, визуального конструирования баз знаний продукционного типа и реализации агентов в среде моделирования Madkit. Компонент создания концептуальной модели предназначен для формирования иерархической структуры понятий, определения свойств понятий и отношений между ними. При этом описание отношений осуществляется путем построения набора семантических сетей, вершинами которых являются понятия концептуальной модели, а связями -отношения между ними. Каждая из семантических сетей поясняет отдельный аспект моделируемой области. Компонент визуального конструирования баз знаний обеспечивает конструирование правил вида «ЕСЛИ условия ТО действия» и генерацию кода базы знаний на языках Jess и Clips. Компонент реализации агентов в среде моделирования Madkit включает в себя библиотеку среды моделирования, классы, использующиеся в процессе агентного моделирования («Типовой агент», «Планировщик» и т.д.), а также классы для выполнения служебных функций (взаимодействие с БД или с внешней системой). Основные функции данного компонента - выполнение агентной модели, а также информирование пользователя о текущем состоянии процесса моделирования и параметров отдельных агентов. Реализация всех компонентов осуществлена в виде веб-приложений.

Ключевые слова: агентное имитационное моделирование, продукционная экспертная система, системы, основанные на знаниях.

Разнообразие структур и поведения моделируемых объектов реального мира в зависимости от задач исследования обусловливает высокую сложность автоматизации процесса разработки имитационных моделей, в том числе агентных, поэтому в большинстве современных инструментальных средств моделирования данный процесс осуществляется путем написания кода на императивном языке программирования с невысоким уровнем автоматизации. В работе [1] был предложен подход к обеспечению поддержки пользователя в процессе создания агентных имитационных моделей сложных систем. Особенностью его является нацеленность на обеспечение специалистов-предметников, не имеющих существенных навыков программирования, возможностью создания имитационных моделей на основе информации из концептуальной модели (КМ) предметной области, а также использования формализма продукционных правил и парадигмы визуального программирования для описания поведения элементов модели (агент, ресурс, среда). Для реализации предложенного подхода была разработана концептуальная архитектура системы поддержки проектирования агентов для имитационных моделей сложных систем [2].

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

смотрены разработанные к настоящему времени модули системы поддержки: компонент создания КМ, компонент визуального конструирования баз знаний продукционного типа, компонент реализации агентов в среде моделирования Madkit [3].

Основные этапы процесса разработки агентной модели

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

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

2. Постановка задачи имитационного моделирования. Результат - начальное описание разрабатываемой имитационной модели, включающее название, описание и перечень понятий КМ, которые в дальнейшем будут использованы в качестве агентов или ресурсов имитационной модели.

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

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

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

6. Программная реализация имитационной модели. Результат - программная система, позволяющая осуществлять рабочие расчеты и представлять результаты моделирования.

Последовательность определяет список основных задач, которые должна решать разрабатываемая система поддержки проектирования агентых моделей. Для реализации 1-го этапа используется компонент создания КМ. Компонент визуального конструирования баз знаний продукционного типа применяется на этапах 3 и 4, а компонент реализации агентов в среде моделирования Madkit - на этапе 6. Опишем данные компоненты более подробно.

Компонент создания КМ

Согласно требованиям к программной системе, исходным для построения модели является описание предметной области в форме КМ. В данной работе структура этой КМ имеет следующий вид:

КМ={Понятие, Атрибут, Отношение, Спецификация внешнего метода};

Понятие ={Имя, Описание, Список атрибутов};

Атрибут={Имя, Тип атрибута, Значение по умолчанию};

Тип атрибута={Литеральный, Объектный};

Отношение ={Понятие 1, Тип отношения, Имя, [Понятие 2]};

Внешний метод ={Имя, Описание, Список параметров, Тип реализации}.

Поясним некоторые определения, связанные с предложенной структурой КМ. Под литеральным типом атрибута понимаются текст, число, дата и т.п., а под объектным - ссылка на другое понятие. Отношения задаются между понятиями и являются как бинарными, так и унарными. Типами отношений могут быть как общепринятые (причинно-следственное отношение, ассоциация, агрегация и др.), так и связанные с предметной спецификой и заданные пользователем. Например, для моделирования поведения роботов пользователь может явно ввести такой тип отношения, как «движение», со следующими возможными названиями для этого отношения: вправо, влево. Спецификация внешнего метода - это способ описания в КМ, разработанных сторонними исследователями программного кода. При этом необходимо указать спецификацию входных и выходных параметров, а также тип реализации (например, функция Jess [4], метод JAVA, скрипт PHP и т.п.).

Компонент создания КМ реализован в виде веб-приложения и обладает следующей функциональностью: создание КМ исследуемых областей, создание перечня возможных свойств понятий, формирование иерархической структуры понятий КМ от абстрактных к более конкретным, определения свойств понятий и отношений между ними. При этом описание отношений осуществляется путем построения набора семантических сетей, вершинами которых являются понятия КМ, а связями -отношения между ними. Каждая из семантических сетей поясняет отдельный аспект моделируемой области. Результат применения компонента для описания онтологии городской логистики [5] представлен на рисунке 1.

Несмотря на наличие редакторов, обладающих схожей функциональностью, например Protégé [6] или TopBraid Composer [7], было принято решение о разработке данного компонента ввиду приблизительно одинаковых трудозатрат на интеграцию модулей работы с форматами OWL или RDF и программой реализации данного компонента. Кроме того, обеспечение коллективной работы с КМ более эффективно реализуется в случае использования СУБД, а не XML-файла.

Компонент визуального конструирования баз знаний продукционного типа

Данный компонент реализован в виде веб-приложения и обладает следующей функциональностью: создание баз знаний для выбранной КМ, формирование перечня шаблонов фактов на основе существующих понятий КМ, визуальное конструирование правил вида «ЕСЛИ условия ТО дей-

Рис. 1. Пример семантической сети «понятия верхнего уровня онтологии городской логистики» Fig. 1. The example of a semantic network "top-level concepts of an urban logistics ontology"

ствия», ввод начальных условий для запуска процедуры логического вывода, генерация и тестирование кода базы знаний на языках Jess и Clips [8]. Пример построения правила для описания развития деградационного процесса [9] приведен на рисунке 2.

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

- наличие факта указанного шаблона;

- ограничение на значение слота факта (текст, число);

- сравнение значения слота с существующим фактом;

- сравнение со значением слота другого факта.

Для формирования правой части правила используются следующие виды действий:

- создание нового факта;

- модификация существующего факта;

- удаление факта;

- вызов внешней процедуры.

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

Рис. 2. Пример экранной формы конструирования правила Fig. 2. The example of a screen form for rule design

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

Для хранения информации баз знаний используется СУБД PostgreSQL. Серверная часть включает в себя генератор кода, реализованный на языке PHP, и блок интерпретации, обеспечивающий доступ к машине вывода. Блок интерпретации реализован в виде веб-сервиса на языке Java, который обеспечивает доступ к системе Jess.

Компонент реализации агентов в среде моделирования Madkit

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

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

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

Программная реализация типового агента в среде Madkit (рис. 3) осуществляется путем наследования от класса «Абстрактный агент», предназначенного для организации синхронного типа агентного взаимодействия.

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

В текущей реализации в процессе принятия решений типовой агент использует машину вывода Jess для интерпретации своего поведения. В связи с предлагаемой структурой поведения для реализации императивного блока в систему Jess с использованием встроенного интерфейса Userfunction

Абстрактный агент (Madkit)

+Активация() +Деактивация() +Запуск агента()

Агент (Madkit)

+Асинхронный запуск()

ZX

Ï

Среда

1 Типовой агент

- Правила базы знаний - Машина логического вывода - Состояние

J

+Принять решение() +Выполнить действие() +Отобразить состояние()

+Ресурсы +Сервисы

+Обработать действие()

Планировщик (Madkit)

+Сделать шаг()

_L

JESS (Rite)

+Запуск вывода() +Обнуление рабочей памяти() +Загрузка базы знаний()

Планировщик

+Отослать данные во внешнюю систему()

Рис. 3. Диаграмма классов компонента реализации агентов в среде моделирования Madkit Fig. 3. The class diagram of agents' implementation component in the Madkit simulation environment

внедрен общий механизм вызова внешних программных процедур, реализованных на языке Java.

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

1. Получение сообщений.

2. Обнуление состояния рабочей памяти Jess.

3. Загрузка правил и шаблонов фактов в машину вывода Jess.

4. Загрузка описания текущей ситуации в машину вывода Jess:

- преобразование литеральных свойств агента в слоты шаблона «мое состояние»;

- преобразование объектных свойств в факты соответствующих шаблонов;

- преобразование агентных свойств в факты соответствующих шаблонов (при этом используются состояния агентов на момент времени t-1).

5. Преобразование информации из сообщений в факты шаблона.

6. Запуск логического вывода.

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

8. Запуск метода среды «Обработать действие».

9. Сохранение состояния из соответствующих фактов рабочей памяти.

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

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

Кроме того, учитывая специфику удаленного исполнения агентной модели, необходимо решить задачу информирования пользователя о текущем состоянии процесса моделирования и параметров отдельных агентов. Для решения этой задачи разработай коммуникационный модуль. Модуль реализован на основе WebSocket-сервера [10] программной платформы Node.js и обеспечивает трансляцию данных о состоянии процесса моделирования всем заинтересованным пользователям. В общем случае процесс передачи данных инициируется планировщиком в конце каждого шага моделирования. Передаваемая информация кодируется в JSON-формат и отправляется на HTTP-сервер платформы Node.js, в контексте которого запущен WebSocket-сервер, осуществляющий отправку данных пользователю в соответствии с информацией об адресатах. При этом вопросы отображения полученных данных на компьютере пользователя не относятся к сфере ответственности компонента.

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

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

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

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

Литература

1. Столбов А.Б., Павлов А.И. Разработка системы поддержки проектирования имитационных моделей сложных систем на основе декларативного метода описания агентов // Имитационное моделирование: теория и практика. ИММОД-2013: тр. Всерос. науч.-практич. конф. СПб, 2013. С. 267-270.

2. Павлов А.И., Столбов А.Б. Архитектура системы поддержки проектирования агентов для имитационных моделей сложных систем // Программные продукты и системы. 2015. № 2 (109). С. 12-16.

3. Michel F., Ferber J., Gutknecht O. The Multiagent Development Kit. URL: http://www.madkit.org/ (дата обращения: 21.12.2015).

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

4. Jess, the rule engine for the JavaTM platform. URL: http://www.jessrules.com/ (дата обращения: 21.12.2015).

5. Anand N., Yang M., J.H.R. van Duin, Tavasszy L. Gen-CLOn: An ontology for city logistics. Expert Systems with Applications, 2012, no. 39, pp. 11944-11960.

6. Protégé is a free, open source ontology editor and

knowledge-base framework. URL: http://protege.stanford.edu/ (дата обращения: 21.12.2015).

7. TopBraid composer standard edition. URL: http://www. topquadrant.com/tools/modeling-topbraid-composer-standard-edi-tion/ (дата обращения: 21.12.2015).

8. CLIPS, a tool for building expert systems. URL: http://clipsrules.sourceforge.net (дата обращения: 21.12.2015).

9. Берман А.Ф., Николайчук О.А., Павлов Н.Ю., Юрин А.Ю. Методы и средства автоматизированного построения деревьев событий и отказов // Автоматизация и современные технологии. 2013. № 9. С. 8-16.

10. RFC 6455 - The WebSocket Protocol. URL: https://tools. ietf.org/html/rfc6455 (дата обращения: 21.12.2015).

DOI: 10.15827/0236-235X.115.079-084 Received 23.12.15

A PROTOTYPE OF AN AGENTS DESIGN SUPPORT SYSTEM FOR COMPLEX SYSTEM SIMULATION MODELS

(Acknowledgements. The research was partially supported by Russian Foundation for Basic Research, projects no. 14-07-31298, 14-07-0222, 15-07-05641)

lPavlov A.I., Ph.D. (Engineering), Senior Researcher, asd@icc.ru 1Stolbov A.B., Junior Researcher, stolboff@icc.ru

1Institute for System Dynamics and Control Theory Siberian Branch of RAS, Lermontov St. 134, Irkutsk, 664033, Russian Federation

Abstract. The paper describes the details of implementation of a support system for designing simulation model agents. It also considers the sequence of stages for developing a simulation model that was used as a basis for constructing an agent model algorithm from the conceptual model of domain to the software implementation. The paper considers software implementation of the components for a conceptual model, for visual design of knowledge bases and for implementation of agents in the Madkit simulation environment. A conceptual model component provides facilities for a hierarchical structure of concepts, determining concepts' properties and relations between them. This description of the relationships is performed by constructing a set of semantic networks, whose vertices are the concepts of a conceptual model, and links are relationships between them. Each of semantic networks explains a different aspect of a considered domain. A component for visual design of knowledge base provides an opportunity for rule construction in the form "IF conditions THEN actions" and code generation in Jess and Clips languages. A component for agent implementation in Madkit includes a simulation library; specially designed software classes ("Typical Agent", "Scheduler", etc.), as well as classes to perform service functions (interaction with a database or an external system). The main function of this component is providing simulation of an agent-based model, as well as informing the user about the current state of a modeling process and the parameters of particular agents. All components are implementated as web applications.

Keywords. agent-based simulation, expert system, knowledge-based system.

References

1. Pavlov A.I., Stolbov A.B. Development of a design support system for complex system simulation models based on a declarative method of describing agents. Vseross. nauch.-praktich. konf. "Imitatsionnoe modelirovanie. Teoriya ipraktika" IMM0D-2013 [All-Russian Science and Practice Conf. "Simulation Modeling. Theory and Practice" IMM0D-2013]. 2013, St. Petersburg, 2013, pp. 267-270 (in Russ.).

2. Pavlov A.I., Stolbov A.B. Architecture of agents design support system for complex systems simulation models. Pro-grammnyeprodukty i sistemy [Software & Systems]. 2015, no. 109, pp. 12-16 (in Russ.).

3. Michel F., Ferber J., Gutknecht O. The Multiagent Development Kit. Available at: http://www.madkit.org/ (accessed December 21, 2015).

4. Jess, the Rule Engine for the JavaTM Platform. Available at: http://www.jessrules.com/ (accessed December 21, 2015).

5. Anand N., Yang M., van Duin J.H.R., Tavasszy L. GenCLOn: An ontology for city logistics. Expert Systems with Applications. 2012, no. 39, pp. 11944-11960.

6. Protégé is a free, open source ontology editor and knowledge-base framework. Available at: http://protege.stan-ford.edu/ (accessed December 21, 2015).

7. TopBraid Composer Standard Edition. Available at: http://www.topquadrant.com/tools/modeling-topbraid-composer-standard-edition/ (accessed December 21, 2015).

8. CLIPS, a Tool for Building Expert Systems. Available at: http://www. http://clipsrules.sourceforge.net (accessed December 21, 2015).

9. Berman A.F., Nikolaychuk O.A., Pavlov N.Yu., Yurin A.Yu. Methods and tools for automated construction of event and failure trees]. Avtomatizatsiya i sovremennye tekhnologii [Automation and Modern Technologies]. 2013, no. 9, pp. 8-16 (in Russ.).

10. RFC 6455 - The WebSocket Protocol. Available at: https://tools.ietf.org/html/rfc6455 (accessed December 21, 2015).

i Надоели баннеры? Вы всегда можете отключить рекламу.