- •Л.Р. Черняховская
- •Объектно-ориентированное моделирование систем искусственного интеллекта
- •Учебное пособие
- •По дисциплине “Технология объектно-ориентированного моделирования”
- •Список принятых сокращений
- •Введение
- •1. Основные принципы объектно-ориентированного моделирования систем искусственного интеллекта.
- •1.1. Основные характеристики систем искусственного интеллекта
- •1.2. Принципы объектно-ориентированного анализа и проектирования
- •1.3. Методология Rational Unified Process
- •1.4. Особенности объектно-ориентированного анализа и проектирования систем искусственного интеллекта
- •1.5. Описание программных средств, реализующих нотацию Unified Modeling Language
- •2. Моделирование требований к информационной системе. Диаграмма требований
- •2.1. Анализ требований к разрабатываемой информационной системе
- •2.2. Создание прецедентов на диаграмме использования системы (
- •2.3. Разработка диаграммы Вариантов Использования в Rational Rose
- •2.4 Анализ требования в Requisite Pro
- •3. Диаграммы классов
- •3.1. Определение объектов и классов предметной области
- •3.6. Определение отношений
- •3.2. Построение концептуальной модели
- •3.3. Операции и методы
- •Организация системы классов, используя наследование
- •4. Моделирование динамики поведения сппр.
- •4.1. Представление конечных автоматов. Диаграмма активности. Диаграмма состояний.
- •Состояния синхронизации.
- •Диаграмма состояний и переходов. Пример диаграммы: описание работы телефона.
- •4.2. Диаграммы деятельности (activity diagrams).
- •4.3. Диаграмма последовательности действий. Диаграммы кооперации
- •Диаграмма последовательности взаимодействия объектов. Описание времени жизни объектов.
- •Диаграмма кооперации объектов.
- •Диаграмма кооперации объектов. Взаимодействие активных объектов и их синхронизация.
- •5. Диаграммы компонентов и развертывания
- •5.1. Диаграммы компонентов
- •5.2. Диаграмма развертывания
- •Разработка Web - приложений с использованием uml
- •6. Проектирование баз данных с использованием uml Обзор возможностей современных субд
- •7. Примеры использования uml для построения исппр
- •Лекция 11. Uml-модели систем реального времени
- •14.2. Модели структуры информационной системы поддержки принятия решений
- •2.6. Модели динамики процесса управления в проблемных ситуациях
- •2.5. Модели динамики процесса управления в проблемных ситуациях
- •Список литературы
- •Приложение
- •6.2. Возможности jade
- •6.3. Прототип реализации агентной системы кспдо
- •Рис 12.Диаграмма взаимодействия классов Агента обучения с контролером, диспетчером и сервером агентов.
- •Рис 14. Диаграмма обмена сообщениями между агентами поиска, обучения, сообщений, mail.
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.