Жизненные циклы и диаграмма перехода в состояние (Д.П.С.).
Объект – это абстракция множества предметов реального мира такая что: 1) все предметы в данном множестве – это экземпляры, имеют одни и теже характеристики. 2) все экземпляры подчинены и согласовываются с одними и теми же правилами.
Абстрагирование жизненного цикла объекта.
Когда мы абстрагируем подобные предметы, чтобы получить объект, мы также абстрагируем их общую модель поведения, чтобы получить жизненный цикл типичного неопределенного экземпляра.
Жизненный цикл выражается как модель состояния в О.О.А. используется форма автомата МУРа,которая состоит: 1) из множества состояний, каждое состояние представляет собой стадию в жизненном цикле типичного экземпляра объекта. 2) множество событий, каждое событие представляет инцидент или указание на то, что происходит эволюционирование. 3) из правил перехода. Правило перехода определяет, какое новое состояние достигается, когда с экземпляром в данном состоянии происходит некоторое событие. 4) из действий. Действие это деятельность или операция, которые должны быть выполнены, когда экземпляр достигает состояния. Одно действие связывается с каждым состоянием.
Пример: Модели состояний для 1-й микроволновой печи.
В этой задаче есть несколько существенных инцидентов, которые воздействуют на работу печи: 1) открывается дверь. 2) закрывается дверь. 3) нажатие кнопки управления. 4) завершение предписанного интервала для приготовления пищи. Все инциденты абстрагируются как события.
Жизненные циклы различных объектов часто скоординированы друг с другом, например в случае микроволновой печи силовой элемент и электрическая лампочка имеет жизненные циклы, которые неразрывно связаны с состоянием самой печи.
Состояния.
Состояния это положение объекта в котором применяется определённый набор правил, линий поведения, предписанный и физ. законов. Каждому состоянию дается имя и номер явл-ся уникальными в рамках этих моделей состояний. Эти данные заносятся в рамки явл-ся отображением состояний на Д.П.С. Некоторые модели состояний имеют одно или более состояний, где объект появляется впервые. Такие состояния известны под названием состояния создания.
В некоторых моделях состояния одно или несколько состояний явл-ся концом жизненого цикла экземпляра, Такие состояния известны под названием состояния убывания. Заключительное состояние может представлять одну из двух ситуаций: 1) экземпляр становится неподвижным. 2) экземпляр прекращает существование.
Событие.
Событие это абстракция инцидента или сигнала в реальном мире, который сообщает нам о перемещении чего-либо в новое состояние. В абстрагировании события выделяют 4-е события: 1) значение. 2) предназначение. 3) метка. 4) данные события.
Значение события заключается в короткой фразе, которая сообщает, что происходит в реальном мире (кнопка нажата, дверь открыта). 2) Предназначение события это модель состояния, которое принимает событие. Может быть, один единственный такой приемник для данного события. 3) Метка. Для каждого события должна обеспечиваться уникальная метка. Обычно используется комбинация буква-номер (V1,V2,…). 4),Данные переносимые события приводят для действия при достижении объектом определённого состояния. Событием могут переноситься два типа данных: идентифицирующие и дополнительные.
Список событий.
Список событий это просто список всех событий, которые были определены для всех моделей состояния.
Пример:
Метка значение Данные события источник Предназначение
V1 Кнопка нажата ID печи Кнопка печи Печь
V2 Назначенное время истекло ID печи Таймер печи Печь
Л1 Лампочка включена ID лампочки Печь Лампочка
Э1 Поступление напряжения на силовой элемент ID элемента ечь Силовой элемент
Желательно использование некоторого инструментария обеспечивающего сортировку в различном порядке, что облегчает понимание и проверку модели состояния (базы данных, электронные системы, CASE системы ).
Существует ряд правил связывающих данные события с состояниями, которые могут быть достигнуты как результат получения события.
Правила тех же данных.
1) Все события вызывающие переход в определенные состояния должны нести одни и теже данные события. 2) Правило состояния не создания. Если событие может вызывать переход в состояние, которое не явл-ся состоянием создания, то идентификатор экземпляра, к которому событие применяется должно переносится как данное. Это правило гарантирует, что действие для состояния, куда произошёл переход в результате произошедшего события способно определить какой из существующих экземпляров совершил этот переход. 3) Правило состояния создания. Событие которое вызывает переход в состояние создания не несет идентификатора, если данная модель состояния создается идентификатор в действии состояния создания.
Действие.
Действие это деятельность или операция, которая должна быть выполнена экземпляром когда достигает состояния. С каждым состоянием связывается одно действие, поскольку все экземпляры объекта совместно используют одну и туже модель состояний. Действия должны быть выполнены любым экземпляром. Действие обычно читает и записывает атрибут того экземпляра, для которого оно выполняется. Действие также может : 1) выполнять любое вычисление. 2) порождать событие для любого экземпляра любого объекта. 3) порождать событие для чего либо вне области анализа (операторы, аппаратного устройства или объекта в другой подсистеме. 4) Создавать, удалять, устанавливать, сбрасывать или считывать таймер. 5) Читать и записывать атрибуты других экземпляров своего объекта. 6) Читать и записывать атрибуты экземпляров других объектов.
Чтобы гарантировать непротиворечивость модели состояния как единого целого на действия должны быть наложены определенные ограничения: 1) сохранение экземпляра непротиворечивым. 2) гарантирование непротиворечивости связи. При создании или удалении экземпляров объекта необходимо чтобы любые связи, включающие эти экземпляры не противоречили правилам установлиным для информационной модели. 3) Сохранение подтипов и супертипов непротиворечивыми.
Переходы.
Каждая модель состояния имеет набор правил переходов которые определяют какое новое состояние достигается при условии появления конкретного события происходящего в определённом состоянии. Переход обозначается на Д.П.С. стрелкой.
В качестве альтернативы правила переходов могут быть представлены в виде таблицы переходов состояния (Т,П,С,).
Пример: Жизненный цикл печи. Частичная таблица переходов в состояния.
Хотя ТПС и ДПС содержат много одинаковой информации рекомендуется использовать обе формы представления. ДПС существенно для понимания жизненного цикла объекта. С другой стороны ТПС превосходное средство для проверки закончиности и непротиворечивости правил переходов.
Таймер.
Таймер это механизм, который может использоваться действием для создания события через определенное время в будущем. Этот механизм представляет собой часть формализации ООА и обеспечивается в форме объекта таймер.
Форма жизненного цикла таймера.
Для описания действий, которые использует таймер применяются следующие условные обозначения: 1) создание таймера. ID таймера: =создаваемый таймер. 2) Для установки таймера. TM1: установить таймер (ID таймера, оставшееся время, метка события, ID экземпляра). 3) Для сброса таймера порождают событие ТМ2 сбросить таймер (ID таймера). 4) Для чтения оставшегося интервала времени: ещё осталось := прочитать оставшееся время (ID таймера). 5) Удаление таймера : удалить таймер (ID таймера).
Анализ отказа.
Цель анализа отказа состоит в том, чтобы изучить воздействие определённых видов сбоев и ошибок, и оценить используемые стратегии. Более важной целью явл-ся поддержка или восстановление управления индустриальным или другим внешним процессом. В результате анализ отказов часто ведет к утверждению поначалу неожидаемых требований : установки дополнительных датчиков, формализации производственных процедур на предприятии и т.д.
Ключевая проблема здесь это идентификация источников ошибок и отказов. Есть два пути для решения этой проблемы: 1) исследование внешнего процесса. 2) сквозной систематический контроль ООА – моделей.
Рабочие продукты модели состояний.
1) Диаграммы переходов в состояния (ДПС) 2) Таблицы переходов в состояния (ТПС) 3) Описание каждого действия на диаграмме переходов состояния ( требуется только если действие занимает слишком много места и не могут поместиться на ДПС)