Как получить все комбинации из диаграммы состояний UML - PullRequest
0 голосов
/ 05 марта 2009

У меня есть простая диаграмма состояний UML, из которой я хотел бы получить список всех возможных комбинаций. Кто-нибудь знает программу или алгоритм, который мог бы сделать это для меня?

Ответы [ 2 ]

1 голос
/ 05 марта 2009

Для отдельной диаграммы состояний (например, для одного класса) просто перечислите их вне диаграммы.

Для диаграмм с несколькими состояниями с несвязанными переходами это просто декартово произведение (также называемое китайским меню) - его можно создавать с помощью вложенных циклов, повторяющихся в различных независимых перечислениях.

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

Это примерно все, что можно сказать с указанными вами деталями (или их отсутствием).

0 голосов
/ 05 марта 2009

Это зависит от того, что вы на самом деле имеете в виду под комбинацией ... Комбинация возможных состояний или все пути через диаграмму состояний? Или у вас есть параллельные / ортогональные области в диаграмме состояний, чтобы вы могли иметь возможность перечислять различные параллельные конфигурации диаграммы состояний?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...