-
Notifications
You must be signed in to change notification settings - Fork 0
ООП 07. Модель взаимодействия объектов (МВО). Диаграмма взаимодействия объектов в подсистеме. Типы событий. Схемы управления. Имитирование. Каналы управления.
Идея: свести всё к главной модели состояний.
МВО(модель взаимодействия объектов) – графическое представление взаимодействия между моделями состояний и внешними сущностями. Каждая модель состояний – овал, внешняя сущность – прямоугольник(называется терминатором).
Терминатор - внешняя сущность, из которой можно брать данные.
Виды терминаторов:
- Верхнего уровня: управляют подсистемой и рисуются на МВО сверху. Может быть только один.
- Нижнего уровня: управляются подсистемой и рисуются на МВО снизу. Их может быть много.
События, которые порождаются одной моделью состояний для другой или терминатором, рисуются стрелкой. События могут быть направлены как к терминаторам, так и от них.
- МВО. Упрощённый пример со светильником
МВО формируется иерархически – объекты, наиболее осведомленные о всей системе (активные) располагаются вверху диаграммы. Может быть схема верхнего и нижнего управления – система ограничена терминаторами сверху или снизу.
- Внешние события (приходят от терминатора или уходят к нему)
- Незапрашиваемые события (не являются результатом предыдущих действий подсистемы,
то есть это события управляющие, при этом не переводят объект в новое состояние) - Запрашиваемые события(являются результатом предыдущих действий подсистемы, переводят объект в новое состояние)
- Незапрашиваемые события (не являются результатом предыдущих действий подсистемы,
- Внутренние (соединяют одну модель состояний с другой)
- Схема верхнего управления (Эти события приходят от верхних терминаторов)
- Схема нижнего управления (Эти события приходят от нижних терминаторов)
Итак, мы рассмотрели взаимодействие нашей подсистемы с "внешним миром” (другими подсистемами). Теперь надо проверить систему на коллизии, т.е. сымитировать работу системы.
Имитирование - задание некоторых начальных состояний и генерация события. Наблюдение за работой системы. Оценка конечного результата.
Этап имитирования
Мы генерируем некоторое начальное состояние. Принимает незапрашиваемое событие и смотрим, какое состояние приняли все объекты в нашей системе. Процесс имитирования может быть очень сложным.
Для каждого действия есть 2 времени:
- Время выполнения
- Время задержки – время, на протяжении которого объект должен находиться в состоянии (невозможен резкий переход из одного состояния в другое, мы должны учитывать время задержки)
Этапы имитирования (тесты)
- Установить начальное состояние системы
- В каждом состоянии проверить, как подсистема будет реагировать на все незапрашиваемые события, и построить соответствующие каналы управления.
- Оценить конечный результат
Канал управления – последовательность действий и событий, которые происходят в ответ на поступление некоторого незапрашиваемого состояния, когда система находится в определённом состоянии. Если возникло событие к терминатору, и эти события приводят к дальнейшим событиям от терминатора, то мы их тоже включаем в канал управления.