Skip to content

ООП 07. Модель взаимодействия объектов (МВО). Диаграмма взаимодействия объектов в подсистеме. Типы событий. Схемы управления. Имитирование. Каналы управления.

Kozlitin Maxim edited this page Jun 14, 2023 · 2 revisions

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

Идея: свести всё к главной модели состояний.

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

Терминатор - внешняя сущность, из которой можно брать данные.

Виды терминаторов:

  • Верхнего уровня: управляют подсистемой и рисуются на МВО сверху. Может быть только один.
  • Нижнего уровня: управляются подсистемой и рисуются на МВО снизу. Их может быть много.

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

  • МВО. Упрощённый пример со светильником

image-9

Диаграмма взаимодействия объектов в подсистеме

МВО формируется иерархически – объекты, наиболее осведомленные о всей системе (активные) располагаются вверху диаграммы. Может быть схема верхнего и нижнего управления – система ограничена терминаторами сверху или снизу.

Типы событий

  • Внешние события (приходят от терминатора или уходят к нему)
    • Незапрашиваемые события (не являются результатом предыдущих действий подсистемы, то есть это события управляющие, при этом не переводят объект в новое состояние)
    • Запрашиваемые события(являются результатом предыдущих действий подсистемы, переводят объект в новое состояние)
  • Внутренние (соединяют одну модель состояний с другой)

Схемы управления

  • Схема верхнего управления (Эти события приходят от верхних терминаторов)
  • Схема нижнего управления (Эти события приходят от нижних терминаторов)

Имитирование

Итак, мы рассмотрели взаимодействие нашей подсистемы с "внешним миром” (другими подсистемами). Теперь надо проверить систему на коллизии, т.е. сымитировать работу системы.

Имитирование - задание некоторых начальных состояний и генерация события. Наблюдение за работой системы. Оценка конечного результата.

Этап имитирования

Мы генерируем некоторое начальное состояние. Принимает незапрашиваемое событие и смотрим, какое состояние приняли все объекты в нашей системе. Процесс имитирования может быть очень сложным.

Для каждого действия есть 2 времени:

  • Время выполнения
  • Время задержки – время, на протяжении которого объект должен находиться в состоянии (невозможен резкий переход из одного состояния в другое, мы должны учитывать время задержки)

Этапы имитирования (тесты)

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

Каналы управления

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

image-6 image-7 image-8

Clone this wiki locally