Современные информационные технологии/1. Компьютерная инженерия

 

Игумнов А.В.

Санкт-Петербургский государственный политехнический университет, Россия

Обеспечение устойчивости многоагентных систем к логическим и функциональным отказам

При использовании многоагентного подхода [1] для разработки систем промышленного уровня необходимы средства обнаружения отказов и восстановления работоспособности многоагентных систем (МАС) для обеспечения уровня надежности. Существующие методики разработки отказоустойчивых МАС Brokered MAS [2], DARX [3] и Meta-Agent [4] не предлагают классификацию отказов компонентов МАС и, как правило, обеспечивают восстановление работоспособности только при отказах отдельных агентов. В данной работе введены понятия логических и функциональных отказов отдельных задач агентов МАС, представлены техники их обнаружения и восстановления работоспособности системы.

В работе [5] была предложена модель МАС как системы, реагирующей на внешние воздействия из множества возможных воздействий E и состоящей из множества агентов A, каждый из которых выполняет ряд задач из множества задач системы T. При этом каждая задача характеризуется множеством предусловий prec(t) и постусловий post(t), определяющих соответственно возможность запуска задачи и успешность ее завершения. Если определенная задача МАС должна быть выполнена, но не может быть запущена в связи с невыполнением одного из ее предусловий, то будем считать, что МАС находится в состоянии логического отказа задачи. Если определенная задача МАС была выполнена, но в момент ее завершения не было удовлетворено хотя бы одно из ее постусловий, то будем считать, что МАС находится в состоянии функционального отказа, т.к. выполнение задачи не оказало желаемого воздействия на состояние среды окружения МАС. Несмотря на то, что предусловия задачи были рассмотрены в качестве одного из источников отказов МАС в работе [5], авторами не были предложены техники их обнаружения и преодоления. Введем понятие эффектора как специальной задачи МАС, способной изменять состояние среды окружения МАС, т.е. контролирующей одно из воздействий на МАС из множества E. Будем считать, что соответствие эффектора  и воздействия на МАС  задано предикатом confEfE. Тогда можно определить множество воздействий, для которых существуют эффекторы, т.е. множество подконтрольных МАС воздействий, образующих внутренний контекст системы: .

Для обнаружения логических и функциональных отказов задач МАС введем в архитектуру программного агента блок, контролирующий выполнение предусловий задачи перед ее запуском и выполнение постусловий задачи после ее исполнения. Условием логического отказа задачи t является невыполнение хотя бы одного из ее предусловий: . Условием функционального отказа задачи t является невыполнение хотя бы одного из ее постусловий . Если любое предусловие задачи сформулировано как конъюнкция воздействий на МАС, то можно определить множество воздействий, являющееся источником логического отказа задачи:  . Условием восстановления работоспособности при обнаружении логического отказа задачи МАС является существование эффекторов для каждого из воздействий, обуславливающих невыполнение предусловия: . Если данное условие выполнено, то восстановление работоспособности МАС обеспечивается запуском агентом, зафиксировавшим логический отказ одной из своих задач, всех необходимых эффекторов. Т.к. состояние функционального отказа задачи МАС означает, что после ее завершения не было достигнуто целевое состояние среды окружения, то для восстановления работоспособности системы необходим повторный запуск данной задачи агентом, зафиксировавшим отказ. Т.к. основным инструментом обеспечения отказоустойчивости системы является использование избыточности ее компонентов [6], то следуем отметить, что для восстановления работоспособности также может быть выполнена задача, которая эквивалентна задаче, находящейся в состоянии функционального отказа.

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

Литература:

1. Jennings N.R. On agent-based software engineering. Artificial intelligence, 2000, Vol. 117, No. 2, pp. 277-296.

2. Kumar S., Cohen P.R. Towards a fault-tolerant multi-agent system architecture. Proceedings of the fourth international conference on Autonomous agents, ACM, 2000, pp. 459-466.

3. Guessoum Z., Briot J.P., Faci N. Towards fault-tolerant massively multiagent systems. Massively Multi-Agent Systems I, Springer Berlin Heidelberg, 2005, pp. 55-69

4. Serugendo G.D.M., Romanovsky A. Designing fault-tolerant mobile systems. Scientific Engineering for Distributed Java Applications, International Workshop, Springer Berlin Heidelberg, 2003, pp. 185-201.

5. Mellouli S. A reorganization strategy to build fault-tolerant multi-agent systems. Advances in Artificial Intelligence, Springer Berlin Heidelberg, 2007, pp. 61-72.

6. Pullum L.L. Software fault tolerance techniques and implementation. Artech House, 2001. 360 p.