Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Заочники / KONSPEKT_СРС_OSA.doc
Скачиваний:
33
Добавлен:
12.05.2015
Размер:
715.26 Кб
Скачать

Описание динамического поведения объекта

Все объекты в реальном мире имеют какие-то общие черты поведения.

Описать их можно так:

  1. Каждый объект имеет свой срок жизни. На протяжении срока жизни объект проходит через различные состояния.

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

  3. Объекты эволюционируют от одного состояния к другому скачкообразно.

  4. В любое данное время объект может находиться только в одном единственном состоянии.

  5. В схеме поведения разрешены не все переходы между состояниями.

  6. Объекты эволюционируют под воздействием некоторых инцидентов или событий.

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

Модель состояний состоит из:

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

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

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

  4. Из действий. Где действия - это деятельность или операции, которые должны быть выполнены. С каждым состоянием связывается одно действие.

Пример:

Нашим объектом будет микроволновая печь.

Как ее можно описать?

где:

V1:Кнопка нажата

V2:Конец времени

V3:Дверь открыта

V4:Дверь закрыта

V5:Событие создания

Координация жизненного цикла объекта.

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

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

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

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

  2. Экземпляр прекращает существование.

Состояние, в котором находится объект, называется текущим состоянием. Текущее состояние является атрибутом объекта и содержит всего лишь номер текущего состояния.

События - это абстракция инцидента в реальном мире, которое сообщает о перемещении экземпляра какого-либо объекта в новое состояние.

При абстрагировании события определяется 4 аспекта события:

  • значение события

  • предназначение события

  • метка события

  • данные события

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

Предназначение события- это есть модель состояний, которые принимает событие.

Метка события. Она требуется, чтобы отличать события одно от другого (она должна быть уникальной).

При определения события необходимо определить внешние и внутренние события (внешние события помечаются буквой Е).

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

Обычно разделяют данные:

  • идентифицированные

  • дополнительные данные, которые переносятся событиями.

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

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

На данные события накладываются некоторые ограничения:

  • Правило тех же данных:

все события вызывающие переход в одно и то же состояние должны нести одни и те же данные события.

  • Правило состояния несоздания:

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

  • Правило состояния создания:

событие создания не несет идентификатора экземпляра, если модель состояний создает идентификатор экземпляров в действие состояния создания.

Когда мы абстрагируем событие из реальных инцидентов реального мира, то этот инцидент может быть представлен более чем одним событием.

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

Действия обычно следующие:

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

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

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

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

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

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

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

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

  3. Если действие создает экземпляр объекта супер типа оно должно создать экземпляр одного из объектов подтипа.

Соседние файлы в папке Заочники