DRAKON.SU
https://forum.drakon.su/

Параллельные маршруты в силуэте
https://forum.drakon.su/viewtopic.php?f=62&t=5441
Страница 1 из 2

Автор:  Ильченко Эдуард [ Четверг, 18 Июнь, 2015 17:33 ]
Заголовок сообщения:  Параллельные маршруты в силуэте

Какие "за" и "против" могут быть при использовании силуэта для "расшивки" параллельных маршрутов?
Пример ниже на рисунке.
Вложение:
PP.png
PP.png [ 45.66 КБ | Просмотров: 18469 ]

Автор:  Владимир Паронджанов [ Четверг, 18 Июнь, 2015 21:26 ]
Заголовок сообщения:  Re: Параллельные маршруты в силуэте

Спасибо, очень интересно.

1. Важная и новая постановка вопроса. Раньше эта проблема никогда не обсуждалась. Спасибо.

2. Идея правильная. Поддерживаю.

3. Левая ветка силуэта изображена очень хорошо и графически правильно. Она информативна и ПОЛНОСТЬЮ решает поставленную задачу.

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

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

Автор:  Ильченко Эдуард [ Пятница, 19 Июнь, 2015 00:13 ]
Заголовок сообщения:  Re: Параллельные маршруты в силуэте

Владимир Паронджанов писал(а):
4. Вертикальные стрелки, направленные вниз, в остальных ветках (общим числом пять стрелок) нежелательны.

Если убрать правые стрелки, то пропадает информация о точке слияния.
Она становится неявной.

Может так
Вложение:
pp1.png
pp1.png [ 32.37 КБ | Просмотров: 18442 ]

Автор:  Владимир Паронджанов [ Пятница, 19 Июнь, 2015 11:11 ]
Заголовок сообщения:  Re: Параллельные маршруты в силуэте

Ильченко Эдуард писал(а):
Если убрать правые стрелки, то пропадает информация о точке слияния.
Она становится неявной.
Вы правы. Точка слияния становится неявной (с формально-логической точки зрения).

Однако давайте задумаемся. Как это может отразиться на поведении пользователя, который проектирует алгоритм с помощью дракон-схемы?

Зайдет ли он из-за этого в тупик?

Совершит ли он из-за этого какие-либо ошибки?

Мне кажется, нет.

Ильченко Эдуард писал(а):
Может так
Вложение:
pp1.png
Так гораздо лучше. Вы убрали четыре стрелки, которые неоправданно затемняют схему.

Но и эта последняя стрелка не нужна. Глядя на нее, пользователь встанет перед вопросом:

Что это? Зачем эта стрелка? Он будет вынужден выучить НОВОЕ ПРАВИЛО, объясняющее эту стрелку.

Но. Это избыточное правило. Потому что Ваше замечательное изобретение (которое Вы ввели в левую ветку) уже имеет НУЖНОЕ И ВСЕОБЪЕМЛЮЩЕЕ ПРАВИЛО.

Это правило исчерпывающим образом решает проблему. Оно НЕ НУЖДАЕТСЯ в дополнительном правиле про стрелку, указывающую на точку слияния.

Автор:  Владимир Паронджанов [ Четверг, 02 Июль, 2015 19:20 ]
Заголовок сообщения:  Re: Параллельные маршруты в силуэте

Обдумавая ситуацию, все больше убеждаюсь, что предложение Эдуарда Ильченко (см. левую ветку силуэта) очень хорошее, просто великолепное.

Настоящая находка! Она снимает целый ряд вопросов. Спасибо, Эдуард.

Автор:  adva [ Пятница, 03 Июль, 2015 07:51 ]
Заголовок сообщения:  Re: Параллельные маршруты в силуэте

Может быть имеет смысл вместо стрелок адреса и начала веток видоизменить, например так:

Вложения:
pp1_2.png
pp1_2.png [ 23.74 КБ | Просмотров: 18358 ]

Автор:  Ильченко Эдуард [ Пятница, 03 Июль, 2015 23:06 ]
Заголовок сообщения:  Re: Параллельные маршруты в силуэте

Владимир Паронджанов писал(а):
Настоящая находка! Она снимает целый ряд вопросов.

К сожалению, не только снимает, но и добавляет вопросы.
Я считаю, что точку слияния тоже нужно показывать явно, чтобы параллельные маршруты считывались также просто, как и в примитиве.

Например, вот так (подсмотрел у уважаемого adva):
Вложение:
pp3.png
pp3.png [ 24.38 КБ | Просмотров: 18329 ]


Хотя, по-хорошему, точку слияния нужно показывать как и в примитиве, но нарушается правило о том, что ветка с веткой не могут соединяться:
Вложение:
pp4.png
pp4.png [ 22.12 КБ | Просмотров: 18329 ]


Думаю, что нужно наработать практику применения параллельных маршрутов в примитиве и, если не будет хватать каких-то возможностей, переходить к силуэту.

Автор:  andr [ Вторник, 14 Июль, 2015 12:21 ]
Заголовок сообщения:  Re: Параллельные маршруты в силуэте

Ильченко Эдуард писал(а):
Какие "за" и "против" могут быть при использовании силуэта для "расшивки" параллельных маршрутов?
Пример ниже на рисунке.
Вложение:
PP.png

Владимир Паронджанов писал(а):
Спасибо, очень интересно.

1. Важная и новая постановка вопроса. Раньше эта проблема никогда не обсуждалась. Спасибо.

2. Идея правильная. Поддерживаю.

3. Левая ветка силуэта изображена очень хорошо и графически правильно. Она информативна и ПОЛНОСТЬЮ решает поставленную задачу.

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

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

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

Появилась такая практическая необходимость? или обнаружилась такая реальная ситуация?
Или это брызги фантазии - в поисковом порядке для полноты теоретических ощущений.
Во всяком случае - действительно, что-то новое.
Есть информация к размышлению.
Действительно, спасибо.

Ильченко Эдуард писал(а):
Я считаю, что точку слияния тоже нужно показывать явно, чтобы параллельные маршруты считывались также просто, как и в примитиве.

Например, вот так (подсмотрел у уважаемого adva):
Вложение:
pp3.png

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

Ильченко Эдуард писал(а):
Хотя, по-хорошему, точку слияния нужно показывать как и в примитиве, но нарушается правило о том, что ветка с веткой не могут соединяться:
Вложение:
pp4.png
Почему не могут соединяться?

То есть параллельное ветвление отдельной ветки (по ходу передачи управления) допустимо.
Здесь понятен естественный смысл термина "ветвление":
две ветки (или более) вырастают из одной ветки (по ходу передачи).

Но ветка с веткой не могут соединяться .
Почему?
Это противоречит естественному смыслу?
А если предположить что две ветки по ходу своего роста срослись.
Пересеклись и срослись - это в природе можно наковырять:
в обильной коневой системе в тесноте цветочного горшка, например
(хотя сам не видел - это тоже фантазия).

----------------------------------
В общем, если допустимо показывать дополнительные узлы ветвления отдельных ветвей,
то почему не допустимо показывать узлы слияния, соединения ветвей?
Тем более, что узлы слияния можно интерпретировать как обратное ветвление.

Автор:  Ильченко Эдуард [ Вторник, 14 Июль, 2015 14:26 ]
Заголовок сообщения:  Re: Параллельные маршруты в силуэте

andr писал(а):
Или это брызги фантазии - в поисковом порядке для полноты теоретических ощущений.

Таки, да.
Ильченко Эдуард писал(а):
Думаю, что нужно наработать практику применения параллельных маршрутов в примитиве и, если не будет хватать каких-то возможностей, переходить к силуэту.


andr писал(а):
Это к тому, что так или иначе и точку (узел) разделения (дивергенции) и точку (узел) слияния, соединения (конвергенции) потоков
целесообразно обозначать парой параллельных поперечных линий - одинаково
(либо одинарными поперечными линия - тоже одинаково).

Нет. Это к параллельной линии внутри иконы Имя ветки.

Вариант изображения параллелизма, предложенный уважаемым Владимиром Паронджановым, мне понятен, не вызывает кривотолков, эстетически приятен и ближе к понятию concurrent processes (совместно существующие …).

andr писал(а):
Но ветка с веткой не могут соединяться .
Почему?

Правило языка ДРАКОН.
Меньше связей — лучше восприятие.

Автор:  MaximGB [ Вторник, 14 Июль, 2015 17:34 ]
Заголовок сообщения:  Re: Параллельные маршруты в силуэте

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

Автор:  Владимир Паронджанов [ Вторник, 14 Июль, 2015 20:25 ]
Заголовок сообщения:  Re: Параллельные маршруты в силуэте

MaximGB писал(а):
в силуэте же, понятно что процессы разошлись, но не понятно где они сошлись и завершилось параллельное исполнение, ведь вполне может быть что в ветке П1П2 (см. схему Эдуарда) оба процесса не завершаются, а просто выполняют одни и теже действия.
Я не понимаю, зачем в силуэте ЯВНО указывать момент окончания параллельного исполнения.

Предположим, что ЯВНОГО указания в силуэте нет. Что в этом плохого?

Просто для порядка? Этот аргумент меня не убеждает.
Аргумент не убедителен потому, что за ЯВНОЕ указание приходится платить слишком дорогую цену. А именно громоздкость, неэстетичность рисунка.

Чтобы пойти на такую жертву, нужны весомые аргументы. Я их не вижу.

Я рассуждаю так (про силуэт). Да, в силуэте отсутствует ЯВНОЕ указание конца параллельных процессов.

Ну и что? Кто-нибудь от этого умер? Нет, никто не умер.

Кто-нибудь запутался? Или сделал ошибку?

Мне кажется, никто не запутается. И никто не сделает ошибку.

Или я не прав?

Автор:  MaximGB [ Среда, 15 Июль, 2015 09:18 ]
Заголовок сообщения:  Re: Параллельные маршруты в силуэте

Владимир Паронджанов писал(а):
MaximGB писал(а):
в силуэте же, понятно что процессы разошлись, но не понятно где они сошлись и завершилось параллельное исполнение, ведь вполне может быть что в ветке П1П2 (см. схему Эдуарда) оба процесса не завершаются, а просто выполняют одни и теже действия.

Я не понимаю, зачем в силуэте ЯВНО указывать момент окончания параллельного исполнения.

Предположим, что ЯВНОГО указания в силуэте нет. Что в этом плохого?
Без явного указания трактовать схему можно двояко: ведь вполне может быть что в ветке П1П2 (см. схему Эдуарда) оба процесса не завершаются, а просто выполняют одни и теже действия.

Автор:  andr [ Среда, 15 Июль, 2015 10:27 ]
Заголовок сообщения:  Re: Параллельные маршруты в силуэте

Владимир Паронджанов писал(а):
MaximGB писал(а):
в силуэте же, понятно что процессы разошлись, но не понятно где они сошлись и завершилось параллельное исполнение, ведь вполне может быть что в ветке П1П2 (см. схему Эдуарда) оба процесса не завершаются, а просто выполняют одни и теже действия.
Я не понимаю, зачем в силуэте ЯВНО указывать момент окончания параллельного исполнения.

Предположим, что ЯВНОГО указания в силуэте нет. Что в этом плохого?

Просто для порядка? Этот аргумент меня не убеждает.
Аргумент не убедителен потому, что за ЯВНОЕ указание приходится платить слишком дорогую цену. А именно громоздкость, неэстетичность рисунка.]

Чтобы пойти на такую жертву, нужны весомые аргументы. Я их не вижу.


Возьмем схему:
Вложение:
pp4'-ПарМарш.png
pp4'-ПарМарш.png [ 47.94 КБ | Просмотров: 18178 ]

Эта схема имеет больше целесообразного смысла, чем самая первая правая схема (pp.png)
с почти полным разложением исходного левого образца на элементы.
Здесь явно видно сечение параллельного участка
с раздельным, но связным изображением двух последовательно связанных многоплюсных компонент,
которые могут иметь какой-то самостоятельный прикладной смысл.
Причем для этого существует аналитическая (формульная) операция
многополюсной последовательной связи (фрагментов) алгоритмов.

Для примера приводится исходная схема алгоритма в горизонтальном исполнении
Вложение:
pp7-ПарМарш.png
pp7-ПарМарш.png [ 38.49 КБ | Просмотров: 18178 ]

Вводится разделение параллельного участка поперечным сечением на две части
с их многополюсным последовательным соединением
Вложение:
pp8-ПарМарш.png
pp8-ПарМарш.png [ 29.78 КБ | Просмотров: 18178 ]

Знак : | : означает многополюсное последовательное соединение компонентов алгоритмов.
Происходит от аналогичного знака для теории релейно-контактных схем М.А. Гаврилова
(но там вместо двухстороннего двоеточия используется двухстороннее троеточие).

Владимир Паронджанов писал(а):
Я рассуждаю так (про силуэт). Да, в силуэте отсутствует ЯВНОЕ указание конца параллельных процессов.

Ну и что? Кто-нибудь от этого умер? Нет, никто не умер.

Кто-нибудь запутался? Или сделал ошибку?

Мне кажется, никто не запутается. И никто не сделает ошибку.

Или я не прав?

Достоинства начальной схемы pp4':

1) В явной, компактной, эстетичной и общепонятной форме отображаются
все структурные элементы и компоненты параллельного алгоритма:
с рассечением на две последовательно связанные многополюсные компоненты
(зачем это нужно - можно справиться у автора - нужно и баста).

2) Не нужны дополнительные заморочки для зашифровки и расшифровки
более громоздкой схемы с неявными коммутационными структурными элементами.

3) Используется полная симметрия (равноправие) возможностей
для отображения узлов разделения (дивергенции) потоков и их соединения (конвергенции).

4) Не нужны дополнительные заморочки с обоснованием, применением и пониманием асимметрии:
дискриминация прав явного отражения узла соединения потоков.

Автор:  Владимир Паронджанов [ Среда, 15 Июль, 2015 10:40 ]
Заголовок сообщения:  Re: Параллельные маршруты в силуэте

MaximGB писал(а):
Без явного указания трактовать схему можно двояко: ведь вполне может быть что в ветке П1П2 (см. схему Эдуарда) оба процесса не завершаются, а просто выполняют одни и теже действия.
Это не так. В ветке П1П2 все завершается, потому что в ней конец алгоритма.

В схеме Эдуарда есть неточность (избыточность). Крайняя правая ветка (Завершение) не нужна. Ее следует удалить и перенести конец в ветку П1П2.

Максим, Вы не ответили мне, зачем нужно ЯВНОЕ указание параллельных процессов. Что в этом плохого?

Или я Вас не понял.

Автор:  andr [ Среда, 15 Июль, 2015 13:39 ]
Заголовок сообщения:  Re: Параллельные маршруты в силуэте

Ильченко Эдуард писал(а):
Какие "за" и "против" могут быть при использовании силуэта для "расшивки" параллельных маршрутов?
Пример ниже на рисунке.
Вложение:
PP.png

Первоначально эти схемы вызвали у меня некоторое недоумение - в смысле:
а зачем это надо, почему это надо и кому это надо.

Но теперь меня раскочегарило - забросил все дела и раскатываю структурные построения алгоритмов.
Что бы не выветрилось из головы.
Раньше было еще несколько поводов на форуме для проработки (по своим делам),
но отложил на потом и теперь уже забыл, где это было и о чем.

Такие схемы PP.png, типа силуэт справа имеют ключевое концептуальное значение
для обоснования построений параллельных структур
(у меня такое было, только немного по другому, а теперь заиграло по-новому).

И понял, наконец, фундаментальный смысл силуэтов:
общая шина для множественных адресных переходов (типа goto) для фрагментированных структур
(по меткам входных и выходных пентагонов).
Точнее это двух-секционная шина со специализацией на выходы и входы.
И кое-что еще.

-----------------------------------------------------
Я не буду утомлять уважаемую публику.
Но есть одна проблема.

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

К новому учебному году надо бы освоить какой-то дракон-редактор (один из трех):
для практической обкатки параллельных структурных построений в более или менее массовом применении.

Уважаемый Эдуард.
Какой дракон-редактор Вы применяете ?
И как его приобрести (с документацией желательно)?

Автор:  Ильченко Эдуард [ Среда, 15 Июль, 2015 14:20 ]
Заголовок сообщения:  Re: Параллельные маршруты в силуэте

andr писал(а):
Какой дракон-редактор Вы применяете ?
И как его приобрести (с документацией желательно)?

Применяю собственный редактор.
По готовности он будет доступен без оплаты.

Готовность оцениваю в ~98%. Состояние финальной отладки.
Осталось доделать клавиатурный интерфейс, перевод интерфейса рус/анг, документацию и примеры.

К началу учебного года могу не успеть : )

Трансляция в языки программирования в этой версии отсутствует.
"расшивка" параллельных процессов в силуэте тоже отсутствует.

Автор:  andr [ Среда, 15 Июль, 2015 15:01 ]
Заголовок сообщения:  Re: Параллельные маршруты в силуэте

Ильченко Эдуард писал(а):
andr писал(а):
Какой дракон-редактор Вы применяете ?
И как его приобрести (с документацией желательно)?

Применяю собственный редактор.
По готовности он будет доступен без оплаты.

Готовность оцениваю в ~98%. Состояние финальной отладки.
Осталось доделать клавиатурный интерфейс, перевод интерфейса рус/анг, документацию и примеры.

К началу учебного года могу не успеть : )

Трансляция в языки программирования в этой версии отсутствует.
"расшивка" параллельных процессов в силуэте тоже отсутствует.

Ясно.
Трансляция в языки не требуется.
А что значит:
"расшивка" параллельных процессов в силуэте тоже отсутствует?

А просто, по крестьянски - без расшивки, нарисовать параллельную структуру можно?
Типа "Примитив" на PP.png слева?

Вполне подходящий примитив - для начала
(не в смысле мало,а в смысле простая по типу - последовательно-паралельная структура?):
Не знал что всю сознательную жизнь занимаюсь примитивами
(точнее стремлюсь их обеспечить - в чистом или в приведенном виде).
Есть повод подумать о прожитом и о смысле жизни.

Автор:  Ильченко Эдуард [ Среда, 15 Июль, 2015 15:33 ]
Заголовок сообщения:  Re: Параллельные маршруты в силуэте

andr писал(а):
А просто, по крестьянски - без расшивки, нарисовать параллельную структуру можно?
Типа "Примитив" на PP.png слева?

Да, можно.

Автор:  MaximGB [ Среда, 15 Июль, 2015 15:34 ]
Заголовок сообщения:  Re: Параллельные маршруты в силуэте

Владимир Паронджанов писал(а):
MaximGB писал(а):
Без явного указания трактовать схему можно двояко: ведь вполне может быть что в ветке П1П2 (см. схему Эдуарда) оба процесса не завершаются, а просто выполняют одни и теже действия.
Это не так. В ветке П1П2 все завершается, потому что в ней конец алгоритма.

В схеме Эдуарда есть неточность (избыточность). Крайняя правая ветка (Завершение) не нужна. Ее следует удалить и перенести конец в ветку П1П2.

Да, там есть конец алгоритма, но там же есть и действие Д6, и глядя на силуэт, в отличие от примитива, не понятно будет ли Д6 выполнено одним процессом или двумя.
Владимир Паронджанов писал(а):
Максим, Вы не ответили мне, зачем нужно ЯВНОЕ указание параллельных процессов. Что в этом плохого?

Я говорил что нужно явное указание места где параллельное выполнение завершается, таким образом снимается возможное двоякое трактование силуэта (это я про то сколько раз и кем будет выполнено действие Д6 в примере Эдуарда). Предложение andr с одной горизонтальной чертой не плохо, но он не учитывает что алгоритмы параллельных процессов могут быть более сложными и сами состоять из нескольких веток. Тогда для того чтобы их завершить/синхронизировать одной горизонтальной чертой, завершающие ветки параллельных процессов придётся комбинировать, выстраивать в силуэте одну за одной слева-направо, и выносить правее от прочих (начальных и промежуточных) веток параллельных процессов. Это не всегда удобно, так как в таком случает все ветки параллельных процессов будут перемешаны, нельзя будет сначала нарисовать ветки одного процесса, а потом, правее, другого.

В данный момент мне больше нравится икона "имя ветки" с двумя горизонтальными чертами сверху, как в примере adva, но я бы пометил двумя горизонтальными чертами ветку П1П2, а не aП1, аП2.

Автор:  Владимир Паронджанов [ Среда, 15 Июль, 2015 17:50 ]
Заголовок сообщения:  Re: Параллельные маршруты в силуэте

MaximGB писал(а):
там же есть и действие Д6, и глядя на силуэт, в отличие от примитива, не понятно будет ли Д6 выполнено одним процессом или двумя.
Действие Д6 означает, что параллельные процессы закончились ДО начала действия Д6.

Это можно внести в правила языка ДРАКОН. Для этого не нужно вводить новые иконы и новые обозначения.


MaximGB писал(а):
Я говорил что нужно явное указание места где параллельное выполнение завершается, таким образом снимается возможное двоякое трактование силуэта (это я про то сколько раз и кем будет выполнено действие Д6 в примере Эдуарда). Предложение andr с одной горизонтальной чертой не плохо, но он не учитывает что алгоритмы параллельных процессов могут быть более сложными и сами состоять из нескольких веток. Тогда для того чтобы их завершить/синхронизировать одной горизонтальной чертой, завершающие ветки параллельных процессов придётся комбинировать, выстраивать в силуэте одну за одной слева-направо, и выносить правее от прочих (начальных и промежуточных) веток параллельных процессов. Это не всегда удобно, так как в таком случает все ветки параллельных процессов будут перемешаны, нельзя будет сначала нарисовать ветки одного процесса, а потом, правее, другого.

В данный момент мне больше нравится икона "имя ветки" с двумя горизонтальными чертами сверху, как в примере adva, но я бы пометил двумя горизонтальными чертами ветку П1П2, а не aП1, аП2.
Максим, Ваше пояснение показывает, что отсутствие дополнительных обозначений не приводит к ошибке. Если ошибки нет, тогда зачем лишние обозначения?

MaximGB писал(а):
ветки параллельных процессов будут перемешаны, нельзя будет сначала нарисовать ветки одного процесса, а потом, правее, другого.
это не говорит о том, что надо ЯВНО указывать момент окончания параллельных процессов.

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/