Для
отражения на диаграмме связей между
устройствами надо использовать кнопку
Connection на панели инструментов. Поочередно
щелкая на объекте Компьютер и проводя
линию к каждому объекту, связать, таким
образом, компьютер со всеми исполнительными
устройствами системы.
4 ПОСТРОЕНИЕ ДИАГРАММЫ СОСТОЯНИЙ
(STATECHART
DIAGRAMS)
Диаграмма
состояний описывает поведение
системы и все возможные состояния,
в которых могут находиться объекты.
На диаграмме должны быть отражены
два специальных состояния системы
– начальное и конечное.
Чтобы
создать диаграмму состояний, необходимо
в пункте главного меню Browse выбрать
пункт State Machine Diagram, затем <New>, установить
тип диаграммы - Statechart и в окне Title ввести
имя создаваемой диаграммы- Statechart. Откроется
диаграмма и соответствующая ей панель
инструментов.
Начальному
состоянию в автоматизированной
системе «Выпечка» соответствует
составление плана подготовки печи
к выпечке. Для указания на диаграмме
начального состояния необходимо:
- На панели
инструментов нажать кнопку Start State.
- Щелкнуть
мышью на диаграмме состояний.
- Щелкнуть
по начальному состоянию правой кнопкой
мыши, в открывшемся меню выбрать пункт
Open Specification (окно спецификаций), в поле
Documentation окна спецификаций ввести
текстовое описание – « Задание конфигураций».
Первое
состояние системы – состояние активных
действий, т.е. ожидание сведений, поступающих
от датчиков, и команд исполнительным
устройствам, поступающим от оператора.
Для добавления на диаграмму состояния
необходимо:
- На панели
инструментов нажать кнопку State.
- Щелкнуть
мышью на диаграмме состояний.
- Щелкнуть
правой кнопкой мыши по созданному состоянию,
в открывшемся меню выбрать пункт Open Specification,
на вкладке General в поле Name ввести имя состояния
- Idle.
- В поле Documentation
окна спецификаций ввести текстовое
описание состояния – «Состояние ожиданий
сведений, поступающих от повара к исполнительным
устройствам». Переход объектов из одного
состояния в другое на диаграмме изображается
с помощью стрелки, которая начинается
на первоначальном состоянии и заканчивается
на последующем. Чтобы связать начальное
состояние и состояние ожидания Idle, необходимо
выполнить следующие действия:
- Нажать кнопку
State Transition на панели инструментов.
- Щелкнуть
мышью на начальном состоянии и провести
линию перехода до состояния Idle.
- Щелкнуть
на линии перехода и в открывшемся окне
спецификации на вкладке General ввести название
состояния – конфигурации печи, в поле
Documentation ввести текстовое описание
состояния – «Задание конфигураций печи».
В
момент включения печи запускается
таймер, который находится в состояние
ожидания. Следующее состояние - анализ
поступившей информации о плане подготовки
печи к выпечке в контроллер. Добавить
состояние на диаграмме нужно с помощью
кнопки State на панели инструментов. В окне
спецификаций ввести имя - Controller_analyze, и текстовое
описание состояния – «Анализ поступившей
информации о плане подготовки печи к
выпечке в контроллер».
От
состояния Idle к состоянию Controller_analyze
необходимо установить линию перехода
с помощью кнопки State Transition. Щелкнуть на
линии перехода и в открывшемся окне на
вкладке General ввести название перехода
– Inf, в поле Documentation ввести комментарий
– «Получение информации от задания
конфигураций печи для дальнейшего анализа».
Завершение
процесса выпекания, то есть – печь, соответствует
конечному состоянию системы «Выпечка».
Для указания на диаграмме конечного состояния
необходимо:
- На панели
инструментов нажать кнопку End State.
- Щелкнуть
мышью на диаграмме состояний.
- Щелкнуть
по конечному состоянию правой кнопкой
мыши, в окне спецификаций в поле Documentation
ввести комментарий – «Завершение процесса
выпечки».
От
состояния Controller_analyze к конечному
состоянию необходимо провести линию
перехода, для чего выполнить следующие
действия:
- Нажать кнопку
State Transition на панели инструментов.
- Щелкнуть
мышью на состоянии Controller_analyze и провести
линию перехода к конечному состоянию.
- Щелкнуть
на линии перехода и в окне спецификации
на вкладке General ввести название состояния
– Take_Vypechka, а в поле Documentation ввести комментарий
– «Завершение процесса выпечки».
Если
время, поступившее от таймера и
температура, поступившая с датчика
температуры к контроллеру соответствует
введённым, то происходит выпекание, если
время и температура поступившее
от таймера и датчика неверны, то происходит
повторная посылка запроса таймеру и датчику.
Чтобы отразить на диаграмме это состояние
системы, необходимо:
- На панели
инструментов нажать кнопку State.
- Щелкнуть
мышью на диаграмме состояний.
- Щелкнуть
правой кнопкой мыши по созданному состоянию,
в меню выбрать пункт Open Specification, на вкладке
General в поле Name ввести имя состояния –
Testing_Temperatura I vremya , в поле Documentation ввести
текстовое описание состояния – «Проверка
текущего времени и температуры печи».
От
состояния Controller_Analyse к состоянию Testing_
Temperatura I vremya необходимо провести линию
перехода.
С
обработкой сведений, поступающих от
плана подготовки печи, могут быть
связаны различные действия. К
состоянию проверки времени Testing_ Temperatura
I vremya нужны подробности. Первое действие:
контроллера поступает текущее значение
времени и температуры к таймеру и
датчику.
Чтобы
добавить первое действие, связанное
с тестированием времени и
температуры, необходимо выполнить следующее:
- Щелкнуть
мышью на состоянии Testing_ Temperatura I vremya, открыть
окно спецификаций.
- Перейти на
вкладку Actions.
- Щелкнуть
правой кнопкой мыши в окне, выбрать пункт
Insert в открывшемся меню. Дважды щелкнуть
на созданном действии.
- В окне When
указать On Event.
- В поле Event
ввести NoVypechka (нет выпечка).
- В поле Condition
ввести условие real time i temperatura>planovoi and
signal.ON, что означает «введённое время,
и температура не соответствуют плановом
и подаётся сигнал на ожидание».
- В поле Type
указать тип действия Send Event.
- В поле Name
ввести название действия, которое должно
последовать - Signal.OFF (сигнала нет).
- Нажать кнопку
Apply и OK.
Второе
действие заключается в том, что
введенное время и температура
верны и сигнал подаётся на таймер
и датчик. Подробности для этого действия
добавить аналогично первому действию:
- Щелкнуть
мышью на состоянии TestingEnvironment, открыть
окно спецификаций.
- Перейти на
вкладку Actions.
- Щелкнуть
правой кнопкой мыши в окне, выбрать пункт
Insert в открывшемся меню. Дважды щелкнуть
на созданном действии.
- В окне When
указать On Event.
- В поле Event
ввести Vypechka(выпечка).
- В поле Condition
ввести условие real time i temperatura=planovoi and signal.OFF,
что означает «введённое время и температура
соответствуют плановому и сигнал на ожидание
не подаётся».
- В поле Type
указать Send Event.
- В поле Name
ввести название действия, которое должно
последовать - Signal.ON (сигнала поступает
на таймер и датчик).
- Нажать кнопку
Apply и OK.
Теперь
необходимо обозначить на диаграмме работу
таймера:
- На панели
инструментов нажать кнопку State.
- Щелкнуть
мышью на диаграмме состояний.
- Щелкнуть
правой кнопкой мыши по созданному состоянию,
в меню выбрать пункт Open Specification, на вкладке
General в поле Name ввести имя состояния –
datchiki_take datchiki _, в поле Documentation ввести
текстовое описание состояния – «Датчики».
От
состояния Testing_ Temperatura I vremya к состоянию
datchiki_take datchiki необходимо провести линию
перехода, для чего выполнить следующие
действия:
- Нажать кнопку
State Transition на панели инструментов.
- Щелкнуть
мышью на состоянии Testing_Temperatura I vremya и провести
линию перехода к datchiki_take datchiki.
Датчики
совершают 2 действия. Первое из них
– анализ времени и температуры
поступившего от Testing_Temperatura I vremya Необходимо
добавить подробности для этого действия:
- Щелкнуть
мышью на состоянии datchiki_take datchiki, открыть
окно спецификаций.
- Перейти на
вкладку Actions.
- Щелкнуть
правой кнопкой мыши в окне, выбрать пункт
Insert в открывшемся меню. Дважды щелкнуть
на созданном действии.
- В окне When
указать Do, что означает выполнение действия
до выхода из данного состояния.
- В поле Type
указать Send Event (послать событие).
- В поле Name
ввести название – Plan Temperatura I vremya (плановое
время и температура,полученные от Testing_
Temperatura I vremya), в поле Send target – действие,
совершаемое на данном этапе(анализ времени
и температуры) – Analyse Temperatura I vremya
- Нажать кнопку
Apply и OK.
Второе действие заключается в том, что
датчики посылают в определённое время
(время готовности выпечки) сигнал на контроллер:
- Щелкнуть
мышью на состоянии datchiki_take datchiki, открыть
окно спецификаций.
- Перейти на
вкладку Actions.
- Щелкнуть
правой кнопкой мыши в окне, выбрать пункт
Insert в открывшемся меню. Дважды щелкнуть
на созданном действии.
- В окне When
указать Do, что означает выполнение действия
до выхода из данного состояния.
- В поле Type
указать Send Event (послать событие).
- В поле Name
ввести название – Real Temperatura I vremya
- (настоящее
время и температура, в которое подаётся
сигнал о готовности выпечки), в поле Send
target – действие, совершаемое на данном
этапе(посылка сигнала) – SendRing
- Нажать кнопку
Apply и OK.
Для
проведения линии перехода от состояния
datchiki_take datchiki к состоянию Controller_analyze
надо воспользоваться кнопкой State
Transition на панели инструментов.
5 ПОСТРОЕНИЕ
ДИАГРАММЫ АКТИВНОСТИ
(Activity
Diagrams)
Диаграмма
активности описывает последовательность
действий объектов и вариантов использования.
Чтобы создать диаграмму активности,
необходимо в пункте главного меню Browse
выбрать пункт State Machine Diagram, затем <New>,
установить тип диаграммы - Activity и в окне
Title ввести имя создаваемой диаграммы-
Activity. Откроется диаграмма и соответствующая
именно ей панель инструментов. Инструмент
Swimline («плавающие строки») используется
для моделирования последовательности
действий, выполняемых объектами, и связей
между ними. На диаграмме активности это
представлено в виде отдельных зон. Чтобы
создать в окне диаграммы зону, необходимо
выполнить следующие действия:
- Щелкнуть
по Swimline на панели инструментов.
- Щелкнуть
на каком-либо месте диаграммы.
- В заголовке
образовавшейся зоны щелкнуть правой
кнопкой мыши, в появившемся меню открыть
окно спецификаций (Open Specification), в поле
Name ввести имя, в окне Class установить <New>
и ввести имя класса.
Для
моделирования последовательности
действий объектов в окне диаграммы
следует установить три зоны: Timer and datchiki:
SendTime and send temperatura, Controller: TakeVypechka,Vypechkaplan.
В
зоне Vypechkaplan с помощью панели инструментов
создаем начальное состояние и состояние
ожидания сведений и команд Idle, так же,
как на диаграмме состояний. На поле Controller:Take_Vypechka
необходимо создать объект Controller, аналогично
способу создания на диаграмме состояний.
В
этой же зоне Controller:Take_ Vypechka необходимо
добавить следующий объект с именем Plan_Time
and temperatura(плановое время и температура),
используя инструмент Activity. Устанавливаем
линию перехода от состояния Controller к Plan_
Time and temperatura с помощью кнопки State Transition.
Контроллер
запрашивает время и температуру
у таймера и у датчика. Чтобы
показать это на диаграмме необходимо
создать объект timer and datchik_send time and temperature
в зоне Timer and datchiki: SendTime and send temperatura используя
инструмент Activity и от Controller установить
линию перехода.
Далее
в зоне Controller:Take_ Vypechka создать с помощью
инструмента Activity объект RealTime and temperatura
(текущее время и температура, в которое
будет осуществлена выпечка) и провести
от Timer and datchiki: SendTime and send temperatura линию перехода.