DRAKON.SU

Текущее время: Четверг, 28 Март, 2024 13:30

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 254 ]  На страницу 1, 2, 3, 4, 5 ... 13  След.
Автор Сообщение
 Заголовок сообщения: ДРАКОН vs Р-схемы
СообщениеДобавлено: Вторник, 14 Август, 2012 19:37 

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 396
Моя история находится здесь на РСДН. Здесь её финал на сегодня. Кратко в двух словах. Мне приходится рисовать ДРАКОН-схемки алгоритмов различных расчётов и иногда отображать материальные процессы. Потребность возникает редко, и схемы, в основном, набрасываются вручную на бумаге, из-за этого диаграммы лишь похожи на ДРАКОН (по второй ссылке есть наглядный пример). И иногда схемки приходится рисовать "нормально" в граф-редакторе. В принципе, исходная тема на РСДН и возникла из-за очередной попытки поиска удобного способа создания диаграмм, и пока результаты не успешны. Известные доступные ДРАКОН-редакторы недостаточно удобны в работе, во всяком случае, для программистов. В качестве компромисса (в плане применимости среди широкой аудитории пользователей), например, им не хватает функционала на уровне "вимператора" (известного плагина для FireFox), но это отдельная тема и сейчас не об этом. И вот относительно недавно (благодаря обсуждению ДРАКОНа на РСДН) я познакомился с Р-схемами, которые заставили призадуматься над "алго-рисованием", пришлось кроме вопросов относительно инструментария в очередной раз исследовать и потенциал различных графических нотаций для своих нужд. На данный момент Р-схемы показались мне вполне конкурентоспособными относительно ДРАКОНа (и др. языков).

Материалы для тех, кто не знаком с Р-схемами И.В. Вельбицкого:

- статья И.В. Вельбицкий "Визуальное программирование графическими структурами";
- Выборка из выше указанной статьи;
- статья Вельбицкий И.В., Ковалёва А.Л. "Графический стиль программирования для персональной ЭВМ", Журнал "Микропроцессорные средства и системы" N4 1985г., стр.46-51;
- книга Вельбицкий И.В., Ходаковская В.Н., Шолмов Л.И. - Технологический комплекс производства программ на машинах ЕС ЭВМ и БЭСМ-6 (1980);
- пример из книги;
- официальный сайт по Р-технологии;
- немного истории;
- журнал Кибертония за 01/2012 (с.46);
- РТК - информация о комплексе;
- сведения об РТК на этом форуме:
* здесь;
* здесь;
- ГОСТ:
* 19.005-85 HTML PDF
* 8631-94 HTML PDF

Информации о Р-технологии крайне мало, а о практическом применении толком ничего и не найти. Я позволю себе здесь указать несколько рисунков, чтобы можно было быстро понять сущность Р-схем.

Примерчик из статьи Вельбицкого:

Изображение

Очевидно, что схемы кроме графического отображения могут иметь абсолютно идентичную форму текстовой записи. Удачная нотация, которая позволяет задавать не только алгоритмы в виде императива, но и в функциональном или декларативном стиле, даже "зарисовать" Пролог:

Изображение

Кроме алгоритмов через одну и ту же нотацию можно задавать и различные структурные, активностные и пр. диаграммы:

Изображение

А здесь видно, что через один стиль схем указывается и алгоритмика, и сетевые графики и др. К тому же Р-схемы хорошо сочетаются с табличными данными, в т.ч. и когда таблицы "вписаны" во внутрь схем:

Изображение

Продублирую свой рисунок с РСДН. Можно считать, что это некая альтернатива попыткам описать бизнес-процессы, которые можно встретить, например, в этой теме, или здесь (прошу прощения за ручную мазню, но это вынужденная мера):

Изображение

Это попытка задать шампура от ДРАКОНа, но горизонтально ("мангал-метод" :) , при необходимости вполне применимо драконовское правило "чем правее, тем хуже", но здесь "чем ниже мясо свисает с шампура, тем оно сильнее подгорает" ). Здесь нет полноценного графа, формально необходимо рисовать по таким мотивам:

Изображение

Засорять этот пост дальше не буду. Кратко мои выводы. По сравнению с ДРАКОНом Р-схемы имеют плюсы:

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

- схемы растут горизонтально, что удобно при широкоформатных мониторах;

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

- Р-схемы имеют адекватное отображение и в текстовом виде, что имеет плюс в техническом плане (кроме среды/редактора есть возможность использовать сторонний инструментарий, как контроль версий, поиск и манипулирование текстом и пр.);

- правила составления схем, имхо, даже проще, чем в ДРАКОНе. Формально, в ГОСТе, есть и произвольные переходы, могут быть и пересечения (которые, кстати, здесь как-то "проглатываются" терпимо). Но "экстрим" пока можно не обсуждать, его можно и не допускать.

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

Во-вторых, Р-схемы имеют больше претензий к качественной отрисовке. В них важно надписи и подписи визуально прикреплять к своей дуге, избегать хаоса из сумбурного текста. Поэтому Р-схемы требуют для себя места, так сказать, с запасом воздуха, при этом, что несколько обидно, в Р-схемах как бы меньше "квадратиков" по сравнению с блок-схемами благодаря предикатам, но в итоге пространства "сжирают" не на много меньше. К тому же Р-схемы не подходят в тех случаях, когда нужны гламурные диаграммы с градиентными заливками и тенями (правда, обычно сущность содержимого таких диаграмм на самом деле не имеют никакой пользы, кроме самого факта их наличия). В идеале, Р-схемы необходимо оформлять по ЕСКД, с рамочкой и штампом, ровненько чертить с "красивым почерком". Тогда и для "попсы" схемы приобретут оттенок инженерной солидности, и "большому начальнику" их не стыдно показать. Если схемки красивенько чертить, то в них вполне нормально вписывается содержательный (немалый) текст, особенно, если его оформлять как встроенную табличку (но с едва заметными разделительными линиями).

В общем, можно и ещё что-то сказать. В какой-то степени, эту тему форума можно считать дальнейшим развитием этой темы, там, кстати, есть пару слов и про Р-схемы, но ничего существенного. Интересно мнение жителей OberonCore, особенно тех, кто ДРАКОН использует на практике и прочувствовал неудобства с ним в разных вопросах (а вопросы есть). Видит ли кто-то для себя альтернативу рисункам (ДРАКОН-схемам) в виде Р-чертежа алгоритма (и не только алгоритма) ?


Последний раз редактировалось PSV100 Четверг, 20 Сентябрь, 2012 19:42, всего редактировалось 4 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДРАКОН vs Р-схемы
СообщениеДобавлено: Вторник, 14 Август, 2012 20:58 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
PSV100 писал(а):
... Мне приходится рисовать ДРАКОН-схемки алгоритмов различных расчётов и иногда отображать материальные процессы. Потребность возникает редко, и схемы, в основном, набрасываются вручную на бумаге, из-за этого диаграммы лишь похожи на ДРАКОН (по второй ссылке есть наглядный пример). И иногда схемки приходится рисовать "нормально" в граф-редакторе.

В принципе, исходная тема на РСДН и возникла из-за очередной попытки поиска удобного способа создания диаграмм, и пока результаты не успешны.

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

И вот относительно недавно (благодаря обсуждению ДРАКОНа на РСДН) я познакомился с Р-схемами, которые заставили призадуматься над "алго-рисованием".

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

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


Уважаемые коллеги!

Автор темы PSV100 провел сравнительный анализ языка ДРАКОН и Р-технологии Вельбицкого. И пришел к выводу, что
Цитата:
Р-схемы удобнее, чем дракон-схемы.

Насколько я понял, этот вывод не окончательный, а предварительный. Чтобы укрепиться в этом суждении, PSV100 хочет узнать мнение специалистов. Вопрос ставится так:
Цитата:
Интересно мнение жителей OberonCore, особенно тех, кто ДРАКОН использует на практике и прочувствовал неудобства работы с ним в разных вопросах (а вопросы есть).

Видит ли кто-то для себя альтернативу рисункам (ДРАКОН-схемам) в виде Р-чертежа алгоритма (и не только алгоритма) ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДРАКОН vs Р-схемы
СообщениеДобавлено: Вторник, 14 Август, 2012 22:56 

Зарегистрирован: Понедельник, 09 Август, 2010 22:28
Сообщения: 128
У P-схем есть одно преимущество над Драконом: они позволяют создавать не только схемы алгоритмов, но и схемы структур данных весьма приличного качества.

По ним бы еще хороший учебник типа такого, какой ВД сделал для Дракона.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДРАКОН vs Р-схемы
СообщениеДобавлено: Среда, 15 Август, 2012 09:44 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 234
Откуда: Украина, Киев
Хм, любопытный сайтик "Фонда Глушкова".
Там две версии редакторов Р-схем и интерперетатор с исходными кодами :roll:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДРАКОН vs Р-схемы
СообщениеДобавлено: Среда, 15 Август, 2012 10:22 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Уважаемый Ярослав Михайлович!

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДРАКОН vs Р-схемы
СообщениеДобавлено: Среда, 15 Август, 2012 11:38 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 234
Откуда: Украина, Киев
Просто "побродил" по ссылке приведённой PSV100.
PSV100 писал(а):
- "официальный сайт" по Р-технологии;

http://glushkov.org/?page_id=64
http://glushkov.org/?page_id=289
http://glushkov.org/?page_id=307


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДРАКОН vs Р-схемы
СообщениеДобавлено: Среда, 15 Август, 2012 12:24 

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 396
Владимир Паронджанов писал(а):
Уважаемый Ярослав Михайлович!

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


Ярослав Романченко уже дал конкретные ссылки, всё находится на сайте фонда Глушкова. Там есть несколько схожих редакторов, один из них может генерировать код на С++ (правда, по уж очень упрощённому алгоритму), другой может интерпретировать код на JavaScript (а точнее QtScript), функционал систем на уровне пощупать/побаловаться, не для серьёзной работы. По удобству редакторы слабоваты. Одним словом, в плане инструментария ситуация хуже чем с ДРАКОНом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДРАКОН vs Р-схемы
СообщениеДобавлено: Среда, 15 Август, 2012 12:39 

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 396
И дополню. Как раз эти доступные редакторы показывают тот факт, что Р-схемы необходимо качественно рисовать. Схемы в данных редакторах выглядят не очень-то наглядно, необходимо изменять расстояние между надписями и линиями дуг, сами дуги разносить чуть побольше, баловаться со шрифтом. В идеале Р-схемы, имхо, лучше воспринимаются в виде классического инженерного чертежа с правильным чертёжным почерком, так что, над потенциальном редактором нужно хорошенько работать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДРАКОН vs Р-схемы
СообщениеДобавлено: Среда, 15 Август, 2012 14:20 

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 396
Владимир Паронджанов писал(а):
Автор темы PSV100 провел сравнительный анализ языка ДРАКОН и Р-технологии Вельбицкого. И пришел к выводу, что
Цитата:
Р-схемы удобнее, чем дракон-схемы.

Насколько я понял, этот вывод не окончательный, а предварительный.
[...]

Да, окончательных выводов у меня нет. Необходимо уточнить. Нельзя однозначно сказать, что Р-схемы всегда удобнее/лучше Дракон-схем, или что ДРАКОН однозначно хуже Р-технологии. Всему есть свое место. ДРАКОН, благодаря своей близости к типовым блок-схемам, фактически может быть что-то вроде mainstream-а. Например, недавно мне пришлось смотреть инструкцию к материнке и там была блок-схема, описывающая процесс загрузки биоса (какие этапы, последовательность проверок ошибок и пр.). Я бы очень удивился, если вместо классической блок-схемы там была бы какая-то другая нотация (хотя и блок-схему несколько непривычно встретить вместо обычного текста). Использование ДРАКОНа (и блок-схем тоже) несколько затруднительно в тех случаях, когда он изначально не рассчитан на такое применение. К примеру, нет хорошего способа схематично указать выполнение параллельных процессов, если говорить о доалгоритмической диаграмме (эта проблема здесь на сайте неоднократно всплывает), не всегда лекарство избегания пересечений лучше, чем это пересечение явно показать, есть неоднозначность в полезности использования веточных циклов, и др. Возможно, не все вопросы решаются и через Р-схемы (хотя, имхо, потенциал у Р-схем выше), тем более, если пытаться применять такие наработки ДРАКОНа как силуэт, к примеру.
Да и не всегда графический язык сможет составить достойную конкуренцию текстовому языку программирования. В прикрепленном рисунке я привёл примеры простейших функций на Хаскеле, в исходном коде и попытка рядом выразить их через Р-нотацию (уверен, что эта попытка неправильна). Здесь "кто кого" - однозначно сказать нельзя. Если использовать функциональный стиль в рамках граф-языка, то его синтаксис нужно хорошенько адаптировать для "вписывания" в схемы.
И, имхо, у Р-схем для функционального программирования больше потенциал, чем у ДРАКОНа и блок-схем. Откровенно говоря, отсутствие явных циклов в функциональном подходе ставит под сомнение применимость блок-схем, да и развилка/выбор в блок-схемах тоже несколько иная сущность, чем в том же Хаскеле. Иными словами, через ДРАКОН можно показать лишь результат в виде императивного маршрута, который может быть получен из декларативного указания через Р-схемы (или другой DSL).

Рисунок хаскель-формул:
Вложение:
r_haskell.PNG
r_haskell.PNG [ 14.07 КБ | Просмотров: 32672 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДРАКОН vs Р-схемы
СообщениеДобавлено: Среда, 15 Август, 2012 15:11 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Уважаемый PSV100!

Я очень рад, что Вы открыли эту тему (причем, по многим причинам).

Отсутствие быстрой реакции специалистов, видимо, объясняется тем, сегодня про Р-технологию мало кто знает.

Тем не менее, я (вместе с Вами) надеюсь, что со временем отклики появятся.

===============================

Пользуясь случаем, я выписал перечень недостатков ДРАКОНа из Вашего последнего сообщения:
Цитата:
НЕДОСТАТКИ ЯЗЫКА ДРАКОН
(по мнению PSV100)

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

2. Не всегда лекарство избегания пересечений лучше, чем это пересечение явно показать.

3. Есть неоднозначность в полезности использования веточных циклов.
Я отчетливо понимаю, что это не полный перечень Ваших вопросов (или претензий) к ДРАКОНу. А всего лишь примеры.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДРАКОН vs Р-схемы
СообщениеДобавлено: Среда, 15 Август, 2012 15:28 

Зарегистрирован: Вторник, 26 Январь, 2010 09:31
Сообщения: 34
В программировании и описании техпроцессов Р-схемы превосходят Дракон-схемы во всем, за исключением вхождения и интуитивности восприятия на этапе вхождения. В других областях, возможно, Дракон будет более эффективен.
PSV100, специальная дуга имеет поглощающие свойства, поэтому Ваши Р-схемы составлены неверно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДРАКОН vs Р-схемы
СообщениеДобавлено: Среда, 15 Август, 2012 15:32 

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 396
usr345 писал(а):
У P-схем есть одно преимущество над Драконом: они позволяют создавать не только схемы алгоритмов, но и схемы структур данных весьма приличного качества.

По ним бы еще хороший учебник типа такого, какой ВД сделал для Дракона.


И не только структур данных, вот, например, сеть Петри:

Изображение

С алгоритмом Евклида всё понятно, а вот с сетью Петри необходимо время, чтобы привыкнуть к такой нотации (хотя и алгоритмы тоже по началу требуют момента "вкуривания"). С одной стороны, в подобных схемах вынуждены прибегать к некоторому дублированию данных, например, повторять предикаты, но с другой, в ряде случаев наличие предикатов "по месту" помогает лучше понять логику без необходимости "прокручивать" схему назад.

Одним словом, одна и та же нотация для разных типов схем - это конечно плюс. Имхо, как раз имеется хороший вариант для "UML для народа", в дополнение (а возможно, и в противовес) к той работе, которую проделывает Владислав Жаринов в рамках Драконографики.

Что касается потенциальных многотомных книг. Как-то лучше, когда на освоение технологии достаточно десяти минут, через полчаса уже всё понятно, а через неделю использования уже становишься "гуру". Хотя, конечно, литературы не хватает. Имхо, если здесь Владислав Жаринов предоставит своё мнение на пару постов, то статья для вики будет готова :) (хотя по стилю это будет, скорее, полноценная методичка, и не забыть все многочисленные вложенные ссылки "развернуть" в линейный список цитат - материала на полсеместра хватит :) ).

Владислав Жаринов,
сказанное выше, конечно, шутка. Пользуюсь случаем, я ещё раз хочу сказать спасибо за оказанное внимание на сайте РСДН.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДРАКОН vs Р-схемы
СообщениеДобавлено: Среда, 15 Август, 2012 15:44 
Аватара пользователя

Зарегистрирован: Вторник, 04 Октябрь, 2011 17:45
Сообщения: 585
Р-схемы - они прикольные. Такой "ДРАКОН на боку".
А если силуэт добавить, то тогда уж совсем похоже.
Однако, есть и разница:
1. События разворачиваются слева направо. По-моему, сверху вниз более привычно. Это как текст читать.
2. Отсутствие икон:
- Иконы всё-таки неплохо структурируют картину. Они чётко отделяют графический синтаксис от текстового. А Р-схему надо напряжённо сканировать глазом, чтобы понять, к какой точке графа относится данный кусок текста.
- Иконы имеют разную форму. Форма быстро угадывается глазом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДРАКОН vs Р-схемы
СообщениеДобавлено: Среда, 15 Август, 2012 15:59 
Аватара пользователя

Зарегистрирован: Вторник, 04 Октябрь, 2011 17:45
Сообщения: 585
А кроме того. ДРАКОН можно так же успешно применять для описания структуры.
Вот, например, структура файла из первого поста, переведённая на ДРАКОН:
Вложение:
Комментарий к файлу: Структура файла на языке ДРАКОН
FILE-1.png
FILE-1.png [ 11.94 КБ | Просмотров: 32648 ]

А вот та же структура, в которой тело файла сделано необязательным:
Вложение:
Комментарий к файлу: Структура файла с необязательным телом.
FILE-2.png
FILE-2.png [ 13.13 КБ | Просмотров: 32648 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДРАКОН vs Р-схемы
СообщениеДобавлено: Среда, 15 Август, 2012 16:23 

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 396
Kemet писал(а):
В программировании и описании техпроцессов Р-схемы превосходят Дракон-схемы во всем, за исключением вхождения и интуитивности восприятия на этапе вхождения. В других областях, возможно, Дракон будет более эффективен.
PSV100, специальная дуга имеет поглощающие свойства, поэтому Ваши Р-схемы составлены неверно.


Да, Вы правы, Р-схемы требуют этапа вхождения, мозг необходимо "перепрошить" с блок-схем, но, имхо, назвать этот процесс тяжёлым я не могу.

По поводу специальной дуги. Я действительно неправ (об этом я и намекнул в своём сообщении), это была попытка выделить рекурсию. И интересен момент насчёт Хаскеля в схемах. Функциональный язык по своей природе имеет декларативную сущность, но монадические вычисления выглядят вполне императивно. Поэтому, если уже "рисовать" монады, то делать это желательно также, как и для императивной схемы, т.е. наглядно через направленный граф раскрывать все продвижения по маршруту, в т.ч. и показывая все рекурсии, т.е. через явные циклы. В принципе, рекурсии полезно раскрывать и не только в монадах. Поэтому вписать "в лоб" Хаскель во внутрь схемы как-то проблематично, возможно, но не эффективно. Иными словами, граф-схемы не всегда "одинаково полезны".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДРАКОН vs Р-схемы
СообщениеДобавлено: Среда, 15 Август, 2012 16:30 

Зарегистрирован: Вторник, 13 Декабрь, 2011 15:31
Сообщения: 113
Когда я еще не был знаком с ДРАКОН-ом и первый раз увидел ДРАКОН-схему, то многое мне было понятно и без изучения ДРАКОН-а. К сожалению то же самое не ощутил глядя на Р-схемы. Мое личное мнение, ДРАКОН-воспринимается легче чем Р-схемы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДРАКОН vs Р-схемы
СообщениеДобавлено: Среда, 15 Август, 2012 17:44 

Зарегистрирован: Вторник, 26 Январь, 2010 09:31
Сообщения: 34
PSV100 писал(а):
Поэтому, если уже "рисовать" монады, то делать это желательно также, как и для императивной схемы, т.е. наглядно через направленный граф раскрывать все продвижения по маршруту, в т.ч. и показывая все рекурсии, т.е. через явные циклы. В принципе, рекурсии полезно раскрывать и не только в монадах. Поэтому вписать "в лоб" Хаскель во внутрь схемы как-то проблематично, возможно, но не эффективно. Иными словами, граф-схемы не всегда "одинаково полезны".

Необязательно. Специальная дуга на то и специальная, что для нее и для соединений на ее основе по госту семантика не определена. Она определяется при создании реализации под конкретное применение/язык программирования. Так, к примеру для графического паскаля/модуры/ассемблера из комплекса ртк-микро таким образом были определены цикл дейкстры и цикл-паук...
Для хаскеля можно определить более близкую ему семантику для конкретной конструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДРАКОН vs Р-схемы
СообщениеДобавлено: Среда, 15 Август, 2012 17:52 

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 396
Степан Митькин писал(а):
Р-схемы - они прикольные. Такой "ДРАКОН на боку".
А если силуэт добавить, то тогда уж совсем похоже.
Однако, есть и разница:
1. События разворачиваются слева направо. По-моему, сверху вниз более привычно. Это как текст читать.
2. Отсутствие икон:
- Иконы всё-таки неплохо структурируют картину. Они чётко отделяют графический синтаксис от текстового. А Р-схему надо напряжённо сканировать глазом, чтобы понять, к какой точке графа относится данный кусок текста.
- Иконы имеют разную форму. Форма быстро угадывается глазом.


А как Вам такой ДРАКОН:

Изображение

В первой ветке - параллельные процессы, во второй - обычные "однопоточные" вопрос и выбор. Кстати, могут ещё и адреса/имена веток отсутствовать, если переход по шампурам последовательный. Я когда первый раз увидел Р-схемы, то первая же мысль была: так наш же "изуродованный ДРАКОН" даже в ГОСТах есть !
Конечно, это результат "ручной работы". Драконо-строение далеко не основной процесс разработки, на рисование не хватает времени, часто схемы набрасываются во время коллективных совещаний по ходу дела, или что-то для себя рисуешь и после с десятка "квадратиков" уже понимаешь проблему и бумажка выбрасывается. Иногда выполняется и полноценное оформление диаграмм, в т.ч. и в граф-редакторе.

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

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

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

Изображение

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДРАКОН vs Р-схемы
СообщениеДобавлено: Среда, 15 Август, 2012 18:18 

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 396
Kemet писал(а):
PSV100 писал(а):
Поэтому, если уже "рисовать" монады, то делать это желательно также, как и для императивной схемы, т.е. наглядно через направленный граф раскрывать все продвижения по маршруту, в т.ч. и показывая все рекурсии, т.е. через явные циклы. В принципе, рекурсии полезно раскрывать и не только в монадах. Поэтому вписать "в лоб" Хаскель во внутрь схемы как-то проблематично, возможно, но не эффективно. Иными словами, граф-схемы не всегда "одинаково полезны".

Необязательно. Специальная дуга на то и специальная, что для нее и для соединений на ее основе по госту семантика не определена. Она определяется при создании реализации под конкретное применение/язык программирования. Так, к примеру для графического паскаля/модуры/ассемблера из комплекса ртк-микро таким образом были определены цикл дейкстры и цикл-паук...
Для хаскеля можно определить более близкую ему семантику для конкретной конструкции.


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДРАКОН vs Р-схемы
СообщениеДобавлено: Среда, 15 Август, 2012 19:58 

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 396
Владимир Паронджанов писал(а):
Уважаемый PSV100!
Пользуясь случаем, я выписал перечень недостатков ДРАКОНа из Вашего последнего сообщения:
Цитата:
НЕДОСТАТКИ ЯЗЫКА ДРАКОН
(по мнению PSV100)

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

2. Не всегда лекарство избегания пересечений лучше, чем это пересечение явно показать.

3. Есть неоднозначность в полезности использования веточных циклов.
Я отчетливо понимаю, что это не полный перечень Ваших вопросов (или претензий) к ДРАКОНу. А всего лишь примеры.

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


В целом, вспомнить все нюансы как-то и не могу, тем более все "проблемы" были "решены" по мотивам этого поста, хоть и варварским способом. Конечно, этот беспредел хотелось бы ликвидировать (а может "узаконить" :) ). К этому списку можно добавить отсутствие эффективной среды для составления схем. Сейчас я имею в виду отсутствие методики, по которой можно быстро и надёжно выстраивать диаграммы. Эта проблема частично недавно была затронута в этой теме. К примеру, я редко использовал редактор Тышева и не являюсь большим спецом, но, как я понимаю, нет однозначного алгоритма сохранять схему всегда в валидном состоянии (скажем, без потерь связей) при любой правке вершин (и дуг). С одной стороны, по сравнению с текстовыми языками программирования ликвидирована часть проблем, связанных с неоднозначностью форматирования текста (как скобочки ставить, какие отступы делать и пр.), но с другой, семантика ДРАКОН-языка не даёт однозначного удобного способа для лёгкой, прежде всего, переделки схемы.

Что-то сказать конкретное по этому вопросу относительно Р-схем я не могу, пока эту проблему глубоко не исследовал, тем более Р-схемы предполагают различную свою трактовку в зависимости от способа применения.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 254 ]  На страницу 1, 2, 3, 4, 5 ... 13  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2008-2024, участники конференции «DRAKON.SU», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB