Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Программирование Новый топик    Ответить
 Диаграмма состояний  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1551
Добрый день.

Есть объект. Есть набор состояний. Часть из них взаимоисключающая, часть совокупная...
Например А1 А2 А3 А4 - объект может находиться только в одном из них... Переходы между ними такие:
A1 -> A2
A1 -> A3
A2 -> A3
A3 -> A2
A1 -> A4
A2 -> A4
A3 -> A4
B1 C1 D1 - объект может находится как в любом их них, так и в совокупности, так и ни в каком... При этом состояние А - обязательное. Состояния В С D сохраняются при переходе между А.
A1 + B1 -> A2 + B1 -> A2 + B1 + D1 -> A3 + B1 + D1 -> A3 + D1 -> A3 -> A4

Также для B1 C1 D1 существуют свои ограничения переходов. Например если объект также находится в D1 то переход от А2 к А3 - запрещен.

Как это отобразить на диаграмме? Или тут одной диаграммой не обойтись?
14 июн 19, 09:50    [21908379]     Ответить | Цитировать Сообщить модератору
 Re: Диаграмма состояний  [new]
Siemargl
Member

Откуда: 010100
Сообщений: 6269
X-Cite,

Две диаграммы. Скажем, объект их 2х частей, для каждой своя.

К Б, Ц, Д нужно добавить Ч (не БЦД), т.к. наличие состояния обязательно.
14 июн 19, 10:05    [21908400]     Ответить | Цитировать Сообщить модератору
 Re: Диаграмма состояний  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1551
Что-то не ложится ничего...
Например проблема: как отобразить сохранение дополнительного состояния при переходе между основными.
Может быть это тогда не состояния, а, например, признаки/флаги.

Если перефразировать:
Есть 8 действий над объектом. 4 состояния объекта. И дополнительно 3 флага у объекта (признаки). Наличие какого-то флага или совокупности флагов может влиять на разрешение выполнения действия, также конкретное состояние также влияет на разрешение действий. Результатом действия является или переход или выставление/снятия флага. А при переходе между состояниями флаги сохраняются.
И вишенка на торте.. на некоторые действия могут влиять связанные другие объекты находящиеся в определенных состояниях с определенным набором флагом.
14 июн 19, 10:33    [21908427]     Ответить | Цитировать Сообщить модератору
 Re: Диаграмма состояний  [new]
exp98
Member

Откуда:
Сообщений: 1674
X-Cite, выпиши для себя ВСЕ (возможные и невозможные) комбинации и переходы.
Если их много, сбацай утилитку.
И будет тебе диаграмма.
Для облегчения можно использовать простой пакет графвиз.
14 июн 19, 12:19    [21908560]     Ответить | Цитировать Сообщить модератору
 Re: Диаграмма состояний  [new]
exp98
Member

Откуда:
Сообщений: 1674
X-Cite
Что-то не ложится ничего...
Например проблема: как отобразить сохранение дополнительного состояния при переходе между основными. Может быть это тогда не состояния, а, например, признаки/флаги.
Ну, если тебе "АВСД" не состояние ...
14 июн 19, 12:22    [21908568]     Ответить | Цитировать Сообщить модератору
 Re: Диаграмма состояний  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 5107
X-Cite,

это называется конечный автомат

гуглим: тынц
14 июн 19, 14:34    [21908730]     Ответить | Цитировать Сообщить модератору
 Re: Диаграмма состояний  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1551
Я не понимаю какими линиями квадратиками это отобразить на диаграмме и каким образом графически описать правила...
Сами правила мне понятны и они текстом описаны.. Но надо это положить на диаграмму, что посмотрел и стало понятно.

Я тоже думал, что конечный автомат, если бы не одно но. Дополнительные признаки задают правило памяти. в этом состоянии надо помнить откуда пришли, чтобы вернуться туда же. Поэтому считать их состояниями не верно.
14 июн 19, 16:47    [21908864]     Ответить | Цитировать Сообщить модератору
 Re: Диаграмма состояний  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 5107
X-Cite,

Конечный автомат с памятью
14 июн 19, 17:19    [21908892]     Ответить | Цитировать Сообщить модератору
 Re: Диаграмма состояний  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 5107
или по другому Конечные автоматы с магазинной памятью
14 июн 19, 17:20    [21908895]     Ответить | Цитировать Сообщить модератору
 Re: Диаграмма состояний  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48132
X-Cite
Дополнительные признаки задают правило памяти. в этом состоянии надо помнить откуда пришли, чтобы вернуться туда же. Поэтому считать их состояниями не верно.
\
Может, с точки зрения предметной области и неверно, но это сильно упрощает твою задачу.
15 июн 19, 13:39    [21909095]     Ответить | Цитировать Сообщить модератору
 Re: Диаграмма состояний  [new]
vikkiv
Member

Откуда: London
Сообщений: 2399
Если чисто визуально для упрощения читабельности - то вроде особо нет ничего лучше
графов для базового сценария начать с обычной сетевой с первой итерации,
можешь цепи Маркова посмотреть (у тебя только не будет замыкания на себя), переходные состояния
дальше расширить дописав на рёбрах и вершинах условия, разбавить цветами
и цветовыми зонами охватывающими несколько вершин (в том числе пересекающиеся цветовые зоны)
15 июн 19, 14:14    [21909105]     Ответить | Цитировать Сообщить модератору
 Re: Диаграмма состояний  [new]
exp98
Member

Откуда:
Сообщений: 1674
vikkiv, цепи Маркова посмотреть можно, но вроде бы (старттопикя прочёл по диагонали) у него как раз не марковские переходы (или если грамматика, то контекстно зависимая). Т.е. переход, зависит иногда от того, откуда пришли.

Но и вообще, пока не видать авторских наработок и внятной постановки.
15 июн 19, 18:30    [21909150]     Ответить | Цитировать Сообщить модератору
Все форумы / Программирование Ответить