Диаграммы состояний
Диаграммы состояний (State Machine Diagram) стали новым типом диаграмм в версии UML 2.0. Они особенно важны для разработчика, использующего среду Delphi. Дело в том, что в последней версии Delphi 2006 имеется технология моделирования ЕСО III. Она расширена средствами визуального построения алгоритмов. С помощью этих средств описывается работа разных элементов модели. Ранее для описания модели и генерации исходного кода на языке Delphi применялись лишь статические диаграммы классов. Теперь задействованы и диаграммы состояний.
Диаграмма состояний – это средство, описывающее логику функционирования автоматов (машин состояний).
В основу диаграмм состояний положена концепция автоматов. Доказано, что с помощью таких автоматов можно запрограммировать произвольный алгоритм любой сложности, если его можно также записать на императивном языке программирования.
Диаграмма состояний всегда относится к конкретному классу и описывает его внутреннее функционирование. На диаграмме конкретное состояние отображается с помощью элемента Sate. Начальное и конечное состояния – элементы Initial (Начальное) и Final (Конечное) – представлены на диаграмме сплошным кружком. Кружок, соответствующий конечному состоянию, обведен каймой. Фактически, это псевдосостояния, не возникающие при реальной работе. Начальное и конечное состояния лишь наглядно задают последовательность входа в первое рабочее состояние и выхода из последнего рабочего состояния.
Отдельное состояние может охватывать последовательность действий. Состояние, охватывающее другие состояния, называют суперсостоянием, а вложенные в него состояния – подсостояниями. Такой иерархический подход к организации состояний позволяет формировать одинаковое реакции подсостояний на уровне одного суперсостояния. Пусть, например, имеется стандартное аварийное состояние и стандартный переход в него по команде отмены. Для каждого из множества состояний диаграммы можно указать этот переход индивидуально, а можно объединить их в суперсостояние. Тогда переход в аварийное состояние представляется на диаграмме всего одной линией, исходящей из элемента, представляющего суперсостояние.
Каждое из состояний на диаграмме не обязано пассивно ожидать внешнего события, приводящего к переходу основного объекта в следующее состояние. Состояние может вести определенную деятельность. Соответствующая деятельность задается свойством состояния Do activity (Выполнение деятельности). Нужная деятельность уже должна быть задана в проекте, например на одной из диаграмм деятельности. Подобное состояние, когда до него доходит очередь, начинает эту деятельность и ожидает ее завершения, фактически отображая не статическое состояние, а выполнение процесса. Этот процесс может быть прерван, что вызовет переход в другое состояние. Если он закончится успешно, также выполнится соответствующий переход.
В диаграммах состояний UML 2.0 можно описывать историческое состояние. Обычная история состояния и глубокая история представлены как отдельные элементы: Shallow History (Обычная история состояния) и Deep History (Глубокая история).
Элемент Junction (Слияние) визуализирует слияние и разделение потоков управления. Он представляет собой промежуточный узел, по внешнему виду аналогичный начальному элементу Initial. В таком узле собираются, а потом вновь расходятся потоки управления. В диаграммах состояний можно также задействовать условный элемент Choice (Выбор).
Дата добавления: 2021-12-14; просмотров: 295;