Гончаренко А.Н., Галушка
Д.П.
Современные средства разработки
мультиагентных систем управления горнопромышленным транспортом
НИТУ «МИСиС
На сегодняшний день развитие мультиагентных
технологий позволяет решать целый комплекс задач по хранению и обработке
информации в области стохастических процессов транспортной сети
горнопромышленного предприятия. В этом плане многообещающей является
перспектива использования больших сенсорных сетей, представляющих из себя
распределённую, самоорганизующуюся сеть множества датчиков (сенсоров) и
исполнительных устройств, объединенных между собой посредством радиоканала.
Область покрытия подобной сети может составлять от нескольких метров до
нескольких километров за счет способности ретрансляции сообщений от одного
элемента к другому. Типовыми сенсорами являются датчики местоположения,
температуры, давления, освещенности, уровня вибрации и пр. Каждый узел
сенсорной сети может содержать различные датчики для контроля внешней среды,
микрокомпьютер и радиоприемопередатчик. Использование данного сенсорного
оборудования позволить создать мультиагентную систему управления транспортом горнопромышленного предприятия.
Однако реализация таких систем на сегодняшний
день возможна только с применением
современных средств разработки мультиагентных
технологий. Чаще всего в агентных технологиях используются:
универсальные языки программирования (Java); а также языки, "ориентированы
на знания" — такие, как языки представления знаний (KIF), языки
переговоров и обмена знаниями (KQML, AgentSpeak, April). Используются также
языки спецификаций агентов; специализированные языки программирования агентов
(TeleScript); языки сценариев и Scripting Languages (Tcl/Tk); символьные языки
и языки логического программирования (Oz). На сегодняшний день, можно выделить
следующие наиболее распространенные агентные платформы для разработки
мультиагентных систем управления горнопромышленным транспортом.
1. JADE (Java Agent Development Framework) -
широко используемая программная среда для создания мультиагентных систем и
приложений, поддерживающая FIPA-стандарты для интеллектуальных агентов.
Включает в себя среду выполнения агентов (агенты регистрируются и работают под
управлением среды), библиотеку классов, которые используются для разработки
агентных систем, набор графических утилит для администрирования и наблюдения за
жизнедеятельностью активных агентов. Программная среда JADE подключается к
любому проекту на языке Java. Агенты JADE могут быть совершенно разными от
простых только реагирующих, до сложных ментальных. Процесс конфигурирования
этой платформы достаточно гибкий: ее можно изменить даже во время исполнения
программ, для этого необходимо просто переместить агентов с одной машины на другую.
Агенты способны обращаться к очереди с помощью комбинации нескольких режимов
своей работы: блокирование, голосование, перерыв работе и сопоставление с
эталоном (что касается методов поиска ).
2. JACK Intelligent Agents Java - платформа для
создания мультиагентных систем. Так же как и JADE, расширяет Java своими
классами. JACK одна из немногих платформ, где используются модель логики
агентов, основанная убеждениях, желаниях-намерениях, и встроенные
формально-логические средства планирования работы агентов.
3. MadKIT - модульная и масштабируемая
мультиагентная платформа, написанная на Java. Поддерживает агентов на разных
языках: Java. Python, Jess, Scheme, BeanSchell. Красиво визуализирует и
позволяет управлять этими агентами.
4. AgentBuilder - большой коммерческий продукт,
выпускаемый так же и в Academic Edition. Агенты достаточно интеллектуальны и
общаются на языке KQML (Knowledge Query and Manipulation Language) и обладают
ментальной моделью. Платформа является Java-ориентированной, то есть все компоненты
и наборы инструментов осуществлены с помощью Java, что позволяет использование
данного продукта на любой машине или
операционной системе, которая поддерживает Java и имеет соответствующую среду
проектирования. При этом разработчики программного обеспечения могут создавать
интеллектуальных агентов, способных функционировать на различных компьютерных
платформах и операционных системах.
5. Cougaar (Cognitive Agent Architecture) -
Java-ориентированная платформа для построения распределенных мультиагентных
систем. Включает не только исполняющую систему (run-time engine), но и
некоторые средства для визуализации, управления данными и др.
6. Net Logo - кроссплатформенное программируемое
окружение для программирования мультиагентных систем.
7. VisualBots - бесплатный мультагентный
симулятор в Microsoft Excel с Visual Basic синтаксисом
8. MASON
- Java библиотека для моделирования мультиагентных систем.
9. REPAST
- набор инструментов для создания систем, основанных на агентах.
Таким образом, системы разработки, которые бы
полностью соответствовали требованиям построения агентного приложения для
управления транспортной сетью горнопромышленного предприятия, должны
соответствовать следующим требованиям — доступность и возможность перенесения кода на различные платформы,
используемые на горном предприятии, обеспечение и поддержка сетевого
взаимодействия в пределах территории добычи полезного ископаемого (рудника),
многопотоковая обработка данных в реальном времени и некоторым другим.