рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Диаграммы состояний

Диаграммы состояний - раздел Образование, АНАЛИТИЧЕСКИЕ И ИМИТАЦИОННЫЕ МОДЕЛИ   Диаграммы Состояний (State Diagram) Определяют Состояния, В К...

 

Диаграммы состояний (state diagram) определяют состояния, в которых может находиться конкретный объект, а также процесс смены состояний объекта в результате влияния некоторых событий. Диаграммы состояний строятся для единственного класса и описывают поведение единственного объекта. Эта диаграмма представляет собой граф состояний, в которых может находиться объект, и связей между ними.

Состояния (state) представляют собой отрезок времени в жизни объекта, в течение которого является истиной некоторое условие, выполняются некие действия или ожидается некоторое событие. Состояние представляется на диаграмме как прямоугольник с закругленными углами (см. рис. 9.19). Он может иметь одну или несколько секций. В них содержатся:

- имя состояния. Указание имени состояния необязательно. Два символа состояния с одним и тем же именем представляют на диаграмме одно и то же состояние объекта. Использование нескольких символов одного и того же состояния используется в диаграмме для удобства представления (например, для того, чтобы не перегружать одно состояние подходящими к нему и исходящими из него связями);

 

Рис. 9.19

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

- внутреннее поведение. Указывается список внутренних действий, выполняемых, когда объект находится в данном состоянии. Каждое действие описывается следующим образом:

<имя события><список параметров> ‘/’ <действие>

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

- ‘entry’ ‘/‘ <действие> - действие, выполняемое при входе в состояние;

- ‘exit’ ‘/’ <действие> - действие, выполняемое при выходе из состояния;

- ‘do’ ‘/’ действие> — действие, выполняемое при нахождении в состоянии.

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

Состояние может иметь иерархическую структуру. Каждое подсостояние (substate) может иметь свое начальное и конечное псевдосостояния. Переход в такое состояние означает переход в начальное псевдосостояние внутри него. Переход в конечное псевдосостояние подсостояния означает завершение работы данного подсостояния. Завершение работы всех подсостояний означает завершение активности данного состояния и выход из него.

Любое состояние может быть усовершенствовано введением в него последовательных подсостояний или параллельных подсостояний. Его подсостояния могут быть усовершенствованы первым или вторым способом.

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

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

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

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

Пусть в нашем примере с трассой при сдаче экзамена учеником предусматривается ситуация с проколом шины. На трассе существуют специальные съезды с трассы, на которые должен быть отбуксирован автомобиль с проколотой шиной. Там шину заменяют в течение времени Т и автомобиль возвращается на трассу. Этот процесс смены проколотой шины удобно представить в качестве диаграммы состояний с последовательными подсостояниями (см. рис. 9.20).

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

 

 

Рис. 9.20

 

 

Рис. 9.21

 

Событием (event) называется заслуживающее внимания происшествие. В диаграмме состояний оно может вызывать переход из одного состояния в другое. События могут быть различных видов:

- обозначенное условие, обычно описанное булевским выражением, становится истинным, описывается условием перехода без определения имени события;

- получение одним объектом сигнала от другого объекта, описывается именем события, вызывающим переход;

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

Сигнал или вызов события может быть определен следующим образом:

<имя события>’(‘<параметр>’,’ . . .’)’

Параметры имеют следующий формат:

<имя параметра’:‘<тип>

Сигнал может быть представлен как класс со стереотипом «signal» на диаграмме классов. Параметры будут в этом случае атрибутами класса. Сигнал также может быть определен как подкласс другого сигнала (см. рис. 9.22).

 

Рис. 9.22

 

Событие, связанное с истечением промежутка времени, описывается выражением, в котором указывается данный отрезок модельного времени, например, «5 seconds». По умолчанию, по истечении данного отрезка времени происходит выход из текущего состояния. В противном случае подобные события могут быть описаны условным выражением, например:

[date = Jan. 1, 2000] ИЛИ [10 seconds since exit

from state А].

События могут быть объявлены на диаграмме классов как класс со стереотипом «event».

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

Переход на диаграмме состояний представляется сплошной линией со стрелкой на конце, проведенной от одного состояния (исходного) к другому (конечному), помеченной строкой перехода. Данная строка имеет следующий формат:

<описание события>’[‘(условное выражение>]‘/’(действие>’^’ <посылка сообщения>

где: - описание события описывает событие и его аргументы:

<имя события>’,’<параметр>’,’. . .’)’;

- условное выражение является булевским выражением, описывающим условие, при выполнении которого происходит данное событие;

- действие есть выражение, выполняемое при инициации данного перехода. Оно может содержать в себе операции, атрибуты, данного объекта и параметры вызванного события;

- посылка сообщения определяет сообщение (или сигнал), посылаемое при возникновении данного события, и имеет следующий формат:

<адресат>’.‘<имя сообщения>’(‘<параметр>’.’ . . ‘)‘,

где: - адресат является выражением, определяющим объект (или множество объектов), которому посылается сообщение (сигнал);

- имя сообщениясодержит в себе имя события, о котором посылается сообщение (сигнал);

- параметры передаются вместе с данным сообщением (сигналом) объекту-адресату.

Переход может содержать несколько таких предложений. Порядок их расположения определяет порядок их выполнения;

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

Обычно все исходные состояния должны быть активны к тому моменту, когда инициируется сложный переход (complex transition). В более сложных ситуациях условие перехода может быть расширено разрешением начал перехода при условии, что некоторое подмножество исходных состояний активно.

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

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

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

Переход на диаграмме состояний, выходящий из-за границы сложного состояния, символизирует собой переход из сложного состояния в другое состояние. Переход может быть проведен непосредственно от любого подсостояния системы к состоянию, находящемуся вне сложного состояния. В случае перехода в сложное состояние для каждого из начальных подсостояний выполняются необходимые входные (“entry”) действия. При выходе из сложного состояния для каждого из конечных подсостояний выполняются необходимые выходные (“exit”) действия.

Состояние может содержать в себе индикатор предшествующего состояния (history state indicator), представляемый на диаграмме состояний как маленький кружок с буквой “Н” внутри. Индикатор предшествующего состояния может иметь любое количество входящих переходов, но не может иметь выходящих переходов. Если в него выполняется переход, то это означает, что объект возвращается в то состояние, в котором пребывал перед тем, как покинуть данное сложное состояние. Необходимые входные (“entry”) действия при этом также выполняются.

Вложенность в сложном состоянии может быть скрыта. Переход во внутреннее состояние в подсостоянии или выход из подсостояния представляется как линия перехода, проведенная к так называемым условным псевдосостояниям (stubs).

Условные псевдосостояния представляются на диаграмме как небольшие вертикальные линии, расположенные в поле сложного состояния. Условные псевдосостояния не могут представлять начальные или конечные псевдосостояния подсостояний.

Выполняемое в объекте действие посылает сообщения множеству объектов-адресатов. Последнее может содержать в себе от одного объекта до всей системы. Посылка сообщения на диаграмме представляется сплошной линией со стрелкой на конце, проведенной от объекта-отправителя к объекту-адресату (см. рис. 9.23).

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

 

 

Рис. 9.23

 

– Конец работы –

Эта тема принадлежит разделу:

АНАЛИТИЧЕСКИЕ И ИМИТАЦИОННЫЕ МОДЕЛИ

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ... Технологический институт... Федерального государственного образовательного учреждения высшего профессионального образования...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Диаграммы состояний

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

СТОХАСТИЧЕСКИЕ МОДЕЛИ
ОБЪЕКТОВ………………………………………..……. 46 3.1. Математические модели случайных процессов..… 46 3.2. Классификация моделей случайных процессов..… 53 3.3. Модели мар

МОДЕЛИ СИСТЕМ
МАССОВОГО ОБСЛУЖИВАНИЯ……..…………... 147 7.1. Общие сведения…..………………………………..... 147 7.2. Модель входного потока заявок и времени обслуживания…..…………………….……

УНИФИЦИРОВАННЫЙ
ЯЗЫК МОДЕЛИРОВАНИЯ UML…………..………. 229 9.1. Основные компоненты…………..…………………. 229 9.2. Понятия и компоненты…………..…………………. 231 9.3. Диаграммы вариантов испо

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

Концепции определения моделей
Под динамической системой понимается объект, находящийся в каждый момент времени tÎT в одном из возможных состояний

Инерционные модели
Динамические системы с последействием (с предысторией) могут быть формализованы с применением дифференциальных уравнений с запаздывающим аргументом. 2.3.1. Дифференциальные уравнен

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

Конечные автоматы
Для моделирования динамических систем, функционирующих в дискретном времени, применяется аппарат конечных автоматов [7]. Теория конечных автоматов и их модели используются при синтезе и анализе выч

СТОХАСТИЧЕСКИЕ МОДЕЛИ ОБЪЕКТОВ
  3.1. Математические модели случайных процессов При проведении научных исследований в производстве и в быту часто встречаются события, которые многократно появляются при одн

Понятие статистического моделирования
При определении методов статистического моделирования применяют название «метод Монте-Карло». Определение, которое характеризует этот метод достаточно точно и полно, не существует. Известно, что эт

Датчики случайных чисел
Для имитации случайных событий необходим некоторый эталон, т.е. то, с чем можно что-то сравнить. Известно, что наука существует там, где есть измерения. Отсутствие измерений приводит к схоластике,

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

Имитация случайных событий
  Пусть события S1, S2,..., Smобразуют полную группу несовместимых событий, каждое из которых может произойти с вероятностью Рi, причем

Имитация непрерывных случайных величин
Если событие Х принимает значения в некоторой области непрерывных величин, то для аналитического моделирования непрерывных событий применяют функцию распределения вероятностей

Имитация марковского процесса
4.6.1. Моделирование дискретной цепи Маркова. Рассмотрим дискретную цепь Маркова или марковский процесс с дискретным временем перехода из одного состояния в другое. Математическая

Выбор числа опытов
При разработке имитационных моделей для исследования случайных объектов существует задача выбора числа опытов (объема выборки). Это непростая задача, т.к. во-первых, необходимо обосновать достоверн

Формулы и алгоритмы для оценки результатов моделирования
  При реализации моделирующего алгоритма на ЭВМ вырабатывается информация о состоянии моделируемых систем, которая представляет собой исходный материал для определения приближенных ис

Аналитическое определение вероятностных автоматов
6.1.1. Формальное задание и классификация. Вероятностные автоматы (ВА) относятся к дискретно-стохастическому классу моделей. Данный тип моделей служит инструментом изучения динамич

Имитационное моделирование вероятностных автоматов
  Для имитации процесса функционирования ВА необходимо задать: - такты моделирования T, а также цикл по тактам моделирования от нуля до заданного числа такто

Модель входного потока заявок и времени обслуживания
Входной поток заявок характеризуется начальным моментом времени t0, моментами времени ti поступления i-х заявок, случайными

Модель Эрланга
При моделировании СМО исследуется изменение в системе за сколь угодно малый отрезок времени. Составляются уравнения в частных приращениях, от которых затем осуществляется переход к дифференциальным

Исследование модели пуассоновского процесса с помощью производящих функций
Будем считать, что на вход СМО поступает пуассоновский поток заявок с интенсивностью l и вероятностью Рn(t) того, что за время t в СМО

Имитационное моделирование одноканальной СМО
Алгоритмизация может осуществляться с применением способа Dt-моделирования, который позволяет определить состояния СМО через интервал времени Dt.

Имитационные модели многофазных СМО
Пусть СМО имеет структуру, показанную на рис. 7.18, т.е. обслуживание состоит из двух фаз. Входной поток заявок задан функцией распределения вероятностей длин интервалов между заявками A(t)

Имитационные модели многоканальных СМО
  7.8.1. Модели систем с общей очередью.Рассмотрим задачу построения имитационной модели трехканальной СМО с общей очередью. Понятие общей очереди предусматривает, чт

Алгоритмизация имитационной модели СМО произвольной структуры
  Методика построения имитационной модели СМО сложной структуры сводится к разработке модульной структуры алгоритмической модели. Структуру СМО необходимо декомпозировать на отдельные

Моделиpующие алгоpитмы
  Для моделиpования любого объекта, заданного пpи помощи математичеcкой модели, а также в виде последовательности процедур, имитирующих отдельные элементарные процессы, необxодимо поc

Основные компоненты
  После многх попыток создания унифицированных языков для решения задач моделирования был разработан и опробован объектно-ориентированный подход. Первый язык Simula-67, основанный на

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

Array, Real, Vektor, Matrix.
Описание типа зависит от того, какой язык программирования используется разработчиками. Атрибуг изображается в виде текстовой строки, отражающей различные его свойства: <признак

Масса машины
… У каждой секции прямоугольника класса может быть имя. Так как секция «имя класса» обязательна, то ее имя не указывается, как показано на рис. 9.6.  

Связи между объектами
  Аналогично ключевому понятию модели классов - понятию ассоциации, - для объектов существует понятие связи (link). Связь есть экземпляр ассоциации, установленной для объектов данных

Диаграммы взаимодействия
Взаимодействия между объектами в системе представляются диаграммами взаимодействия (interaction diagrams). Диаграммы взаимодействия подразделяются на два основных типа диаграмм: диаграммы последова

Диаграммы деятельностей
Диаграммы деятельностей (aktivity diagrams) предназначены для того, чтобы отразить переходы в рамках выполнения определенной задачи, вызванные внутренними процессами. Используются для моделирования

Определение объекта
  Объектно-ориентированный подход в последнее время стал прочно ассоциироваться с программированием. Объектно-ориентированный подход развивался почти исключительно программистами. Ито

Behavior
domain; }/*GGenerator*/     Рис. 10.3

Наследование
  Наследование в ООМ понимается примерно так же, как и в ООП. Если объявляете класс с2 прямым потомком класса с1, то класс с2 наслед

Полиморфизм
  Полиморфизмом в ООП называется возможность использования вместо объектов одного декларированного класса объекты другого класса, называемого замещающим, совместимого с первым. Аналог

Equation
Z= X/K; endCMulGiv; Новый класс CMulGiv наследует от своего суперкласса CGain вход, выход, параметр и одно уравнение, а также добавляет один выхо

Equation
Y = if X>Xmax then UpperLimit else if X<Xmin then LowerLimit else K*X;

Equation
connect(Gem.Y,Amp.X); connect(Gem.Y,Y); endCSineSource; Далее нужно создать специальный класс CLimitedSineSource на основе СSineSource, переопределив пар

Типы данных и пакеты
  Для моделирования непрерывных систем необходим минимальный набор типов данных: скалярный вещественный тип, типы «вектор» и «матрица», а также целые числа для вычисления индексов век

БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Советов Б.Я., Яковлев С.А. «Моделирование систем». – М.: Высш. школа, 1985 – 271 с. 2. Бусленко Н.П. Моделирование сложных систем. – М.: Наука,1978. – 400 с. 3. Финаев В.И. Мод

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги