Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Диаграммы переходов состояний



Диаграмма переходов состояний (State Transition Diagrams, STD) является графической формой представления конечного автомата – математической абстракции, используемой для моделирования детерминированного поведения технических объектов или объектов реального мира. Другими словами, STD используется для спецификации управления, то есть для моделирования и документирования аспектов системы, зависящих от времени или реакции на событие. Спецификации управления позволяют осуществить декомпозицию управляющих процессов и описать отношения между входными и выходными управляющими потоками на управляющем процессе – предке [ 8].

С помощью STD можно моделировать последующее функционирование системы на основе её предыдущего и текущего функционирования. Моделируемая система в любой заданный момент времени находится точно в одном из конечного множества состояний. С течением времени она может изменить своё состояние, при этом переходы между состояниями должны быть точно определены.

На этапе анализа требований и определения спецификаций STD демонстрирует поведение разрабатываемой программной системы при получении управляющих воздействий, приходящих в систему извне. Такими воздействиями могут быть команды пользователя, сигналы датчиков, подключенных к компьютерной системе. Получив такое управляющее воздействие, система должна выполнить определенные запрограммированные действия и/или остаться в том же состоянии, или перейти в другое состояние взаимодействия с внешней средой.

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

Состояние – может рассматриваться как условие устойчивости для системы. Находясь в определенном состоянии, мы имеем достаточно информации о прошлой истории системы, чтобы определить очередное состояние в зависимости от текущих входных событий.

Начальное состояние – узел диаграммы, являющийся стартовой точкой для начального системного перехода. STD имеет ровно одно начальное состояние, которое соответствует состоянию системы после её инсталляции, но перед началом реальной обработки, а также любое конечное число завершающих состояний.

Переход – перемещение моделируемой системы из одного состояния в другое. При этом имя перехода идентифицирует событие, которое явилось причиной перехода и которое управляет этим переходом.

Событие – состоит из управляющего потока (сигнала, сообщения), возникающего как во внешнем мире, так и внутри моделируемой системы, при выполнении некоторого условия, (например, Номер_Счета > =1000 или Пароль_Клиента=777). Здесь Номер_Счета и Пароль_Клиента – имена входного управляющего процесса-предка. Конечно, не все события вызывают переходы из отдельных состояний, так же как и одно и то же не всегда вызывает переход в то же самое состояние. Таким образом, УСЛОВИЕ представляет собой событие (или события), вызывающее переход и идентифицируемое именем перехода. В условии может участвовать входной управляющий поток управляющего процесса – предка.

Кроме условия с переходом может связываться Действие или ряд Действий (Деятельность), выполняющихся, когда переход имеет место. То есть Действие – это операция, которая может иметь место при выполнении перехода. Условие есть некоторое внешнее или внутреннее событие, которое система способна обнаружить и на которое она должна отреагировать, изменяя своё состояние. При изменении своего состояния система обычно выполняет одно или более действий (производит вывод результатов, выдаёт сообщения на терминал пользователя, либо выполняет вычисления и т.п.). Таким образом, Действие представляет собой отклик, посылаемый во внешнее окружение, или вычисление, результаты которого запоминаются в системе (обычно в хранилищах данных на DFD), для того, чтобы обеспечить реакцию на некоторые из планируемых в будущем событий.

Условные обозначения STD показаны на рис. 3.10.

 

Рис. 3.10. Условные обозначения диаграмм переходов состояний:

а – терминальное состояние; б – промежуточное состояние; в – переход

 

Приведем диаграмму переходов состояний для программы построения графиков функций одной переменной.

Для интерактивного программного обеспечения с развитым пользовательским интерфейсом основные управляющие воздействия – команды пользователя, а для ПО реального времени – сигналы от датчиков и/или операторов. Общим для этих типов ПО является наличие состояния ожидания, когда программа приостанавливает свою работу до получения очередного управляющего воздействия. В отличие от интерактивных систем для систем реального времени обычно установлено более жесткое ограничение на время обработки полученного сигнала.

 

 

Рис. 3.11. Диаграмма переходов состояний программы

построения графиков/таблиц функций

 

К программному обеспечению, требующему уточнения особенностей поведения посредством построения STD, относится и ПО, ориентированное на работу в сети. При этом отдельно строят модели поведения сервера и клиента, представляя сообщения, передаваемые между ними, в виде управляющих воздействий.

Используемая нами программа построения графиков функций относится к классу интерактивных, поэтому на этапах анализа и определения спецификаций целесообразно уточнить поведение программы на уровне интерфейса с пользователем. При построении STD рекомендуется следовать правилам:

· cтроить STD на как можно более высоком уровне детализации DFD;

· cтроить как можно более простые STD;

· по возможности детализировать STD;

· использовать принципы именования состояний, событий и действий, что и при именовании процессов и потоков.

При построении STD применяются два способа.

Первый заключается в идентификации всех возможных состояний и дальнейшем исследовании всех не бессмысленных связей (переходов) между ними. По второму способу сначала строится начальное состояние, затем следующие за ним и т.д.

В ситуации, когда число состояний и/или переходов велико, для проектирования спецификаций управления могут использоваться таблицы и матрицы переходов состояний. Обе эти нотации позволяют зафиксировать ту же самую информацию, что и STD, но в другом формате. В качестве примера таблицы переходов состояний приведем таблицу 3.1, соответствующую рассмотренной выше STD (рис. 3.11).

Таблица переходов состояний содержит по вертикали перечень состояний системы, а по горизонтали список условий. Элемент пересечения содержит список действий, а также имя состояния, в которое осуществляется переход. Используется и другой вариант данной нотации: по вертикали указываются состояния, из которых осуществляется переход, а по горизонтали – состояния, в которые осуществляется переход. При этом каждый элемент таблицы содержит соответствующие условия и действия, обеспечивающие переход из «вертикального» состояния в «горизонтальное».

Таблица 3.1

Текущее состояние Условие Действие Следующее состояние
Исходное состояние Всегда Инициализация Ожидание
Ожидание Выполнение Вывод таблицы или построение графика Ожидание
Ожидание Ввод вида результата Ожидание
Ожидание Ввод шага Ожидание
Ожидание Ввод интервала Ожидание
Ожидание Ввод/выбор формулы Ожидание
Ожидание Команда Завершение Состояние завершения

Таблица переходов состояний

 


Поделиться:



Последнее изменение этой страницы: 2017-05-11; Просмотров: 626; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.015 с.)
Главная | Случайная страница | Обратная связь