Гибридная карта поведения
Карта поведения (behavior chart или B-chart) - это ориентированный граф, в котором узлам приписываются некоторые локальные поведения, а дуги интерпретируются как переходы от одного поведения к другому. В каждый момент времени один из узлов является текущим. Один из узлов должен быть помечен как начальный (Init), он становится текущим при создании карты состояний. Смена текущего узла происходит в результате срабатывания переходов.
В общем случае узел N карты поведения характеризуется: локальной функцией поведения; множеством входящих и исходящих переходов; входными и выходными действиями, являющимися общими для всех входящих и исходящих переходов.
В общем случае переход из начального узла Ni в конечный узел Nj характеризуется: охраняющим предикатом G, запускающим событием E, и мгновенными действиями A.
Возможны три типа взаимоисключающих запускающих событий: 1) логическое условие, определяющее возможность срабатывания перехода, стало истинным (change event); 2) поступил внешний сигнал (signal event); 3) истекло заданное время пребывания в текущем узле Ni (time event).
Срабатывание перехода представляет собой следующую последовательность мгновенных действий:
- становится пассивным локальное поведение узла Ni;
- выполняются выходные действия узла Ni;
- узел Ni перестает быть текущим;
- выполняется мгновенная последовательность действий A;
- узел Nj становится текущим;
- выполняются входные действия узла Nj;
- активизируется локальное поведение узла Nj.
Локальное поведение может быть задано как непрерывное поведение, карта поведения (в этом случае узел называется гиперузлом) или пустое поведение NULL.
Непрерывное поведение в общем случае задается совокупностью обыкновенных дифференциальных уравнений вида , алгебраических уравнений вида и формул вида .