Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник по ТООМ.doc
Скачиваний:
298
Добавлен:
02.05.2014
Размер:
7.46 Mб
Скачать

6.3. Прототип реализации агентной системы кспдо

Пусть с помощью UML была разработана модель КСПДО агентного типа, диаграмма архитектуры которой показана на рисунке 9, где:

Рис.9. Модель КСПДО агентного типа.

  • Student – компьютер студента, который использует мобильный агент для обучения;

  • Professor – компьютер профессора, который использует сервер дистанционного обучения (мобильного агента) для проверки и предоставления новых заданий;

  • Internet – группа устройств, предоставляющих доступ к глобальной сети Интернет;

  • Mobile Agent Server – сервер мобильных агентов;

  • Lockal Network – устройства локальной сети, обеспечивающие связь серверов;

  • DataBase Server – сервер БД (например, MS SQL Server 2000, Oracle9i, DB/2 Sybase), который содержит информацию о предметах, студентах и т.п.;

  • File Server – файловый сервер, хранит все материалы и контрольные работы.

Рис.10. Deployment Diagram. Диаграмма физической структуры системы.

  • Server.ServerMA – класс, использующий атрибуты классовServer.DBOperation, Server.FSOperation, Server.ControllerMA и использует их для своей работы;

  • Server.DBOperation – класс, реализующий операции работы с базой данных и содержит такие методы какSaveInfoAboutStudent(), SaveControlWork(), SaveInfo()и объединяется с операцией агрегации с классом Server.ServerMA. Класс содержит атрибуты, определяющие статус соединения агентов с сервером мобильных агентов;

  • Server.ControllerMA – класс, реализующий управление очередью, которую обслуживает Server.DispetcherMA;

  • Server.DispetcherMA – класс, который планирует приоритет в очереди агентов MAgent.Stu¬dyMA, MAgent.MessageMA, MAgent.MailMA, MAgent.SearchMA. Отметим, что самый высокий приоритет имеет агент, который передает сообщения MAgent.Mes¬sageMA; потом идет MAgent.StudyMA, реализующий обучение студента, его тестирование и общается как со студентом, так и с преподавателем; следующим по приоритету идет MAgent.SearchMA, выполняющий поиск материалов на сервере дистанционного обучения или в Интернет;

  • jade.wrapper.Agent – абстрактный класс, связанный операцией наследования с классами мобильных агентов. Он относится к стандартной библиотеке классов JADE. Содержит множество методов, ответственных за операции с агентами;

  • jade.wrapper.AgentController – интерфейс, определяющий те методы, которые позволено контролировать JADE-агенту. Он содержит в себе такие методы:activate()– активирует агента, который по каким-то причинам прекратил свою работу;getName()– получает имя платформы агента;getState()– получает состояние агента;kill()– уничтожает агента;start()– запускает агента;suspend()– прерывает работу агента на некоторое время;

  • jade.wrapper.AgentContainer – этот класс является proxy классом, который позволяет обращаться к контейнеру JADE-агента. acceptNewAgent() – метод, позволяющий добавлять агента в контейнер; getState() – возвращает экземпляр состояния платформы;resume() - активирует агентную платформу.

  • jade.content.OntoACLMessage – обеспечивает работу с ACL-сообщениями, которые проходят согласно спецификации FIPA 2000 "FIPA ACL Mes¬sage Structure Specification".

  • jade.domain.FIPAAgentManagement.SearchOn - этот класс обеспечивает операцию поиска. Он позволяет также DF-агенту (фасилитатору) делать запрос другому агенту-фасилитатору на поиск информации.

Диаграмма взаимодействия классов агента обучения (Sequence Diagram) при поиске данных на сервере или в глобальной сети Интернет показана на рисунке 11.

Рис.11. Диаграмма взаимодействия классов агента обучения.

Эту диаграмму можно разбить на две, но из-за того, что в ней принимают участие почти одинаковые классы, было бы удобно объединить их в одну по содержанию, поскольку описывается процесс поиска данных. Агенту обучения поступило задание найти информацию на сервере. Он взывает метод класса агента поиска MAgent.SearchMA – SearchOnServer. Контролер агентов вызывает метод диспетчера PutMA(), который определяет приоритет и ставит агента в очередь.Server.ControllerMA вызывает метод сервераDoWorkForMA(), исполняется поиск и посылается сообщение, если операция завершилась успешно – MAOperationOK(). Диспетчер удаляет агента из очереди. Контролер вызывает метод сервера – вернуть результаты поиска ReturnResultSearch(), которые передаются агенту обучения вместе с сообщением об успешном завершении операции. Процесс поиска в сети Интернет аналогичный, с той разницей, что для него не используются данные с сервера мобильных агентов. Рассмотрим рисунок 12 описания Sequence Diagram.