Составные части агента

Составные части агента

sergey shishkin

Модели информации и данных. Атом и универсум информации

Переместимся от макро-объектов, где агент представлялся как один из участников общего взаимодействия с другими агентами, к рассмотрению агента как основного объекта исследований. Вопросы коммуникации, взаимодействия в общей среде будут затронуты позже.

Агент как объект является самостоятельной и самодостаточной структурой. Для обеспечения своей деятельности агент должен включать в себя ряд составляющих элементов, описываемых ниже.

Рис. 2 Составные части агента

Большинство программных продуктов включает в себя составляющую, связанную с структурированием и хранением данных, составляющую, связанную с обработкой данных, и интерфейсную часть с внешними системами или с пользователем.

Сравнивая структуру агента с аппаратными реализациями различных систем, можно сравнить его с компьютером. Так, в Intel x86-архитектуре присутствует процессор, который отвечает за выполнение команд и, соответственно, за обработку данных, память, хранящую данные и программный код. Архитектура разделяется на две подсистемы, которые обслуживаются двумя разными микросхемами окружения. Контроллер-концентратор памяти «Северный мост» (North Bridge) обеспечивает работу центрального процессора, оперативной памяти и видеоадаптера. Контроллер-концентратор ввода-вывода «Южный мост» (South Bridge) обеспечивает работу контроллеров ввода-вывода, интегрированных в материнскую плату, в том числе сети, внешние устройства и пр.

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

В качестве еще одной аналогии рассмотрим классическую трехзвенную архитектуру приложений: сервер баз данных – сервер приложений – клиент. Сервер баз данных хранит операционные данные, сервер приложений обрабатывает эти данные, клиент отображает данные. В сопоставлении с агентом, сервер баз данных – это хранилище данных, сервер приложений является блоком обработки, а вот клиент – это блок, связанный с коммуникацией, получением данных и формированием данных. Буфер данных агента существует на уровне сервера приложений.

Поскольку буфер данных является центром агента, рассмотрим его подробнее. А именно, почему он является центром, и зачем он нужен как таковой. Начнем с обработки данных. Данными невозможно оперировать непосредственно внутри хранилища данных (имеется ввиду интерактивные, коммуникативные операции), поскольку давно прошли те времена, когда данные запись за записью анализировались программой в базе данных, а затем они извлекались для последующих операций. Сейчас рутинная работа по выборке данных перенесена на уровень сервера баз данных. Мы даем задание системе управления базами данных выбрать, обновить, удалить, добавить данные, а система выбирает их для нас в наш промежуточный буфер либо обновляет данные в хранилище данных. Другими словами, все фактические операции производятся в буфере данных – туда выбирается ограниченная часть данных, которые нужны для обработки. Там формируются изменения в данных, которые затем транслируются (переносятся) в хранилище данных.

Для каналов коммуникации буфер данных играет другую роль. Дело в том, что каналы коммуникации не должны напрямую обращаться к данным во внутреннем хранилище данных, так же как коммуникационные каналы не должны иметь прямого влияния на хранилище данных. Это так, поскольку одним из основных принципов построения агента является его автономность, а, следовательно, и независимость от внешних факторов. В дополнение к этому мы обсуждали гетерогенность структур агента (см. главу «Агенты как черный ящик»), где мы предполагаем, что реализация агента может быть различной. При этом язык коммуникации с другими агентами остается единым в среде взаимодействия агентов. Таким образом, при формировании данных для внешней среды и для коммуникации с другими агентами, мы должны транслировать данные из внутренней структуры агента в структуру языка для взаимодействия с другими агентами. Такая трансляция является результатом обработки. И поэтому только результаты обработки (а не данные из хранилища данных) должны отправляться в выходные каналы агента.

Аналогичная ситуация с поступающей извне информацией. С одной стороны, агент должен транслировать входящую информацию во внутреннюю структуру данных, а с другой стороны агент также должен сделать определенные предварительные обработки, такие как оценка входящей информации на непротиворечивость (валидация информации). Первый вид обработки входящей информации соответствует гармонизации с внутренней структурой данных по форме, а второй вид обработки – это гармонизация по содержанию.

Report Page