
- •Л.Р. Черняховская
- •Объектно-ориентированное моделирование систем искусственного интеллекта
- •Учебное пособие
- •По дисциплине “Технология объектно-ориентированного моделирования”
- •Список принятых сокращений
- •Введение
- •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.
Состояния синхронизации.
|
Состояния для синхронизации потоков управления в параллельных подсостояниях. |
Диаграмма состояний и переходов. Пример диаграммы: описание работы телефона.
|
|
Переход в состояние, описываемое ссылкой на вложенный автомат, активизирует исходное состояние в целевом вложенном автомате. Для перехода в другие состояния вложенного автомата можно определить точку входа. Точка входа задает состояние вложенного автомата, не открывая внешнему миру его содержимое.
4.2. Диаграммы деятельности (activity diagrams).
Определение деятельности изображается в виде диаграммы деятельности. Диаграммы действий отражают динамику проекта и представляют собой схемы потоков управления в системе от действия к действию, а также параллельные действия и альтернативные потоки.
В представлении деятельности используются конструкции, задающие синхронизацию и ветвление; оно внешне напоминает, но значительно превосходит по своим возможностям традиционные блок-схемы алгоритмов, допускающие только ветвление и последовательно идущие конструкции. Выполнение этапов вычислений может быть как параллельным, так и последовательным.
В определении деятельности задаются узлы деятельности. Узел деятельности представляет выполнение оператора в процедуре или шага в потоке работ. Узлы соединяются между собой потоками управления и потоками данных. Выполнение узла деятельности обычно начинается, когда на каждом из его входных потоков появляются маркеры управления. Далее узел ожидает завершения своих вычислений. Когда выполнение узла завершается, управление передается узлам, связанным с выходными потоками данного узла. Потоки деятельности аналогичны переходам по завершению: переход управления происходит, когда завершается выполнение, но можно определить действия, которые будут происходить при наступлении конкретных событий.
Узлы деятельности могут быть вложенными. Диаграмма деятельности может иметь ветвления (branches), а также разделения (forking) управления между параллельными потоками. Параллельные потоки представляют собой элементы деятельности, которые объекты или люди могут совершать одновременно. Часто параллельность возникает в результате агрегации, когда у каждого объекта появляется свой собственный поток управления. Параллельные элементы деятельности могут осуществляться как одновременно, так и в любой последовательности.
Элементы выбора показывают места разделения управляющих потоков на основе условного выбора. Переходы из элементов выбора содержат ограничительные условия, определяющие, какое направление перехода будет выбрано.
Вообще, представление деятельности напоминает обычную блок-схему, с одним существенным отличием - в ней допускаются не только последовательное, но и параллельное управление потоком работ.
Есть также предопределенные узлы, поддерживающие различные формы управления, такие как ветвление и объединение. Параллельное выполнение моделируется с помощью разделений и слияний. Имеются также конструкции для обработки исключений и параллельного осуществления некоторого элемента деятельности над элементами множества.
В конечном счете, листами графа деятельности являются действия. Действием называется примитивная, предопределенная деятельность - например, чтение или изменение значения атрибута или ссылки, создание или разрушение объекта, отправка сигнала.
Узлы деятельности изображаются в виде прямоугольников с закругленными углами, внутри которых дается описание деятельности. Поток управления изображается стрелкой. Разветвления показываются как сторожевые условия на потоках управления или в виде ромбиков, из которых выходит несколько помеченных стрелок. Разделение или слияние потоков управления выглядят как несколько стрелок, выходящих или входящих соответственно в жирную черту – линейку синхронизации. Линии синхронизации (synhronization bar) позволяет указать на необходимость одновременного выполнения действий, а также обеспечивает единое выполнение действий в потоке.
На рис. *** представлена диаграмма деятельности, моделирующая выбор курса для преподавания.
В ситуациях, когда на диаграмме нужно указать внешние события, прием события изображается в виде действия, обозначающего ожидание сигнала. Такая же нотация изображает отправку сигнала.
«Разделы». Иногда на диаграмме нужно соотносить элементы деятельности с ответственностью за них - например, сгруппировать вместе все элементы деятельности одной организации. Разделение ответственности можно изобразить, поделив всю диаграмму на части (называемые разделами) вертикальными линиями (рис. ***). Линии делят диаграмму действий на несколько участков, чтобы показать, кто отвечает за выполнение действий на каждом участке. После этого диаграмма напоминает бассейн с плавательными дорожками, отсюда и другое название раздела - плавательная дорожка.
Для обозначения начального и конечного состояний в потоке управления используются специальные символы Start State и End State.
Объектные потоки. Помимо потоков управления, на диаграммах деятельности можно изображать потоки объектных значений. Объектный поток представляет объект, являющийся входным параметром или возвращаемым значением некоторого элемента деятельности.
Возвращаемое значение изображается в виде сплошной стрелки, идущей от элемента деятельности к объектному потоку, а входной параметр - в виде сплошной стрелки, идущей в обратном направлении, то есть от объектного потока к элементу деятельности.
Если результатом выполнения элемента деятельности является несколько выходных значений или если за ним следуют несколько потоков управления, то стрелки начинаются от знака разделения (fork). Точно так же, в случае наличия нескольких входных параметров, стрелки заканчиваются на знаке слияния (join).
На рис. *** показана диаграмма деятельности, в которой «плавательным дорожкам» приписаны как элементы деятельности, так и объектные потоки.
На диаграммах деятельности невозможно изобразить все подробности процесса вычислений. Они показывают потоки деятельности, но не объекты, которые в них участвуют. Такие диаграммы являются отправной точкой проектирования. Далее каждая деятельность должна быть реализована в одной или нескольких операциях, каждую из которых выполняет конкретный класс. Эта реализация выражается в диаграммах кооперации.
Действия
В UML определен набор примитивных действий, моделирующих манипуляции с объектами и ссылками, а также вычисления и коммуникацию между объектами. UML не определяет синтаксис для действий, поскольку ожидается, что в большинстве моделей будет использоваться существующий язык определения действия или язык программирования [UML].