Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций по ПрИС.doc
Скачиваний:
11
Добавлен:
14.11.2019
Размер:
1.33 Mб
Скачать

2.10.2.1Сигнал

Именованный объект, который асинхронно возбуждается одним объектом и перехватывается другим.

Н аиболее типичный пример внутренних сигналов – это различного рода исключения. Создание и уничтожение объектов – это тоже сигналы. Как и классы, сигналы могут иметь атрибуты и операции.

Сигнал может вызвать переход состояния. Как правило, сигнал обрабатывается на уровне автомата.

Для специфицирования именованных сигналов внутри класса можно использовать стереотип <<сигнал>>, чтобы отличить сигнал среди остальных операций класса.

2.10.2.2С обытие вызова

Объект-отправитель инициирует операцию объекта-получателя (у которого есть автомат).

У правление передаётся от отправителя к получателю. Срабатывает соответствующий переход. Операция завершается. Получатель переходит в новое состояние и возвращает управление отправителю. В отличие от сигнала событие вызова является синхронным. Обрабатывается вызов операцией, которая объявлена в классе объекта-получателя.

2.10.2.3События времени и изменения

Событие времени представляет собой истечение промежутка времени.

М оделируется с помощью ключевого слова AFTER (после), за которым следует выражение, вычисляющее некоторый промежуток времени.

Событие изменения описывает изменение состояния или проверку некоторого условия.

Например, “высота полёта < 1000”. Моделируется с помощью ключевого слова WHEN (когда).

2.10.3Правила построения диаграммы состояний

При создании диаграммы состояния необходимо учитывать следующие обязательные условия:

  1. Отсутствие конфликтующих переходов. Элемент не может одновременно переходить в два и более последующих состояний. Для разрешения конфликта следует пользоваться ограждающими условиями.

  2. Отсутствие изолированных состояний и переходов. Каждый переход должен соединять два состояния (исключением являются начальное и конечное). Разрешаются рефлексивные переходы.

  3. Конечное количество состояний. По определению диаграмма состояний представляет конечный автомат. Каждое состояние на диаграмме должно быть специфицировано явным образом (исключением являются начальное и конечное состояния).

  4. Индивидуальность состояния. В каждом состоянии объект должен вести себя по-разному.

  5. Определённость состояния. В каждый момент времени элемент может находиться только в единственном состоянии. Если это не так, то это или ошибка, или признак наличия параллельности поведения.

  6. Необходимость построения нескольких диаграмм для параллельных процессов поведения. Данное условие следует учитывать особенно при создании диаграмм состояний, которые моделируют поведение системы в целом. Последовательный процесс предполагает, что элемент в течение своего жизненного цикла последовательно проходит через все свои состояния. Для параллельных процессов создаётся множество диаграмм состояния для каждого отдельного процесса поведения.

Кроме перечисленных условий следует помнить о двух аспектах:

  1. Если для системы важно, в каком состоянии находился моделируемый объект в момент выхода из состояния, то следует использовать историю событий. Это существенно при обработке исключительных ситуаций (прерываний без потери данных или выполненной работы). У каждого объекта может быть только одно историческое состояние (последнее).

  2. Если для системы важно, какое время элемент должен или может находиться в данном состоянии, то на диаграмме можно указать это время в явном виде. Каждое состояние должно характеризоваться определённой устойчивостью во времени. Если время ничтожно, то это ошибка выделения состояния.