466
UML SysML и пр. / Re: Внутренний переход параллельного композитного состояния
« : 08 Апреля 2016, 10:09:35 »Эти диаграммы эквивалентны только тогда, когда нет действий (по терминологии Рамбо и Блаха) или активностей (по терминологии Фаулера) ни при выходе из состояния, ни при входе в состояние, ни при переходе. Например: пусть при входе в состояние Play(ing)Radio происходит настройка на "любимую" станцию. В одной диаграмме настройка будет происходить при любом событии Radio, а в другой - только если состояние Play(ing)CD.Точно замечено.
Поэтому разумнее рассматривать примеры с действиями, что, возможно, расходилось с целью книги Фаулера -- дать беглый обзор языка.
Многие источники (не только Фаулер) считают, что историческое псевдосостояние без входящего перехода, но с исходящим переходом заменяет начальное псевдосостояние, когда происходит первый вход. То есть, при первом входе в состояние On текущим состоянием в нижнем регионе становится Play(ing)Radio.Если опираться на стандарт, то такие трактовки следует отвести. Псевдосостояние истории сродни начальному состоянию в том смысле, что это специальные обозначения, что (непосредственно) внутри региона их не может быть больше одного. Но назначения у них разные. Если нет входящих переходов в историческое псевдосостояние, то оно лишь указывает, что автомат запоминает историю, но воспользоваться этой историей в своём поведении он не может.
Интересная тема: возможные варианты сочетания начального и исторического псевдосостояний в одном регионе и наличия (отсутствия) исходящих (входящих) переходов исторического псевдосостояния (с начальным всё ясно: не более одного, никаких входящих и ровно один исходящий)!
Вокруг начального много накручено. Несколько исходящих, случай, когда допускается триггер...