– DCE). DCE основана на компонентной архитектуре, которая рассматривает каждый
элемент системы (объект) в качестве повторно используемой программной
компоненты. Инкапсуляция обеспечивается использованием стандартного интерфейса,
который скрывает от пользователя язык или среду разработки компоненты. Тем самым
объекты могут легко воспроизводиться и перемещаться по сети, создавая гибкие
конфигурации.
Один из подходов к стандартизации взаимодействия компонент предлагает модель
многокомпонентных объектов (Component Object Model – COM), которая определяет
соглашения и обеспечивает сервисы описания, использования и коммуникации
объектов. Этот стандарт позволяет двум приложениям взаимодействовать посредством
объектного интерфейса, специфицированного на языке описания, который не зависит
от языка реализации объекта. Распределенная COM (Distributed COM – DCOM) – это
дальнейшее развитие модели, в которой термин «распределенная» подразумевает
способность запуска клиентов и серверов на распределенных платформах Интернет
или Интранет. DCOM работает так же как и COM: клиент запрашивает регистр, в
котором находится информация о сервере, и вместо того, чтобы использовать
локальный указатель, использует непосредственно IP адрес (например, 123.234.199.27)
для доступа к серверу. Спецификация DCOM использует протокол объектного
удаленного вызова процедур Object RPC. Он представляет собой адаптацию стандарта
DCE, имеет ту же структуру пакета, но расширяет систему соглашений о
взаимодействии клиент/сервер. Протоколы CN(CO) и DG(CL) используются над
транспортным уровнем протоколов TCP или UDP соответственно .
Очевидным недостатком рассмотренной модели с точки зрения построения
многокомпонентных САПР является отсутствие описания содержательного аспекта
взаимодействия. Это обусловлено трудностями работы приложений в динамических
распределенных средах и, как следствие, основная задача, которую преследуют
стандарты в этой области заключается в том, чтобы обеспечить приложениям обмен на
уровне структур данных и вызова удаленных методов. Однако компоненты САПР
(агенты), в том смысле, как обсуждалось в статье [1], не сводятся только к структурам
данных и операциям над ними. Поэтому указанные стандарты и протоколы могут
рассматриваться лишь в качестве основы, на которой строится язык взаимодействия
агентов, определяющий, в первую очередь, семантику взаимодействия.
KQML – язык запросов и обработки знаний
Другая парадигма построения распределенных систем непосредственно строится на
концепции агента и использовании языка взаимодействия между агентами для
координации их деятельности. Примером такого подхода является спецификация языка
запросов и обработки знаний KQML. Он основан на теории речевого взаимодействия
(Speech-Act Theory), т.e. сообщение представляет собой исполняемую команду
(performative), предусматривающую конкретное действие получателя [10]. Например,
простое сообщение «сообщить (tell)» предполагает, что получатель должен верить
представленным в теле сообщения фактам, тогда как, сообщение «спросить (ask)»
предполагает ответ на присланный запрос.
KQML представляет собой структурированный язык взаимодействия агентов. Его
можно рассматривать как двухуровневую структуру: на первом, содержательном
уровне описывается содержание сообщения на языке представления агента, а на уровне
сообщений или коммуникации описываются параметры сообщения. KQML может
являться носителем любого языка представления, включая обыкновенные ASCII строки
или бинарные коды. Это обеспечивается тем, что все реализации KQML игнорируют
содержательную часть информации, исключая лишь признак ее завершения.