В своё время поток управления (варианты использования, маршруты) алгоритмического процесса (программной процедуры) структурировался у меня так:Вложение:
Рис A3LS ГрафитМод Схема развёртки-свёртки маршрутов (ИС-процедура).png [ 416.05 КБ | Просмотров: 24606 ]
- можно, конечно, было "допилить" и под дополнительные входы, но показалось достаточным для общего представления (а допвходы всё равно лучше вводить в рамках какого-то принципа "метаструктуризации" алгоритма - "дейкстрального" или "силуэтного").
Здесь, в общем-то, представлены и идеи "упаковки дерева в устремлённый граф", описанные в докладе Ермакова-Жигуненко. Собственно, мысль Ермаковао развёртке в деревои послужила толчком к такой модели.
Синтаксис развилок отражает в свёрнутом виде ту же семантику, что развёрнута в синтаксисе кейсаSFC Editor. Ну илиздесь.
В отличие от "дерева юзкейсов"здесь, эта схема построена не как "ставшая", где все маршруты идут из общего корня (и нелинейность множественная, "сразу для всего"), а как "становящаяся", где есть только ветвления, существующие в алгоритме (по тому же принципу, что и структура Крипке). Главный (по крайней мере, физически) маршрут идёт вертикально, поэтому особо не выделен (понятно по аналогии с "исчислением маршрутных слепышей"). Разумеется, логически он быть главным не обязан - по семантике алгопроцесса может вообще оказаться, что два и более маршрутов равнозначны. Поэтому принцип "ставшей" организации тоже рулит (кстати, возможно их сочетание, как там на самом деле и есть).