DRAKON.SU https://forum.drakon.su/ |
|
Параллельные маршруты в силуэте https://forum.drakon.su/viewtopic.php?f=62&t=5441 |
Страница 1 из 2 |
Автор: | Ильченко Эдуард [ Четверг, 18 Июнь, 2015 17:33 ] |
Заголовок сообщения: | Параллельные маршруты в силуэте |
Какие "за" и "против" могут быть при использовании силуэта для "расшивки" параллельных маршрутов? Пример ниже на рисунке. Вложение: PP.png [ 45.66 КБ | Просмотров: 18469 ] |
Автор: | Владимир Паронджанов [ Четверг, 18 Июнь, 2015 21:26 ] |
Заголовок сообщения: | Re: Параллельные маршруты в силуэте |
Спасибо, очень интересно. 1. Важная и новая постановка вопроса. Раньше эта проблема никогда не обсуждалась. Спасибо. 2. Идея правильная. Поддерживаю. 3. Левая ветка силуэта изображена очень хорошо и графически правильно. Она информативна и ПОЛНОСТЬЮ решает поставленную задачу. 4. Вертикальные стрелки, направленные вниз, в остальных ветках (общим числом пять стрелок) нежелательны. Формально логически они оправданы. Но читателю они не помогают, а скорее запутывают. Они не несут новой информации. Вся информация уже сказана в левой ветке. Они дублируют уже известную информацию, а это плохо. 5. В целом, решение, представленное в левой ветке, является оригинальным и очень удачным. Оно исчерпывающим образом решает проблему параллельных процессов в силуэте. Изящное и очень экономное решение. |
Автор: | Ильченко Эдуард [ Пятница, 19 Июнь, 2015 00:13 ] |
Заголовок сообщения: | Re: Параллельные маршруты в силуэте |
Владимир Паронджанов писал(а): 4. Вертикальные стрелки, направленные вниз, в остальных ветках (общим числом пять стрелок) нежелательны. Если убрать правые стрелки, то пропадает информация о точке слияния. Она становится неявной. Может так Вложение: pp1.png [ 32.37 КБ | Просмотров: 18442 ] |
Автор: | Владимир Паронджанов [ Пятница, 19 Июнь, 2015 11:11 ] |
Заголовок сообщения: | Re: Параллельные маршруты в силуэте |
Ильченко Эдуард писал(а): Если убрать правые стрелки, то пропадает информация о точке слияния. Вы правы. Точка слияния становится неявной (с формально-логической точки зрения).Она становится неявной. Однако давайте задумаемся. Как это может отразиться на поведении пользователя, который проектирует алгоритм с помощью дракон-схемы? Зайдет ли он из-за этого в тупик? Совершит ли он из-за этого какие-либо ошибки? Мне кажется, нет. Ильченко Эдуард писал(а): Может так Так гораздо лучше. Вы убрали четыре стрелки, которые неоправданно затемняют схему.Вложение: pp1.png Но и эта последняя стрелка не нужна. Глядя на нее, пользователь встанет перед вопросом: Что это? Зачем эта стрелка? Он будет вынужден выучить НОВОЕ ПРАВИЛО, объясняющее эту стрелку. Но. Это избыточное правило. Потому что Ваше замечательное изобретение (которое Вы ввели в левую ветку) уже имеет НУЖНОЕ И ВСЕОБЪЕМЛЮЩЕЕ ПРАВИЛО. Это правило исчерпывающим образом решает проблему. Оно НЕ НУЖДАЕТСЯ в дополнительном правиле про стрелку, указывающую на точку слияния. |
Автор: | Владимир Паронджанов [ Четверг, 02 Июль, 2015 19:20 ] |
Заголовок сообщения: | Re: Параллельные маршруты в силуэте |
Обдумавая ситуацию, все больше убеждаюсь, что предложение Эдуарда Ильченко (см. левую ветку силуэта) очень хорошее, просто великолепное. Настоящая находка! Она снимает целый ряд вопросов. Спасибо, Эдуард. |
Автор: | adva [ Пятница, 03 Июль, 2015 07:51 ] | ||
Заголовок сообщения: | Re: Параллельные маршруты в силуэте | ||
Может быть имеет смысл вместо стрелок адреса и начала веток видоизменить, например так:
|
Автор: | Ильченко Эдуард [ Пятница, 03 Июль, 2015 23:06 ] |
Заголовок сообщения: | Re: Параллельные маршруты в силуэте |
Владимир Паронджанов писал(а): Настоящая находка! Она снимает целый ряд вопросов. К сожалению, не только снимает, но и добавляет вопросы. Я считаю, что точку слияния тоже нужно показывать явно, чтобы параллельные маршруты считывались также просто, как и в примитиве. Например, вот так (подсмотрел у уважаемого adva): Вложение: pp3.png [ 24.38 КБ | Просмотров: 18329 ] Хотя, по-хорошему, точку слияния нужно показывать как и в примитиве, но нарушается правило о том, что ветка с веткой не могут соединяться: Вложение: 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 (см. схему Эдуарда) оба процесса не завершаются, а просто выполняют одни и теже действия. Я не понимаю, зачем в силуэте ЯВНО указывать момент окончания параллельного исполнения. Предположим, что ЯВНОГО указания в силуэте нет. Что в этом плохого? |
Автор: | andr [ Среда, 15 Июль, 2015 10:27 ] |
Заголовок сообщения: | Re: Параллельные маршруты в силуэте |
Владимир Паронджанов писал(а): MaximGB писал(а): в силуэте же, понятно что процессы разошлись, но не понятно где они сошлись и завершилось параллельное исполнение, ведь вполне может быть что в ветке П1П2 (см. схему Эдуарда) оба процесса не завершаются, а просто выполняют одни и теже действия. Я не понимаю, зачем в силуэте ЯВНО указывать момент окончания параллельного исполнения.Предположим, что ЯВНОГО указания в силуэте нет. Что в этом плохого? Просто для порядка? Этот аргумент меня не убеждает. Аргумент не убедителен потому, что за ЯВНОЕ указание приходится платить слишком дорогую цену. А именно громоздкость, неэстетичность рисунка.] Чтобы пойти на такую жертву, нужны весомые аргументы. Я их не вижу. Возьмем схему: Вложение: pp4'-ПарМарш.png [ 47.94 КБ | Просмотров: 18178 ] Эта схема имеет больше целесообразного смысла, чем самая первая правая схема (pp.png) с почти полным разложением исходного левого образца на элементы. Здесь явно видно сечение параллельного участка с раздельным, но связным изображением двух последовательно связанных многоплюсных компонент, которые могут иметь какой-то самостоятельный прикладной смысл. Причем для этого существует аналитическая (формульная) операция многополюсной последовательной связи (фрагментов) алгоритмов. Для примера приводится исходная схема алгоритма в горизонтальном исполнении Вложение: pp7-ПарМарш.png [ 38.49 КБ | Просмотров: 18178 ] Вводится разделение параллельного участка поперечным сечением на две части с их многополюсным последовательным соединением Вложение: 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/ |