АГЕНТНО-ОРИЕНТИРОВАННЫЕ СИСТЕМЫ: ОТ ФОРМАЛЬНЫХ МОДЕЛЕЙ К ПРОМЫШЛЕННЫМ ПРИЛОЖЕНИЯМ А.Н. Швецов Вологодский государственны...
40 downloads
212 Views
1MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
АГЕНТНО-ОРИЕНТИРОВАННЫЕ СИСТЕМЫ: ОТ ФОРМАЛЬНЫХ МОДЕЛЕЙ К ПРОМЫШЛЕННЫМ ПРИЛОЖЕНИЯМ А.Н. Швецов Вологодский государственный технический университет 160000, г. Вологда, ул. Ленина, д. 15
Аннотация. Статья посвящена процессу развития агентно-ориентированных систем (АОС), возникших в результате технической эволюции информационных и программно-аппаратных средств современной инфосферы. Подробно рассматриваются такие понятия как «интеллектуальный агент» (ИА), «мультиагентная система» (МАС), «агентно-ориентированная система». Анализируются основные типы моделей и архитектур интеллектуальных агентов с позиций их формально-логических свойств и характеристик поведения. Выделены методологические подходы к проектированию АОС, оценены качественные характеристики известных методов построения данного класса систем. Рассмотрены инструментальные средства создания агентно-ориентированных приложений и примеры использования интеллектуальных агентов в промышленных информационно-телекоммуникационных системах.
Annotation. Clause is devoted to the analysis of development of the agent-oriented systems (AOS), resulted technical information evolution in modern infosphere. Concepts as «intellectual agent» (IA), «multi-agent system » (MAS), «agent-oriented system» are in detail considered. The basic types of models and architecture of intellectual agents from positions of their is formal-logic properties and characteristics of behaviour are analyzed. Methodological approaches to designing AOS are selected, qualitative characteristics of known methods of construction of the given class of systems are estimated. Tool means of creation of the agent-oriented applications and examples of usage of intellectual agents in industrial telecommunication systems are considered.
1
1. Становление парадигмы агентно-ориентированных систем 1.1. Эволюция информационных систем Развитие современного общества характеризуется расширением процессов глобализации, проявляющихся в стремительном формировании единого общемирового информационного пространства на основе передовых компьютерных технологий. Наиболее развитые страны мира осуществили переход от индустриальной цивилизации к цивилизации информационной и находятся сейчас на этапе формирования экономики, основанной на знаниях (Knowledge Economy). Наиболее эффективным и коммерчески прибыльным видом деятельности становятся не материальные технологии, а процессы преобразования человеческого знания, как индивидуального, так и коллективного. Наряду с процессами информатизации разворачиваются и процессы интеллектуализации искусственных систем, которые можно рассматривать в двух аспектах: общенаучном (теоретическом) и прикладном (техническом). В теоретическом аспекте интеллектуализация искусственных систем проявляется как составляющая общего эволюционного процесса. Если следовать концепции глобального эволюционизма, то появление, развитие и совершенствования интеллектуальных свойств искусственных систем предопределенно ходом эволюции ноосферы, такие свойства обязательно должны были появиться, и они проявляются все отчетливей. Эволюция инфосферы представляет собой сложный, многоплановый, многоуровневый процесс. Рассматривая его с позиции развития интеллектуальных свойств, автор предлагает выделить три основных этапа: 1.
Этап информатизации и становления ИИ характеризуется формировани-
ем глобальных сетевых информационных систем, созданием многоуровневой иерархии вычислительных компонентов и сред, развитием сферы ИИ и внедрением интеллектуальных систем в различных областях общественной жизни. 2.
Этап возникновения и становления искусственного разума определяется
тем, что в результате техногенеза – развертывания методологии ИИ, мультиагентных и виртуальных сообществ, формирования искусственной жизни появляются искусственные системы, обладающие сознанием, способные к саморефлексии, к анализу и плани-
2
рованию своего поведения и к разумной организации искусственной среды во взаимодействии с человеком. 3.
Этап коэволюции естественного и искусственного разума, характери-
зующийся стиранием границы между естественной (биологической) и общественной (технической) формами жизни и завершающийся по образному выражению Тейяра де Шардена ―концом света‖: ―…переворот равновесия, отделения сознания в конце концов достигшего совершенства от своей материальной матрицы (выделено мною – А.Н.), чтобы отныне иметь возможность всей своею силой покоиться в боге-омеге‖ [1]. Поскольку пока мы находимся на первом этапе интеллектуализации, обратимся к его техническому, прикладному аспекту. Современное состояние инфосферы характеризуется сложившейся многоуровневой иерархией информационных (ИС) и информационно-управляющих систем (ИУС), которые можно расположить по мере нарастания сложности следующим образом: локальные ИС и ИУС различных классов – от вычислительных приложений до экспертных систем (ЭС) и систем поддержки принятия решений (СППР); корпоративные информационные системы (КИС), объединяющие информационные ресурсы предприятий, организаций и крупных корпораций; региональные и глобальные ИС, обеспечивающие взаимодействие и доступ к разнородным источникам информации миллионов пользователей. Для систем второго и третьего уровней характерно функционирование в гетерогенной информационной среде, под которой понимается множество территориальнораспределенных источников и приемников информации, осуществляющих информационный обмен посредством различных информационных языков, обеспечивающих соответствующие уровни и подуровни взаимодействия открытых систем [2], [3]. Эволюция ИУС была связана с совершенствованием инструментария, обеспечивающего уменьшение трудозатрат на создание и сопровождение ИУС через усиление специализации, стандартизации и кооперации, и с появлением новых средств хранения, обработки и передачи информации. Базовой моделью для ИУС второго, третьего и четвертого поколений стало направление MRP (Material Resource Planning) – MRPII – ERP (Enterprise Resource Planning) [4]. ИУС четвертого поколения, активно использующие типовые процедуры и функции, выполняемые на уровне СУБД, и CASE-средства для поддержки программных
3
систем на всех этапах жизненного цикла, получили название корпоративных информационных систем [5]–[7]. Вместе с тем, современные КИС (SAP, Baan, PeopleSoft, Oracle, iRenaissance, «1С:Предприятие») в основном автоматизируют массовые рутинные операции, которые могут составлять до 80% трудозатрат в корпоративных системах (КС) [8], [9]. Автоматизация процессов принятия решений остается наиболее наукоемкой и сложной задачей, как с технической, так и с организационной точек зрения [10], [11]. Специфика функционирования КС все в большей мере требует применения распределенных СППР (РСППР), которые состоят из локальных СППР, функционирующих в узлах корпоративной вычислительной сети, и совместно решающих общие проблемы на основе обмена информацией и знаниями, осуществляемого как между СППР, так и между СППР и другими подсистемами КИС и распределенными приложениями. Традиционные ИС не обеспечивают требуемого качества информационного анализа и необходимой эффективности формирования управляющих воздействий в условиях недостаточности априорной информации о внешней среде функционирования; большого количества трудно учитываемых факторов нестационарности и субъективного их характера; изменяемости целей и критериев качества управления вследствие деградации или целенаправленной реконфигурации [12], [13]. Традиционные ИС обладают следующими характерными ограничениями: – необходимость преодоления границ операционных сред, вызываемая тем, что в распределенных ИС применяются различные операционные системы, протоколы и интерфейсы; – разнородность объектных моделей проявляется в том, что классы и объекты построенные в различных инструментальных средах имеют определенные отличия, не представленные эксплицитно; – трудности управления административными границами между подразделениями корпорации и корпоративными клиентами при модификации программных средств, осуществляемой на стороне клиентов; – методологические ограничения, связанные с использованием различных моделей и методов построения компонентов ИС.
4
Распределенные объектные архитектуры (CORBA, DCOM, Java RMI, WEBservices) стремятся преодолеть указанные ограничения, но оставляют нерешенными следующие проблемы развития ИС: - необходимость перекомпиляции программных кодов при внесении изменений в объекты и интерфейсы; - невозможность динамической адаптации поведения программных объектов в зависимости от состояний и поведения среды; - невозможность работы в явной форме с моделями знаний, ценность которых в корпоративных системах постоянно возрастает; - накопление гигантских объемов корпоративной информации, которые невозможно семантически обработать и представить в формах, удобных для ЛПР без иерархической организации уровней знаний (знания, метазнания, метаметазнания и т.д. – пирамида знаний). Ограниченность традиционного информационного подхода можно показать аналитически на примере РСППР [14]. Сложившаяся к настоящему времени концепция информационной интеграции приближается к пределу своего естественного развития, выдвигая проблему повышения уровня интеллектуальности ИС и ИУС. За последние годы значительно возросли объем и разнородность информации, необходимой для принятия оптимальных решений в КС. Взаимосвязь уровней управления и уровней интеграции в КС показана на рис. 1. На уровне стратегического управления решаются такие задачи как анализ и моделирование действий в кризисной ситуации, поиск новых решений стратегических проблем, организация взаимодействия между ИС, подготовка моделей прогноза развития кризисной ситуации и оценка рисков принятия решений, анализ состояния различных областей деятельности корпорации, подготовка вариантов стратегического развития. На уровне тактического управления обеспечивается своевременное доведение информации до экспертов и руководителей, контроль доведения решений до исполнителей и обеспечение контроля исполнения, обеспечение руководителей и экспертов сведениями о состоянии объектов управления и технологических процессов, контроль выполнения планов текущих работ по различ-
5
ным направлениям, подготовка аналитической информации по проблемам, связанным с деятельностью корпорации. Построение интеллектуальных моделей управления и поддержки принятия решений становится универсальной задачей, не зависящей от размера компании и профиля ее деятельности [15]. В системах ведения электронного бизнеса (B2B – business-tobusiness) [16] естественным образом возникает виртуальное представление участников рынка с помощью программных агентов, выполняющих функции предварительного семантического анализа информации и ведения переговоров между партнерами. Передовые корпорации поддерживают такие неформальные структуры как сообщества обмена знаниями (community of practice – CoP) [17]. Во многих корпорациях встают задачи управления содержанием (content management), требующие построения онтологических моделей, учитывающих логику связей и отношений, и далее эпистемологических моделей (моделей метазнаний) [18]. Для решения подобных задач требуются новые подходы. В этой связи и возникает парадигма агентно-ориентированных систем, использующих интеллектуальных агентов как высокоуровневую абстракцию для формализации и структурирования предметной области и как мощное программное средство для разработки и реализации сложных информационных систем. Интеллектуальные агенты – новый класс программных и программноаппаратных сущностей, которые действуют от имени пользователя, чтобы находить и обрабатывать информацию, вести переговоры в системах электронной торговли и услуг, автоматизировать выполнение рутинных операций и поддерживать решение трудных задач, сотрудничать с другими программными агентами при возникновении сложных проблем, снимая тем самым с человека избыточную информационную нагрузку. Проблематика ИА и MAC имеет достаточно долгую историю и формируется на основе результатов, полученных в рамках таких направлений как «распределенный искусственный интеллект» (DAI – Distributed Artificial Intelligence), «параллельный искусственный интеллект» (PAI – Parallel Artificial Intelligence), «распределенные системы поддержки принятия решений» (DPS - Distributed Problem Solver) [19]–[21].
6
ВЫСШЕЕ РУКОВОДСТВО КОРПОРАЦИИ
УРОВНИ УПРАВЛЕНИЯ
УРОВНИ ИНТЕГРАЦИИ
СИТУАЦИОННЫЙ ЦЕНТР ПОДДЕРЖКИ ПРИНЯТИЯ РЕШЕНИЙ
СТРАТЕГИЧЕСКОЕ УПРАВЛЕНИЕ
СЛОЙ ИНТЕЛЛЕКТУАЛЬНОЙ ИНТЕГРАЦИИ ТАКТИЧЕСКОЕ УПРАВЛЕНИЕ
ИНТЕЛЛЕКТУАЛЬНАЯ ИНТЕГРАЦИЯ
ЛИЦА ПРИНИМАЮЩИЕ РЕШЕНИЯ ЛОКАЛЬНЫЕ СИСТЕМЫ ПОДДЕРЖКИ ПРИНЯТИЯ РЕШЕНИЙ
АНАЛИТИЧЕСКИЕ ПРИЛОЖЕНИЯ
ПОДСИСТЕМЫ КОРПОРАТИВНОЙ ИНФОРМАЦИОННОЙ СИСТЕМЫ
СЛОЙ ИНТЕЛЛЕКТУАЛЬНОЙ ИНТЕГРАЦИИ ОПЕРАТИВНОЕ УПРАВЛЕНИЕ ОБЪЕКТНЫЕ ПРИЛОЖЕНИЯ
ЛИЦА ПРИНИМАЮЩИЕ РЕШЕНИЯ
ЛИЦА ПРИНИМАЮЩИЕ РЕШЕНИЯ
УНАСЛЕДОВАННЫЕ ПРИЛОЖЕНИЯ
ОБЪЕКТНЫЕ ПРИЛОЖЕНИЯ
УНАСЛЕДОВАННЫЕ ПРИЛОЖЕНИЯ
РАСПРЕДЕЛЕННЫЕ ОБЪЕКТНЫЕ АРХИТЕКТУРЫ (CORBA, DCOM, Java RMI) IBM
ИНФОКОММУНИКАЦИОННАЯ СРЕДА
...
...
...
Рис. 1. Уровни управления и интеграции в КС
7
ИНФОРМАЦИОННАЯ ИНТЕГРАЦИЯ
...
Большое количество научно-исследовательских лабораторий, университетов, различных фирм и промышленных организаций работают в области агентных систем и технологий. Наиболее известными исследовательскими центрами являются университет Карнеги Мэллон (Carnegi Mallon University), Массачусетский университет (University of Massachusetts at Amherst), университет г. Болоньи (Univrsita di Bologna), ряд университетов и колледжей Великобритании (Stanford University, Manchester Metropolitan University). Занимаются этими проблемами и крупные корпорации (IBM, Microsoft, DEC, Apple, Toshiba, Hewlett Packard и др.). В нашей стране исследования по данной тематике проводятся в Исследовательском центре искусственного интеллекта Института программных систем РАН (г. Переславль-Залесский), в Институте проблем управления РАН, в Санкт-Петербургском институте информатики и автоматизации РАН, в Санкт-Петербургском государственном электротехническом университете, в Санкт-Петербургском техническом университете, в Уфимском государственном авиационно-техническом университете, в Таганрогском радиотехническом университете, в Вологодском государственном техническом университете. Основными направлениями научного поиска являются: -
теории агентов, которые рассматривают математические методы и фор-
мализмы абстрактного представления структуры и свойств агентов и способы построения логических выводов в таких формальных системах; -
методы коллективного поведения агентов;
-
архитектуры агентов и МАС;
-
методы, языки и средства коммуникации агентов;
-
языки программирования агентов;
-
методы и средства автоматизированного проектирования МАС;
-
методы и средства обеспечения мобильности агентов.
Областями практического использования агентных технологий являются управление информационными потоками и вычислительными сетями, управление воздушным движением, информационный поиск, электронная коммерция, обучение, электронные библиотеки и многие другие приложения.
8
1.2. Историческое развитие агентно-ориентированного подхода История теории агентов неразрывно связана с общим контекстом становления кибернетики, теории автоматов, искусственного интеллекта как научных дисциплин, моделирующих поведение искусственных и биологических сущностей в условиях некоторой внешней среды. Дж. фон Нейман в своих работах по самовоспроизводящимся автоматам в конце 40-х – начале 50-х годов ХХ века уже сформулировал проблемы искусственной эволюции, передачи наследственной информации в сложных автоматах, и разработал 5 моделей самовоспроизведения автоматов: кинематическую, клеточную, типа «возбуждение-порог-усталость», непрерывную и вероятностную [22]. Фундаментальным базисом для формирования агентно-ориентированных представлений послужили труды А. Н. Колмогорова по теории информации и алгоритмической сложности объектов [23], И. Пригожина, И. Стенгерс, Г. Хакена по теории самоорганизации и эволюции открытых систем [24], [25], У. Р. Эшби по моделям гомеостазиса и разнообразию систем [26], А. Беркса по клеточным автоматам и моделированию эволюционных систем [27], Дж. Холланда и Д. Гольдберга по генетическим алгоритмам [28], [29]. Большое влияние на исследования в рамках ИИ оказала отечественная школа коллективного поведения автоматов (М.Л. Цетлин, М.М. Бонгард, В.И. Варшавский и др.) [30], [31]. В работах этой школы впервые в мире был поставлен вопрос о возможности целесообразного поведения в стационарной среде при рассмотрении коллектива реактивных агентов минимальной сложности, и было доказано, что если среда является стационарной и вероятностной, то для организации целесообразного взаимодействия со средой достаточно иметь в качестве агента конечный автомат определенной структуры. Расширение адаптивности агентов достигается за счет перехода к автоматам переменной структуры. Классические модели коллективного поведения автоматов могут рассматриваться как предельный случай описания реактивных агентов, которые обладают малой автономностью и минимальным целеполаганием. Большую роль в становлении агентно-ориентированного подхода сыграли работы Карла Хьюитта в области открытых систем и теории акторов [32], [33]. Предложив в
9
1969 г. язык PLANNER для доказательства теорем, К. Хьюитт раскрыл значение процессов коммуникации и управления в организации и понимании рассуждений. Отойдя от рассмотрения управления как последовательности актов выбора, он ввел вариант распределенной системы, в которой структуры управления трактовались как «образцы прохождения сообщений», циркулирующих между активными объектами, названными им акторами. По К. Хьюитту, актор — это программный агент, имеющий свой почтовый адрес и обладающий определенным поведением. В результате появилось семейство языков для программирования задач параллельного ИИ, которые стали первыми средствами реализации MAC, осуществляющих коммуникацию путем посылки асинхронных сообщений. Одним из первых ученых, начавших распространять представления о различных ментальных свойствах на искусственные объекты, и трактовать ментальную сферу как среду взаимодействия между активными объектами, стал М. Минский [34]. Им описан ряд механизмов возникновения интеллектуального поведения в результате конфликтов и сотрудничества между простейшими вычислительными единицами, которые он называет агентами. Каждый агентов «отвечает» за то или иное ментальное свойство, причем их взаимодействие происходит спонтанно, без участия какого-либо управляющего агента. М. Минский сделал важный вывод о том, что функционирование психики связано не столько с реализацией выводов над символьными конструкциями, сколько с принципами самоорганизации при взаимодействии автономных процессов. Эти идеи оказали серьезное влияние на многих современных исследователей в области MAC. Первые западные практические разработки АОС относятся к 70-м годам прошлого века и связаны с именами В.Лессера [35] и Д. Лената [36]. Их работы привели к созданию архитектуры «доски объявлений» (blackboard) и легли в основу многих дальнейших разработок по организации коммуникации между агентами. Исследуя проблематику автоматического понимания речи, они воспользовались метафорой «доски объявлений», полагая, что решение проблемы обычно требует заранее не запланированных обращений к источникам знаний. При этом структура управления процессом коммуникации предварительно не определена. Деятельность источников знаний связана с доставкой, модификацией и извлечением объектов с доски объявлений, т. е. из зоны совместной работы в базе данных, где модель предметной области структурирована как
10
пространство гипотез и решений. Специальное управляющее устройство разрешает конфликты доступа к доске объявлений, возникающие между агентами и неявно организует их совместную работу. Примерно в это же время, У. Корнфелд и К. Хьюитт [37], разработали схожий подход к совместному решению задач. В рамках их модели «демоны», похожие на источники знаний, доставляют факты, гипотезы и доказательства в общую область, аналогичную «доске объявлений». Отличие от модели классной доски состоит в разделении демонов на две категории — экспертов и критиков. Эксперты стремятся доказать справедливость некоторой гипотезы, а критики, наоборот, ищут контрпримеры, чтобы ее опровергнуть. Специальные управляющие агенты распределяют время, отводимое каждому демону. Другой тип управления взаимодействием агентов был предложен Д. Ленатом [38] и К. Хьюиттом в системе PUPS, где была реализована идея решения задачи группой агентов (специалистов), именуемых «beings» («существа»). Эти «существа» стремятся синтезировать особого специалиста по формированию концепций, способного самостоятельно решить задачу. Сами специалисты постоянно меняются в процессе решения задачи и не могут быть отнесены к классическим источникам знаний. Каждый специалист моделируется подобно фрейму множеством пар «атрибут-значение» и может обращаться за сведениями к другим специалистам, не зная их лично. В начале 80-х годов Р. Смит [40] разработал модель распределенного решения задач под названием «протокол контрактной сети», которая получила большую известность и стандартизована FIPA. Модель использует метафору переговоров между автономными ИА и основана на протоколе рыночных торгов. Имеются три типа агентов: агент-менеджер, агент-исполнитель, агент-подрядчик. Агент-менеджер распространяет объявление о задании и определяет исходную цену, а агенты — потенциальные исполнители предлагают свои услуги, посылая свои варианты цен, и участвуют в конкурсе на определение наилучших предложений по исходному заданию. Затем агент-менеджер отбирает наилучшие предложения и заключает соглашение с выбранными агентамиисполнителями, которые становятся агентами-подрядчиками. Эпоха реального применения MAC начинается с построения таких систем как DVMT (Distributed Vehicle Monitoring Test — разработана группой В. Лессера, который
11
и сейчас возглавляет лабораторию МАС Массачусетского университета) [41]. Система предназначена для распознавания ситуаций дорожного движения. В ней агенты должны выработать согласованную точку зрения на конкретную ситуацию дорожного движения, отслеживая положение автомобилей на основе избыточной, противоречивой и зашумленной информации, снимаемой с датчиков. Важность этой работы связана с рассмотрением проблемы мультиагентного планирования, разработки основ механизма переговоров и кооперации агентов. Одной из важнейших работ начала 90-х г.г. стала статья И. Шоэма «Агентноориентированное программирование» (АОП) [42]. В ней описан социальный взгляд на организацию вычислений, связанный с взаимодействием агентов в процессе вычислений. При этом агент рассматривается как «прозрачный ящик» и моделируются такие его «внутренние переменные» как мотивы, убеждения, обязательства, способности к выработке и принятию решений. Мотивы агента лежат в основе его решений, а убеждения определяют логические ограничения на них. Общение агентов осуществляется с помощью протоколов коммуникации. Система АОП должна включать следующие базовые компоненты: ограниченный формальный язык с соответствующими синтаксисом и семантикой для описания внутреннего состояния агента; язык программирования для спецификации агентов; агентификатор, преобразующий нейтральные компоненты в программируемых агентов. При уточнении отличий АОП от классических направлений ИИ удобно опираться на представления развитые школой объектно-ориентированного программирования (ООП)[43]. Объект имеет имя, собственные данные и процедуры. Он может состоять из нескольких определенных объектов и в свою очередь быть частью более крупного объекта. Объекты содержат слоты, которые могут состоять из фактов. Слот может быть просто атрибутом или отношением. Все действия в ООП выполняются через сообщения. В целом, понятие объекта определяется с помощью четырех ключевых признаков: инкапсуляция; отношение «класс–экземпляр»; свойство наследования; прохождение сообщений, допускающее определение полиморфных процедур. При разработке программного обеспечения на основе ООП используется модель реального мира вида «объект-класс-сообщение». Объекты не могут анализировать свое
12
поведение, определять характер связей с другими объектами и самостоятельно формировать цели. Так же и акторы не могут проводить рассуждения о содержании этих сообщений. Модель акторов организована, исходя из двух простых принципов: посылки сообщений и локальной обработки. На локальном уровне актор содержит три составляющих: знания о своей среде; знания о других акторах; множество данных и действий. Эти составляющие определяют его локальное поведение в зависимости от поступающего сообщения. Когда актор получает некоторое сообщение, он может передавать его другим акторам. Помимо этого, актор способен создавать новых акторов и изменять свое внутреннее состояние. Агентно-ориентированный подход в ИИ, развивая известные подходы, основанные на понятиях объектов и акторов, в то же время имеет ряд принципиальных отличий. Агент представляет собой более сложную, активную и автономную единицу. В ООП вычислительный процесс понимается как система, собранная из модулей, которые взаимодействуют друг с другом и имеют собственные способы обработки поступающих сообщений. В свою очередь, АОП уточняет эти рамки, фиксируя активность модулей – агентов и изменения их состояний через анализ убеждений, обязательств, намерений и пр. Наличие у агента механизма целеобразования обеспечивает принципиально новый уровень автономии. ИА необязательно выполняет распоряжения какого-либо другого агента или пользователя, а просто зависит от условий среды, включая цели и намерения других агентов. В отличие от объекта, агент может принять на себя определенные обязательства или, наоборот, отказаться от выполнения некоторой работы, мотивируя это отсутствием компетентности, занятостью другой задачей и т. п. В то же время, агент может выполнять такие действия как порождение, подавление и замена других агентов, активизация функций (как своих, так и у других агентов), активизация сценария деятельности, запоминание текущего состояния других агентов и пр. Все это наглядно показывает, что агент, будучи «активным объектом» или «искусственным деятелем», формирующим свое собственное поведение, находится на более высоком уровне сложности по отношению к традиционным объектам в ООП.
13
1.3. Основные понятия агентно-ориентированного подхода Термин «агент» происходит от латинского глагола «agere», что означает «действовать»,
«двигать»,
«править»,
«управлять».
В
энциклопедическом
словаре
Ф. А. Брокгауза и И. А. Ефрона читаем: «агент – деятель, лицо, действующее по поручению или полномочию другого» [44]. Это определение правильно выражает суть и современных ИА, которые могут функционировать автономно от имени своего владельца (человека-пользователя или другой вычислительной системы) и решать разнообразные задачи по обработке информации. Для успешной работы агент должен обладать достаточными интеллектуальными способностями, должен иметь возможности взаимодействия с владельцем для получения заданий и передачи результатов, должен ориентироваться в среде своего существования и принимать необходимые решения. Поскольку общепринятого определения интеллектуального агента до настоящего времени не выработано, то следует говорить о классе агентных объектов (сущностей), включающем множество видов [45], [46]. Отталкиваясь от определений данных в [47], [48], будем считать, что ИА – это программный или аппаратный объект (сущность), автономно функционирующий для достижения целей, поставленных перед ним владельцем или пользователем, обладающий определенными интеллектуальными способностями. Уровень этих способностей, необходимых для достижения поставленных перед ИА целей, можно определить, пользуясь классификацией Д. А. Поспелова [49]. Если классифицировать среды, в которых должны действовать агенты, то получается следующая схема (рис. 2.). CРЕДА Нетрансформируемая Замкнутая
Открытая
Трансформируемая Замкнутая
Детерминированная Вероятностная Стационарная
Нестационарная
Рис. 2. Классификация сред
14
Открытая
Для замкнутых сред может быть построено конечное исчерпывающее описание, и функционирующие в таких средах агенты могут обладать полным знанием о среде и ее свойствах или получить эту информацию в процессе своего взаимодействия со средой. Трансформируемые среды могут изменять свои характеристики и реакции на действия агентов в зависимости от тех действий, которые агенты совершают в среде. Вид математического аппарата, позволяющего описать поведение агента в соответствующей среде, и является мерой его интеллектуальной сложности (или разумности). Представим эту классификацию в виде таблицы 1. Таблица 1 Тип среды
Метод математического
функционирования
описания
Вид ИА
Замкнутая
Автоматные грамматики,
Автоматные
детерминированная
конечные автоматы
агенты
Замкнутая вероятностная
Вероятностные автоматы
Не трансформируемая открытая
матики, сценарии, магазинные
КСГ-агенты
автоматы Контекстно-зависимые грам-
замкнутая
матики (линейные автоматы)
открытая
автоматные агенты
Контекстно-свободные грам-
Трансформируемая Трансформируемая
Вероятностные
Семиотические системы
КЗГ-агенты Семиотические агенты
Две базовые характеристики – автономность и целенаправленность – позволяют отличать ИА от других программных и аппаратных объектов (модулей, подпрограмм, процедур и т. п.). Наличие целесообразности поведения требует, чтобы ИА обладал свойством реактивности. Такой уровень интеллекта соответствует рефлекторному поведению животного. Если же ИА обладает знаниями о среде, собственных целях и способах их достижения, то такой агент может быть назван разумным (когнитивным). Та-
15
ким образом, может быть проведена граница между интеллектуальными и неинтеллектуальными агентами. Значительные усилия по стандартизации агентных систем и технологий предпринимает FIPA (Foundation for Intelligent Physical Agents), которая является международной организацией, выполняющей работу по разработке открытых спецификаций, поддерживающих интероперабельность агентов и агентных приложений. На январь 2000 г. членами FIPA являлись 56 фирм и университетов из 17 стран, в 2005 году FIPA была признана как одиннадцатый комитет по стандартизации в рамках IEEE Computer Society. Согласно спецификации абстрактной архитектуры, агент определяется как вычислительный процесс, который реализует автономную, коммуникационную функциональность приложений [50]. Это определение само по себе ничего не говорит об интеллектуальных способностях агента. Поэтому целесообразно использовать классификацию данную Nwana [46] (табл. 2). Таблица 2 Тип агента Характериcтики
Простой
Автономное выполнение
+
Взаимодействие с другими
+
+
Смышле-
Интеллек-
ный
туальный
(smart)
(intelligent)
Действительно (truly) интеллектуальный
+
+
+
+
+
+
+
+
+
+
+
+
+
агентами и/или пользователями Слежение за окружением Способность использовать абстракции Способность использовать предметные знания Возможность адаптивного
+
16
+
поведения для достижения целей Обучение из окружения
+
Толерантность к ошибкам
+
+
и/или неверным входным сигналам Real-time-исполнение
+
Естественно-языковое
+
взаимодействие Агентов можно также классифицировать по характеру их взаимоотношений с реальным физическим миром. В работах Пола Дэвидсона [51] вводится понятие «автономного агента» (АА), под которым понимается система, способная взаимодействовать независимо и эффективно со своей средой через собственные сенсоры и эффекторы для решения заданных или самостоятельно сгенерированных задач. Таким образом, люди и большинство животных могут быть в этом смысле расценены как АА. Дэвидсон предлагает выделить два наиболее общих класса АА по степени их действительного взаимодействия с реальным миром. Ситуативные АА расположены в мире в том смысле, что они имеют дело не только с абстрактными описаниями, но и с реальными физическими объектами. Воплощенные агенты (embodied) имеют физические тела и влияют на мир прямо – их действия являются частью динамики мира. Агенты, которые не являются ни ситуативными, ни воплощенными, рассматриваются как чистая компьютерная симуляция реальных агентов, т.е. являются программными агентами или софтботами. На наш взгляд такая категоризация АА является недостаточно определенной, так как компоненты распределенных программно-аппаратных комплексов можно рассматривать как ситуативных и воплощенных агентов, поскольку они участвуют в динамике реального мира (например, системы управления воздушным движением). Видимо, достаточно определенно можно говорить лишь о физических автономных агентах, как имеющих определенное техническое воплощение, и способных к самостоятельным действиям в реальном мире. Программные агенты в ряде случаев все равно будут си-
17
туативными, так как должны вступать в какой-то диалог с человеком-пользователем, и только агенты, взаимодействующие с себе подобными в программной среде, могут рассматриваться как «чистые» софтботы [52]. К настоящему времени сформировался довольно большой список свойств, которыми должны обладать ИА [53]–[55]: – автономность (autonomy, autonomous functioning) – способность к самостоятельному формированию целей и функционированию с самоконтролем своих действий и внутреннего состояния; – общественное поведение (social ability, social behavior) – способность согласовать свое поведение с поведением других агентов в условиях определенной среды и правил поведения путем обмена сообщениями на языке коммуникации; – реактивность (reactivity) – способность адаптированно воспринимать состояние внешней среды (среды функционирования и множества других агентов) и своевременно реагировать на происходящие изменения; – активность (pro-activity) – способность проявлять инициативу, т. е. самостоятельно генерировать цели и действовать рационально для их достижения, а не только пассивно реагировать на внешние события; – базовые знания (basic knowledge) – постоянная часть знаний агента о себе, о среде, а также постоянные знания о других агентах, которые не изменяются в рамках жизненного цикла агента; – убеждения (beliefs) – переменная часть знаний агента о среде и других агентах, которая может изменяться во времени, но агент может об этом не знать и продолжать использовать их для своих целей; – желания (desires) – состояния и/или ситуации, достижение которых является желательным и важным для агента, однако которые могут быть противоречивыми и не все будут достигнуты; – цели (goals) – совокупность состояний, на достижение которых направлено текущее поведение агента; – намерения (intentions) – это то, что агент обязан сделать в силу своих обязательств по отношению к другим агентам, или то, что вытекает из его желаний (т. е. не-
18
противоречивое подмножество желаний, выбранное по тем или иным причинам и совместимое с принятыми на себя обязательствами); – обязательства (commitments) – задачи, которые берет на себя агент по просьбе и/или поручению других агентов. Для АА постулируются такие свойства как адаптивность (способность действовать соответственно и согласованно с изменениями в среде), робастность (малые изменения в свойствах среды не должны приводить к общему коллапсу поведения АА), наличие тактики (способность устанавливать множественные цели и, вне зависимости от найденных им обстоятельств, решать, какие частные цели активно преследовать), гибкость (способность выполнять широкий круг задач) [56], [57]. К этому набору свойств могут добавляться и следующие: – благожелательность (benevolence) – готовность агентов помогать друг другу и решать именно те задачи, которые им поручат владелец или пользователь; – правдивость (veracity) – свойство агента не оперировать заведомо ложной информацией; – рациональность (rationality) – способность агента действовать так, чтобы достигать своих целей, а не избегать их достижения, по крайней мере, в рамках своих знаний и убеждений. Общественное поведение агентов может принимать разные формы, которые могут быть классифицированы по уровням взаимодействия [58]: Уровень 0 – связность, устанавливаемая извне владельцем или пользователем и не воспринимаемая самими агентами; Уровень 1 – координация. Агенты способны создать ситуацию, позволяющую другим агентам оказаться в нужном месте в нужное время, чтобы в результате их деятельность осуществлялась эффективным образом. Уровень 2 – кооперация. Агенты допускают, чтобы их поведение частично определялось поведением других агентов, когда они совместно пытаются достичь некоторой общей цели. Такой процесс для своей реализации должен осознаваться всеми участвующими в нем агентами. Уровень 3 – сотрудничество. Предполагается реальная совместная работа агентов, в процессе выполнения которой может выиграть каждый.
19
Уровень 4 – образование союза. Предусматривается продолжительная во времени совместная деятельность, в ходе которой агенты создают и поддерживают условия существования союза. Базовые знания являются необходимым традиционным компонентом для всех интеллектуальных систем, убеждения же должны быть определенным образом интерпретированы в структуре МАС. Интеллектуальная система (агент) может воспринимать как истинные правила формирования выводов, базовые шкалы и веса критериев, функции или отношения предпочтения и т. д. Убеждения можно разделить на три класса: 1. Внутренние убеждения агента. Это алгоритмы, сценарии, оценки, заложенные в него при разработке или внесенные в процессе эксплуатации владельцем или пользователем; 2. Индуктивные убеждения, возникающие в результате анализа состояний среды, формируемые продукционными правилами следующего вида: Если наблюдается факт Х, то убеждение Z; 3. Коммуникативные убеждения, возникающие в результате связи с другими агентами, формируемые продукционными правилами следующего вида: Если А сообщает о факте Х и А – заслуживающий доверия источник, то убеждение Z. Поскольку по существу решаемых распределенных задач возникает множественность ИА, попытаемся определить содержание понятий ―мультиагентная система‖ и ―агентно - ориентированная система‖. Мнения различных исследователей в этом вопросе существенно расходятся. В последние годы термин МАС применяют к широкому спектру программных систем, состоящих из различных автономных и полуавтономных компонентов. Анализ работ наиболее авторитетных в этой области исследователей показывает, что МАС должны обладать 4 важнейшими свойствами: ситуативности, автономности, гибкости и социальности. Ситуативность ИА понимается как способность воспринимать окружающую его среду (окружение) и действовать в этой среде, при возможности изменяя ее в своих целях. Примером таких интеллектуальных агентов могут служить мобильные роботы,
20
участвующие в соревнованиях ROBOCUP [59], которые должны взаимодействовать с мячом, партнерами по команде и противниками, не зная заранее размещения и намерений других игроков. Автономность ИА означает его способность взаимодействовать со средой без прямого участия других агентов, для чего он должен уметь контролировать свое внутреннее состояние и выполняемые действия. Гибкий агент должен демонстрировать качества отзывчивости или предусмотрительности (в зависимости от ситуации). Отзывчивый агент получает стимулы от своего окружения и вовремя отвечает на них соответствующим образом. Предусмотрительный агент не просто реагирует на ситуацию в окружающей среде, но и адаптируется, целенаправленно действует и выбирает альтернативы в различных ситуациях. Агент обладает свойством социальности, если он может соответствующим образом взаимодействовать с другими программными или человеческими агентами. ИА являются лишь составляющими сложного процесса решения проблем в соответствующей среде. Нам представляется, что не совсем правильно трактовать МАС как чисто программную систему, поскольку агенты могут быть сложными программно-аппаратными компонентами или гибридами, например, с использованием нейронных сетей, где традиционное понятие ―программы‖ оказывается в определенной степени размытым. Дж. Люгер определяет МАС как вычислительную программу, решатели которой расположены в некоторой среде и каждый из них способен к гибким, автономным и социально-организованным действиям в направлении предопределенной цели [54]. В. Б. Тарасов дает формализованное определение МАС, не детализируя содержание входящих в формулу составляющих [60] MAS ( A, E, R, ORG, ACT , COM , EV )
где А – множество агентов, Е – множество сред, находящихся в определенных отношениях R и взаимодействующих друг с другом, формирующие некоторую организацию ORG, обладающих набором индивидуальных и совместимых действий ACT (стратегия поведения и поступков), включая возможные коммуникативные действия COM и возможность эволюции EV.
21
Согласно [61] МАС может рассматриваться как сильно связанная сеть решателей совместно работающих над проблемами, которые могут выходить за рамки возможностей индивидуальных агентов. Суммируя изложенное, определим МАС
как совокупность взаимосвязанных
агентов как программных, так и аппаратных, способных взаимодействовать друг с другом и окружающей средой, обладающих определенными интеллектуальными способностями и возможностью индивидуальных и совместных действий. Классифицировать МАС можно по целому ряду признаков (рис. 3). Важным признаком является способ решения проблем. Системы распределенного решения проблем содержат агентов специально разработанных для решения определенного круга задач или достижения известных целей. В этом случае все агенты определяются априорно (на стадии проектирования) и должны взаимодействовать согласованно и непротиворечиво (благожелательно). Открытые МАС могут содержать переменные множеств агентов, входящих в систему и выходящих из неѐ, причем возможно своекорыстное (столкновение интересов) поведение агентов. Понятие ―агентно - ориентированная система‖ представляется более широким, чем понятие ―МАС‖. М. Wooldridg характеризует АОС как систему, в которой ключевой используемой абстракцией является агент. Агентно – ориентированные системы мы будем трактовать как гибридные системы, содержащие наряду с МАС и другие системы (ЭС, обучающие и тестирующие системы, распределенные объектные приложения и т.п.). АОС в настоящее время могут быть глобально распределѐнными взаимосвязанными совокупностями программных и аппаратных систем, содержащими сотни и тысячи компонентов, что и определяет возрастающую сложность их разработки, внедрения и эксплуатации. Если подойти к классификации агентов с позиций разумных свойств, присущих как живым существам, так и техническим (искусственным) системам, то можно построить следующую схему (табл. 3), опираясь на материалы А. Сломана (Aaron Sloman) и С. Франклина (Stan Franklin) [63], [64].
22
Значения введенных параметров можно рассматривать как координаты вектора в параметрическом
пространстве
или
как
кодовое
слово
вида
S1 S2 M1 M 2 M 3 M 4 T1 T2 T3 в троичной системе счисления. В качестве меры в таком параметрическом пространстве естественно использовать кодовое расстояние [64]. В нашем случае целесообразно взять модульную метрику, тогда появляется возможность вычислить интеллектуальное расстояние между различными типами агентов: T3
ID Parai Parbi , i S1
где Parai , Parbi – значения признака для агентов a и b соответственно, а индекс i – пробегает множество S1, S2 , M1, M 2 , M 3 , M 4 , T1, T2 , T3. Для примера вычислим интеллектуальное расстояние между амебой и традиционным конечным автоматом с несколькими входами и выходами. Для амебы кодовая комбинация принимает вид: a = 100000000, а для конечного автомата – b = 111000000, тогда ID(a, b) = 2. Используя принципы теории кодирования, введем также интеллектуальный вес агента: T3
IW Pari , i S1
определяемый суммой значений параметров от S1 до T3 . Соответственно, для мобильного транспортного интеллектуального робота мы получим IW = 6 (a = 1110100101), а для человека – IW = 12 (b = 112111122). Интеллектуальное расстояние между ними равно ID(a, b) = 6, что и отражает интеллектуальное превосходство человека. Таблица 3 S1 Сенсорика (чувства) S2
0
С одним чувством
1
С несколькими чувствами
0
Только одно из многих чувств в данной ситуации
1
Множественные чувства на единичный объект, событие или ситуацию
23
0
Без памяти
1
С памятью на прошедшие события (конечной)
2
С потенциально неограниченной или бесконечной памятью
0
Только с кратковременной памятью
1
С кратковременной и долговременной памятью
0
Не может обучаться (не наращивает долговременную память)
1
Может обучаться (наращивает долговременную память)
0
Хранит сенсорную информацию по некоторому чувству
1
Хранит сенсорную информацию по всем чувствам
0
Действует только в реальном времени
1
Может планировать действия
0
Не может визуализировать чувства
1
Может визуализировать некоторые чувства
во време-
2
Может визуализировать все чувства
ни)
0
Не имеет модели среды существования
1
Имеет предопределенную модель
2
Может создавать ментальные модели среды
M1
Память
M2
M3
M4
T1 Моторика (действия
T2
T3
Для агентно-ориентированных систем может быть введено понятие среднего веса ИА в системе IWc
1 n IWi , где n – число ИА в МАС, а IWi – вес i-го ИА. n i1
24
По числу ИА
МАС Мобильные
По местоположению По способу реализации
Закреплѐнные (постоянной дислокации) Однородные (гомогенные) Разнородные (гетерогенные)
Содержащие одного агента Содержащие много агентов Программные Программноаппаратные
По однородности агентов
Аппаратные
По способу решения проблемы (задачи)
Закрытые (распределенные решатели задачи) Открытые
По времени жизни агентов
Статические Динамические
По способу организации
Иерархические Сетевые
По характеру распределения задач
Самоорганизующиеся (синергетические) Функциональнораспределѐнные Пространственнораспределѐнные Функционально и пространственно распределѐнные
По принципу эволюции
Эволюционирующие Детерминированные
Рис. 3. Классификация МАС
25
2. Сравнительный анализ основных типов агентных моделей и архитектур Исследования последних десятилетий и определенный опыт практических разработок АОС убедительно показывают, что создание ИА является весьма сложной задачей, требующей теоретического фундамента для концептуального представления агентов. Таким фундаментом служат модели ИА, по-разному описывающие знания, способы рассуждений, планирование поведения и непосредственные действия агентов. Данные модели следует рассматривать в двух аспектах: во-первых, с позиций анализа свойств и поведения агентов в процессе функционирования МАС в целом; вовторых, с позиций изучения и конструирования свойств агента, определяющих его внутренние процессы (получение знаний, выработка целей, принятие решений и т.д.). Можно считать устоявшейся традицию выделения трѐх базовых классов архитектур агентных систем [60] и соответствующих им моделей интеллектуальных агентов: делиберативные архитектуры и модели (deliberative architectures); реактивные архитектуры и модели (reactive architectures); гибридные архитектуры и модели (hybrid architecture). 2.1. Делиберативные агенты и архитектуры Термин «делиберативный агент» (deliberate agent) (ДА) был введѐн в работе [65]. Делиберативную архитектуру принято определять как архитектуру агентов, содержащих точную символическую модель мира и принимающих решения на основе логического вывода [48]. Теоретическим основанием для построения моделей ДА послужила гипотеза физических символьных систем, сформулированная Ньювеллом и Саймоном [66]. Физическая символьная система по определению должна быть физически реализуемым множеством физических сущностей или символов, которые комбинируются в определенные структуры и способны запускать процессы, оперирующие на этих символах в соответствии с символически закодированными множествами инструкций. Данная гипотеза постулирует утверждение о том, что такая система способна на интеллектуальное поведение в достаточно общем понимании этого термина. Согласно трак-
26
товке M.R. Genesereth делиберативный агент должен обладать следующими свойствами: - содержать эксплицитно представленную базу знаний, заполненную формулами в некотором логическом языке, представляющую его убеждения; - функционировать в следующем цикле: восприятие обстановки (обсервация) – логический вывод – действие …; - принимать решения о действиях на основе методов логического вывода. Вулдридж и Дженнингс [67] определяли ДА как «то, что содержит явно представленную символическую модель мира, и в котором решение (например, о том какие действия выполнять) принимается через логический (или по крайней мере псевдологический) вывод, основанный на сопоставлении с образом или символической манипуляции». В соответствии с наиболее общим делиберативным подходом, когнитивный компонент содержит по существу две части: планировщик и модель мира (рис. 4).
Сенсоры
Модель мира
Высокоуровневое описание Планировщик
планы Исполнитель планов
Эффекторы
Рис. 4. Базовая архитектура ДА Модель мира является внутренним описанием внешней для агента среды и иногда также включает описание самого агента. Планировщик использует это описание для создания плана достижения цели агентом следующим способом: задавая атомарные действия (операторы), которые агент способен выполнить, их предусловия и их результаты в мире (постусловие), и начальную и целевую ситуации, он ищет в пространстве последовательность операторов, пока не находит такую, которая преобразует начальное состояние в целевое состояние. Готовый план есть список действий, который передается исполнителю планов, который будет выполнять эти действия, вызывая различные процедуры низкого уровня эффекторов.
27
Основы строгой формализации знаний и действий делиберативного агента заложены Куртом Конолиге (Kurt Konolige) в работе [68]. Он предложил иерархический метаязык для описания и логического вывода на знаниях и действиях вычислительных агентов. Предполагается, что объектный язык есть стандартный язык первого порядка, а для каждого примитивного выражения объектного языка e предполагается существование соответствующего терма e' в метаязыке. Термы метаязыка, обозначающие составные формулы объектного языка, конструируются с использованием метаязыковых функций and , or , not и так далее. Для обозначения того, что формула объектного языка отражает истинное состояние мира, Конолиге использует истинностный предикат метауровневого языка TRUE , приписывая ему следующие аксиомы:
f TRUE f TRUEnot f f g TRUE f TRUEg TRUEor f , g etc. Конолиге использует синтаксический подход для описания убеждений агентов: каждому агенту назначается множество формул объектного языка (теория данного агента) и убеждения , если являются доказуемыми в этой теории. Функция метауровневого языка th задается на множестве термов, определяющих агентов, и возвращает множество формул объектного языка, представляющих теорию агента. Предикат метаязыка FACT t , f говорит о том, что f принадлежит теории t . Общий факт есть формула истинная для всех агентных теорий
f CFACT f a FACT tha , f & TRUE f . Далее вводится бинарный предикат доказуемости PR , использующий в качестве аргументов теорию и формулу. Система аксиом для этого предиката использует аксиоматику объектного языка и поэтому включает такие правила как модус поненс, рефлексивность и т.д.
t f g PR t , imp f , g & PR t , f PR t , g t f PR t , f PR t , f etc.
28
Убеждения определяются через предикат метаязыка, связывающий агента и формулу объектного языка a f BEL a, f PRtha , f . Знание определяется как истинное убеждение. Далее Конолиге расширяет свою модель в трех направлениях: - вводит функцию стандартных имен и денотационную функцию для упрощения некоторых синтаксических проблем, связанных с метаязыком; - вводит вложенные убеждения (т. е. убеждения об убеждениях), расширяя двухязыковую иерархию в трехязыковую иерархию; - вводит ситуации (в смысле ситуационного исчисления) в область метаязыка для выводов об изменяющемся мире. Основные проблемы, выявленные в данной модели состоят в том, что трехуровневая иерархия устанавливается произволом автора; с вычислительной точки зрения модель Конолиге представляется неуправляемой из-за наличия метауровней; некоторые аксиомы, предложенные для общих фактов оказались неверными. Тем не менее, работы Конолиге послужили стимулом для последующего развития моделей ДА в трудах M.J. Wooldridge, N.R. Jennings, M. d’Inverno, D. Kinny, M. Luck, B. Van Linder, W. Van der Hoek, J.-J. Ch. Meyer [53], [69]–[71]. Согласно [69] ИА определяется как структура
0 , , , , MR, AR , где 0 Belset - начальное множество убеждений, Drule - множество правил вывода для L , Brf - функция ревизии убеждений, Mes sin t - функция интерпретации сообщений, MR Mrule - множество правил сообщений, AR Arule множество правил действий, L - внутренний логический язык. Поведение агента определяется циклом, включающим следующие шаги: 1)
интерпретация любых принятых сообщений;
2)
изменение убеждений через обработку эпистемических входов с учетом
предыдущих действий и интерпретации сообщений через функцию ревизии убеждений; 3)
построение дедуктивного замыкания множества убеждений;
4)
извлечение множества возможных сообщений, выбор одного из воз-
можных и отправка его получателю;
29
5)
извлечение множества возможных действий, выбор одного из них и вы-
полнение этого действия; 6)
возврат к шагу 1.
В формализованном виде функционирование агента представляется следующими выражениями: Belset powerset FormL Close _ Belset powerset Drule Belset Epin powerset FormL Brf Belset powerset Epin Belset Action Belset Epin Cond FormL {true} Arule Cond Action Mrule Cond Mess
Несмотря на то, что в последние десятилетия было предложено несколько архитектур для ДА, большинство их них развертывались только в ограниченных искусственных средах, очень немногие были применены для решения реальных задач, и совсем ничтожное количество доведено до стадии реальных корпоративных приложений, отлаженных на конкретной предметной области. Одной из таких архитектур является Multi-Agent Reasoning System (dMARS) [72], основанная на более ранней системе Procedural Reasoning System (PRS) [73], и использующая концептуальную основу BDIмодели практического вывода [74]. В работе [75] Рао и Георгиев дали абстрактную спецификацию модели ДА и предложили расширения, которые могли бы удовлетворять различным возможным аксиомам BDI-теории [76]. Однако, данная спецификация является высокоуровневой абстракцией и не допускает непосредственной технической реализации. Известна формализация ДА средствами языка AgentSpeak(L), разработанного Рао [77] . Этот язык является языком программирования, основанным на абстракции PRS-архитектуры. Далее d’Inverno и Luck построили формальную спецификацию AgentSpeak(L) [78], которая переопределяет оригинальное описание Рао в терминах состояний и операций над состояниями, позволяя перейти к реализации такой модели. В последующих работах [79], [53] предложена развернутая формальная модель делиберативной архитектуры dMARS, использующая язык Z [80]. Z является модельно-
30
ориентированным языком формальных спецификаций, основанным на теории множеств и логике первого порядка. Ключевыми компонентами Z-спецификации являются пространство состояний системы и множество возможных операций, переводящих одно состояние в другое. Модели агентов в PRS и dMARS являются примерами наиболее популярной в настоящее время парадигмы, известной как BDI-подход. BDI-архитектура как правило содержит 4 ключевые структуры данных: убеждения, цели, намерения и библиотеку планов. Агентные убеждения соответствуют информации агента о мире и могут быть неполными и некорректными. Обычно агенты в BDI-модели хранят убеждения в символьной форме, подобно фактам в языке Prolog. Желания агентов (или цели) интуитивно соответствуют задачам, назначенным данным агентам. Для действующих BDIагентов требуется, чтобы желания были логические непротиворечивы, хотя человеческие желания часто этому требованию не соответствуют. Агенты не могут, в общем случае, достичь всех своих желаний, даже если эти желания непротиворечивы. Агенты должны зафиксировать некоторое множество достижимых желаний и передать ресурсы для их достижения. Эти выбранные желания являются намерениями и агент будет стремиться достигнуть намерения до тех пор пока его убеждения соответствуют желанию либо желание при данных убеждениях не является более достижимым. Каждый агент в dMARS имеет библиотеку планов, определяющих варианты возможных действий, которые могут быть предприняты агентом для достижения его намерений. Планы, таким образом, реализуют процедурные знания агента. Каждый план содержит несколько компонентов. Триггер или условие вызова определяет обстоятельства при которых план должен рассматриваться как возможный для применения. План имеет контекст или предусловия, определяющие обстоятельства при которых выполнение плана может начаться. План может иметь также главное условие, которое должно быть истинным во время выполнения плана. План также имеет тело, которое может содержать цели и примитивные действия. События, воспринимаемые агентом, помещаются в очередь событий. Внутренний интерпретатор агента непрерывно выполняет следующий цикл:
31
1)
обозревает мультиагентный мир и внутреннее состояние агента и из-
меняет очередь событий; 2)
генерирует новые возможные желания (задачи), находя те планы, чьи
триггеры событий включены; 3)
выбирает из этого множества включенных планов один для выполнения;
4)
помещает желаемое значение в существующий или новый стек, в соот-
ветствии с тем, имеется или нет подцель; 5)
выбирает стек намерений, читает план, находящийся в вершине стека и
выполняет следующий шаг из этого плана; если шаг есть действие – выполняет его, если это подцель – посылает эту подцель в очередь событий; 6)
возврат к шагу 1.
Шаг 5) этого цикла реализует способ выполнения плана, когда подцель помещается в очередь событий, что вызывает активизацию очередного плана и т.д. Содержательно модель агента в dMARS представляет собой ситуационную формальную систему. Развитие моделей ДА идет по пути попыток формализации новых мотивационных свойств и отношений в комбинации с поведением и действиями агентов [81]–[86]. Такой подход приводит к созданию абстрактных логических моделей, претендующих на строгое формальное описание всех релевантных свойств рациональных агентов в целях анализа, спецификации и верификации МАС. Одной из наиболее разработанных моделей такого типа является модель, предложенная в работах Линдера, Хоека, Мейера (B. Van Linder, W. van der Hoek, J.-J. Ch. Meyer) [87], [88]. Главное свойство ДА, которое рассматривают эти ученые – знание. В представлении знаний ими используется общий подход эпистемической логики при котором формула K i означает тот факт, что агент i знает . Формула интерпретируется в стиле семантики возможных миров Крипке. В данной модели выделяются два уровня свойств: уровень утверждений, где рассматриваются предпочтения и цели, и практический уровень, где определяются обязательства. В аспекте действий агента исследуются результаты, способности и возможности. Авторами проводятся достаточно тонкие различия между этими терминами: способности
32
агента выражают его ментальные и физические мощности, моральные характеристики, человеческие и физические возможности, в то время как возможность выполнения действий описывается в терминах «возможности по обстоятельствам» (circumstantial possibility). Способности агентов формализуются через Ai оператор. Формула Ai обозначает тот факт, что агент i имеет способность сделать . Для ссылки на выполнение действия агентом i вводятся формулы doi и
doi .
Формула
doi представляет тот факт, что агент i имеет возможность сделать α и что выполнение ведет к . Формула doi определяет условную возможность агента сделать , утверждая, что если возможность сделать действительно представлена, то выполнение ведет к . С неформальной точки зрения цели в модели Линдера, Хоека, Мейера определяются как неосуществленные предпочтения агента, но не все неосуществленные предпочтения агента квалифицируются как цели. Так как они не осуществлены, то цели должны быть реалистичными, то есть неосуществленное предпочтение является целью для агента, только если агент знает, что как-то может осуществить предпочтение. Формализуя реализм целей, они вводят реализуемости (implementability). Формула считается реализуемой для агента, если имеется некоторый способ доставить эту формулу
M , s i k INa1 ,... , ak At (M , s Pr acPossi (a1 ; ...; ak ,)) . Цель тогда определяется как неосуществленное, реалистичное, известное предпочтение Goali def K i Pi & K i & K i i . Основные ограничения в плане программно-технической реализации данной модели заключаются в том, что сами авторы позиционируют свою модель как предназначенную для теоретического анализа возможных моделей агентных систем, а также в том, что в их построениях проводятся «тонкие», буквально на философском уровне постулируемые различия между способностью и возможностью агента выполнить некоторое действие. Построение делиберативных архитектур требует решения таких проблем, как построение адекватного символического описания реального мира, учитывающего
33
сложность происходящих во времени процессов и действующих объектов; организация логического вывода из имеющихся знаний, который должен приводить к определѐнным действиям агентов. Чепмен [89] показал, что планирование неразрешимо в общем смысле, и вычислительно ведет к NP – полноте даже в простых формах. С другой стороны, традиционное планирование очень продолжительно, требует экспоненциального поиска в потенциально неограниченном проблемном пространстве. В дополнение к этому Брукс [56] утверждает, что интеллект человеческого уровня слишком сложен, чтобы быть разложенным на определенные понятные компоненты. Достоинством делиберативных моделей и архитектур является возможность применения строгих формальных методов и хорошо отработанных технологий традиционного ИИ, позволяющих относительно легко представлять знания в символьной форме и переносить их в АОС. В то же время создание полной и точной модели некоторой предметной области реального мира, формализация ментальных свойств агентов и процессов рассуждения в этих когнитивных структурах представляют существенные трудности для технической реализации. 2.2. Реактивные агенты и архитектуры Поиски путей разрешения проблем, возникающих при использовании в агентных системах классических методов ИИ, привели к появлению нового класса – реактивных архитектур. Основоположником этого направления принято считать Р. Брукса (R. Brooks), который так сформулировал ключевые идеи бихевиористического взгляда на интеллект: – интеллектуальное поведение может создаваться без явного символьного представления знаний; – интеллектуальное поведение может создаваться без явного абстрактного логического вывода; – интеллект является внезапно возникающим свойством некоторых сложных систем [56].
34
В реальном мире интеллект не является экспертной системой или машиной логического вывода, а интеллектуальное поведение возникает как результат взаимодействия агента со средой. Вместо моделирования мира и планирования реактивные агенты (РА) должны иметь коллекцию простых поведенческих схем, которые реагируют на изменения в среде в форме «стимул – реакция» (рис. 5).
Сенсоры
Поведение «стимул – реакция»
Эффекторы
Рис. 5. Базовая архитектура РА Наиболее спорным из принципов Брукса является принцип, касающийся репрезентации. Он утверждает, что явные представления мира не являются необходимыми для реализации эффективных агентов. Вместо этого агент должен использовать «… мир как его собственную модель – непрерывное обращение к собственным сенсорам лучше, чем к внутренней модели мира» [56]. Реактивные агенты, по крайней мере в нескольких экспериментах, доказали способность решать ограниченное число простых задач в областях реального мира. Однако, они сталкиваются с проблемами при выполнении задач, требующих знаний о мире, которые получаются логическим выводом или из памяти. Такими заданиями являются проблемы понимания ситуации на основе объективных перспектив, предсказание поведения других агентов, креативность. Более того, реактивные агенты часто сделаны «жестко» и не имеют никаких способностей к обучению. Тот факт, что каждое поведение должно быть отдельно закодировано в агенте ведет к сложным проблемам, как во время разработки, так и во время выполнения. Проанализируем более детально наиболее известные модели реактивных агентов и распределенных реактивных архитектур. В работах таких ученых как K. Cetnarowicz, E. Nawarecki, M. Zabinska [90], [91], предложена М-агентная архитектура МАС. Эти авторы определяют мультиагентный
35
мир (МА-мир), включающий агентов, агентное пространство, агентную среду, отношения между агентами и средой и отношения среди агентов. Общие определения в М-агентной архитектуре имеют следующий вид: a - агент (конкретный агент в МА-мире); A - множество агентов, существующих в МА-мире, называемое конфигурацией агентов, a A ; - множество всех конфигураций агентов, A . Вводятся понятия связанные с типом агента: G - множество возможных типов
агентов
в
МА-мире,
( g G) ;
aig
-
агент
i
типа
g,
( g G ,i I , I 1, 2,... , n) ,(aig A g ) ; A g - множество агентов типа g , существующих в МА-мире, называемое конфигурацией агентов типа g , A gG A g ; g множество всевозможных конфигураций агентов типа g , ( A g g ) ; - множество всевозможных конфигураций агентов всех типов. МА-мир определяется как пара AW (, ) , где - множество всех пространств системы, а E - пространство МА-мира, жизненное пространство агента в системе. Среда задается тройкой:
V E , A,C , где C - связь между агентами A и пространством E . Жизненное пространство агентов определяется через понятие ресурса r , множе-
r R , - множества всевозможных конфигураций ресурсов в МА-мире, R . Топология жизненного пространства T определяет множество мест t , t T , где агенты могут жить и работать; - множество всевозможных топологий в МА-мире, T . Тогда структура пространства E определяется как пара E R ,T и , E . ства ресурсов R (конфигурация ресурсов),
Модель агента определяется как структура
a M ,Q, S , I , X , L, m, q , s , где m - модель агентной среды, M - множество моделей сред, т. е. знания агента о средах, m M ; - множество агентных конфигураций моделей M , M ; q цель агента, определяемая как q : M M Re,qm, m' Re,где Re - действительное
36
число, m' - предполагаемая модель модифицированной среды; Q - упорядоченное множество целей агента, называемое конфигурацией агентных целей q Q ; s - стратегия агента s : M M , m' sm , S - множество стратегий агента, называемое конфигурацией стратегий, s S ; - множество конфигураций стратегий, S ;
I-
операция
обсервации
агента,
определяемая
как
I : M , m I M ,V , m M . X - операция выполнения агентной стратегии, определяемая как
X : , V ' X( s ,V ), s S , V ,V ' , где V ' - новая среда агента, созданная вследствие выполнения стратегии s агентом в среде V ( E , A,C ) . L - операция адаптации (обучения) агента,
L {Lm , LS }, Lm : M M , M ' Lm ( M , m' , m' ' ), LS : M M , S' LS ( S , m' , m' ' ). Поведение агента в М-архитектуре описывается следующим алгоритмом: 1. Старт – создание агента a (M ,Q, S , I , X , L , m, q , s) и его положения в среде
V ( E , A,C ) , затем к шагу 2. 2. Агент обозревает окружающее пространство и строит модель своей среды:
m I (M ,V ) , затем к шагу 3. 3. Выбор наилучшей стратегии S * , которая может быть выполнена:
DI ( s , m) q(m, s(m))
DI * max DI ( s , m) s * и далее к шагу 4. sS
4. Если S * такова, что DI* 0 , то к шагу 5, иначе к шагу 8. 5. Выполнение выбранной стратегии S* : X (s*,V ) V ' и далее к шагу 6. 6. Агент обозревает окружающее пространство и строит модель своей новой среды m' ' I ( M ,V ) , затем к шагу 7. 7. Адаптация условий среды:
M ' LM (M , m' , m' ' ), S LS (S , m' , m' ' ), затем к шагу 3. 8. Переход к шагу 2.
37
В рассматриваемой модели М-агентной архитектуры заложена ориентация на работу агентов с ресурсами, причем связь агентов и пространства точно не определена. В этой модели отсутствует иерархия агентов, не определяется логическая взаимосвязь агентов, не предусматривается возможность логического вывода о состояниях МАмира и взаимоотношениях среди агентов. Поведение агента в М-агентной архитектуре по сути является борьбой за определенный ресурс, так как цель агента формулируется как функция достижения ресурса, при этом не учитывается предыстория развития системы, не предлагается конструктивного механизма реализации стратегий. Как показали Вулдридж и Дженнингс [53], [67] известные спецификации моделей ИА определяют те свойства, которые должны у агентов быть, но не направлены на конструктивное определение поведения агентов. Главным следствием из этой ситуации является невозможность связать высокоуровневые спецификации с программной реализацией таких моделей в МАС. Поэтому для моделей РА характерно использование концепции состояний и переходов и механизмов поведения типа «стимул-реакция». Ярким примером такой реактивной модели является модель Фербера [92], [93]. В этой модели вводится динамическое состояние как пара , , где σ из есть состояние среды и описывает взаимодействие (влияние). Вместе с тем, состояние среды из не получает у Фербера точного определения. Здесь вводится структура, называемая множеством влияния (influence set), которая представляет множество влияний одновременно произведенных всеми агентами и средой () . Агент в данной модели определяется пятеркой:
a Pa , S a , Perceptiona , Memorizationa , Decisiona , где Pa - множество перцептов (т. е. входных воспринимаемых состояний), S a - множество внутренних состояний агента, Percetiona - функция перцепции, задаваемая как
Percetiona : Pa , Memorizationa - функция переходов агента, определяемая как Memorizationa : Pa S a S a , Decisiona - функция решения (действия), описываемая как Decisiona : S a . Поведение агента определяется функцией
38
Behavioura : S a S a , Behavioura ( s , ) s' , Decisiona ( s' ) , где s' Memorizationa ( Perceptiona ( ) , s). Попыткой синтеза делиберативных
и реактивных моделей является модель,
предложенная в работах С. Амброшкевича, С. Билки, Я. Комара [94], [95] . Авторы данной модели стремятся представить модель МАС так, чтобы фундаментальные понятия теории, такие как знания агента, убеждения, намерения, мотивы, модели логического вывода, коммуникация, переговоры, обязательства, координация и агентная организация имели ясную и простую семантику. В данной модели выделяется пять базовых модулей агентной архитектуры: перцепция, тип агента, знания и убеждения, коммуникационный модуль, модуль вывода. Агент ощущает окружающий мир, а поскольку этот мир есть динамическая система, то полная информация о мире есть в текущем глобальном состоянии динамической системы. Однако, агенту недоступна полная информация о глобальном состоянии. Динамическая система определяет мир существования агентов, который состоит из множества глобальных состояний , с начальным состоянием 0 ; множества агентных позиций N {1, 2,3,. . . , n} ; множества действий Ai , приписываемых каждой позиции i N , таких что агент, занимающий позицию i может сделать только одно действие
в
любой
дискретный
момент
времени;
передаточной
функции
: Ai , определяющей следующее глобальное состояние системы, задаiN
ваемое текущим состоянием системы и действиями, сделанными агентами; продолжительностью существования системы, обозначаемой T , где T - натуральное число. Предполагается, что время дискретно и система синхронна, т. е. в любой момент времени t агенты предпринимают действия одновременно, так что если состояние системы есть и агенты выполняют действия a1 , a2 ,... , an соответственно, то во время
t 1 глобальное состояние системы изменится на ' df , a1 , a2 ,... , an в соответствии с передаточной функцией.
39
Если A df
Ai ,
iN
то a t A, a t a t 1 , a t 2 ,... , a t n
обозначает действия, сде-
ланные агентами во время t . Пусть 0 , a 0 , a1 , . . . , a t 1 называется t -шаг системы или возможная история ко времени t . Каждый t -шаг определяет глобальные состояния системы во времени.
Пусть будет множество всех T -шагов. Для r 0 , a 0 , a1 , . . . , a T и
T t , пусть r ,t df 0 , a 0 , a1 ,... , a t 1 . r ,t называется ситуацией в момент времени t . S обозначает множество всевозможных ситуаций в моменты времени 1,2,...,T . Динамическая система, определенная таким образом является абстрактной, и фактически описывает только отношения между состояниями системы и действиями агентов. Пусть Qi обозначает множество локальных состояний агента i . Чувство агента
i определяется как функция I i : Qi со следующей интерпретацией: если текущее глобальное состояние есть , то агент i чувствует qi df I i как свое локальное состояние, т. е. qi есть текущее состояние локального мира агента. Здесь, по мнению автора, состояние локального мира агента совмещается с состоянием самого агента, а различие между ними должно быть, так как агент есть выделенная сущность мира и имеет свои состояния. Тип агента состоит из его желаний и поведения. Желание агента выражается через уровень желаний, обозначаемый действительным числом i , и прикладной функцией ui , определяемой на присоединенных локальных состояниях от t 1 до t T . Формально ui : QiT R , R - множество действительных чисел. Агент стремиться
быть в локальных состояниях q1i ,qi2 ,... ,qiT , таких что ui q1i , qi2 , . .. , qiT i . Используется предпосылка о том, что агент помнит все свои предыдущие состояния и может вычислять прикладную функцию. Как известно, поведение агента, стремящегося максимизировать свою прикладную функцию, называется в теории игр рациональным. Авторы данной модели претендуют на некоторую общую форму поведения. Поведение агента определяется ими через примитивные решаемые проблемы
40
a A ,
pdpi df Ai , Fai
i
i
где Fai - совокупное вероятностное распределение на множестве действительных чисел. Если PDPi множество всех pdpi , то поведение агента i определяется как
Bi : PDPi Ai , со следующей интерпретацией: если поведение агента i есть Bi , и он видит pdpi , то он рассматривает действия из множества Bi ( pdpi ) Ai как оптимальные. Поведение агента должно заставлять его желать достижения своей цели, а так как поведение зависит непосредственно от pdpi , то все знания агента и ресурсы вывода должны использоваться для определения pdpi . В модели Амброшкевича поведение агента определяется исключительно задачей, причем задача трактуется как множество действий Ai , не рассматривается последовательность во времени, не анализируются логические взаимосвязи, не выполняется оценка состояний МА-мира. Процедурный аспект данной модели соответствует модели конечного автомата. По признанию самих авторов данная агентная модель не полна, так как поведение агента должно основываться на убеждениях подвергнутых ревизии на основе информации перцепции и коммуникации, а эти переходы не определены. Модель реактивного агента, функционирующего в реальном масштабе времени построена и исследована в работах В.В. Денисова, Д.В. Пузанкова, М.Г. Пантелеева, Г.Г. Колосова [96], [97]. ИА определяется через совокупность пространств ментальных состояний и отображений между ними. Пространства ментальных состояний включают в себя: SEI – текущие данные о состоянии внешней среды, поступающие от подсистемы восприятия; IET – текущую оценку внешней обстановки на требуемом уровне абстракции; PES – прогнозируемое состояние внешнего мира; ISS – оценку текущего состояния собственных подсистем агента; PIS – прогнозируемое внутреннее состояние агента; STP – тактический план агента; LTP – стратегический план агента.
41
Когнитивная деятельность ИА описывается совокупностью следующих отображений:
f ESS : ENV SEI восприятие внешней среды; f ESI : SEI IEI оценка внешней обстановки; f ESP : IEI PES прогнозирование внешней обстановки; f ISA : INT ISS оценка внутреннего состояния агента; f ISP : ISS PIS прогнозирование внутреннего состояния агента; f STP : IEI PES ISS PIS SP STP кратковременное планирование; f LTP : IEI PES ISS PIS LTP долгосрочное планирование. Здесь ENV - внешняя среда агента, INT - собственные подсистемы ИА. 2.3. Гибридные агенты и архитектуры Реактивный подход позволяет эффективно использовать множество простых сценариев поведения агентов в рамках установленных реакций на определѐнные события окружающей среды, но его ограниченность проявляется в практической невозможности полного ситуативного анализа всех возможных активностей агентов. Поэтому в большинстве проектов и действующих систем используются гибридные архитектуры. В последнее время ряд исследователей признают, что ИА должен обладать высокоуровневым выводом и низкоуровневыми реактивными способностями. На этом пути можно использовать реактивную способность для текущих задач и добавить возможность логического вывода для более сложных долговременных задач. Достаточно давно были выделены [98] две категории гибридных агентных архитектур. Однородная архитектура использует одну общую репрезентацию и схему управления для реакций и рассуждений, в то время как многослойные архитектуры используют различные представления и алгоритмы (реализованные в отдельных слоях) для выполнения этих функций.
42
Делиберативный компонент
Сенсоры
модификации
обсервации
Эффекторы
Реактивный компонент
Рис. 6. Базовая архитектура многослойного гибридного агента Реактивный компонент отображает перцептуальные стимулы на примитивные действия. Делиберативный компонент выполняет символический вывод для управления поведением реактивного компонента, например, изменяет множество правил ситуация – действие. В некоторых архитектурах делиберативный компонент прямо связан с сенсорами и эффекторами агента, в других нет. Когда проектируется архитектура многоуровневого гибридного агента необходимо получить ответы на следующие критические вопросы: 1). Достаточно только одного реактивного и одного делиберативного уровня, или должны быть введены дополнительные уровни? Как когнитивная рабочая нагрузка должна быть разделена между уровнями? 2). Как должны взаимодействовать компоненты различных уровней? 3). Когда должен агент действовать и когда должен размышлять, т. е. как определить алгоритм расписания? Проведем сравнение некоторых известных гибридных архитектур в терминах обозначенных выше пунктов (1) – (3). Фергюссоном была предложена архитектура циклической машины, основанной на модели машины А.М. Тьюринга [99] включающая три уровня: реактивный уровень, который представляет собой множество правил ―ситуация– действие‖, планирующий уровень, чьим главным компонентом является иерархический, неполный планировщик, и моделирующий уровень. Задача реактивного уровня – обеспечить быструю реакцию
43
на события в реальном масштабе времени. Главная задача планирующего уровня – сгенерировать и выполнить планы для достижения долговременных целей агента. Наконец, задача моделирующего уровня – обнаружить и предсказать ситуации потенциального конфликта целей между агентами и затем предложить действия для выхода из этих конфликтов (рис. 7.). Каждый уровень независимо связан с сенсорами и эффекторами и действует так, как если бы он управлял агентом самостоятельно. В результате этого действия будут часто конфликтовать друг с другом. Конфликты разрешаются подавляющими правилами. На стороне рецепторов имеются правила цензуры, которые фильтруют сенсорные данные, так что каждый уровень получает соответствующую часть сенсорных данных.
Моделирующий уровень
Сенсоры
Правила цензуры (цензор)
Планирующий уровень
Подавл яющие правила
Эффекторы
Реактивный уровень
Рис. 7. Базовая архитектура агента циклической машины Сообщения подразделяются на два вида: пассивные пересылки информации (реактивный уровень сообщает моделирующему уровню на какие сущности мира следует обратить внимание) и активные, изменяющие управляющие решения других уровней (моделирующий уровень заставляет планирующий уровень сгенерировать план для новой задачи). Уровни действуют параллельно, но синхронно (управляются внутренними часами агента).
44
Главная идея агента «планировщик-реактор», предложенного в [100] состоит в том, что планировщик является системой, которая взаимодействует с реактором таким же способом, каким реактор взаимодействует с миром (рис. 8.). Планировщик содержит: модель мира, описание реактора и установку от пользователя на цели реактора и ограничения, которым должно удовлетворять поведение реактора.
Планировщик адаптации
перцепции
Сенсоры
Реактор
Эффекторы
Рис. 8. Базовая архитектура системы «планировщик-реактор» Планировщик функционирует непрерывно, отслеживая поведение реактора с использованием перцепции, и воздействует на реактор в соответствии с установкой, данной пользователем. Он не имеет доступа к полному содержанию реактора, т.е. к рядам сенсорных данных, его обзор ограничен выходом процессов перцепции. Реактор и Планировщик рассматриваются как полностью независимые параллельные системы. Архитектура Glair (Grounded Layered Architecture with Integrated Reasoning) (многоуровневая архитектура с обобщенным выводом) предложена Hexmoor, Lammens и Shapiro [101]. Glair определяет 3 уровня: уровень знаний, который содержит традиционную планирующую систему и относительное представление объектов, событий и состояний; перцепторно-моторный уровень; и сенсорно-активаторный уровень, который не имеет явных представлений – только процедурные представления. Более того, имеются различия между делиберативным, реактивным и рефлексивным поведением. Рефлексивное поведение не требует никаких рассуждений или детальной обработки сенсорных данных и проводится сенсорно-активаторным уровнем, в то время как реактивное поведение требует некоторой обработки данных, но без широ-
45
ких рассуждений, и проводится перцепторно-моторным уровнем. Можно сказать, что перцепторно-моторный уровень вместе с сенсорно-активаторным уровнем составляют реактивный компонент. Все ментальные задачи располагаются на уровне знаний. Архитектура DYNA, предложенная Sutton [102], [103] может рассматриваться как гибридная, но не вполне многоуровневая, интегрирующая реактивность и планирование. Она ориентирована на обучение с подкреплением и включает три главных компонента: модуль политики, который является реактивной системой, модель мира и оценочную функцию, которая отображает состояния в величины поощрений (рис. 9.).
Оценочная функция
Модель мира
Вознаграждение (подкрепление)
Сенсоры
Политика (линия поведения)
Эффекторы
Рис. 9. Базовая архитектура DYNA-агента Вследствие закрытого отношения для обучения с подкреплением требуется, чтобы модель мира производила подкрепление после каждого выполненного действия. Процесс планирования, называемый релаксационным планированием, состоит из серии неглубоких поисков, обычно с глубиной единица, использующих модель мира. Выбор действия, которое надо выполнять, происходит в случайном порядке. Целью релаксационного планирования является непрерывное поддержание оценочной функции, такой, чтобы прибыль возрастала для соответствующих шагов внутри последовательности действий. Планирование перекрывается с действием не полностью. Они не могут выполняться параллельно, потому что во время планирования DYNA отключает восприятие реального мира и действие. В течение фазы планирования она не может реагировать на события реального мира, что делает ее очень уязвимой.
46
Существенным недостатком гибридных архитектур является то, что они делаются ad hoc, т.е. их структура достаточно хорошо обоснована с конструкторской точки зрения, но не ясно, как ее обосновать со стороны любой глубокой теории. Особенности построения таких архитектур рассмотрим на примере системы InteRRaP [104], соединяющей в себе свойства BDI-архитектур (Belief, Desire, Intentions) и многослойных (layered) архитектур. В основе BDI-архитектур лежит строгая теоретическая концепция, но они недостаточно приспособлены для реального проектирования ресурсно-ограниченных и целенаправленных агентных приложений. Многослойные архитектуры хорошо поддерживают моделирование различных уровней абстракции, ответственности и сложности представления знаний, но слишком сложны для формального назначения свойств агентов и во многом зависят от интуиции разработчика. Архитектура InteRRaP использует ментальные категории, определѐнные в BDIтеории для описания знаний агентов, целей и состояний (рис. 10.). В данной архитектуре реализованы три базовые функции: – BR(P, B) = B` – функция ревизии убеждений и абстрактных знаний, переводящая текущее состояние P агента и его старое убеждение B в новое убеждение B`; – SG(B, G) = G` – функция распознавания ситуации и активации цели, выводящая новую цель G` из убеждений агента B и его текущей цели G; – PS(B, G, I) = I` – функция планирования и составления расписания, выводящая I` новых намерений, основанных на убеждениях B, целях G, выбранных функцией SG, и текущей внутренней структуры намерений I данного агента (табл. 4.). Каждый уровень иерархии содержит два процесса, реализующих функции SG и PS. Процесс SG i распознаѐт ситуации, интересующие соответствующий уровень, и выполняет активацию цели. Процесс PSi реализует переход от целей к намерениям и действиям, принимая по входу пары «цель – ситуация», созданные процессом SG i , определяет планы достижения целей и отслеживает выполнение шагов плана. Если процесс PSi не компетентен для ситуации S, он посылает требование активации, содержащее соответствующую пару «ситуация – цель» к SG i 1 , где описание ситуации обрабатывается за счѐт дополнительных знаний, доступных этому процессу, для того чтобы произвести соответствующее описание цели. В результате обработки
47
ситуация S возвращается обратно к PSi . Так работает механизм управления, основанный на компетентности.
Иерархическая база знаний агентов
Блок управления агентами
Социальная модель
SG
PS
Слой кооперативного планирования
Ментальная модель
SG
PS
Слой локального планирования
Модель среды (мира)
Датчики среды
SG
Слой определения поведения
PS
Коммуникационный интерфейс
Исполнители (Actors)
Внешняя среда информационные потоки потоки управления Рис. 10. Архитектура агента в системе InteRRaP
48
Таблица 4
Функция
Слой определения
Слой локального
Слой кооперативного
поведения
планирования
планирования
Генерация и разви- Абстракция BR
локальных Установление моделей
тие убеждений (мо- убеждений (ментальная других агентов (социдель среды)
модель)
альная модель)
Активация образцов Распознавание ситуаций, Распознавание SG
поведения
требуемых
локальным туаций,
планированием
си-
требуемых
кооперативным планированием
Прямая связь от си- Модификация PS
ло- Модификация
туации к последова- кальных намерений; ло- соединѐнных тельности действий
кальное планирование
рений;
принаме-
кооперативное
планирование Ситуация же определяется как множество формул
S SB SL SC , где SB WM , SL MM , SC SM . Индексы обозначают: B – слой определения поведения, L – слой локального планирования, С – слой кооперативного планирования, WM – модель среды, ММ – ментальная модель, SM – социальная модель. Таким образом, ситуация описывается в контексте состояний внешней среды, целей и намерений агента и его убеждений о других агентах. Внутренняя организация архитектуры InteRRaP представляется весьма логичной и убедительной, но такая сложная иерархия функций, процессов и моделей, естественно, не поддаѐтся строгой формализации, и работоспособность системы во многом обеспечивается интуицией и опытом разработчиков. Областью применения данной архитектуры явилась задача управления интерактивными роботами, выполняющими транспортные задачи в загрузочном цехе. Роботыагенты принимают задачи загрузки и разгрузки грузовиков и могут вступать в кон-
49
фликты с другими роботами, так как могут блокировать друг друга на подъездных путях, могут стремиться попасть на площадь, занятую другим роботом. Нетрудно видеть, что решаемая транспортная задача является весьма типичной для такого рода автоматизированных и автоматических систем и предполагает действие однотипных агентов-роботов в общей среде, состояние которой, хотя бы в принципе, может быть точно определено. Типы ситуаций также составляют конечное и довольно ограниченное множество. Рассмотренный пример хорошо демонстрирует достоинства и недостатки гибридных архитектур, которые позволяют гибко сочетать возможности различных моделей, но в большинстве случаев сильно зависят от специфики приложений, для которых они разрабатываются. В таких архитектурах существует возможность появления неучтѐнных независимых активностей агентов, что неприемлемо для ответственных корпоративных систем, так как непредсказуемое поведение может привести к тяжѐлым последствиям и дискредитировать МАС перед персоналом организации. Результаты проведенного анализа моделей интеллектуальных агентов сведены в таблицу 5. Таблица 5 Авторы модели
Достоинства
Недостатки
Делиберативные модели M.J. Wooldridge
M.J. Wooldridge, M.
Логическая полнота модели
Отсутствует явное понятие «це-
Возможность применения
ли»
различных внутренних логи-
Поведение определяется алго-
ческих языков
ритмом «цикла действий»
Логическая полнота модели
Цель определяется только логи-
d’ Inverno, D. Kinny, Наличие точной формальной M. Luck
ческими средствами
семантики
Не рассматривается понятие
Наличие библиотеки планов,
мультиагентного мира, не опре-
обеспечивающих вариатив-
деляется с кем и как взаимодей-
ность поведения ИА
ствует агент
50
Отсутствует иерархия ИА B. Van Linder, W.
Формальная строгость модели
Высокая сложность формальной
van der Hoek, J.-J.
Формализация достаточно
модели
Ch. Meyer
трудноопределимых понятий,
Специализированная теоретиче-
таких как предпочтения и обя-
ская направленность
зательства
Отсутствует конструктивное определение цели Отсутствует модель поиска решения
Реактивные модели K. Cetnarowicz, E.
Предусматривается мобиль-
Отсутствует иерархия ИА
Nawarecki, M. Za-
ность агентов
Связь агента и пространства Е
binska
Предполагается множество
точно не определена
стратегий
Не определяются логические
Предусматривается возмож-
взаимоотношения агентов и от-
ность адаптации к условиям
сутствует логический вывод
среды через операцию обуче-
Поведение агента точно не оп-
ния
ределено Не учитывается предыстория системы Не предлагается конструктивного механизма реализации стратегий
J. Ferber, O. Lab-
Относительная простота мо-
Отсутствует понятие цели, мо-
bani, J.-P. Muller, A.
дели
дель носит исключительно реактивный характер «стимул – ре-
Bourjault
акция» Поведение агента точно не определено В.В. Денисов, Д.В.
Оригинальная и глубоко про-
51
Отсутствует иерархия ИА
Пузанков, М.Г.
работанная модель ре-
Пантелеев, Г.Г. Ко-
активного ИА
лосов, М.А. Натей-
Наличие системы скелетных
Голенко
планов, обеспечивающих при-
Отсутствует иерархия целей
емлемое поведение в реальном масштабе времени Гибридные модели S. Ambroszkiewicz,
Относительная простота фор-
Цели являются статическими и
S. Bylka, J. Komar
мирования целей
предустановленными нет иерархии целей Отсутствует конструктивное определение окрестности цели, неясно от каких агентов цель будет зависеть, от каких нет
K. Fisher, J.P. Mul-
Наличие иерархии агентов
Отсутствие строгой формальной модели
ler, M. Pischel
52
3. Методы построения агентно-ориентированных систем В девяностые годы ХХ века наблюдалось постепенное увеличение количества и возможностей методологий ООП. В первое десятилетие наступившего века, подобная ситуация повторяется с агентно-ориентированными методологиями (АОМ). Однако, в отличие от ООП, большинство АОМ все еще не достигли стадии промышленного применения и используются небольшими группами исследователей в академической среде. Большинство АОМ на данный момент использовались лишь для создания небольших промышленных систем. Методологии проектирования АОС все еще находятся в начальной стадии развития [105] – [120]. Известные подходы можно разделить на четыре основных класса: – базирующиеся на объектно-ориентированных методах и технологиях с использованием соответствующих расширений; – использующие традиционные методы инженерии знаний; – основанные на организационно-ориентированных представлениях; – комбинирующие в различной степени методы трех первых классов. На рис. 11 показано взаимное влияние наиболее известных на данный момент агентно-ориентированных методологий.
Рис. 11. Взаимное влияние АОМ
53
В методологиях первого класса разрабатываются расширения объектноориентированных методологий и технологий для проектирования АОС. Известны попытки непосредственного применения UML-нотации для представления агентноориентированных систем и образцов взаимодействия агентов. Однако эти предложения не могут охватить автономность и проактивное поведение агентов, так же как и богатство их взаимодействий. С другой стороны, некоторые предлагают расширить и адаптировать объектно-ориентированные модели и технологии для определения методологий МАС. Это ведет, например, к расширенным моделям для представления агентного поведения и взаимодействия агентов и агентноориентированным расширениям UML [110]. Однако, хотя эти средства могут обеспечивать достаточные описания автономного поведения агентов и их взаимодействий, они не имеют адекватных концептуальных механизмов для работы с организациями и сообществами агентов. Среди отечественных разработок большую известность получили инструментальные средства группы интеллектуальных систем Санкт-Петербургского института информатики и автоматизации РАН, возглавляемой В.И. Городецким [107], [108]. Концептуальной основой развиваемой коллективом В.И. Городецкого технологии разработки МАС является выделение «общности» реализуемых функций и представление их в виде классов и структур данных, являющихся составной частью программного инструментария. Реализуемая в этом подходе идея состоит в выделении наибольшего количества классов и структур данных, повторно используемых в агентных приложениях. В системе MAS DK создана конструкция «Типовой агент» (―Generic Agent‖), являющаяся базой для последующей специализации классов и структур данных, клонирования экземпляров агентов и индивидуальной доработки специфических компонентов. Этот процесс поддерживается соответствующим набором редакторов. Для управления функционированием мультиагентного приложения на всех этапах жизненного цикла в системе MAS DK реализована концепция «Системного ядра», являющегося детальным описанием МАС на формальном языке спецификаций, из которого можно получить программный код в полуавтоматическом режиме. Необходимость в новой генерации программного кода возникает в случаях модификации уже
54
существующей МАС и в ситуациях аварийного разрушения некоторых приложений. Все процессы построения «Системного ядра» основаны на онтологии предметной области, что обеспечивает непротиворечивость распределенной базы знаний целевой МАС. Второй класс АОМ строится на расширении традиционных методов инженерии знаний [114]-[115]. Эти методологии обеспечивают формальные и композиционные языки моделирования для верификации структуры системы и функций и хорошо применимы к моделированию знание- и информационно-ориентированных агентов. Однако, так как эти подходы обычно предполагают централизованный взгляд на системы, основанные на знаниях, они не могут обеспечить адекватные модели и подходы для социального рассмотрения МАС. Подход Common Kads пытается снять эти ограничения, явно вводя в методологию абстракцию агентного сообщества. Однако, это нововведение сводится к моделированию сообщества как коллекции взаимодействующих сущностей без идентификации концептов, таких как социальные задачи или социальные законы. MAS-CommonKADS – это методология разработки агентно-ориентированного программного обеспечения, предназначенная для применения на этапах анализа и проектирования. Она является гибридом хорошо известной методологии инженерии знаний CommonKADS, объектно-ориентированной методологии «Техника объектного моделирования» (Object Modelling Technique – OMT), объектно-ориентированной инженерии программного обеспечения (Object-oriented Software Engineering – OOSE) и метода проектирования, получившего название «проектирование, управляемое ответственностью» (Responsibility Driven Design – RRD). В жизненном цикле разработки системы в рамках данной методологии выделяется ряд этапов. Этап концептуализации предполагает получение первичного описания решаемой проблемы посредством создания набора диаграмм использования, что поможет понять, как должна выглядеть разрабатываемая система и как следует проверять ее работоспособность. Результат может быть представлен и в виде текстового описания системы. Используется анализ системы с различных точек зрения: с точки зрения пользо-
55
вателя, с точки зрения среды, с точки зрения налагаемых на систему обязательств. Для составления диаграмм вводятся дополнительные выразительные средства (рис. 12).
Рис. 12. Дополнительные обозначения для АОС На этапе анализа определяются функциональные требования к системе. Система описывается через определенный набор моделей. На этапе проектирования могут использоваться как нисходящий, так и восходящий подходы, проводится определение повторно используемых компонентов и компонентов, которые следует разработать в зависимости от целевой платформы. На входе этого этапа применяются модели, полученные на этапе анализа, а на выходе – набор спецификаций, готовый к реализации. Здесь также определяется архитектура каждого агента и всей АОС. На этапе разработки и тестирования производится кодирование и тестирование агентов, модели которых получены на ранних стадиях. Внедрение и эксплуатация системы происходят на этапе использования. В рамках методологии определены следующие модели (рис. 13). Агентная модель описывает возможности агентов к рассуждению, наличие сенсоров и эффекторов, предоставляемые сервисы, объединение агентов в группы и иерархии. Модель задач формализует цели существования, декомпозицию целей, методы решения проблем. Экспертная модель определяет, какие знания необходимы агентам для достижения поставленных целей. Организационная модель описывает организацию, в которой предстоит работать АОС, а также социальную организацию агентного сообщества. Координационная модель описывает переговоры агентов при их взаимодействии и используемые протоколы. Коммуникационная модель описывает взаимодействие челове-
56
ка с разрабатываемым программным обеспечением, а также факторы, влияющие на проектирование пользовательского интерфейса.
Рис. 13. Взаимодействие моделей в методологии MAS-CommonKADS Проектная модель объединяет все предыдущие модели и состоит из трех подмоделей. Первая подмодель – это проект сети, где происходит проектирование соответствующих аспектов агентной инфраструктуры (необходимая сеть, знания и средства обработки и передачи данных). Вторая модель – агентное проектирование, служащее для разделения или объединения агентов полученных на ранних этапах на основании соображений целесообразности и выбора подходящей архитектуры для каждого агента. Третья модель – платформозависимое проектирование, где происходит определение платформы разработки агентов для каждой из выбранных архитектур. Основным отличием этой методологии от других является то, что разрабатываемая АОС рассматривается с различных точек зрения. Разработчик получает описание,
57
позволяющее выполнять реализацию на различных программных платформах. Сильной стороной методологии принято считать использование стандартных методов инженерии программного обеспечения, которые расширяются естественным способом. MASCommonKADS создавалась в расчете на многоразовое использование материалов, полученных на каждом уровне проектирования, что дает возможность использования данных из других проектов. Главный недостаток этой методологии – слабая поддержка этапов проектирования, тестирования и кодирования. В работах В.А. Виттиха, П.О. Скобелева, С.В. Батищева предложена методика создания прикладных открытых МАС на основе концепции сетей потребностей и возможностей (ПВ-сетей) [105]-[106]. Данная методика поддержана развитыми инструментальными средствами и обеспечивает эффективную реализацию прикладных МАС в рамках заявленной концепции. Однако, она ориентирована на сравнительно узкий класс систем промышленной логистики и агентную модель, описывающую конкуренцию за ресурсы. Другие модели и подходы направлены на создание АОС с «организационно– ориентированной» точки зрения [109], [110]. Однако, эти подходы определяют организацию просто как коллекцию взаимодействующих ролей, таким образом, не разрешая проблемы коллективного поведения агентов. В работах [111]-[112] предложена и исследована методология Gaia. Gaia– это методология агентно-ориентированного анализа и проектирования, явно использующая организационную точку зрения (рис. 14). Наиболее абстрактной сущностью в иерархии концептов Gaia является «система». Хотя термин «система» используется в стандартном смысле, он также означает «сообщество» или «организацию». Следующий уровень иерархии – это роли. Роль определяется тремя атрибутами: ответственности, разрешения, протоколы. Ответственности определяют функциональность и являются ключевым атрибутом, связанным с ролью. Ответственности разделяются на два типа: жизненные свойства и свойства безопасности. Для реализации ответственностей роль обычно связывается с множеством разрешений. Разрешения являются «правами», связанными с ролью и идентифицируют ресурсы, которые доступны в этой роли, для реализации ответственности. В различных системах, которые обычно моделируются, разрешения становятся информационными ресурсами. Роль идентифициру-
58
ется определенным числом протоколов, которые определяют пути взаимодействия с другими ролями.
Формулировка требований
Модель взаимодействий
Модель ролей
Агентная модель
Модель служб
Модель знакомств
Фаза анализа
Фаза проектирования
Рис. 14. Базовые концепты методологии Gaia Фаза анализа стремится определить, какая реальная организация сообщества агентов будет наилучшей посредством декомпозиции системы в абстрактные «loci control» («точка управления»), т.е. роли, играемые в организации и пути взаимодействия по протоколам. Gaia поддерживают следующие шаги: идентификация ролей в системе (это обычно соответствует индивидуальностям внутри организаций и их подразделений) и определяет список ключевых ролей в неформальном дескрипционном языке; для каждой роли определяются связанные протоколы, т.е. образцы взаимодействия, которые обычно имеют место между ролями; разработка подробной ролевой модели и модели взаимодействий, и если требуется, повторение предыдущих стадий. Ожидаемые выходы фазы анализа: детально разработанная ролевая модель, определяющая каждую роль в терминах ответственностей, протоколов взаимодействия и активностей, а также модели взаимодействия, описывающие каждый протокол в терминах обмена данными и используемых образцов.
59
Фаза проектирования включает следующие стадии: определение агентной модели, которая объединяет роли в агентные типы и формирует иерархию агентных типов, и оценивает число требуемых экземпляров каждого класса; определение служб, которые необходимы агентам для выполнения назначенных ролей, через анализ активностей и ответственностей; разработка модели знакомств, определение погрешностей проектирования и, если требуется, возврат к предыдущим стадиям. Выход фазы проектирования – модель агентной системы, которая может быть реализована с использованием более традиционных объектно-ориентированных и компонентных технологий. Ограничения и недостатки методологии Gaia проявляются в следующем: - отсутствует строгое формальное определение модели предметной области (от общего концепта «система» сразу необходимо переходить к «ролям», «роли» сопоставляется агентный тип, а тип может иметь несколько экземпляров агентов); - трудно выразить реальную иерархическую структуру корпоративных и производственных систем, «роли» как бы предполагают однородность функционального или задачного пространства; - нет градации агентов по уровням интеллектуальной иерархии, что предполагает интеллектуальную однородность агентов, а это далеко не так в сложных системах; - организационная структура системы статична, т.е. ни число агентов, ни их отношения не изменяются в текущем времени; - агенты проявляют глобально согласованное поведение: они имеют некоторую общую цель и не проявляют соревновательного поведения. Достаточно оригинальная методология проектирования МАС, основанная на концепции М-архитектуры, развивается в работах коллектива польских ученых во главе с K. Cetnarowicz [113]-[114]. В структуре данной методологии определяются такие конструкции как жизненное пространство агентов, типы агентов, отношения между агентами и жизненным пространством и отношения среди агентов. Агентная архитектура рассматривается с двух различных точек зрения: как интеллектуальный профиль, описывающий способность агента решать данную проблему, и как энергетический профиль, описывающий «жизненную энергию» агента и разрешающий уничтожение нежизнеспособных агентов.
60
МАС в рассматриваемом подходе конструируется нисходящим способом с использованием абстрактных уровней, которые должны отвечать следующим правилам: - определение системы задается уровнями спецификации, называемыми уровнями абстракции, от наиболее общего верхнего уровня к наиболее низкому. Нижний абстрактный уровень, который определяет конечную версию системы, может быть определен на языке программирования; - модель усложняется и дополняется новыми свойствами по мере продвижения от верхних уровней к нижним, новые свойства вводятся в рассмотрение; - на данном абстрактном уровне могут быть применены несколько вариантов абстрактного рассмотрения, что позволяет анализировать данную систему с различных точек зрения. Авторы данной методологии постулируют следующие преимущества своего подхода: возможность применения к широкому диапазону МАС от очень простых до достаточно сложных, содержащих как простых реактивных так и сложных когнитивных агентов; возможность применения различных математических формализмов; возможность создания МАС с кооперацией различных видов агентов (реактивных и когнитивных); независимость методологии от конкретных языков программирования, так как среда программирования может быть определена на нижнем уровне абстракции вместе с программно-аппаратной платформой; гибкость подхода для анализа и проектирования действующих организаций, с возможностью декомпозиции задач на каждом абстрактном уровне, следуя организационным необходимостям. По мнению автора, заявленная в работах [113]-[114] методология проектирования МАС фактически только постулирована и излагает известные принципы нисходящего проектирования, действительно применимые к очень широкому спектру систем и не предлагает формализованных и верифицированных механизмов синтеза. Методология Тropos [118] реализует идею использования концепции моделирования требований для построения системы такой, какой она должна быть. В методологии можно выделить следующие фазы: ранние требования, поздние требования, проектирование архитектуры и детальное проектирование. Анализ требований в Тropos делится на две стадии – ранний анализ и поздний анализ. Ранний анализ сосредоточен на изучении среды, в которой АОС будет функ-
61
ционировать. Поздний анализ описывает функциональные и нефункциональные требования к системе. Заинтересованные стороны представляются как социальные личности (акторы), зависящие друг от друга посредством целей, которые должны быть достигнуты, задач, которые должны быть выполнены, и ресурсов, которые должны быть получены. Каркас моделирования содержит стратегическую модель зависимостей (диаграмма личностей в Тropos), показывающую взаимозависимости между личностями, также как стратегическая диаграмма отношений показывает причины, по которым акторам необходимо поддерживать отношения с другими акторами. При создании моделей используются обозначения, представленные на рис. 15.
Личность(актор)
Цель
Ресурс
Зависимость
Задача
Рис. 15. Обозначения, используемые при создании графических моделей Во время раннего анализа требований разработчик представляет все сущности в виде социальных акторов. Такая модель дает возможность ответить на вопрос «почему?» в дополнение к обычным вопросам «что?» и «как?» по поводу функционирования системы. На стадии позднего анализа требований модель дополняется акторами, которые описывают систему такой, какой она должна быть и показывают зависимости между системой и средой. Проектирование архитектуры системы изучалось во многих работах в течение последних лет. Результатом такого интереса стало создание множества стилей проектирования, таких как стиль, управляемый событиями, стиль контрольных циклов и т.п. В методологии Тropos стиль проектирования определяется как метакласс организаци-
62
онной структуры, который посредством множества параметров проектирования влияет на процесс разработки. Стили можно сравнить и оценить посредством атрибутов качества, называемых также нефункциональными требованиями, к которым можно отнести предсказуемость, защищенность, адаптируемость, работоспособность и модульность. Фаза детального проектирования предназначена для того, чтоб представить дополнительные детали каждого из компонентов системы. Она состоит из процесса определения того, как задачи назначаются определенной личности (актору), реализованному в виде агента на основе образцов социального взаимодействия. На этом этапе проектировщик может воспользоваться каталогом стандартных шаблонов социального взаимодействия агентов. В инженерии программного обеспечения шаблоны проектирования изучены достаточно хорошо. Однако, в них мало внимания уделяется взаимодействию программных сущностей. Социальные шаблоны, используемые в Тropos являются переработкой шаблонов проектирования, более сосредоточенных на коммуникационных и интеллектуальных аспектах сущностей, входящих в АОС. Эти шаблоны можно разделить на две категории: парные шаблоны и шаблоны посредничества. Парные шаблоны, такие как «заказ», «запрос плана», «подписка», «аукцион» предусматривают прямое взаимодействие между переговаривающимися агентами. Например, шаблон «аукцион» предусматривает участие инициатора и некоторого количества участников. Инициатор организует и проводит аукцион, информирует участников о ценах и получает различные предложения. На каждой итерации инициатор может принять предложение, поднять ставку или прекратить аукцион. Шаблоны посредничества, такие как «монитор», «брокер», «посол», «обертка», включают в себя промежуточного агента, который помогает остальным достичь соглашения при обмене услугами. Например, в шаблоне брокер промежуточный агент запрашивает услуги у агента, их предоставляющего, для того чтобы распределить их между агентами, которым эти услуги могут потребоваться. Фаза детального проектирования включает также рассмотрение взаимодействия акторов и их поведения. Для их представления можно применить языки взаимодействия агентов FIPA-ACL или KQML, и их механизмы транспортировки сообщений.
63
Для построения всех представленных выше моделей можно воспользоваться агентным расширением языка UML (Agent UML) [117]. Таким образом, методология Тropos рассматривает АОС в совокупности дополняющих друг друга аспектов: социального, ментального, коммуникативного, процессно-ориентированного, объектно-ориентированного. Авторы данной методологии считают, что она найдет свое применение при создании настраиваемых компонентно-ориентированных систем для электронного бизнеса, которые могут быть использованы в различных вычислительных средах и на различных операционных платформах. Методология Тropos на текущем этапе своего развития не предназначена для разработки сложных АОС, требующих особых механизмов рассуждений для построения планов, определения задач и типов взаимодействий. Планируется разработка дополнительных расширений методологии, в основном относящихся к фазе детального анализа и инженерии социальной структуры. В последние годы расширяется класс методологий проектирования АОС, комбинирующих объектно-ориентированные и организационные подходы. Методология PASSI расшифровывается как «процесс для спецификации и реализации агентных сообществ» (Process for Agent Societies Specification and Implementation) [119]. Она является результатом длительного периода теоретических исследований и экспериментов в области робототехники. Авторы методологии старались использовать существующие стандарты везде, где это возможно. Поэтому в качестве языка моделирования выбран UML, для реализации агентов используется архитектура FIPA, а для представления знаний при обмене сообщений между агентами используется XML. Применение методологии PASSI требует последовательного построения совокупности моделей, отражающих различные аспекты проектирования АОС. Модель системных требований выражает общие характеристики системы, структуру агентов и целей. Построение модели предусматривает следующие фазы: – функциональное описание процесса использования системы в виде диаграмм вариантов использования;
64
– идентификация агентов, представленных в виде пакетов в UML, и определение зон ответственности; – идентификация ролей через серию диаграмм последовательностей; – спецификация задач каждого агента с использованием диаграмм деятельности. Модель агентного сообщества определяет социальные взаимодействия и зависимости агентов, привлекаемых для решения проблем и включает три этапа: – описание онтологии: используя диаграмму классов и ограничения следует описать все знания необходимые агенту как для индивидуальной работы, так и для взаимодействия с другими агентами; – описание ролей: диаграмма классов используется для того, чтоб показать роли, которые играют агенты, возможности для взаимодействия и межагентные зависимости; – описание протокола: используется диаграмма последовательностей для того, чтоб описать грамматику каждого применяемого протокола в терминах речевых актов. Модель реализации агентов определяет архитектурные решения в терминах классов и методов. Главное отличие от ООП состоит в том, что имеются два различных уровня абстракции – социальный (мультиагентный) уровень и уровень одного агента. Модель программного кода предусматривает генерацию кода из моделей с использованием инструментария PASSI и повторно используемых фрагменты реализации методов, с возможностью корректировки кода «вручную». Модель развертывания устанавливает распределение агентов по обрабатывающим модулям, начальное положение агентов и ограничения, накладываемые на их перемещения. Тестирование предусматривает два этапа – тестирование каждого агента на соответствие требованиям, выдвигаемым в контексте всей системы, и социальный тест, верифицирующий АОС в целом. Эта методология использовалась в нескольких исследовательских проектах университета Палермо, что позволило выделить следующие основные достоинства: – достаточно легкий переход к новой методологии для проектировщика, работавшего с объектно-ориентированными методологиями; – возможность отражения многих аспектов функционирования сложной системы;
65
– повторное использование шаблонов кода для ускорения программной реализации. Авторы методологии работают над улучшением инструментария PASSI и увеличением библиотеки шаблонов кода. В научном сообществе широко распространена идея, что для перемещения агентных технологий из исследовательских лабораторий в промышленность, необходима продуманная методология, охватывающая все фазы инженерии агентного программного обеспечения. Методология Prometheus поддерживает разработку агентных систем на основе целей и планов [120]. Предполагается, что основными пользователями методологии станут инженеры-программисты, работающие в промышленности, а также студенты информационных специальностей. Методология Prometheus состоит из трех основных фаз (рис. 16).
Рис. 16. Фазы проектирования в методологии Prometheus Фаза спецификации разрабатываемой системы представляет требования к АОС в терминах целей, сценариев вариантов использования, функциональности и интерфейса системы со средой. Работа в этой фазе имеет итеративный, а не линейный характер.
66
Разработку начинают с определения целей функционирования системы, которые служат основанием для построения сценариев вариантов использования. В свою очередь, проработка деталей этих сценариев обычно предполагает выделение новых подцелей. Вторая фаза
– «Проектирование архитектуры» предусматривает следующие
действия: – определение типов агентов в системе: типы агентов выделяют на основе группировки ряда схожих функций в единую сущность. Для такого объединения используют диаграммы парности и диаграммы схожести. Когда типы агентов будут определены, конечные сущности агентов описываются через дескрипторы агентов; – описание взаимодействия агентов посредством диаграмм взаимодействия и протоколов взаимодействия. Диаграммы взаимодействия получают из сценариев вариантов использования. Из модифицированных и обобщенных диаграмм получают описание протоколов взаимодействия; – проектирование всей структуры системы с помощью обзорной диаграммы, охватывающей типы агентов в системе, границы системы и ее интерфейсы. Третья фаза – «Детальное проектирования» состоит из следующих действий: – разработка внутренней архитектуры агентов в терминах возможностей, с учетом планов, событий и данных; – разработка диаграмм обработки информации на основе протоколов взаимодействия. Методология Prometheus предоставляет два средства автоматизации труда проектировщика МАС. Первое средство – это инструмент проектирования Prometheus (Prometheus Design Tool), который позволяет разрабатывать все виды описанных выше диаграмм и строить по ним отчеты. Функциональность PDT постоянно расширяется, инструмент является свободно распространяемым. Второй инструмент, поддерживающий методологию Prometheus – это среда разработки Jack (JACK Development Environment), которая предоставляет возможности для рисования обзорных диаграмм в стиле методологии Prometheus. На основе этих диаграмм среда позволяет сгенерировать скелет программного кода и следить за тем, чтоб изменения, произведенные в коде, отображались и на диаграммах.
67
Разработчики считают главным достоинством методологии ее практичность и способность к улучшению на основе отзывов прикладных программистов. Отмечается также эффективность ее применения при изучении студентами МАС. Однако Prometheus имеет и свои недостатки. Для описания социального взаимодействия агентов используются только протоколы и сообщения. Расширение возможностей поддержки более специфичных типов агентных взаимодействий требует дальнейшего развития методологии. Prometheus также не поддерживает мобильность агентов, так как авторы методологии считают, что это свойство не является основным для ИА. Такие фазы разработки как реализация, тестирование и отладка в этой методологии поддерживаются достаточно ограниченно. Еще одна особенность методологии – отсутствие поддержки UML. С одной стороны это хорошо, т.к. не привязывает проектировщика к объектноориентированной парадигме, а с другой стороны, это не дает множеству программистов воспользоваться инструментом, с которым они хорошо знакомы.
68
4. Инструментальные средства разработки агентно-ориентированных систем Проблема создания инструментальных средств проектирования мультиагентных систем весьма интенсивно исследуется в последние годы. В рамках одной статьи невозможно обсудить и даже трудно перечислить все существующие средства и платформы программирования для АОС. Многочисленные примеры обсуждаются в известных англоязычных публикациях [121]–[123]. Назовем наиболее известные проекты из многочисленного ряда инструментальных систем, ориентированных на решение подобных задач, такие как AgentBuilder [124], Ascape [125], Bee-gent [126], Cable [127], Decaf [128], FIPA-OS [129], Grasshopper [130], Gypsy [131], JADE [132], JASON [112], JATLite [133], JAFMAS [134], MAML [135], ProcessLink [136], Swarm [137], Zeus [138]. Вместе с тем, практически не существует инструментальных средств, удовлетворяющих комплексу предъявляемых к ним на современном уровне требований. Следуя [140]–[141], разделим комплекс требований на два класса - общесистемные и инструментально-технологические. К первому классу следует отнести: сквозную поддержку всех фаз жизненного цикла АОС и МАС; наличие единой интегрированной среды разработки всех компонентов АОС; поддержка различных категорий пользователей; обеспечение средств визуального проектирования; автоматическое создание исполняемых программных кодов ИА; поддержка коллективной работы над проектом системы и автоматизированного документирования всех фаз процесса разработки. Ко второму классу относятся такие составляющие как обеспечение построения распределенных баз знаний и механизмов логического вывода; поддержка процесса формирования логических моделей распределенной системы (формирования онтологий описываемых областей и распределение знаний по интеллектуальным компонентам АОС); обеспечение способов построения моделей поведения ИА; реализация механизмов параллельного функционирования, коммуникации и координации агентов; поддержка модифицируемости и расширяемости моделей ИА в процессе реального функционирования и т.д.
69
Известные средства не вышли пока из рамок академических проектов и не превратились в инструмент промышленной технологии производства МАС. Видимо это дело будущего, по аналогии с процессом становления технологии программирования. В ближайшие годы должны выделиться лидеры агентного промышленного проектирования, но видимо разнообразие инструментальных средств в этой области будет большим, чем в современных системах ООП, так как в основе МАС лежит широкий спектр теоретических моделей и архитектур агентов. Следует учесть и возрастающее количество новых логических моделей и переход к созданию гетерогенных АОС, в которых разнообразие типов ИА и других компонентов будет значительным. Среди отечественных разработок следует выделить инструментальные средства группы интеллектуальных систем Санкт-Петербургского института информатики и автоматизации РАН, возглавляемой В.И. Городецким [142], [143], разработки коллектива В.Ф. Хорошевского [140], [141], инструментальную среду MagentAEngine, основанную на работах В.А. Виттиха и П.О. Скобелева [105], [105]. Инструментальная среда MAS-DK, разработанная коллективом В.И. Городецкого, ориентирована на поддержку быстрого прототипирования прикладных МАС и поддерживает жизненный цикл программных систем от концептуального проектирования до генерации и отладки исполняемого кода ИА. Для генерации программного кода ИА используются спецификации классов и отдельных агентов. Спецификация приложений начинается с определения онтологии предметной области и протоколов взаимодействия. Далее описываются классы агентов и назначаются роли при исполнении протоколов. На следующем этапе разрабатываются модели переменных классов, модели управления, машины состояний, библиотеки сценариев поведения и библиотеки внешних функций. Процесс спецификации МАС на каждом из этапов поддерживается интегрированными графическими редакторами. Данная инструментальная среда успешно применялась при создании АОС для защиты компьютерных сетей, распределенного обучения на основе классификации и интеллектуальной обработки данных [144]. Достаточно широкое применение в нашей стране, в особенности в академических и учебных целях получила платформа мультиагентного программирования JADE(Java Agent Development Framework), полностью реализованная на языке Java.
70
Проект разрабатывается компанией Telecom Italia с 2000 года, является свободно-распространяемым ПО по лицензии LGPL (Lesser General Public License Version 2) [145]. Разработчики сообщают, что с этого сайта производится более 100 загрузок архива пакета JADE ежедневно. JADE предлагает программисту - разработчику агентных систем следующие инструментальные средства: – FIPA-compliant Agent Platform – агентную платформу, основанную на рекомендациях FIPA и включающую обязательные типы системных агентов: управления агентной платформой (AMS – Agent Management Service), канала коммуникации (ACC – Agent Communication Channel) и службы каталогов (DF – Directory Facilitator). Эти три типа агентов автоматически активируются при запуске платформы; – Distributed Agent Platform – распределенную агентную платформу, которая может использовать несколько компьютеров (узлов), причем на каждом узле запускается только одна виртуальная машина (Java Virtual Machine); Агенты исполняются как Java-потоки. Для доставки сообщений между агентами, в зависимости от их местонахождения, используется соответствующий транспортный механизм – Multiple Domains support – ряд основанных на FIPA-спецификациях DF-агентов, которые могут объединяться в федерацию, реализуя мультидоменную агентную среду; – Multithreaded execution environment with two-level scheduling – многопотоковую среду исполнения с двухуровневым планированием. Каждый JADE-агент имеет собственный поток управления, но также способен работать в многопотоковом режиме; – Library of interaction protocols – библиотеку протоколов взаимодействия с использованием стандартных интерактивных протоколов fipa-request и fipa-contract-net. Для создания агента, функционирующего согласно данным протоколам, разработчику необходимо реализовать только специфические доменные действия, вся независимая от прикладной программы протокольная логика будет осуществляться системой JADE; – Administration GUI – графический интерфейс администратора, обеспечивающий простые операции управления платформой и отображающий активных агентов и контейнеры агентов. Используя GUI, администраторы платформы могут создавать, уничтожать, прерывать и возобновлять действия агентов, создавать иерархии доменов и мультиагентные федерации DF.
71
JADE написана на языке программирования Java с использованием Java RMI, Java CORBA IDL, Java Serialization и Java Reflection API. Она упрощает разработку мультиагентных систем благодаря использованию FIPA-спецификаций и инструментов, которые поддерживают фазы отладки и развертывания системы. Агентная платформа может устанавливаться на компьютерах с разными операционными системами, и конфигурироваться через удаленный GUI-интерфейс даже во время исполнения агентов. Коммуникационная архитектура предлагает гибкий и эффективный процесс обмена сообщениями, где JADE создает очередь и управляет потоком ACL-сообщений, которые являются приватными для каждого агента. Агенты способны обращаться к очереди с помощью комбинации нескольких режимов работы: блокирования, голосования, перерыва в работе и сопоставления с эталоном. На данный момент в системе используется Java RMI, event-notification и IIOP, но можно добавить и другие протоколы. Также предусмотрена возможность интеграции SMTP, HTTP и WAP. Большинство коммуникационных протоколов, которые уже определены международным сообществом разработчиков АОС, доступны и могут использоваться после определения поведения системы и ее основных состояний. Онтология управления агентами реализована с поддержкой определенных пользователем контентных языков. С целью существенного расширения работоспособности JADE предусмотрена возможность интеграции с JESS (средой выполнения приложений, основанных на правилах) [146], [147] и Java-оболочкой CLIPS [148]. С мая 2003 года работает группа JADE Board, управляющая данным проектом, и включающая такие компании как Telecom Italia, Motorola, Whitestein Technologies AG, Profactor GmbH, France Telecom R&D. Сейчас доступна версия JADE 3.6 от 05.05.2008. Для платформы JADE разработана среда JADEX, которая представляет собой BDI расширение мультиагентной платформы. Проект выполняется Distributed Systems and Information Systems Group Гамбургского университета [149]. Эта среда предусматривает гибридную реактивно-делиберативную архитектуру, в которой агент рассматривается как «черный ящик», принимающий и отправляющий сообщения. Основываясь на результатах обработки сообщений, внутренних и внешних событий, делиберативный механизм принимает решения о переходе к новому плану действий или продолжению старого. Действующий план может посылать сообщения другим агентам, изменять базу
72
убеждений, формировать новые цели и вызывать внутренние события. Система использует библиотеку планов, которые обрабатываются как Java-классы. В последнее время определенный интерес вызывает инструментарий INGENIAS Development Kit (IDK). Рассматриваемая среда [150]–[151] является разработкой исследовательской группы GRASIA из университета Мадрида. В совокупности IDK представляет собой набор инструментальных средств для описания, проверки и реализации МАС. Данная среда разработки функционально замкнута и платформо-независима. Кросс-платформенность обеспечивается за счет реализации на языке Java, а функциональная замкнутость проявляется в том, что среда позволяет осуществлять полный цикл проектирования МАС – от визуального описания до финального моделирования. Данным инструментарием могут пользоваться как начинающие программисты, которым нужно описать свою МАС и сформировать для нее код, так и опытные разработчики, желающие дополнить функционал IDK за счет собственных модулей. В составе IDK предусмотрены следующие модули: – HTML модуль позволяет построить набор HTML файлов на основе описания мультиагентной системы; – JADE модуль преобразует описание МАС в исполняемый код на платформе JADE. На выходе данного модуля разработчик получает набор агентов, поведение каждого из которых описано в метамодели агента, а взаимодействие между ними описано в метамодели взаимодействия; – JADE Leap модуль является модификацией JADE-модуля и позволяет адаптировать разработанную МАС на платформу JADE Leap для последующего использования в мобильных устройствах; – модуль верификации кода проверяет описание МАС на наличие недоопределенных сущностей и указывает местоположение ошибок. Моделирование МАС осуществляется при использовании Ant Apache XML Parser, который загружает JADE-контейнер и запускает на нем указанную МАС. IDK поддерживает два вида визуального описания: язык AUML и методологию INGENIAS. AUML представляет собой расширение языка UML, специализированное для описания АОС. Методология INGENIAS основывается на определении набора ме-
73
тамоделей [152], описывающих поведение каждого агента, взаимодействие между агентами, организацию МАС, окружение, цели и задачи, определенные для каждого агента. Представление МАС, составленное в контексте метамодели, отображается на одноименной диаграмме. Методология предусматривает построения следующих метамоделей: – организационной метамодели, описывающей архитектуру МАС и ее функции. Функции определяются в момент задания целей организации и порядка их исполнения; – метамодели окружения, описывающей сущности, влияющие на восприятие агентов; – метамодели целей/задач, описывающей изменения состояний агента во времени в зависимости от выполнения конкретных задач, пути достижения целей и действия, предпринимаемые в случае, если цель не может быть достигнута; – метамодели агента, описывающей поведение каждого агента; – метамодели взаимодействия, описывающей поведение двух и более взаимодействующих агентов. В зависимости от языка описания она может быть представлена в виде UML-диаграммы кооперации, AUML-диаграммы или GRASIA-диаграммы взаимодействия. Полученное в виде метамоделей описание МАС может обрабатываться соответствующими модулями. Поведение агентов определяется их целями и задачами, а также взаимодействием между ними. Цели в свою очередь могут разбиваться на более простые подцели, которые могут достигаться определенными планами, последовательностями задач. В методологии INGENIAS любое взаимодействие может иметь одного инициатора и одного или нескольких участников. Поток сообщений в MAС может быть описан диаграммой Grasia или другими диаграммами взаимодействия, такими как UML, Agent UML. В INGENIAS любое взаимодействие начинается с задачи. Совокупность задач и взаимодействий определяет глобальное поведение системы. На основе всего описания системы происходит генерация кода. Полученное описание может быть использовано для создания программного кода МАС под конкретную платформу. Совершенствование инструментальных средств АОП проявляется в том, что они становятся способны практически реализовать строгие теоретические модели МАС, в
74
особенности архитектуру BDI. В этом смысле, ярким примером является инструментальный пакет JASON [112], являющийся реализацией известного языка описания МАС AgentSpeak(L) [78]. JASON является первым полным интерпретатором языка AgentSpeak(L), включающим возможности межагентной коммуникации на основе теории речевых актов. Данный интерпретатор обеспечивает такие возможности, как – сильное отрицание, допускающее рассмотрение как замкнутых, так и открытых моделей мира; – обработка ошибок в планах, выполняемых агентами; – ссылки на метки плана, которые могут использовать сложные решающие функции; – поддержка сред разработки, не реализующих изначально AgentSpeak(L) через программирование на языке Java; – запуск МАС распределенных в локальной сети; – использование настраиваемых функций выбора, функций доверия, ревизии убеждений, межагентной коммуникации и действий; – использование библиотек внутренних действий, определенных пользователем на языке Java. По утверждению разработчиков в системе JASON реализована операционная семантика, формально определенная для языка AgentSpeak(L). Данный язык определяет агента через спецификацию множества базовых убеждений и множества планов. Атомарное убеждение является обычным предикатом первого порядка. Атомарные убеждения или их отрицания обозначаются соответствующими литералами. Начальное множество убеждений является набором базовых атомарных убеждений. В языке AgentSpeak(L) определяются два типа целей: достижимые цели и тестовые цели. Достижимая цель устанавливается тогда, когда агент стремиться достичь определенного состояния мира, в котором связанный предикат является истинным. Практически для этого инициируется выполнение вложенных планов. Тестовая цель возвращает унификацию для связанного предиката с одним из убеждений агента, в случае неудачи такая цель отвергается.
75
Переключающее событие может инициировать выполнение некоторого плана. Событие может быть внутренним, когда достигнута определенная подцель, или внешним, порождаемым в результате модификации убеждений после восприятия состояния внешней среды. Планы используют базовые действия, которые агент способен выполнить в среде. Действия также определяются как предикаты первого порядка, но обозначаются специальными символами. План образуется переключающим событием, за которым следует конъюнкция литералов, образующих контекст. Контекст должен быть последовательностью таких текущих убеждений агента, для которых данный план применим. Остаточная часть плана есть последовательность базовых действий и целей, которые агент достигает (или проверяет), когда план выбран для исполнения. Программы агентов интерпретируются циклически. В каждом цикле обновляется список событий, порождаемых либо перцепцией из внешней среды, либо выполнением подцелей, определенных в теле плана. Далее интерпретатор унифицирует выбранное событие с переключающими событиями в заголовках планов, определяя, таким образом, множество релевантных планов. Проверяя содержимое контекста этих планов, интерпретатор определяет множество применимых планов и выбирает один применимый план из этого множества. Когда все формулы в теле плана оказываются выполненными, то цель считается достигнутой и план также удаляется из очереди планов. Цикл работы интерпретатора повторяется. К настоящему времени с использованием AgentSpeak(L) реализовано небольшое число действующих приложений, среди которых в литературе упоминаются программы моделирования роста городов [153] и управления складским роботом в среде виртуальной реальности [154]. По мнению автора, реализация интерпретатора JASON выглядит продуманной и весьма элегантной, что позволяет предположить более широкое его использование как в исследовательских, так и прикладных проектах. Несмотря на значительное количество инструментальных средств разработки МАС, проблема создания инструментария, сочетающего теоретически обоснованную методологию
проектирования
и
эффективную
76
реализацию
в
объектно-
ориентированной среде, по-прежнему в полной мере не решена. Определенные усилия в этой области предпринимались автором данной статьи совместно с учениками. Инструментальный программный комплекс DISIT (Distributed Intellectual System Integrated Toolkit) разработан на основе авторской методологии построения МАС, основное содержание которой изложено в [155]. Принципиальное отличие данного подхода состоит в переносе акцента разработки на стадию концептуального проектирования и возложении задачи логического и физического проектирования моделей и структур знаний и данных на инструментальные средства. Основные концептуальные установки, положенные в основу комплекса заключаются в следующем: стремление к полной автоматизации этапа системного проектирования; автоматическое выделение интеллектуальных составляющих МАС в ходе декомпозиции концептуальной модели предметной области (КМПО); автоматическая трансляция КМПО в логическую модель МАС с последующим переходом к структурам БЗ; использование расширяемых библиотек моделей поведения ИА. В DISIT используется принцип интерпретации моделей интеллектуальных составляющих МАС соответствующими интерпретаторами системы исполнения. Такой подход обеспечивает независимость от конкретной программно-аппаратной платформы, снимает необходимость трансляции моделей ИА в предложения конкретного языка программирования, позволяет модифицировать уже разработанную МАС на уровне моделей интеллектуальных составляющих без перетрансляции программных кодов. Комплекс DISIT включает в себя три подсистемы: концептуального проектирования, технического проектирования и времени исполнения. Подсистема концептуального проектирования содержит Конструктор фрейм-концептов, Логический конструктор, Конструктор моделей поведения. Подсистема технического проектирования состоит из Транслятора логической модели и Конструктора баз знаний. Подсистема времени исполнения включает: Менеджер логического вывода, Менеджер формальной объектной системы, Менеджер поведения ИА, Менеджер обмена сообщениями. В концептуальной модели предметной области, с описания которой с помощью Конструктора фрейм-концептов (КФК) начинается проектирование МАС, используется фрейм-ориентированный подход, объединяющий фреймоподобные структуры с конструкциями концептуальных графов. Фрейм-концепт (ФК) определяется как
77
FK=, где NF – имя фрейма, TF – тип фрейма, AI – информация о применении, SSB – структура сценариев поведения, SK – структура концептов, SA – структура атрибутов. SK ={(NК1, КО1), (NК2, КО2), …, (NКn, КОn)}, СА={(NА1, SО1, VА1), (NА2, SО2, VА2), …, (NАm, SОm, VАm)}. где NК – имя концепта, КО – тип концептуального отношения, NА – имя атрибута, SО – множество определения, VА – значение атрибута. ФК такой структуры объединяются в сеть с определенной структурой по вложению концептов - FK-проекцию. Логический конструктор (ЛК) на следующем этапе преобразует FK-проекцию в FKM-проекцию путѐм добавления в неѐ модулей с утверждениями. Для всех нетерминальных фрейм-концептов FKi существует модуль концептуального графа Mi. Пусть в FKi имеется структура концептов, включающая список ((FKi1, KOi1), (FKi2, KOi2), … , (FKil, KOil)). Тогда Mi может содержать утверждения над множеством {(FKij, KOij)} и вышестоящих по иерархии фрейм-концептов. Конструктор моделей поведения (КМП) позволяет создавать необходимую иерархию интеллектуальных агентов. Структура поведения при этом может быть как одноуровневой, так и многоуровневой. Сами агенты также могут иметь разные структуры: от простых - до сложных иерархических деревьев, элементами которых являются промежуточные абстракции - Информационные Объекты (ИО). ИА можно представить следующей структурой: LA = , где
NIA – имя интеллектуального агента, MVB – механизм выбора поведения,
VO={O} - множество информационных объектов, реализующих сценарий поведения ИА, SA – структура атрибутов определяемая как SA = , где
NA – имя атрибута, DA – диапазон на котором определяется значение атрибута,
TA – тип атрибута, VA – текущее значение в данный момент времени. Для большей универсальности в структуре КМП заложен механизм описания ИА с использованием контекстно-свободных языков, определяемых пользователем.
78
Процесс трансляции концептуальной модели предметной области в логическую модель МАС развертывается как многоэтапный процесс и состоит из четырех этапов. Начальное состояние трансляции – завершенная FKM-проекция. Конструктор баз знаний (КБЗ) создает структуру баз знаний для выделенных Транслятором логической модели ИК, отображая модели ИА и ИО в предусмотренные архитектурой базы знаний ИК структуры данных. В концепции DISIT была избрана смешанная стратегия построения БЗ, которая заключается в совмещении стратегий распределенного и централизованного подхода к конструированию БЗ. На КБЗ возложены две основные функции: создание базы знаний формальной объектной системы (БЗ ФОС), включающее определение областей действия аксиом (локальные, глобальные или распространяемые вниз по подчиненным ИК), и распределение баз знаний ИК по корпоративной сети. Полученные БЗ, структуры ИК и ИА распределяются по вычислительной сети совместно с менеджерами подсистемы исполнения. Менеджер формальной объектной системы (МФОС) позволяет изменять содержимое БЗ ФОС: базу фактов (БФ), списки предикатных символов (ПС), локальных аксиом (ЛА), глобальных аксиом (ГА) и распространяемых сверху вниз аксиом (РА). Изменения, затрагивающие базы знаний подчиненных ИК (в списках ГА, РА и, возможно, ПС), запускают механизм сопоставления и обновления этих баз знаний. Менеджер логического вывода (МЛВ) обслуживает запросы на осуществление операций логического вывода, поступающие от интеллектуальных агентов и объектов через менеджера обмена сообщениями. Программа поддерживает два типа вывода: локальный и аддитивный, при котором базы знаний ИК, подчиненных данному, объединяются. В качестве механизма логического вывода были использованы соответствующие средства среды Visual Prolog, для чего структуры БЗ ФОС, представленные в формате KIF (Knowledge Interchange Format), транслируются в правила и факты Visual Prolog. Менеджер поведения ИА (МИА) позволяет задать параметры выполнения моделей поведения, а также параметры связи и передачи данных. ИА, используя заложенные в него стратегии, выбирает определенные модели поведения, заложенные в ИО,
79
которые имеют разные иерархические структуры. Модуль позволяет наблюдать за ходом работы агента и динамически изменять некоторые параметры. Кроме непосредственного выполнения моделей поведения, МИА включает функции транспортировки сообщений и связи агента с внешним миром. С внешней средой и с другими агентами ИА связан через транспортный модуль. МИА постоянно поддерживает связь с сервером, получая через него сообщения от других агентов. Менеджер обмена сообщениями (МОС) имеет две части: серверную и клиентскую. Сервер управляет транспортным потоком сообщений. С каждым подключенным клиентом связывается его идентификатор, очередь для простых сообщений, очередь для системных сообщений, очередь для событий. При его реализации использовался протокол TCP/IP с блокирующими соединениями и многопоточная архитектура. Для каждого присоединившегося клиента создается отдельный поток, что позволяет учесть применение двуядерных процессоров. Транспортный модуль ИА (клиент) получает и отправляет данные во внешнюю среду по нескольким типам каналов, в его обязанность также входит получение и отправка сообщений другим агентам через сервер обмена сообщениями. Получая сообщения от разных агентов, сервер взаимодействует с диспетчером управления агентами, с помощью которого пользователь может видеть, что происходит с агентом в данный момент. Комплекс DISIT используется в научно-исследовательской и учебной работе кафедры Информационных систем и технологий ВоГТУ, в частности, в задачах моделирования развития города, а также для выполнения лабораторных работ по дисциплине «Интеллектуальные информационные системы» [156].
80
5. Примеры использования агентно-ориентированных систем На рубеже 2000 годов начала проявляться тенденция перехода от чисто академических исследовательских проектов в области МАС и АОС к созданию действующих мультиагентных приложений в различных областях промышленности, инфокоммуникационной сфере, в системах государственного и организационного управления. Приведем лишь некоторые примеры отечественных и зарубежных систем такого типа, реализованных в последние годы. В нашей стране лидерами практического использования АОС в области государственного управления и в социальной сфере являются Институт проблем управления сложными системами РАН и НПК «Генезис знаний» (г. Самара), показывающие наглядный пример того, как теоретические модели МАС, которые уже упоминались в этой статье, могут быть доведены до практического использования [105]–[106]. Этими организациями совместно с Администрацией Самарской области в рамках Федеральной целевой программы «Электронная Россия 2002-2010 гг.» выполняется проект «Разработка первой очереди системы управления регионом с применением мультиагентных технологий». Заказчиками проекта выступили Министерство экономического развития и торговли Российской Федерации и Администрация Самарской области. Проект направлен на повышение качества и эффективности управления в регионе для реализации потребностей и возможностей граждан и обеспечения устойчивого социально-экономического развития региона. Для этого применяются новые информационные технологии управления, использующие индивидуальный подход к решению проблем каждого человека в условиях ограниченных ресурсов, обеспечивающие взаимодействие власти и населения посредством персональных интеллектуальных агентов. В процессы межагентного взаимодействия населения области и органов исполнительной власти на различных уровнях вовлекаются граждане Самарской области, представители органов исполнительной власти регионального уровня, сотрудники подведомственных организаций и коммерческих структур, действующих в социальной сфере.
81
Система управления регионом включает в себя три основные подсистемы. МАС адресного взаимодействия населения и органов государственной власти в социальной сфере работает на основе карты социального паспорта. Обладатель социального паспорта получает возможность из общедоступного Интернет-киоска или при помощи Интернета, из любого места, отправить запрос на предоставление льготы или услуги, а также описать свои культурные потребности. Работа ИА позволяет гражданину в режиме реального времени получать предложения от организаций с учетом индивидуальных предпочтений и формировать из них собственный календарь событий. МАС управления департаментом социального блока поддерживает менеджеров по работе с населением и менеджеров по организации процессов управления. Первые непосредственно помогают гражданам реализовать свои запросы, вторые задают правила деятельности менеджеров по работе с населением и контролируют эффективность их работы и работы подведомственных организаций в режиме реального времени. Интернет-портал для интеграции ресурсов и межведомственного взаимодействия позволяет гражданам и организациям описывать свои потребности и возможности; информирует пользователей о лучших путях решения их проблем и реализации возможностей. В условиях ограниченности ресурсов портал помогает государственным служащим вовлекать сферу бизнеса в решение государственных задач, предоставлять гражданам широкий спектр качественных услуг в зависимости от индивидуальных предпочтений. В подсистеме адресного взаимодействия действует база знаний законов, объединяющая более 40 законов федерального, регионального и муниципального уровней и хранящая знания о более чем 300 льготах и выплатах и более чем 100 связанных с ними социальных категориях. На основе запроса от человека, его агент осуществляет оперативный поиск по БЗ и представляет только ту информацию, которая касается конкретного человека. Подсистема управления социальным блоком кроме законодательной
БЗ
использует
также
и базу знаний
лечения
заболеваний,
основанную
на общемировых клинических протоколах. Агенты помогают сопоставлять соответствие поставленного диагноза и предложенной методики лечения заложенным в БЗ клиническим протоколам. Портал интеграции ресурсов использует БЗ субъектов и объектов социальной сферы и связанных с ними потребностей, что помогает быстро
82
найти соответствующую заявленной потребности возможность и получить предложения от содержащихся в портале организаций с учетом настройки персонального агента. Система управления регионом использует существующие информационные ресурсы департаментов социального блока, интегрируя их в одну систему, к ней подключены существующие базы данных министерства труда и социального развития населения Самарской области, база данных пенсионного фонда, которые хранят информацию о 1,5 млн. жителях области. Интеграция с существующими базами данных создает возможность разработки на основе данного проекта системы персонального учета населения. Интернет-портал дает возможность гражданам и организациям описать собственные
возможности
и потребности
и уже
сегодня
получать
предложения
от 415 организаций, сведения о которых хранятся в портале. По сферам организации дифференцируются следующим образом: представлено 72 организации из сферы социальной защиты, 23 — из сферы здравоохранения, 257 — из сферы культуры, 63 — из других сфер. Применение мультиагентного подхода позволило сократить время оформления документов, создать единое информационное пространство между департаментами и подведомственными им организациями в социальной сфере, обеспечить прозрачность управления и предоставления услуг гражданам. На другом полюсе практического использования агентно-ориентированного подхода находятся МАС контроля и управления состоянием электроэнергетических комплексов. В последние годы такие системы активно внедряются в Великобритании. Современная энергетическая система содержит множество контроля и управления, например, компания National Grid Transco (NGT) в Великобритании обслуживает передающую сеть из 244 подстанций на 275 кВ или 400 кВ, с последующим распределением по подстанциям на 132 кВ и ниже [157]. Если ранее каждая подстанция имела централизованную управляющую систему, то современные подстанции оснащаются распределенными интеллектуальными электронными устройствами контроля и управления (IEDs), которые выполняют различные задачи по передаче и обработке данных в корпоративной промышленной сети [158].
83
Сети передачи электроэнергии состоят из множества подстанций со взаимосвязанными линиями. Каждая подстанция содержит трансформаторы, коммутационную аппаратуру, защитное оборудование и другие элементы. В электроэнергетике используются три основных типа систем автоматизации: Supervisory Control And Data Acquisition (SCADA) системы, системы EMS (Energy Management Systems) и Substation Automation Systems (SAS) систем автоматизации подстанций [159]. Они образуют иерархическую структуру, с EMS на верхнем уровне, системой SCADA непосредственно зависящей от EMS и с индивидуальной для каждой подстанции системой SAS, находящейся на нижнем уровне. С ростом масштабов электрических сетей и увеличением использования систем автоматизации становится трудно эффективно обрабатывать большие объемы произведенных данных, и преобразовывать эти данные в знания, пригодные для дальнейшего использования. Структура обязана обеспечивать открытый доступ к информации подстанции через глобальную сеть энергетической компании и объединять предварительно обработанные функции защиты, контроля и информационного управления. Действующие системы автоматизации оказываются недостаточно гибкими и не могут легко адаптироваться к новым требованиям и изменениям типа оборудования. Поэтому появились действующие реализации МАС, надстраиваемых над типовыми средствами автоматизации в электрических сетях. Система ARCHONTM [160] используется для устранения ошибок идентификации и сервисного восстановления в электросети и использует 7 агентов, которые находятся на различных уровнях управления. Каждый агент отвечает за специфическую задачу, например, идентификация неизвестной сети или интерфейса системы управления. В [161] описана МАС управления коммутационным оборудованием в электросиловой системе. Система включает агентов помощников, агентов оборудования и агентов распределения. Агенты оборудования представляют трансформаторы, шины и линии передачи, и следят за операционным состояние, временем обслуживания и временем использования элементов оборудования. Агенты распределения представляют выключатели или группы выключателей. Система была реализована средствами языка Java и испытана на уровне натурного моделирования.
84
Применение ИА оказывается эффективным в системах расчетов за услуги электроснабжения. В [162] представлена система ведения переговоров между агентами, представляющими независимых системных операторов и компании, осуществляющие передачу электроэнергии потребителям. Система, описанная в [162] используется для оптимизации использования электроэнергии. Система содержит агентов устройств, представляющих оконечные устройства потребителей, и сервисных агентов, которые участвуют в аукционном механизме по покупке и продаже электроэнергии. Экспериментально удалось подтвердить, что система в состоянии приспособиться к изменению цен в пределах нескольких аукционных шагов. Преимущества системы состоят в том, что она способна взаимодействовать с крупномасштабными системами, и может быть настроена на индивидуальные требования в широком диапазоне приложений.
85
Заключение Развитие информационно-коммуникационных технологий идет не только по пути расширения сферы и многообразия их применения, но и ведет к возникновению новой многоуровневой иерархии аппаратных, программных, концептуальных сущностей, требующей новых концепций, методов и средств понимания и управления в гетерогенной структуре глобального информационного пространства. В рамках данного аналитического обзора автор пытался показать, что агентноориентированный подход позволяет подняться на новый уровень концептуализации и интеллектуализации современных информационно-коммуникационных систем. Достижениями агентно-ориентированного подхода являются разнообразные математические модели агентов и МАС, концепции и методологии мультиагентного проектирования и программирования, языки программирования агентов и достаточно развитые средства и платформы реализации мультиагентных приложений. Вместе с тем, агентно-ориентированный подход еще не стал ведущей парадигмой построения корпоративных промышленных приложений и информационных систем, и требует разработки эффективных и доступных для понимания и практического использования архитектур и методологий программирования АОС, нуждается в продвижении в среду системотехников и разработчиков программного обеспечения.
86
Литература
1.
П.Тейяр де Шарден. Феномен человека. – М.: Наука, 1987. – 240 с.
2.
Арсеньев Б. П., Яковлев С. А. Интеграция распределенных баз данных –
СПб.: Лань, 2001. – 461 с. 3.
Советов Б. Я., Яковлев С. А. Построение сетей интегрального обслужива-
ния. – Л. : Машиностроение, 1990. – 332 с. 4.
Campbell-Kelly M. The Development and Structure of the International Soft-
ware Industry, 1950–1990 // Business and Economic History. – 1995. – Vol. 24, № 2. – P. 73–110. 5.
Ивлев В. Реорганизация АСУ промышленных предприятий / В. Ивлев, Т.
Попова, Л. Павлов // КомпьютерПресс. – 1997. – № 7. – С. 236–244. 6.
Попов Э. В. Реинжиниринг бизнес-процессов и информационные техно-
логии / Э. В. Попов, М. Д. Шапот // Открытые системы. – 1996. – № 1. – С. 60–68. 7.
Pendse Nigel. OLAP applications [Electronic resourse] / [U.S.] : Optima Pub-
lishing Ltd., 2003. - Electronic data. - Mode of access: http://www.olapreport.com/Applications.htm. 8.
APICS – The Educational Society for Resource Management [Electronic re-
sourse] / [USA] : [S.l], 2003. - Electronic data. - Mode of access: http://www.apics.org. 9.
Гайфуллин Б. Современные системы управления предприятием. Ч. 1 / Б.
Гайфуллин, И. Обухов // КомпьютерПресс. – 2001. – № 9. – С. 23-27. 10.
Ларичев О. И. Теория и методы принятия решений, а также хроника со-
бытий в волшебных странах. – М.: Логос, 2003. – 392 с. 11.
Power Daniel J. Decision Support Systems : Concepts and Resources for
Managers. – Greenwood Publishing Group, 2002. – 272 p. 12.
Васильев С. Н. От классических задач регулирования к интеллектному
управлению. Часть / Известия РАН. Теория и системы управления. – 2001. - №1. – С. 5-22. 13.
Васильев, С. Н. От классических задач регулирования к интеллектному
управлению. Часть / Известия РАН. Теория и системы управления. – 2001. - №2. – С. 8-21.
87
14.
Швецов А.Н. Проблема интеллектуальной интеграции в распределенных
системах поддержки принятия решений // Интеллектуальные системы//Тр. Седьмого Международ. Симпозиума. Под ред. К.А. Пупкова. – М.: РУСАКИ, 2006. – С. 298 – 302. 15.
Davis, William S. Tne Information System Consultant’s Handbook: systems
analysis and design / William S. Davis, David C. Yen. – Boca Raton etc. : CRC Press, 1999. – 765 p. 16.
Старых В. А. Многофункциональная информационная система ведения
бизнеса между предприятиями в технологии B2B // Научн. тр. IV Международ. научнопракт. конф. «Фундаментальные и прикладные проблемы приборостроения, информатики, экономики и права». Кн. «Информатика». – М.: МГАПИ, 2001. – С. 223-226. 17.
Wenger E. Communities of Practice: Learning, Meaning, and Identity. – New
York: Cambridge University Press, 1998. – 318 p. 18.
The World Bank Group [Electronic Resourse] – Electronic data. – Mode of
access : http : //www. worldbank.org/devforum/communities. html 19.
Distributed Artificial Intelligence / Ed. by M. N. Hunhs. – Los Altos: Morgan
Kaufmann, 1987. – 390 p. 20.
Readings in distributed artificial intelligence / Ed. by A. H. Bond and L. Gass-
er. San Mateo: Morgan Kaufmann, 1988. – 649 p. 21.
Distributed artificial intelligence: theory and praxis / Ed. by N. M. Avouris and
L. Gasser. – Dordrecht; Boston: Kluwer Academic, 1992. – 235 p. 22.
Нейман Дж. фон. Теория самовоспроизводящихся автоматов: Пер. с англ.
– М.: Мир, 1971. – 384 с. 23.
Колмогоров А.Н. Теория информации и теория алгоритмов. – М.: Наука,
1987. – 303 c. 24.
Пригожин И., Стенгерс И. Порядок из хаоса. Новый диалог человека с
природой: Пер. с англ. – М.: Едиториал УРСС, 2003. – 312 с. 25.
Хакен Г. Информация и самоорганизация. Макроскопический подход к
сложным системам: Пер. с англ. – М.: КомКнига, 2005. – 248 с. 26.
Эшби У.Р. Введение в кибернетику: Пер. с англ. – М.: Изд-во иностран-
ной литературы, 1959. – 432 с.
88
27.
Burks A.W. Computation, behavior, and structure in fixed and growing auto-
mata / Behavioral Science. – 1961, 6. – P. 5–22. 28.
Holland Jonh H. Adaptation in Natural and Artificial Systems: An Introductory
Analysis with Application to Biology, Control, and Artificial Intelligence. – Ann Arbor : University of Michigan Press, 1975. – 183 p. 29.
Goldberg David E. Genetic Algorithms in Search, Optimization, and Machine
Learning. – Reading, Mass. : Addison-Wesley Pub. Co., 1989. – 412 p. 30.
Цетлин М.Л. Исследования по теории автоматов и моделированию био-
логических систем. – М.: Наука, 1969. 31.
Варшавский В.И. Коллективное поведение автоматов. – М.: Наука, 1973.
– 408 с. 32.
Hewitt C. PLANNER: a language for proving theorems in robots // Proc. of the
First Int. Joint Conf. on AI (IJCAI-69). – Washington, DC: 1969. – P. 295–301. 33.
Hewitt C., Bishop P., Steiger R. A Universal Modular ACTOR Formalism for
Artificial Intelligence // Proc. of the Third Int. Joint Conf. on AI (IJCAI-73). – Stanford, CA: Stanford University: 1973. – P. 235–245. 34.
Minsky M. The Society of Mind. – New York: Simon and Schuster, 1986. –
35.
Lesser, V.R. and Wileden, J.C. Issues in the Design of Tools for Distributed
339 p.
Software System Development / Software Development Tools, W.E. Riddle and R. Fairley (eds.), Springer-Verlag. 1980. 36.
Lenat D.B. On automated scientific theory formation: a case study using the
AM program / Machine Intelligence. – Vol. 9, 1977. – P. 251–256. 37.
Kornfeld W. A., Hewitt C. E. The Scientific Community Metaphor / IEEE
Transactions on Systems Man, and Cybernetics, SMC-11(1):24-33, January 1981. 38.
Lenat D.B. AM: An Artificial Intelligence Approach to Discovery in Math-
ematics as Heuristic Search. PhD thesis, Stanford University, 1976. 39.
Lesser V.R., Corkill D.D. The Distributed Vehicle Monitoring Testbed: A Tool
for Investigating Distributed Problem Solving Networks / AI Magazine. – 4(3), 1983. – P. 15– 33.
89
40.
Smith R.G. The cjntract net protocol: High-level communication and control in
a distributed problem solver / IEEE Trans. on Computers. – C-29(12), Dec. 1980. – P. 1104– 1113. 41.
Lesser V.R., Corkill D.D. The Distributed Vehicle Monitoring Testbed: A Tool
for Investigating Distributed Problem Solving Networks / AI Magazine. – 4(3), 1983. – P. 15– 33. 42.
Shoham Y. Agent-Oriented programming / AI. – 60, 1993. – P.51– 92.
43.
Элиенс А. Принципы объектно-ориентированной разработки программ:
Пер. с англ. – М.: Издательский дом «Вильямс», 2002. – 496 с. 44.
Энциклопедический словарь Ф. А. Брокгауза и И. А. Ефрона. – СПб.:
Полрадис, 1993. – 480 с. 45.
Belgrave M. The Unified Agent Architecture: A White Paper //
http://www.ee.mcgill.cu/~belmarc. 46.
Nwana H. S. Software Agents: An Overview // Knowledge Engineering Re-
view. – 1996. – Vol. 11, № 3. – P. 1–40. 47.
Wooldridge M., Jennings N. Intelligent Agents: Theory and Practice // Know-
ledge Engineering Review. – 1995. № 10 (2). – P. 115–152. 48.
Гаврилова Т. А., Хорошевский В. Ф. Базы знаний интеллектуальных сис-
тем. – СПб.: Питер, 2000. – 384 с. 49.
Поспелов Д. А. От коллектива автоматов к мультиагентным системам /
Proc. of the International Workshop «Distributed Artificial Intelligence and Multi-Agent Systems» DAIMAS`97. – June 15–18, 1997. St. Peterburg, Russia. – P. 319–325. 50.
FIPA Abstract Architecture Specification. – http://www.fipa.org/specs/fipa
00001/XC00001J.html. 51.
Davidsson P. Autonomy Agents and the Concept of Concepts. Ph. D. Disserta-
tion. – Lund University, 1996. – 221 p. 52.
Etzioni O. Intelligence without robots: A reply to Brooks AI Magazine, 14(4):
7–13, 1993. 53.
Wooldridge M. An Introduction to Multi-Agent Systems. – John Wiley and
Sons. – 2002. – 376 p.
90
54.
Люгер Д. Ф. Искусственный интеллект: стратегии и методы решения
сложных проблем: Пер. с англ. – М.: Издательский дом «Вильямс», 2003. – 864 с. 55.
Рассел С., Норвиг П. Искусственный интеллект: современный подход.:
Пер. с англ. – М.: Издательский дом «Вильямс», 2006. – 1408 с. 56.
Brooks R. A. Intelligence without representation / Artificial Intelligence. –
1991. – № 47. – P. 139–159. 57.
Hayes-Roth B. An integrated architecture for intelligence agents / SIGART. –
1991. – 2(4). – P. 79–81. 58.
Стефанюк В. Л. Поведение многоагентных систем: парадигма координа-
ции / Новости искусственного интеллекта. – 1997. – № 4. – С. 92–104. 59.
Veloso M., Bowling M., Achim S., Han K. and Stone P. CNITED-98 Robo-
Cup-98 small robot world champion team / AI Magazine. – 2000. –21(1). – P. 29-36. 60.
Тарасов В. Б. От многоагентных систем к интеллектуальным организаци-
ям: философия, психология, информатика. – М.: Эдиториал УРСС, 2002. – 352 с. 61.
Durfee E.H., Lesser V. Negotiating task decomposition and allocation using
partial global planning. Distributed Artificial Intelligence: Vol. II, Gasser, L. and Hunhs, M. ed. San Francisco: Morgan Kaufmann, 229-244, 1989. 62.
Sloman A. The Emperor's Real Mind // Artificial Intelligence. – 1992. –
Vol. 56, № 2–3. – P. 355–396. 63.
Franklin S. Artificial Minds. – Cambridge, Mass.; London: MIT press, 1995. –
64.
Берлекэмп Э. Алгебраическая теория кодирования / Пер. с англ.; Под ред.
449 p. С. Д. Бермана. – М.: Мир, 1971. – 480 с. 65.
Genesereth M. R. Logical Foundations of Artificial Intelligence / M. R. Gene-
sereth, N. Nilsson. – Los Altos : Morgan Kaufmann, 1987. – 405 p. 66.
Emerson, E. A. Branching time logic : REX School-Workshop on Linear Time,
Branching Time and Parial Order in Logics and Models for Concurrency (LNCS Vol. 354) / E. A. Emerson, J. Shrinivanas ; Ed. by J. W. de Bakker, W.-P. de Roever, G. Rosenberg . – Springer-Verlag : Heidelberg, 1988. – P. 123-172. 67.
Wooldridge M., Jennings N. Intelligent Agents: Theory and Practice // Know-
ledge Engineering Review. – 1995. № 10 (2). – P. 115–152.
91
68.
Konolige, K. A first-order formalization of knowledge find action for multi -
agent planning system : Machine Intelligence 10 / K. Konolige ; Ed. by J. E. Hayes, D. Michie, Y. Pao. – Chichester : Ellis Horwood, 1982. – P. 41-72. 69.
Wooldridge M. The Logical Modelling of Computational Multi-Agent Systems
: Ph. D. thesis. – UMIST, Manchester, 1992. – 153 p. 70.
D’Inverno M. A Formal Specification of dMARS : Intelligent Agents IV. Lec-
tures Notes in AI. Vol. 1365 / M d’Inverno, D. Kinny, M. Luck, M. Wooldridge ; Ed. by M. P. Sigh, A. S. Rao, M. Wooldridge. – Springer-Verlag, 1998. – P. 58-70. 71.
Van Linder, B. Formalising Motivational Attitudes of Agents. On Preferences,
Goals and Commitments / B. van Linder, W. van der Hoek, J - J. Ch. Meyer ; Ed. by M. Wooldridge, J. P. Müller, M. Tambe // Intelligent Agents II. Agent Theories, Architectures and Languages. IJCAI '95 Workshop (ATAL), Montreal, Canada, August 19-20, 1995. Proceedings. – Berlin : Springer, 1996. – P. 17-32. 72.
Georgeff, M. P. A profile of the Australian AI Institute / M. P. Georgeff, A. S.
Rao // IEEE Expert, December 1996. - 11 (6). – P. 89-92. 73.
Georgeff M. P. Reactive reasoning and planning / M. P. Georgeff, A. L.
Lansky // In Proceedings of the Sixth National Conference on Artificial Intelligence (AAAI 87), Seattle. - WA. – 1987. – P. 677-682. 74.
Bratman M. E. Plans and resource-bounded practical reasoning. Computational
Intelligence / M. E. Bratman, D. Y. Israel, M. E. Pollack. – 1988. – №4. – P. 349–355. 75.
Rao, A. S. As abstract architecture for rational agents / A. S. Rao, M. P. Geor-
geff ; Ed. by C. Rich, W. Swartout, B. Nebel // Proceedings of Knowledge Representation and Reasoning (KR&R - 92). - 1992. - P. 439 – 449. 76.
Rao, A. S. BDI Agents: from theory to practice / A. S. Rao, M. P. Georgeff //
In Proc. of the First International Conf. on Multi-Agent Systems (ICMAS - 95). – San Francisco, CA, June 1995. - P. 312-319. 77.
Rao, A. S. AgentSpeak(L): BDI agents speak out in logical computable lan-
guage / A. S. Rao ; Ed. by W. Van de Velde, J. W. Perram // Agents Breaking Away : Proc. of the Seventh European Workshop on Modelling Autonomous Agents in a Multi-Agent World, (LNAI Vol. 1031). – Heidelberg, Germany : Springer-Verlag, 1996. - P. 42-55.
92
78.
D’Inverno, M. A formal specification of AgentSpeak(L) / M. d' Inverno, M.
Luck // Journal of Logic and Computation. – 2000. – V. 13. – P. 157-176. 79.
Fabiola Lopez, Michael Luck and Mark dInverno, A normative framework for
agent based systems, Computational & Mathematical Organization Theory, Volume 12(2 - 3), pages 227-250, 2005. 80.
Spivey, M. The Z Notation (second edition) / M. Spivey. - Hemel Hempstead,
England : Prentice Hall International, 1992. – 260 p. 81.
Dastani Mehdi, Andreas Herzig, Joris Hulstijn, Leendert W. N. Van Der Torre.
Inferring trust. In João Leite and Paolo Torroni, editors, Computational Logic in Multi-Agent Systems: 5th International Workshop, CLIMA V, Lisbon, Portugal, September 29-30, 2004. – Springer Verlag: 2005. – P. 144-160 82.
Herzig A., Lang J., Marquis P. Action progression and revision in multiagent
belief structures / Sixth Workshop on Nonmonotonic Reasoning, Action, and Change (NRAC 2005), August 2005. 83.
Liau C.-J. Belief, information acquisition, and trust in multi-agent systems – a
modal formulation / Artificial Intelligence. – 2003,149. – P. 31-60. 84.
Martin Y., Narasamdya I., Thielscher M. Knowledge of other agents and com-
municative actions in the situation calculus / Proc. of the KR2004. – 2004. 85.
Van Ditmarsch H., Andreas Herzig, Tiago Santos De Lima. Optimal Regres-
sion for Reasoning about Knowledge and Actions. In Robert C. Holte and Adele Howe, editors, Twenty-Second Conference on Artificial Intelligence (AAAI-07), Vancouver, 22/07/0726/07/07, http://www.aaai.org/Press/press.php. 86.
Tallon J.M., Vergnaud J.C., Zamir S. Communication among agents: A way to
revise beliefs in KD45 Kripke structures / J. of Applied Non-Classical Logics. – 2004. – 14(4). – P. 477-500. 87. er,
A
Frank S de Boer, Koen V Hindriks. Wiebe van der Hoek and John-Jules Mey-
verification
framework
for
agent
programming
with
declarative
goals
in Journal of Applied Logic, 5:2, pp. 277--302, 2007. 88.
B. van Linder, W. van der Hoek, and J.-J. Ch. Meyer. Formalising abilities and
opportunities of agents. Fundamenta Informaticae 34 (1998) pp. 53-101.
93
89.
Chapman D. Planning for conjunctive goals. Artificial Intelligence , 32(2):333-
378, 1987. 90.
Cetnarowicz, K. A Formal Specification of M-Agent Architecture / K. Cetna-
rowicz, P. Gruer, V. Hilaire, A. Koukam ; Ed. by B. Keplics, E. Nawarecki // Proc. of the Second Int. Workshop of Central and Eastern Europe on Multi-Agent Systems. - Poland, 2001. – P. 41-50. 91.
Gabriel Rojek, Renata Ciкciwa, Krzysztof Cetnarowicz: Algorithm of behavior
evaluation in multi-agent system. Computational Science - ICCS 2005 : 5th Int. Conference : Atlanta, GA, USA, May 22-25, 2005 : Pt. 3 eds. Vaidy S. Sunderam [et al.].. Lecture Notes in Computer Science ; LNCS 3516. Berlin ; Heidelberg : Springer-Verlag, 2005. 92.
Ferber, J. Influences and reaction: a model of situated multiagent systems : In
Second Int. Conf. on Multi-Agent Systems / J. Ferber, J.-P. Muller. – Kyoto, 1996. 93.
Ferber, J. Multi-agent systems: An introduction to distributed artificial intelli-
gence. – Addison-Wesley, 1999. – 528 p. 94.
Ambroszkiewics, S. Knowledge and Behavior in Multiagent Systems: one -
shot case [Electronic Resourse] / S. Ambroszkiewics // ICS PAS Reports No. 770. [Electronic Data] – Mode of access : http://www.ipipan.waw.pl/mas/ . 95.
Ambroszkiewics, S. Knowledge in a Dynamic Model of Multi-Agent System /
S. Ambroszkiewics, S. Bylka, J. Komar. [Electronic Data] – Mode of access : http://www.ipipan.waw.pl/mas/ 96.
Денисов, В. В. Методы и средства построения интеллектуальных агентов
реального времени / В. В. Денисов, Г. Г. Колосов, М. Г. Пантелеев, Д. В. Пузанков // Труды 7 - й нац. конф. по искусственному интеллекту КИИ’2000. Т. 1–2. – М. : Изд-во физ.-мат. л-ры, 2000. – С. 805–813. 97.
Колосов Г.Г., Пантелеев М.Г. Проектирование процессоров обработки
продукционных знаний на основе RETE-сети / Искусственный интеллект. – 2003. – №3. – http://www.iai.donetsk.ua. 98.
Hanks S., Firby R.J. Issues and architectures for planning and execution. In
DARPA Workshop on Innovative Approaches to Planning, Scheduling and Control, p. 59-70, San Mateo, CA, 1990. Morgan Kaufmann.
94
99.
Ferguson I.A. Touring Machines: An Autonomous agents with attitudes. IEEE
Computer, 25(5): 51-55, 1992. 100.
D. M. Lyons , A. J. Hendriks, Exploiting patterns of interaction to achieve
reactive behavior, Artificial Intelligence, v.73 n.1-2, p.117-148, Feb. 1995. 101.
J. M. Lammens, H. H. Hexmoor, and S. C. Shapiro. Of elephants and men. In
Proceedings of the NATO ASI on Intelligent Autonomous Agents (Trento, Italy). Springer Verlag, 1994. 102.
R. S. Sutton. Integrated architectures for learning, planning, and reacting based
on approximate dynamic programming/ Proceedings of the Seventh International Conference on Machine Learning, 216--224, Morgan Kaufmann, 1990. 103.
Juan C. Santamaria, Richard C. Sutton, Ashwin Ram. Experiments with rein-
forcement learning in problems with continuous state and action spaces. Adaptive Behavior, 6(2), 1998. 104.
Artificial intelligence and mobile robots: case studies of successful robot sys-
tems by D. Kortenkamp, R. P. Bonasso, and R. Murphy (The MIT Press, Cambridge, MA 1998). 105.
Виттих, В. А. Мультиагентные модели взаимодействий для построения
сетей потребностей и возможностей в открытых системах / В. А. Виттих, П. О. Скобелев // Автоматика и телемеханика. – 2003. - №1. – С. 177-185. 106.
Андреев, В. Методы и средства создания открытых мультиагентных сис-
тем для поддержки процессов принятия решений / В. Андреев, В. А. Виттих, С. В. Батищев // Известия РАН. Теория и системы управления. – 2003. - №1. – С. 126-137. 107.
Городецкий, В. И. MAS DK: инструментарий для разработки многоагент-
ных систем и примеры приложений / В. И. Городецкий, О. В. Карсаев, И. В. Хотенко, А. В. Хабалов // Труды Международного конгресса «Искусственный интеллект в ХХI веке» (ICAI 2001), 3 - 8 сентября 2001 г. – М. : Физматлит, 2001. – С. 249-262. 108.
Котенко И. В. , Уланов А. В. Многоагентное моделирование защиты ин-
формационных ресурсов в сети Интернет // Известия РАН. Теория и системы управления. – 2007. – №5. – С. 74-88.
95
109.
Ferber, J. A meta-model for the analysis and design of organisations in multi-
agent systems / J. Ferber, O. Gutknecht // In Proceeding of the 3rd International Conference on Multi-gent Systems (ICMAS 98). - IEEE CS Press, 1998. 110.
Wooldridge, M. Agent-Oriented Software Engineering: The State of Art / M.
Wooldridge, P. Ciancarini ; Ed. by P. Ciancarini and M. Wooldridge // Agent-Oriented Software Engineering .– Springer-Verlag Lecture Notes in AI, 2001. - Vol. 1957. 111.
Wooldridge, M. The Gaia Methodology for Agent-Oriented Analysis and Des-
ing / M.Wooldridge, N. R. Jennings, D. Kinny // Journal of Autonomous Agents and MultiAgent Systems. – 2000. – 3(3). – P. 285-312. 112.
Bordini R.H., Hubner J.F., Wooldridge M. Programming Multi-Agent Systems
in AgentSpeak with Jason. – Jonh Wiley&Sons: Chichester, 2007. – 294 p. 113.
Cetnarowicz, K. A Formal Specification of M-Agent Architecture / K. Cetna-
rowicz, P. Gruer, V. Hilaire, A. Koukam ; Ed. by B. Keplics, E. Nawarecki // Proc. of the Second Int. Workshop of Central and Eastern Europe on Multi-Agent Systems. - Poland, 2001. – P. 41-50. 114.
Cetnarowicz, K. Agent Oriented Technology Based on the M-Agent Architec-
ture / K. Cetnarowicz ; Ed. by S. Aoshima, L. Polkowski, M. Toho // Proc. of Int. Conf. on Intelligent Techniques in Robotics, Control and Decision Making. Polish-Japanese Institute of Information Technology. – Warsaw, Poland, 1999. 115.
Schreiber, G., Akkermans, H., Anjewierdern, A., de Hoog, R., Shadbolt, N.,
Van De Velde, W., Wielinga, B.. Knowledge Engineering and Management: the CommonKADS Methodology. MIT Press. Cambridge, MA. 2001. – 455 p. 116.
Maria A. Medina, Alfredo Sanchez, Nohema Castellanos. Ontological Agents
Model based on MAS-CommonKADS methodology /14th International Conference on Electronics, Communications and Computers, 2004 – p. 260. 117.
Bernhard Bauera, James Odell. UML 2.0 and agents: how to build agent-based
systems with the new UML standard / Engineering Applications of Artificial Intelligence. – 2005, Vol. 18, Issue 2. – P. 141–157. 118.
http://www.troposproject.org.
119.
http://www.csai.unipa.it/passi.
96
120.
Bordini RH, Dastani M, Dix J and El Fallah Seghrouchni A (eds) 2005 Multi-
Agent Programming: Languages, Platforms and Applications, vol. 15 of Multiagent Systems, Artificial Societies, and Simulated Organizations. Springer, Berlin. 121.
Bordini RH, Braubach L, Dastani M, Seghrouchni AEF, Gomez-Sanz JJ, Leite
J, O’Hare G, Pokahr A and Ricci A 2006a A survey of programming languages and platforms for
multi-agent
systems.
Informatica
30(1),
33−44.
Available
online
at
http://ai.ijs.si/informatica/vols/vol30.html#No1. 122.
Dastani M., Gomez-Sanz J. 2006 Programming multi-agent systems. Know-
ledge Engineering Review 20(2), 151−164. 123.
Fisher M, Bordini R.H., Hirsch B., Torroni P. 2007 Computational logics and
agents: a road map of current technologies and future trends. Computational Intelligence 23(1), 61−91. 124.
AgentBuilder: An Integrated Toolkit for Constructing Intelligent Software
Agents [Electronic Resourse] / Reticular Systems, 1999. – Mode of access : http://www.agentbuilder.com. 125.
Brookings R. S. Ascape: An Agent Based Modeling Framework in Java [Elec-
tronic Resourse] / R. S. Brookings. - [Electronic Data]. - Brookings Center on Social and Economic
Dynamics,
–
2000.
Mode
of
access
:
http://www.brook.edu/es/dynamics/models/ascape/. 126.
Bee-gent Multi-Agent Framework [Electronic Resourse] / Toshiba Corporation
Systems and Software Research Laboratories, 2000. [Electronic Data]. – Mode of access : http://www2.toshiba.co.jp/beegent/index.htm. 127.
Dee, C. CABLE: A multi-agent architecture to support military command and
control / C. Dee, P. Millington, B. Walls, T. Ward // Proceedings of PAAM 2000. Manchester, UK, April 2000. – P. 322-330. 128.
Graham, J. Tools for Developing and Monitoring in Distributed Multi-Agent
Systems / J. Graham, V. Windley, D. McHugh, F. McGeary, D. Cleaver, K. Decker // Proceedings of the Workshop on Agents in Industry. Barcelona, Spain, June 2000. – http://www.eecis.udel.edu/~decaf/ . 129.
Poslad, S. J. The FIPA-OS agent platform: Open Source for Open Standards
[Electronic Resourse]/ S. J. Poslad, S. J. Buckle, R. Hadingham // Proceedings of PAAM
97
2000. – Electronic Data. – Manchester, UK, April 2000. – P. – Mode of access : http://fipaos.sourceforge.net. 130.
Grasshopper, Release 2.2. Basics and Concepts (Revision 1.0), March 2001. –
IKV++GmbH. – 70 p. 131.
Jazayeri M. Gypsy: A Component-based Mobile Agent System [Electronic Re-
sourse] / M. Jazayeri, W. Lugmayr // Proceedings of the 8th Euromicro Workshop on Parallel and Distributed Processing (PDP2000). - – Electronic Data. - Rhodos, Greece, 2000. – http://www.infosys.tuwien.ac.at/Staff/lux/Gypsy . 132.
Bellifemine, F. JADE – A FIPA-compliant agent framework [Electronic Re-
sourse] / F. Bellifemine, A. Poggi, G. Rimassa // Proceedings of PAAM 2000. – Electronic Data.
-
Manchester
UK,
April
–
2000.
P.
–
Mode
of
access
:
http://sharon.cselt.it/projects/jade. 133.
JATLite – http : // java.stanford.edu/java-agent/html.
134.
JAFMAS – http://www.ececs.uc.edu/~abaker/JAFMAS.
135.
Raphael M.J. A knowledge base for knowledge-based multiagent system con-
struction / M.J. Raphael, (NAECON),
S.A. Deloach. // National Aerospase and Electronics Conf.
Dayton,
OH,
October
10-20,
–
2000.
http://www.cis.ksu.edu/~sdeloach/publications/Conference/arams-naecon.pdf . 136.
Kouadri, G. A generic framework for context-based distributed authorizations/
G. Kouadri, P. Brezillon // Proc. Of the fourth Int. Conf. on Modeling and Using Context, Stanford, California (USA), June 23-25, 2003. – P. 326-333. 137. ment
Reference Guide for Swarm 2.1.1. [Electronic Resourse] / Swarm Develop-
Group.
–
Electronic
–
Data.
Mode
of
access
:
http://
www.santafe.edu/projects/swarm/swarmdocs/set/book930.html. 138.
Collis, J. The Zeus Agent Bilding Toolkit : ZEUS Technical Manual [Electron-
ic Resourse] / J. Collis, D. Ndumu // Intelligent Systems Research Group, BT Labs, Release 1.0.
-
1999.
–
Electronic
Data.
–
Mode
of
access
:
http://193.113.209.147/projects/agents/index.htm. 139.
Sloman, A. What’s an AI Toolkit For? / A. Sloman // Proceedings of the
AAAI-98 Workshop on Software Tools for Developing Agents. Madison, Wisconsin, 1998.
98
140.
Нарушев, Е. С. AgSDK : инструментарий разработки мультиагентных
систем / Е. С. Нарушев, В. Ф. Хорошевский // Тр. VII национальной конф. по искусственному интеллекту с международным участием КИИ-2000. Т. 2. - М. : Физматлит, 2000. – С. 830-840. 141.
Матушкин, Е. В. Объектная библиотека для интеллектуальных мультиа-
гентных систем / Е. В. Матушкин, А. В. Метелкин, Д. И. Соколов // Тр. VII национальной конф. по искусственному интеллекту с международным участием КИИ - 2000. Т. 2. - М. : Физматлит, 2000. – С. 813-821. 142.
В.И. Городецкий, О.В. Карсаев, В.В. Самойлов, В.Г. Конюший, Е.В.
Маньков, А.В. Малышев MASDK: Инструментальная среда разработки многоагентных систем. Труды 9 Национальной конференции по искусственному интеллекту с международным участием, том 2. Москва, Физмтгиз, 2004, стр. 591-599. 143.
V.Gorodetsky, O.Karsaev, V.Samoilov. Infrastructural Issues for Agent-Based
Distributed Learning. International Workshop "Integration of Agents and Data Mining (IADM-2006), Hong Kong, December 18-22, 2006, IEEE Computer Press, 3-6. 144.
V.Gorodetsky, O.Karsaev, V.Samoilov, S. Serebryakov. Agent-based Service-
Oriented Intelligent P2P Networks for Distributed Classification. International Conference "Hybrid Information Technologies" (ICHIT-2006), Korea, November 2006, IEEE Computer Press, 224-233. 145.
http://jade.tilab.com/
146.
Bellifemine F.L. Caire G., Greenwood D. Developing Multi-Agent Systems
with JADE. – Wiley, 2007. – 300 p. 147.
http://herzberg.ca.sandia.gov/jess.
148.
Частиков, А. П. Разработка экспертных систем. Среда CLIPS. / А. П. Час-
тиков, Т. А. Гаврилова, Д. Л. Белов. – СПб. : БХВ-Петербург, 2003. – 608 с. 149.
http://grasia.fdi.ucm.es.
150.
Bauer B. Agent UML: A Formalism for Specifying Multiagent Interaction./ B.
Bauer, Jorg P. Muller, and J. Odell //Ciancarini and M. Wooldridge, editors, Agent-Oriented Software Engineering, Springer, Berlin, 2001, p. 91-103.
99
151.
Pavón J. The INGENIAS Methodology and Tools / J. Pavón, J. Gómez-Sanz &
Rubén Fuentes //Agent-Oriented Methodologies, Brian Henderson-Sellers & Paolo Giorgini (eds.), Idea Group Publishing, 2005, p. 236-276. 152.
Iván García-Magariño, Jorge J. Gómez-Sanz. Framework for Defining Model
Language Metamodels for CASE Tools/ International Workshop on Model-based Methodologies for Pervasive and Embedded Software, 5th (MOMPES 2008): IEEE Computer Society, pp. 14-23, 05/04/2008. 153.
Rafael H. Bordini, Fabio Y. Okuyama, Denise de Oliveira, Guilherme Dreh-
mer, Romulo C. Krafta. The MAS-SOC approach to multi-agent based simulation. In Gabriela Lindemann, Daniel Moldt, and Mario Paolucci, editors, Proceedings of the First International Workshop on Regulated Agent-Based Social Systems: Theories and Applications (RASTA’02), 16 July, 2002, Bologna, Italy held with AAMAS02) — P. 70–91, Berlin, 2004. Springer-Verlag. 154.
Jorge A. R. Torres, Luciana P. Nedel, and Rafael H. Bordini. Using the BDI
architecture to produce autonomous characters in virtual worlds. In Thomas Rist, Ruth Aylett, Daniel Ballin, Jeff Rickel, ed., Proceedings of the Fourth International Conference on Interactive Virtual Agents (IVA 2003), Irsee, Germany, 15–17 September, number 2792 in Lecture Notes in Artificial Intelligence, p. 197–201, Heidelberg, 2003. Springer-Verlag. 155.
Швецов А.Н., Яковлев С.А. Распределенные интеллектуальные информа-
ционные системы. – СПб.:Изд-во СПбГЭТУ «ЛЭТИ», 2003. – 318 с. 156. тальный
Швецов А.Н., Сергушичева М.А., Котов С.С., Сорокин С.И. Инструменпрограммный
комплекс
для
проектирования
мультиагентных
сис-
тем/Материалы IX Международ. конф. «Интеллектуальные системы и компьютерные науки», Т. 2, Ч. 2. – М.: Изд-во мехмата МГУ, 2006. – С. 309-312. 157.
The
National
Grid
Company.
http://www.nationalgrid.com/uk/library/documents/sys_03/default.asp. 158.
Bricker S, Gonen T, Rubin L (2001) Substation automation technologies and
advantages. IEEE Computer Applications in Power 14 (3):31–37. 159.
Preiss O, Wegmann A (2001) Towards a composition model problem based on
IEC61850. Proceedings of the 4th ICSE Workshop on Component-based Software Engineer-
100
ing, Toronto, Canada. http://www.sei.cmu.edu/pacc/CBSE4_papers/PreissWegmann-CBSE44.pdf. 160.
Nagata T, Nakayama H, Utatani M, Sasaki H. A multi-agent approach to power
system normal state operations. In 2002 IEEE Power Engineering Society Summer Meeting, 3:1582–1586. 161.
Vishwanathan V, Mccalley J, Honavar V. A multiagent system infrastructure
and negotiation framework for electric power systems. Proceedings of 2001 IEEE Porto Power Tech Conference, 1 Porto, Portugal. 162.
Buse D.P., Wu Q.H. IP Network-based Multi-agent Systems for Industrial Au-
tomation Information Management, Condition Monitoring and Control of Power Systems. – London: Springer-Verlag, 2007. – 178 p.
101