Концепции информационного моделирования 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Концепции информационного моделирования



В ООА объект – это такая абстракция множества предметов реального мира, что:

- все предметы в этом множестве – экземпляры – имеют одни и те же характеристики;

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

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

Объект в ООА представляет собой один типичный, но не определённый экземпляр чего-то в реальном мире, это понятие следует отличать от понятия определённого экземпляра.

 

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

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

 

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

 

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

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

 

Объект может быть представлен вместе со своими атрибутами несколькими различными способами. Графически объект изображается в виде рамки, содержащей имя, номер и ключевой литерал объекта и имена атрибутов. Атрибуты, которые составляют привилегированный идентификатор объекта, отмечаются звёздочкой (рис. 3.2).

 

Рис. 3.2

 

В эквивалентном текстовом представлении привилегированный идентификатор подчёркивается:

Конденсатор (Кратность охлаждения, Давление пара, Расход пара, Входная температура охлаждающей воды).

 

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

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

 

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

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

2.Указывающие – используются для дачи имени или обозначения экземпляров; часто (но не всегда) используется как идентификатор или его часть; если значение указывающего атрибута изменяется, то это говорит о том, что новое имя даётся тому же самому экземпляру;

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

 

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

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

Описание домена можно давать:

– перечислением всех возможных значений, которые атрибут может принимать;

– ссылкой на документ, приводящий возможные значения;

– формулировкой правила, определяющего, какие значения допустимы;

– приведением диапазона возможных значений.

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

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

 

Связи

Отношения существуют между различными видами предметов в реальном мире.

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

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

Каждой связи присваивается уникальный идентификатор вида R1, R2 и т.п..

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

 

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

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

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

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

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

 

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

 

Все связи требуют описания. Описание должно обеспечивать:

1) идентификатор связи;

2) формулировку имён связи с точки зрения каждого участвующего объекта;

3) вид связи (её множественность и условность);

4) формулировку обоснования абстракции;

5) формулировку того, как связь была формализована.

 

Формализация связи

Цель связи состоит в том, чтобы позволить нам установить связь экземпляра одного объекта с экземпляром другого. Это выполняется размещением дополнительных атрибутов в соответствующих объектах на модели. Когда это выполнено, говорят, что связь формализована в данных.

Для формализации связи один-к-одному вспомогательные атрибуты могут быть добавлены к любому объекту (но не к обоим). Вспомогательные идентификаторы снабжаются ярлычком идентификатора связи.

Для формализации связи один-ко-многим вспомогательные атрибуты должны быть добавлены к объекту на стороне «много», поскольку размещение на стороне «один» будет нарушать третье правило атрибутов.

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

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

 

Композиция связей

Некоторые связи образуются как неизбежное следствие существования других связей.

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

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

 

Рис. 3.3

 

Университет В

Правила здесь такие же, как в случае с университетом А, за исключением того, что студент должен выбирать профессора на факультете специализации. Информационная модель в университете В немного отличается (Рис. 3.4), поскольку связь R3 – логическое следствие связей R1 и R2: если студентом руководит профессор, студент должен обязательно специализироваться в обучении на факультете профессора.

 

Рис. 3.4

 

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

Подтипы и супертипы

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

 

Рис. 3.5

 

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

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

 

Рабочие продукты

Для информационной модели подсистемы разрабатываются три рабочих продукта:

1.Диаграмма информационной структуры – это графическое представление информационной модели.

2.Описание объектов и атрибутов – документирует списки всех объектов и атрибутов в модели и обеспечивает организованную совокупность описаний объектов, атрибутов и доменов.

3.Описание связей – документирует перечни каждой связи модели вместе с описанием связи.

 

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

 

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

 

Состояния

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

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

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

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

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

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

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

Рассмотрим на примере банковского счёта: рис. 3.7.

 

Рис. 3.7

 

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

 

События

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

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. Гарантируется ли, что каждое действие имеет ожидаемый эффект при всевозможных обстоятельствах?

 

Динамика связей

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

Жизненные циклы связей

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

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

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

 

 

Конкурирующие связи

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

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

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

 

Общий случай конкурирующей связи

Построение модели состояний для создания экземпляров конкурирующей связи обычно требует некоторой осторожности. Рассмотрим систематическую процедуру для построения требуемой модели состояний Определителя в общем случае.

 

Советы по моделированию

Получите правильную информационную модель. Если при построении моделей состояния возникли значительные проблемы, вероятно, что-нибудь не в порядке с информационной моделью. Лучшая стратегия тогда – возвратиться к информационной модели и посмотреть, какие дополнительные способности по проникновению в суть приобретены при разработке данной модели состояний. Часто бывает достаточно незначительной корректировки информационной модели.

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

Используйте модель взаимодействия объектов. Модель взаимодействия объектов является графическим представлением взаимодействия событий между различными объектами и связями.

 

Динамики систем

Модель взаимодействия объектов

Модель взаимодействия объектов (МВО) обеспечивает краткое графическое изложение событий взаимодействия между моделями состояний и внешними сущностями, такими как операторы, физические устройства и объекты в других подсистемах. Каждая модель состояний представляется на МВО выровненным овалом, обозначенным именем модели состояний. Каждая внешняя сущность, которая может порождать или принимать события, изображается прямоугольником, известным как терминатор. Событие, порождённое одной моделью состояний или внешней сущностью и принимаемое другой, обозначено стрелкой от порождающей компоненты к приемнику. Стрелка аннотируется меткой события, значением и (необязательно) данными события. Пример МВО (модель взаимодействия объектов для микроволновой печи: открывание двери и включение лампочки) показан на рис. 3.8.

 

Рис. 3.8

 

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

 

Иерархическое представление объектов

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

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

 

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

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

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



Поделиться:


Последнее изменение этой страницы: 2016-08-01; просмотров: 701; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.141.27.244 (0.152 с.)