Дмитрий Бардынин писал(а):
Я согласен с Владимиром Даниеловичем, в ДРАКОНе с логикой вполне толково получается. Меня кругляшки ARIS EEPC совсем не вдохновляют.
Мне нравится простота оформления КА с помощью графов.
Если бы ДРАКОН позволял бы также комбинировать варианты ребер с одним узлом, он бы, как мне кажется, выиграл.
Видимо, необходимо уточнить, что есть один узел. Графы переходов, графы Закревского -- это не про "визуальную логику" как здесь (по ссылке выше из "Алгоритмы и жизнеритмы ..."):
Вложение:
diagr_xor.png [ 59.05 КБ | Просмотров: 7877 ]
а про упорядоченность событий и действий во времени. Так, если "вопросики" выше трактовать как кругляшки из EEPC или графов Закревского, то продвижение по маршруту, например, "Том пошёл за кладом? /нет" --> "Том пошёл за кладом?..." следует интерпретировать как следование двух событий (во втором случае: "пошёл ли Том ещё раз за кладом?" или "была ли вторая попытка?"), нечто вроде икон "синхронизатор", "пауза".
Простота достигается засчёт компактизации в том смысле, что нет ничего более, чем "события" и "действия". И уменьшается, а то и заканчивается, если начинается "размах" хотелок. Например, в графах переходов появляются "мгновенные" переходы или шаги системы в рамках автоматного состояния (комплексные действия, со своими условиями, как реакция на внешние события) -- возникают дуги другого типа, к примеру, отображаемые пунктиром. Или возникают диаграммы состояний, с внутренними шагами, с применением "ромбиков" для выражения комплексных условий и т.д. и т.п.
Дмитрий Бардынин писал(а):
Такой Гармошкой можно описать хоть ДКА, хоть НКА, и схема останется достаточно простой для понимания.
А если нужно ожидать события, например ввода символа, так и напишем в верхнем элементе "Жди ввода символа".
Схема останется понятной, но формализм в целом не будет простым в отмеченном выше смысле, если будут и гармошки с ромбиками (в т.ч. совместно переплетенные), ввод/вывод с действиями и какие-то прочие попытки "ожидания" -- уже была демонстрация построить аналог графов Закревского.
В тех графах нет визуального отличия событий как результата предшествующих действий данного процесса от событий-итогов смежных процессов. Разница должна быть понятна из контекста, что, в общем-то, приемлемо. Однако есть хотелка и "визуальной математики" -- комплексные условия раскладывать по частям. Вариант как в ARIS EEPC -- события соединяются логическими визуальными операторами -- да, в целом не очень-то легко воспринимается. К тому же может быть для "бизнес-жизнеритмов" тамошний набор операторов достаточный, но, например, для предметки "деревья отказов" нужно поболее ("запрет" -- "событие с условием", "приоритетное И", "m из n"):
https://www.itexpert.ru/rus/ITEMS/77-30/В общем случае нужны "формулы" как универсальное средство. Может быть тот же ромбик-вопрос использовать как "событие" у Закревского. Один ромбик -- одно событие. Выходов из ромба может быть два и один. Ромб с одиночным выходом "проглатывается" нормально на маршруте, мол как "пауза", аля (выход должен быть всегда помечен "да" или без метки):
Вложение:
diagr_xor1.png [ 30.36 КБ | Просмотров: 7877 ]
Комплексное (но одно) событие -- в виде гармошки-склейки ромбиков (без всяких верхних "действий"). Однако проблема в выразительности. В общем случае, видимо, гармошка будет аля "линейный бинарный граф", с переходами внутри гармошки (!), с возможными повторениями условий и т.д.:
https://forum.drakon.su/viewtopic.php?f=148&t=6693Тогда необходимо добиться выразительности, не хуже чем традиционные развесистые "лестницы условий" из отдельных ромбов.