Современные информационные
технологии/1. Компьютерная инженерия
Игумнов
А.В.
Санкт-Петербургский
государственный политехнический университет, Россия
Поддержание
актуального состояния реплик в резервированных многоагентных системах
Введение избыточности и резервирование
исходных компонентов является основным методом обеспечения устойчивости технических
систем к отказам [1]. Современные многоагентные системы (МАС) могут содержать
интеллектуальных агентов [2], которые способны изменять как условия запуска собственных
действий, так и собственно конкретные действия. Поэтому при обеспечении
отказоустойчивости МАС с использованием резервирования важно обеспечить
актуальное состояние всех резервированных эквивалентных компонентов системы.
Проведенное исследование посвящено решению данной задачи.
Согласно [3] МАС является
системой, в которой предусмотрено взаимодействие агентов. Пусть исходная МАС
задана множеством задач T = {ti}
и множеством агентом A = {ai},
выполняющих задачи системы, а также распределением задач по агентам. Задача
системы является действием, которое выполняет один из агентов в качестве
реакции на изменения в среде окружения (реактивное поведение [4]) или для
достижения поставленных целей (проактивное поведение [4]). Будем считать, что
условия запуска агентом задач заданы некоторым набором правил (в простейшем
случае – формата «если <условие>, то <запуск задачи>»), образующих
блок принятия решений (БПР) агента. Будем рассматривать агента МАС
исключительно в качестве исполнительного контейнера для задач, т.е.
предполагать, что агент может исполнять любые задачи системы. Также будем использовать
стратегию обеспечения отказоустойчивости МАС, основанную на резервировании
задач и введении избыточного множества агентов, по которым задачи
резервированной системы могут быть размещены для их исполнения. Назовем
задачи-реплики, эквивалентные одной и той же задаче исходной МАС, задачами
одного типа. Чтобы МАС выполняла свои функции необходимо обеспечить наличие в
БПР всех агентов, в которых размещены задачи одного типа, правил,
соответствующих правилам запуска эквивалентной задачи исходной МАС. Поэтому будем
считать, что каждому агенту резервированной МАС соответствует не один БПР, а
множество БПР, каждый из которых определяет условия запуска одной задачи
конкретного типа. Введем понятие типа БПР как типа задачи, условия запуска
которой он определяет. Тогда резервированную МАС можно определить как множество
<TT, RT, RA, DM>, где TT – множество типов задач и
соответственно типов БПР, RT –
множество задач резервированной МАС, RA
– избыточное множество агентов, DM –
множество блоков принятия решений. При начальной инициализации резервированной
МАС множество БПР каждого агента заполняется теми БПР исходной МАС, которые соответствуют
типам задач, размещенным в данном агенте.
Если используется холодное
резервирование, то только одна задача из группы задач одного типа является
активной репликой и должна быть выполнена, следовательно каждый агент
резервированной МАС должен исполнять только БПР, соответствующие размещенным в
нем активным репликам. Такой подход позволяет уменьшить вычислительные затраты,
необходимые для анализа агентом окружающей среды и принятия решений.
Модификация агентом условий запуска собственных действий означает изменения
БПР, соответствующих определенным задачам. Предполагается, что при отказе
активной реплики методика сохранения работоспособности МАС обеспечивает поиск и
активацию новой реплики соответствующего типа. Если при этом БПР,
соответствующий активной реплике, был ранее изменен, то активация новой реплики
приведет к потере опыта, накопленного системой, т.е. к возврату к
соответствующему БПР исходной МАС. Значит задача поддержания актуального
состояния реплик в резервированной МАС сводится к задаче синхронизации БПР
одного типа при внесении изменений в БПР, соответствующий активной реплики.
Пусть при модификации БПР агент отправляет всем агентам резервированной МАС
сообщение update_dm(tt, dm), где dm – измененный БПР, tt – тип БПР или задачи, которой БПР
соответствует. Любой агент МАС, получивший данное сообщение, в случае наличия в
его множестве БПР блока типа tt
производит его модификацию согласно параметрам принятого сообщения. Если агент
МАС может изменять не только условия запуска собственных действий, но и сами
действия, то есть фактически задачи МАС, то для поддержания актуального
состояния реплик в резервированной МАС необходимо также обеспечить
синхронизацию всех задач одного типа при любых изменениях активной реплики
данного типа. Для этого при внесении изменений в активную реплику агент должен
отправлять широковещательное сообщение update_task(tt,
t), где tt – тип задачи, t – измененная активная реплика.
Остальные агенты при получении данного сообщения вносят необходимые изменения в
размещенные в них задачи типа tt в
соответствии с полученными параметрами.
Предложенный подход
позволяет поддерживать актуальное состояние реплик эквивалентных компонентов резервированной
МАС, основанной на стратегии холодного резервирования задач, при изменениях интеллектуальными
агентами МАС как условий запуска собственных действия (БПР), так и самих
действий (задач).
Литература:
1. Pullum
L.L. Software fault tolerance techniques and implementation. Artech House,
2001. 360 p.
2. Тарасов В.Б. От многоагентных систем к интеллектуальным
организациям: философия, психология, информатика. – М.: Эдиториал УРСС, 2002. –
352 с.
3. Jennings
N.R. On agent-based software engineering. Artificial
intelligence, 2000, Vol. 117, No. 2, pp. 277-296.
4. Смирнов А.В., Шерематов Л.Б. Многоагентная технология
проектирования сложных систем // Автоматизация проектирования. – 1998. – № 3.