
- •080800 «Прикладная информатика »
- •1 Краткий обзор объектно-ориентированного анализа
- •1.1 Установка для анализа
- •1.2 Информационные модели
- •1.3 Модели состояний
- •1.4 Модели процессов
- •1.5 Рабочие продукты ооа
- •1.6 Краткое содержание
- •2 Концепции информационного моделирования
- •2.1 Объекты
- •2.2 Атрибуты
- •2.3 Связи
- •2.4 Формализация связи
- •2.5 Композиция связей
- •2.6 Подтипы и супертипы
- •2.7 Рабочие продукты
- •3 Жизненные циклы объектов
- •3.1 Модели поведений в реальном мире
- •3.2 Жизненные циклы и диаграмма переходов в состояния
- •3.3 Состояния
- •Текущее состояние
- •3.4 События
- •3.5 Действия
- •3.6 Переходы и таблица переходов в состояния
- •3.7 Таймеры
- •3.8 Общие формы жизненных циклов
- •3.9 Формирование жизненных циклов
- •3.10 Жизненные циклы для подтипов и супертипов
- •3.11. Когда формируются жизненные циклы
- •3.12 Анализ отказов
- •3.13 Рабочие продукты Модели состояний
- •Список событий
- •4 Динамика связей
- •4.1 Динамика связей
- •4.2 Жизненные циклы связей
- •4.3 Динамические связи вне жизненных циклов
- •4.4 Конкурирующие связи: монитор Конкуренция в реальном мире
- •4.5 Общий случай конкурирующей связи
- •4.6 Конкурирующие связи с жизненными циклами экземпляров
- •4.7 Советы по моделированию
3.11. Когда формируются жизненные циклы
Хотя в принципе все объекты имеют жизненные циклы, формировать модели состояний для формализации жизненных циклов необходимо только для некоторых объектов. Следующие предложения должны помочь Вам решить, какой объект нуждается в этой обработке. Пожалуйста, обратите внимание, что это лишь руководящие принципы: как всегда Вы должны уметь самостоятельно разбираться в вопросах в той конкретной ситуации, в которой Вы оказались.
Главный руководящий принцип следующий. Если объект имеет интересующее нас и имеющее отношение к делу динамическое поведение, то формализуйте его жизненный цикл, в противном случае не делайте этого. А теперь расскажем об этом более подробно с использованием примеров.
Создание или уничтожение во время выполнения. Если экземпляры объекта создаются или уничтожаются (или архивируются, удаляются, делаются бесполезными и т.д.) во время выполнения, жизненный цикл следует формализовать. Примером такого объекта является Счет.
Миграция между подтипами. Если экземпляры объекта мигрируют от одного подтипа к другому, жизненный цикл следует формализовать.
Накопление атрибутов. Если экземпляры приобретают значения для своих атрибутов на протяжении эволюционирования через свои жизненные циклы, жизненный цикл следует формализовать. См. рис.3.11.1 как пример такого объекта.
Операционный цикл оборудования. Ориентированный на оборудование объект, который проявляет отчетливый операционный цикл, должен иметь формализованный жизненный цикл. Робот-сверлильщик и бак-смеситель - примеры таких объектов.
Объект производится или возникает поэтапно. Объект, который возникает шаг за шагом, должен иметь формализованный жизненный цикл.
Задача или запрос. Объект, представляющий собой запрос или задачу, которые необходимо выполнить, должен, вероятно, иметь формализованный жизненный цикл.
Динамические связи. Если экземпляры объекта вступают в связи и выходят из них, жизненный цикл следует формализовать.
Связанные жизненные циклы. Если объект представляет собой оборудование, нормальное функционирование или сбой которого заставляют другой объект эволюционировать через его жизненный цикл, жизненные циклы обоих объектов необходимо формализовать.
Пассивные средства обслуживания. Если объект представляет собой средства обслуживания, которые являются полностью пассивными, его жизненный цикл, скорее всего, не должен формализоваться. Например, объект Здание на рис.3.10.1 полностью пассивен, хотя содержит оборудование, которое имеет существенное динамическое поведение.
Объекты спецификаций. Если объект представляет собой спецификацию, стандарт качества или рецепт, его жизненный цикл, вероятно, не должен формализоваться.
3.12 Анализ отказов
Анормальное поведение
В примерах, рассмотренных до сих пор, мы исследовали только нормальное или желательное поведение различных объектов. В этом разделе мы обсуждаем тему анормального поведения. Это всеобъемлющий термин, который включает понятия ошибок, отказов и необычного и (или) нежелательного поведения. Исследование анормального поведения часто называют анализом отказов. Суждения, приведенные здесь, не претендуют на то, чтобы быть всесторонними: анализ отказов - обширная тема и весьма проблемно ориентированная, В этом разделе мы сосредоточили внимание на примерах, имеющих отношение к системам реального времени.
Цель анализа отказов состоит в том, чтобы изучить воздействие определенных видов сбоев и ошибок и оценить используемые стратегии. Более высокой целью является обычно поддержка или восстановление управления индустриальным или другим внешним процессом. В результате анализ отказов часто ведет к утверждению поначалу не ожидаемых требований, установке дополнительных датчиков, формализации производственных процедур на предприятие и т.п.
Анализ отказов в ООА
В ООА анормальное поведение формализуется в моделях состоянии тем же способом, что и нормальное. Для этого рекомендуется следующая процедура. Во-первых, моделируют нормальное, желательное поведение объектов в моделях состояний, как мы делали в этой главе. Во-вторых, добавляют состояния, события и действия к моделям нормального пове-
дения, чтобы охватить анормальное поведение, которое возникает во внешнем процессе или оборудовании. И наконец, расширяют возникающие в результате модели состояний, для того чтобы учесть отказы силовых приводов и датчиков.
Ключевой проблемой в расширении моделей состояний, охватывающих анормальное поведение, является, конечно, идентификация источников ошибок и отказов. Мы находим полезными два подхода: базирующийся па исследовании внешнего процесса и основывающийся на систематическом сквозном контроле ООА моделей. Они описаны в последующих разделах.
Отказы во внешнем процессе и интерфейсном оборудовании
Вот некоторые обширные вопросы, которые рассматриваются в поисках источников отказа во внешнем процессе.
Отказ или сбой оборудования. Эти отказы включают такие события, как потеря мощности, задание клапана, выключение рубильника, повышение температуры и т.п. Многие условия такого типа будут ощутимы, они довольно хорошо известны и просты для идентификации. Менее простыми будут неощутимые условия типа утечек.
Ошибка персонала. Ошибки персонала включают такие ошибки, как направление поезда по неправильному пути или открытие клапана и неподходящее время (посредством ЭВМ или вручную).
Проблемы, связанные со временем. Задача смешивания, рассмотренная ранее, является отличным примером. Предположим, что продукт смешивания остается в баке-смесителе на протяжении длительного времени, в то время как бак-хранилище уже подготовлен. Возможно, ли, что ингредиенты могут начать отстаиваться и потребуется другой цикл смешивания?
Отказы датчика. Датчик может неправильно работать: например, указывает, что рубильник выключен, когда фактически это не так. Изучение дополнительно полученных данных может помочь исключить ситуацию, когда отказы датчика приводят к некорректному истолкованию положения, связанного с работой оборудования. В случае с баком-смесителем мы, возможно, проверкой датчиков уровня сможем определить, открыт или закрыт клапан для выпуска продукта в баке - смесителе и в баке для хранения.
Отказ силовых приводов. Отказ силового привода происходит тогда, когда ЭВМ выдает команды для внешнего устройства, но оно не отвечает. Некоторые отказы силовых приводов могут быть обнаружены при помощи таймера и соответствующего измеренного значения. Создайте команду для внешнего устройства и установите таймер на интервал времени, по истечению которого устройство должно ответить. Если устройство отвечает прежде, чем таймер истекает, что доказывается соответствующим изменением измеренного значения, то силовой привод работал правильно и таймер должен быть сброшен. Если таймер истекает прежде, чем отвечает устройство, то, возможно, произошел отказ силового привода.
Идентификации отказов посредством ООА моделей
Мы можем до известной степени систематически идентифицировать источники отказов исследованием ООА моделей состояния нормального поведения. Вот некоторые вопросы и руководящие принципы для идентификации потенциальных источников отказов.
1. Какой инцидент в реальном мире для каждого состояния мог бы вынудить экземпляр к переходу в новое состояние? Например, если бы промывочный входной клапан должен был бы открыться, когда Бак - смеситель находится в состоянии Смешивание, продукт в баке-смесителе испортился бы раствором для промывки. Следовательно, Вам необходимо создать новое состояние для описания этого состояния.
2. Гарантируется ли наступление каждого события? При ответе на этот вопрос будут выявлены определенные ошибки датчиков и силовых приводов, а также некоторые операционные ошибки.
3. Если событие происходит, то нормально ли это?
4. Гарантируется ли, что каждое событие происходит до известной степени своевременно? Что происходит с процессом, если событие задерживается?
5. Гарантируется ли, что каждое действие имеет ожидаемый эффект при всевозможных обстоятельствах?
Заключительное замечание
Перед тем как закончить обсуждение темы анализа отказов, мы хотели бы сделать следующее предостережение. Стоит возникнуть теме анормального поведения, как просто необходимо будет учитывать и исследовать мириады возможных отказов, от реальных и приемлемых до невыполнимо искусственных. Анормальное поведение может быть очень запутанным, в результат модели становятся вес более громоздкими и сложными, в то время как количество рассматриваемых анормальных случаев продолжает увеличиваться. Сейчас как раз к месту определить инженерное решение, приемлемое в нашей данной ситуации, чтобы не расширять объект исследования.