Re[4]: Как рисовать схемы систем процессов?
От: VladZharinov  
Дата: 08.07.12 07:48
Оценка:
Здравствуйте, PSV100, Вы писали:
...
PSV>Спасибо за эту ветку, весьма кстати. Раньше параллельностью мы у себя особо не заморачивались, т.к. составление схем происходит эпизодически и тип схем — лишь некий псевдо-ДРАКОН (без всяких строгостей), то параллельность иногда выделяли объединяющими линиями, удобными в конкретном случае (в общем, как-то связывали квадратики, лишь бы было понятно). А в этой теме как раз всплыла проблемность адекватного указания параллельных процессов (или действий).

PSV>Короче говоря, кратко по порядку. Все рисунки взяты из этой темы.


PSV>Меня интересует, прежде всего, возможность демонстрации параллельных действий и их возможная синхронизация, ...

PSV>... Треугольники как-то явно указывали на то, что выполняется слияние или синхронизация процессов, тем более, что в ДРАКОНе принято действия определять через иконы. Нарушается также ещё одно религиозное табу ДРАКОНа: имеем пересечение линий (от самого автора стандарта). Кроме того, например, не очень-то очевидно, что действия "Прокладка электропроводки" и "Прокладка водопровода" оба ждут завершения "Монтаж электрощита". Без треугольников как-то и непонятно, что "Отделочные работы" начнутся после завершения всех четырёх действий над ним. Одним словом, наглядность хромает, особенно для неподготовленного человека.

PSV>Я также глянул и эту тему про сравнение Дракона со всякими другими, но адекватного изображения параллельности там тоже не нашёл. Посмотрел на редактор Тышова. Как я понимаю, он реализовал визуализацию параллельности на основе гостов для блок-схем:

...
PSV>Несмотря на то, что схема справа на последнем рисунке оптимизирована и более компактна, схема слева, всё-таки, более наглядна. Но главное, я как-то не могу "въехать", как же здесь указать то, что "Монтаж электрощита" является "предком" одновременно для "Прокладка электропроводки" и "Прокладка водопровода".

...

PSV>Если убрать выделение надписей цветом — будет ещё хуже. Нужно схемы как-то расширять, но тогда компактность пропадает.


PSV>А в исходной теме самым лучшим вариантом для задачи про дом оказалась схема UML (диаграмма деятельности), предоставленная Эдуардом Ильченко:

Да, конечно. Она и есть модификация сети Петри, кстати.
PSV>Также вот такие черточки-разветвители/соединители, как и в сетях Петри, нужно прикручивать и в Р-схемах (в случае необходимости, кому нужно).
Тут ещё штука в том, что схемы деятельности, допускающей параллелизм — доалгоритмические. В терминах ВД можно сказать, что они развёртываются в общем случае более, чем одной "рабочей точкой" ("дракон-поездом"). Потому и м.б. нужна синхронизация. По определению мне кажется удачным "системы совместно протекающих [взаимодействующих] процессов" (СПВП)- как здесь в Гл. 4.
Так что и язык схем систем процессов отдельный — грубо говоря, это язык сетевых графиков. И такие схемы — ДД, СП и любые другие — в смысле структуры м.б. сложнее, чем графы устремлённые, как говорит Ермаков. Потому в общем случае пересечения на плоскости там не устранишь. Но никакой алгоритм там не описывается — алгоритмы представляются блоками работ.
А уже алгоритм каждого блока можно описать на техноязыке или как-то ещё — и это уже будет устремлённый граф. Так я это понимаю. И он развёртывается единственной "рабочей точкой" — представлением исполнителя данной конкретной работы (экземпляра)в текущем его состоянии.
И как раз разнесение на разные типы схем помогает компактности.

Порядок работ указывается связностью блоков работ через узлы расщепления/слияния "рабочих точек". ДД в этом смысле ничем не отличается.
Условия синхронизации, конечно, следует как-то фиксировать — это я и предлагал в МШ-языке. Да, это не будет компактно — но эти атрибуты м.б. скрытыми — как говорил и Усов.
В принципе можно устранять пересечения, вписывая СПВП-схему в силуэт — там в ветке тоже показывали, как. Но получается несколько громоздко — надо думать.

А вот другие базовые принципы — направленности линий прежде всего — из шампур-метода стоит взять. Тогда как раз нужны "линейчатые" формы управляющих вершин — как и принято для ОС-узлов.

PSV>Несмотря на то, что именно эта схема повлияла на идеи Паронджанова, ДРАКОН пока хромает в этом направлении (хотя, возможно, сейчас есть что-то стоящее, я не в курсе).

Пока о чём-либо, кроме обсуждавшегося выше Z-языка, мне не известно.
Кстати, есть ещё разновидность языка описания СПВП — кратко описана здесь в Гл. 8. Думаю, и это Вас не вполне удовлетворит.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.