Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Диаграммы переходов состояний
Диаграмма переходов состояний (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; Нарушение авторского права страницы