Точки входа/выхода и ортогональные состояния/автоматы

Не знаете в какой раздел поместить свою тему? Кладите сюда

Точки входа/выхода и ортогональные состояния/автоматы

Сообщение Vadim » 09 ноя 2009, 13:04

Нигде не видел примеров диаграм автоматов, в которых имеются псевдосостояния точка входа/выхода на ортогональном состоянии и/или ортогональном автомате. Хотелось бы увидеть такие примеры.
Vadim
 
Сообщений: 10
Зарегистрирован: 23 сен 2009, 23:11

Re: Точки входа/выхода и ортогональные состояния/автоматы

Сообщение antonio » 10 ноя 2009, 13:23

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

Пусть два состояния A и B, в B вложены a и b. Чтобы показать переход из A в B.a можно либо нарисовать a и b внутри B и переход A->B.a на одной диаграмме, либо указать точку входа a1 в B и переход A->a1 и на отдельной диаграмме a1->B.a.

Будет время, нарисую картинку.
antonio
 
Сообщений: 7
Зарегистрирован: 19 сен 2009, 20:43

Re: Точки входа/выхода и ортогональные состояния/автоматы

Сообщение Vadim » 10 ноя 2009, 14:16

В случае неортогонального композитного состояния или неортогонального автомата мне все понятно. А что будет, если состояние/автомат являются ортогональными: точка входа одна, а перейти надо во все ортогональные области. Дополним пример: a и b вложены в B в одном регионе, c и d в другом. Надо показать переход из A в B.a и B.c используя точку входа a1. Что изображать на "одной" диаграмме понятно, а что изобразить на "отдельной" - нет.
Vadim
 
Сообщений: 10
Зарегистрирован: 23 сен 2009, 23:11

Re: Точки входа/выхода и ортогональные состояния/автоматы

Сообщение Denis.Ivanov » 10 ноя 2009, 16:35

Vadim, разнос по регионам делается через fork (см. рис)
entry-point.png
entry-point.png (5.57 ) Просмотров: 11442
Denis.Ivanov
Администратор
 
Сообщений: 223
Зарегистрирован: 07 май 2009, 23:16

Re: Точки входа/выхода и ортогональные состояния/автоматы

Сообщение Vadim » 12 ноя 2009, 11:07

По метамодели каждый Transition должен принадлежать region. Какому region принадлежит Transition из entry-point в fork?
Vadim
 
Сообщений: 10
Зарегистрирован: 23 сен 2009, 23:11

Re: Точки входа/выхода и ортогональные состояния/автоматы

Сообщение Denis.Ivanov » 12 ноя 2009, 12:02

Если честно, то я не смотрел в метамодель, а рассматривал предыдущий рисунок как модификацию вот этого рисунка.

entry-point-2.png
entry-point-2.png (6.08 ) Просмотров: 11026


Наверное мне надо было в моем предыдущем посте смягчить высказывания и написать что-то типа "я бы сделал вот так".
Мне кажется с точки зрения здравого смысла мой первый рисунок верен и понятен читающему, а то что его нельзя правильно описать в терминах метамодели ... может это проблема недодуманности самой метамодели?
Denis.Ivanov
Администратор
 
Сообщений: 223
Зарегистрирован: 07 май 2009, 23:16

Re: Точки входа/выхода и ортогональные состояния/автоматы

Сообщение Denis.Ivanov » 13 ноя 2009, 11:43

Кстати, чтобы все было честно можно и вот так нарисовать
entry-point-3.png
entry-point-3.png (10.72 ) Просмотров: 11042
Denis.Ivanov
Администратор
 
Сообщений: 223
Зарегистрирован: 07 май 2009, 23:16

Re: Точки входа/выхода и ортогональные состояния/автоматы

Сообщение Vadim » 16 ноя 2009, 10:49

Последний рисунок отражает версию: точки входа/выхода не могут использоваться в ортогональных состояниях/автоматах.
Хочу предложить другую версию базируясь на метамодели из SuperStructure: точка входа/выхода одновременно выполняет роль fork/join (цитата: "15.3.8 Pseudostate (from BehaviorStateMachines) ...An entry point pseudostate is an entry point of a state machine or сomposite state. In each region of the state machine or composite state it has a single transition to a vertex within the same region."). Получается что fork/join не нужны (оставлены для совместимости?).
Vadim
 
Сообщений: 10
Зарегистрирован: 23 сен 2009, 23:11

Re: Точки входа/выхода и ортогональные состояния/автоматы

Сообщение Denis.Ivanov » 16 ноя 2009, 11:03

Vadim, согласен с тем, что Вы написали. Только я бы не говорил "fork/join не нужны", скорее "без них можно обойтись".
Все-таки fork/join - красивая и понятная конструкция.
Denis.Ivanov
Администратор
 
Сообщений: 223
Зарегистрирован: 07 май 2009, 23:16

Re: Точки входа/выхода и ортогональные состояния/автоматы

Сообщение Vadim » 16 ноя 2009, 13:24

1. Помещение вершины, разделяющей/сливающей переходы в/из различных областей на границу состояния решило визуализацию того, что 1) переход принадлежит области (по метамодели переход должен принадлежать области) - он почти всегда графически не выходит за обозначение области, которой принадлежит, и всегда графически не выходит за обозначение состояния/автомата, которому принадлежит область; 2) вершина принадлежит области (по метамодели вершина может принадлежать области) - она всегда графически не выходит за обозначение области.
2. Я подозреваю, но не уверен, что есть ситуации, когда без fork/join хоть и можно обойтись, но это ведет к усложнению структуры/восприятия модели/диаграммы. Если вдруг они (ситуации) попадутся кому-нибудь, было бы интересно их видеть.
Vadim
 
Сообщений: 10
Зарегистрирован: 23 сен 2009, 23:11


Вернуться в Все остальноe

cron