
- •Конспект лекций модуля № 4 "Целевой курс" дисциплины "Распределенные программные системы и технологии" Тема 11. Системы параллельных вычислений
- •11.1.1. Общие понятия
- •11.1.2. Функции управления задачами
- •11.1.3. Взаимодействие задач
- •11.1.3.1 Типы взаимодействия
- •11.1.3.2 Выполнение взаимодействия
- •11.1.4. Синхронизация работы задач
- •11.2.1. Общие сведения
- •11.2.2. Основные понятия
- •11.2.3. Функции mpi
- •11.2.4. Функции управления процессами
- •11.2.3. Взаимодействие процессов
- •11.2.3.1 Прием/передача сообщений с блокировкой
- •11.2.3.2 Прием/передача сообщений без блокировки
- •11.2.3.3 Объединение запросов на взаимодействие
- •11.2.3.4 Совмещенные прием/передача сообщений
- •11.2.3.5 Коллективные взаимодействия процессов
- •12.1.2. Уровень заглушки и скелета
- •12.1.3. Уровень удаленных ссылок
- •12.1.4. Транспортный уровень
- •12.1.2. Взаимодействие
- •2.1.3 Идентификация объектов
- •2.1.4. Синхронизация вызовов методов
- •2.1.5. Безопасность
- •Тема 13. Сервисно-ориетированные архитектуры
- •13.1.1. Стандарт Web - сервисов
- •13.1.2. Взаимодействие Web-служб
- •13.1.3. Идентификация служб
- •13.1.5. Отказоустойчивость Web-служб
- •13.1.6. Безопасность Web-служб
- •13.2. Сервисно-ориентированная архитектура
- •13.2.1. Концепция soa
- •13.2.2. Характеристики соа
- •13.2.3. Компоненты соа
- •13.3. Оркестровка Web - сервисов
- •13.3.1. Основные понятия
- •13.3.2. Организация основанная на потоках работ
- •13.3.3. Язык bpel
- •Тема 14. Многоагентные системы
- •14.1. Определение агента
- •14.2. Применение агентов
- •14.2. Стандарты технологии мобильных агентов
- •14.2.1. Стандарт masif
- •14.2.2. Стандарт fipa
- •14.3. Языки взаимодействия агентов.
- •Тема 15. Распределенные базы данных
- •15.1. Определение Дэйта.
- •15.2. Свойства распределенных бд
- •15.2.1 Целостность данных
- •15.2.2 Прозрачность расположения
- •15.2.3 Обработка распределенных запросов
- •15.2.4 Межоперабельность
- •15.2.5 Технология тиражирования данных
- •15.2.6 Архитектура "клиент-сервер"
- •15.3.1 Концепция ejb
- •15.3.2. Компоненты ejb
- •15.3.3 Этапы создания ejb-проектов
- •Тема 16. Аппаратное обеспечение распределенных встроенных систем
- •16.1. Перспективы развития и области применения распределенных встроенных систем
- •16.2. Функциональная классификация микропроцессоров
- •16.2.1. Процессоры общего назначения и специализированные процессоры
- •16.2.2. Микроконтроллеры
- •16.2.3. Процессоры цифровой обработки сигналов
- •16.2.4. Конфигурируемые процессоры и перепрограммируемы системы на кристалле
- •16.2.5. Эволюция микропроцессоров
14.2. Стандарты технологии мобильных агентов
В настоящее время существуют десятки систем использующих МА. Для их совместимости разрабатываются спецификации и стандарты [45]. В настоящее время существует два основных стандарта разработанные в ассоциациях OMG (Object Management Group) и FIPA (Foundation for Intelligent Physical Agents).
14.2.1. Стандарт masif
Ассоциация OMG разработала стандарт MASIF (Mobile Agent System Interoperability Facilities). В нем она уделила внимание стандартизации следующих проблем технологии МА [5], [6], [7], [8], [21] [27], [58]:
Управление агентами. В данном разделе унифицируется управление различными СМА посредством стандартизации операций: создания агентов, приостановки и возобновления их выполнения, перемещения агента и завершения его работы.
Идентификация агентов. Здесь стандартизируется синтаксис имен агентов. Введение подобного синтаксиса позволяет идентифицировать агента в системе.
Типизация и адресация агентской платформы. В этом разделе стандартизируется синтаксис описания типа и адреса агентской платформы. Это необходимо чтобы агент мог получать информацию о типе удаленной платформы, а локальная и удаленная агентская платформа могли идентифицировать друг друга.
Согласно стандарту MASIF [6] СМА делится на регионы (рис. 1.1). Регион это совокупность платформ обладающих общими полномочиями. В регионе находится реестр, содержащий информацию о платформах и агентах находящихся в нем. Для совместимости со стандартом MASIF он должен реализовывать интерфейс MAFFinder. В нем определены операции регистрации/дерегистрации и разрешения имен агентов, мест и агентских платформ.
Платформа (в стандарте MASIF имеет название "агентская система") может создавать, интерпретировать, запускать, перемещать и уничтожать их. Для совместимости со стандартом MASIF она должна реализовывать интерфейс MAFAgentSystem. В нем определены операции приема/передачи, создания/уничтожения, прерывания/возобновления агентов. Платформа идентифицируется именем и адресом. В ее состав входят одно или несколько мест и интерфейс соединения.
Место обеспечивает среду выполнения агентов на компьютере. Место может содержать одного или более агентов. Когда клиент запрашивает местоположение агента, то в качестве ответа он получает адрес места, где выполняется агент.
Интерфейс соединения обеспечивает транспортные службы связи, службу имен и службу безопасности для агентских платформ.
MASIF поддерживает некоторые сервисы CORBA, но не требует обязательного их использования. Например, служба имен (Naming Servis) – поддерживает имена CORBA объектов и может использоваться объектами MAFAgentSystem и MAFFinder. Для поддержки жизненного цикла агента может использоваться сервис LifeCycle, для сериализации и десериализации агентов возможно использование Externalization сервис. Сервис Security Service может быть использован, для авторизации агентов и управления их доступом к сетевым ресурсам.
14.2.2. Стандарт fipa
FIPA – некоммерческая организация созданная в 1996 году. Главной задачей FIPA являются спецификации определяющие взаимодействие агентов разных систем. Все спецификации разделены на нормативные спецификации, являющиеся обязательными, и информативные [9].
Первый набор спецификаций FIPA был реализован в октябре 1997 года. Ежегодно ассоциация разрабатывает новые, дополняет и корректирует существующие документы. В них рассматриваются следующие основные темы:
Управление агентами. Здесь стандартизируются платформы агентов, которые включают службы маршрутизации сообщений и управления жизненным циклом агентов [36], [38].
Язык взаимодействия агентов (ACL). В этих спецификациях приводится описание языка, предназначенного для использования агентами разных систем [35].
Взаимодействие с не агентскими программами. Здесь рассматриваются способы, подключения агентов к программному обеспечению, не использующего агентскую технологию, через “оболочки”, включающие специфицированную онтологию и динамический механизм регистрации, и взаимодействия с человеком [33], [40].
Управление безопасностью агентов. В этом разделе выделяются ключевые угрозы безопасности в управлении агентом и описываются возможные средства защиты [33].
Управление МА. Здесь рассматриваются дополнительные функции (“передать” и “запустить”) агентской платформы, необходимые для работы с МА [37].
Служба онтологии. В этом разделе описывается служба, обеспечивающая правильное понимание запросов, сообщений, терминов в контексте области применения (коммерции, спорта, медицины и т.д.) [42].
Области применения. Здесь описываются приложения, использующие агентскую технологию: сетевой помощник [41], аудио/видео конференции [34], помощник планирования путешествий [43]. С их помощью производится тестирование разработанных спецификаций.
Согласно спецификациям FIPA [32] СМА состоит из платформ, в состав которых входят следующие компоненты (рис 1.2):
Система управления агентом (AMS – Agent Management System) – компонент который управляет созданием, удалением, деактивацией, возобновлением, аутоинтефикацией и миграцией агентов на платформе. Он обеспечивает сервис «белых страниц» для всех агентов находящихся на ней и хранит соответствие между глобально уникальными идентификаторами агентов и локальными транспортными адресами используемыми платформой.
Служба каталога (DF – Directory Facilitator) – компонент обеспечивающий для агентов сервис “желтых страниц”. Он хранит описание агентов и предлагаемые ими услуги.
Менеджер безопасности платформы агентов (APSM – Agent Platform Security Manager) – отвечает за осуществление политики безопасности платформы. Он ответственен за обеспечение безопасности транспортного уровня и ведения проверки протоколов создающихся агентов.
Канал связи агентов (ACC – Agent Communication Channel) – компонент, который использует информацию предоставляемую системой управления агентов для маршрутизации сообщений между агентами которые находятся как на этой платформе, так и на других.
Для достижения поставленных целей ассоциации FIPA и OMG объединяют свои усилия. Первым результатом совместного сотрудничества, является разработка расширения языка UML для агентов – Agent UML (AUML) [13], [85], [12], [30], [86], [88]. Некоторые элементы языка AUML предполагается включить в UML версии 2 [13], [85].