Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Жизненные циклы и диаграмма перехода в состояния




Жизненные циклы объектов

Модели поведений в реальном мире

Если обратиться к рассмотрению динамического поведения предметов в реальном мире, то можно заметить, что предметы в мире обычно имеют срок жизни. Часто что-нибудь создается или появляется, эволюционирует через определенные стадии своего существования и потом умирает или исчезает.

Рассмотрим некоторые общие наблюдения относительно моделей поведения для различных предметов в реальном мире:

1. Многие предметы на протяжении их срока жизни проходят через различные стадии.

2. Порядок эволюционирования предмета через стадии формирует характерную черту поведения отличительного признака этого предмета.

3. Реальный предмет находится в одной-единственной стадии модели поведения в любое данное время.

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

5. В схеме поведения разрешены не все эволюции между стадиями. Некоторые эволюции запрещаются законами физики, некоторые – уставами и т. д.

6. В реальном мире существуют инциденты, которые заставляют предметы эволюционировать (или указывают, что они эволюционировали) между стадиями.

 

В анализе главным образом используются два вида моделей состояний, в ООА используется форма Мура. Модель состояний Мура состоит из:

- множества состояний. Каждое состояние представляет стадию в жизненном цикле типичного экземпляра объекта;

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

- правил перехода (или переходов, для краткости). Правило перехода определяет, какое новое состояние достигается, когда с экземпляром в данном состоянии происходит некоторое событие;

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

Модель состояний может представляться в диаграммной форме, известной как диаграмма переходов в состояния.

Жизненные циклы различных объектов часто скоординированы один с другим.

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

 

Состояния

Состояние – это положение объекта, в котором применяется определенный набор правил, линий поведения, предписаний и физических законов.

Графически состояния показываются рамками (рис. 5.6).

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

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

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

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

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

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

 

События

Событие – это абстракция инцидента или сигнала в реальном мире, который сообщает нам о перемещении чего-либо в новое состояние. В абстрагировании события определяются четыре аспекта события:

1) значение;

2) предназначение;

3) метка;

4) данные события.

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

Предназначение события – модель состояний (не автомат), которая принимает события. Может быть один-единственный такой приемник для данного события.

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

Чтобы делать короткие метки, обычно используется комбинация буква-номер. Большинство аналитиков находят полезным использовать некоторый вид соглашения для обозначения меток события. Например, вида приемлемых для этого схем:

1. Обозначение, основанное на предназначении. Определите метки события так, чтобы все события, которые принимаются объектом, начинались с ключевого литерала этого объекта.

2. Обозначение «внутренний – внешний». Используется особый символ (обычно Е от слова external, т. е. внешний) для обозначения события, происходящего между двумя объектами. Для событий, которые порождаются объектом и которые к нему же направлены, используется ключевой литерал этого объекта.

Событие следует рассматривать как сигнал управления, который может (и, как правило, это делает) переносить данные. Эти данные приводятся для действия при достижении объектом определенного состояния.

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

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

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

1. Правило тех же данных. Все события, которые вызывают переход в определенное состояние, должны нести одни и те же данные события.

2. Правило состояния несоздания. Если событие может вызывать переход в состояние, которое не является состоянием создания, то идентификатор экземпляра, к которому событие применяется, должно переноситься как данные.

3. Правило состояния создания. Событие, которое вызывает переход в состояние создания, не несет идентификатора, если получаемая модель состояния создает идентификатор в действии состояния создания.

Следует отметить, что один инцидент в реальном мире может быть абстрагирован в более чем одно событие.

 

Действия

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

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

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

1. Выполнять любое вычисление.

2. Порождать событие для любого экземпляра любого объекта.

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

4. Создавать, удалять, устанавливать, сбрасывать или считывать таймер.

5. Читать и записывать атрибуты других экземпляров собственного объекта.

6. Читать и записывать атрибуты экземпляров других объектов.

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

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

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

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

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

В ООА делаются определенные предположения о времени:

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

2. Действия в различных конечных автоматах могут выполняться одновременно.

3. События никогда не теряются.

4. Если событие порождено для экземпляра, который в настоящее время выполняет действие, данное событие не будет принято, пока действие не закончено.

5. Каждое событие прекращается, когда оно представляется для конечного автомата, событие тогда исчезает как событие.

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

 

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

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

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

Существует три различных типа наполнения ячейки в ТПС:

1. Новое состояние. Ячейка заполняется именем нового состояния, в которое переходит экземпляр, когда он в состоянии, определяемом строкой, принимает событие, определяемое столбцом. Событие может заставлять экземпляр переходить в состояние, в котором он уже находится. В этом случае новое состояние то же самое, что и состояние, определяемое строкой. Тем не менее, считается, что это реальный переход, и он заставляет экземпляр повторно выполнять действие.

2. Событие игнорируется. Если объект отказывается реагировать на некоторое событие, когда он находится в определенном состоянии, в соответствующую ячейку записывают «событие игнорируется». Когда событие игнорируется, экземпляр остается в прежнем состоянии и не выполняет повторно действие. Хотя событие игнорируется (не вызывает переход), событие используется моделью состояний.

3. Не может произойти. Если событие не может произойти, когда экземпляр находится в некотором состоянии, то в соответствующую ячейку записывают: «не может произойти».

 

Таймеры

Таймер– это механизм, который может использоваться действием для создания события через определенное время в будущем. Этот механизм представляет собой часть формализации ООА и обеспечивается в форме объекта Таймер. Атрибутами таймера являются:

1. ID таймера – идентификатор собственно таймера.

2. Оставшееся время – время, которое должно пройти до того момента, когда таймер подаст сигнал.

3. Метка события – метка события, которое создается, когда таймер подает сигнал.

4. ID экземпляра – идентификатор, который передается с порожденным событием.

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

 

Общие формы жизненных циклов

Несмотря на то, что модель состояний для объекта может иметь почти любые формы, некоторое количество общих схем может быть идентифицировано:

1. Циркулярный жизненный цикл. Обычно возникает, когда объект имеет операционный цикл поведения.

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

Формирование жизненных циклов

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

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

 

Анализ отказов

Термин анормальное поведение включает понятия ошибок, отказов и необычного и/или нежелательного поведения. Исследование анормального поведения часто называют анализом отказов.

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

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

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

В поисках источников отказа рассматриваются следующие вопросы:

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

2. Ошибка персонала: направление поезда по неправильному пути, открытие клапана в неподходящее время (посредством ЭВМ или вручную).

3. Проблемы, связанные со временем: для примера смешивания в баке: ингредиенты могут отстояться, и потребуется другой цикл смешивания.

4. Отказы датчика.

5. Отказ силовых приводов: когда ЭВМ выдает команды для внешнего устройства, но оно не отвечает.

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

1. Какой инцидент в реальном мире для каждого состояния мог бы вынудить экземпляр к переходу в новое состояние?

2. Гарантируется ли наступление каждого события? При ответе будут выявлены определенные ошибки датчиков и силовых приводов, а также некоторые операционные ошибки.

3. Если событие происходит, то нормально ли это?

4. Гарантируется ли, что каждое событие происходит до известной степени своевременно? Что происходит с процессом, если событие задерживается?

5. Гарантируется ли, что каждое действие имеет ожидаемый эффект при всевозможных обстоятельствах?

 




Поделиться с друзьями:


Дата добавления: 2014-12-29; Просмотров: 1140; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.