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

  • какое сообщение пришло, т.е тип сообщения (QIP, RIP, RWIP или ANW);
  • при каких условиях, т.е проверка каких параметров системы запрашивается данным сообщением или данное сообщение является ответом на определенный запрос (для агента-координатора).

Взаимодействие между агентами происходит через агента-координатора, который отсылает сообщения остальным агентам по сценарию (протоколу), в котором указано какому агенту необходимо послать запрос. Порядок реализации протоколов взаимодействия может быть последовательным. Пусть, каждому протоколу взаимодействия агентов соответствует идентификационный номер (1 — взлом пароля; 2 — нецелевое расходование  вычислительных ресурсов сервера БД; 3 — перехват трафика между клиентской и серверной частью), тогда знак «*» будет отражать при каком взаимодействии, какому агенту, какого типа сообщение пришло от агента-координатора. Структура базы знаний агентов представлена таблицей

Таблица -  Структура базы знаний агента-координатора

Идентификатор протокола
1 2 3
Название             агента

Тип

сооб

щения

А-А

А-ОВ

А-РД

А-СЗ

А-РК

А-А

А-ОВ

А-РД

А-СЗ

А-РК

А-А

А-ОВ

А-РД

А-СЗ

А-РК

QIP * * * *
RWIP * * * * * * *
RIP

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

Продукционное правило в базе знаний агентов (кроме агента-координатора) имеют вид:

if (arg.performative == <тип сообщения> && arg.protocol_id == <номер протокола> && arg.receiver == <имя агента>)

{

//выполнение определенных действий агентом

}

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

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