Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
компьютерная техника (конспектировать ).docx
Скачиваний:
66
Добавлен:
05.11.2018
Размер:
1.56 Mб
Скачать

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

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

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

Наполнение ячеек

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

1. Новое состояние.

2. Событие игнорируется.

3. He может произойти.

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

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

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

Заметьте, что, хотя событие игнорируется (не вызывает переход), событие используется моделью состояний.

Не может произойти. Если событие не может произойти, когда экземпляр находится в некотором состоянии, то в соответствующую ячейку записывают: "не может произойти". Наполнение "не может произойти" предназначается для случаев, когда это событие просто не может происходить в реальном мире. Например, событие V3: Дверь Открылась не может произойти, когда печь находится в состоянии 5, поскольку в этом состоянии дверь уже открыта. Если это не вполне очевидно, Вы должны объяснять, почему невозможно, чтобы событие произошло. Такое примечание может появляться как сноска на ТПС.

Рис.3.6.1. Жизненный цикл печи. Жизненный цикл может представляться диаграммой переходов или таблицей переходов в состояния.

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

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