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

Визуальный язык программирования ДРАКОН
https://forum.drakon.su/viewtopic.php?f=141&t=493
Страница 17 из 19

Автор:  Владимир Паронджанов [ Понедельник, 12 Май, 2008 09:41 ]
Заголовок сообщения:  Re: Визуальный язык программирования "Дракон"

Максим писал(а):
Можно ли использовать Дракон-Схемы для языков программирования типа Пролог и Лисп?


Уважаемый Максим!

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

Николай Синюгин заявил:

    "В настоящий момент времени мною исследуется вопрос применения языка Дракон при декларативном программировании,
    за которым безусловно будущее.
    Получены обнадеживающие результаты, и даже создана программа DraconL, переводящая дракон-схему в код языка декларативного типа".

http://old.osp.ru/w2k/cgi-bin/forum.cgi ... 808&owner=

Автор:  Андрей Федяев [ Среда, 14 Май, 2008 10:04 ]
Заголовок сообщения:  Re: Визуальный язык программирования "Дракон"

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

Автор:  Владимир Паронджанов [ Среда, 14 Май, 2008 11:15 ]
Заголовок сообщения:  Re: Визуальный язык программирования "Дракон"

Уважаемый Андрей Федяев!

1. Параллельный процесс, таймеры и другие операторы реального времени описаны в главе 11 "Визуальные операторы реального времени" (стр. 165-176).
2. Примеры использования оператора "полка" показаны на стр. 160, 162 (рис. 81) и 168 (рис. 84). Неформальный пример (для случая с несколькими исполнителями: пациент и медработник) показан на рис. 217 (рис.109).
3. Формальные параметры можно использовать, например, так, как это делает Александр Ильин (см. форум "Пример алгоритма на ДРАКОНе"

Все ссыки на книгу "Как улучшить работу ума..."

Автор:  Андрей Федяев [ Среда, 14 Май, 2008 14:33 ]
Заголовок сообщения:  Re: Визуальный язык программирования "Дракон"

Большое спасибо за ссылки!
Не сообразил, что в книге "Как улучшить работу ума" язык Дракон описан более подробно, чем в книге "Почему мудрец похож на обезьяну"

Автор:  Владимир Паронджанов [ Среда, 14 Май, 2008 15:48 ]
Заголовок сообщения:  Re: Визуальный язык программирования "Дракон"

Совершенно верно.

Книга "Как улучшить работу ума" - это наиболее подробное руководство по языку Дракон.

В книге "Почему мудрец похож на обезьяну..." 1154 страницы. Из них непосредственно Дракону посвящена примерно десятая часть (стр. 295-435). Зато в этой книге приведены общирные доказательства фундаментальных основ Дракона и подробно описан теретический, культурологический, философский фундамент, который лежит в основе языка Дракон и других графических языков. Мне кажется, если бы участники форума ознакомились с книгой "Почему мудрец похож на обезьяну...", многие вопросы, сомнения и недоразумения рассеялись бы.

Автор:  Максим [ Среда, 14 Май, 2008 22:06 ]
Заголовок сообщения:  Re: Визуальный язык программирования "Дракон"

1001 писал(а):
Цитата:
Alexey_Donskoy: Обратили ли Вы внимание на сообщения TMX? ...


Да, конечно. Он работает в близкой области.

Разница в том, что ТМХ сам занимается разработкой программы "в составе целевых устройств", а не выпуском PLC. В моем случае изделие - промконтроллер и система технологического программирования к нему. Вот, думаю: стоит ли реализовывать "дракон" в дополнение к существующим LAD, STL? Насколько это будет полезно? Насколько трудоемка разработка?

После чтения книги есть масса вопросов. Хотелось бы узнать от Владимира Пароджанова его мысли о практической реализации языка. В идеале , простой компилятор "Дракона" написанный на самом "драконе"..

1.В нашем "бизнесе'' (да и в любом связанном с разработкой) наибольший эффект от Дракона - (их кстати 2 судя по книге: Дракон-1 и Дракон-2) - не в разработке ПО для ПЛК, а в составлении техзадания на алгоритмы их отработку и взаимное согласование. Владимир Паронджанов кратко пишет об этом (правда применительно к ПО). Вообще использовать дракон для програмирования (хотя правильнее помоему это назвать - СИНТЕЗ ПО из ДРАКОН-СХЕМ) - значит использовать его 10%, составление ТЗ и проектной/учебной документации - вот где от его применения будет самый большой эффект. Любопытно былобы попробовать ещё одну отрасль - которую упустил Владимир Паронджанов - юриспруденцию - перевести какой либо договор на Дракон :). Может и юристы тогда не понадобятся:)

2. Кстати мне непонятна одна вещь - почему до сих пор - никто не сделал шаблоны элементов дракон-схем для MS Visio и Word или САПР типа Компас/АвтоКАД?? Там же можно попробовать сделать (на VBA) простенький конверотор дракон-схема -> код на бейсике, си, КП... (он конечно врятли будет соответствовать всем задумкам отца-основателя :-( ) - но как демонстрационый пример потянет. Хотя конечно хотелось бы сделать его в БлэкБокс.

3. Если ДРАКОН-схемы столько уделяют внимания понимаемости алгоритма - вполне логично что и язык программирования в который транслируются дракон схемы должен быть с русским синтаксисом??? может быть удастся сделать такой конвертор для БлэкБокса?

4. Я честно говоря не очень понял как дракон-схемы соотносятся с объектами в программировании??? может кто ни будь привести пример?

Автор:  Андрей Федяев [ Четверг, 15 Май, 2008 10:45 ]
Заголовок сообщения:  Re: Визуальный язык программирования "Дракон"

Владимир Паронджанов писал(а):
В книге "Почему мудрец похож на обезьяну..." 1154 страницы. Из них непосредственно Дракону посвящена примерно десятая часть (стр. 295-435). Зато в этой книге приведены общирные доказательства фундаментальных основ Дракона и подробно описан теретический, культурологический, философский фундамент, который лежит в основе языка Дракон и других графических языков.


Владимир Даниелович, большое Вам спасибо за выпуск этой фундаментальной книги!

Книга полезна любому здравомыслящему человеку. Она доходчиво показывает положение планеты на сегодняшний день, что вводит в грусть. НО! Далее даются конкретные вещи, которые может делать любой человек на своём месте, для улучшения общей ситуации. Книга настраивает читателя на активную роль в жизни, учит мыслить и воплощать в жизнь свои идеи.

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

А теперь я понял, что после Бурана сохранилось самое главное - средство общения - язык. Даже ещё более важное - понимание роли языка в общении. И это знание - опубликовано и доступно именно в нашей стране. И есть Учитель, который в силах передать это знание. И мы построим новый Буран!!!

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


Книга даёт исчерпывающие ответы на любые вопросы о состоятельности графических языков.

Автор:  Андрей Федяев [ Четверг, 15 Май, 2008 10:56 ]
Заголовок сообщения:  Re: Визуальный язык программирования "Дракон"

Максим писал(а):
1.В нашем "бизнесе'' (да и в любом связанном с разработкой) наибольший эффект от Дракона - (их кстати 2 судя по книге: Дракон-1 и Дракон-2) - не в разработке ПО для ПЛК, а в составлении техзадания на алгоритмы их отработку и взаимное согласование. Владимир Паронджанов кратко пишет об этом (правда применительно к ПО). Вообще использовать дракон для програмирования (хотя правильнее помоему это назвать - СИНТЕЗ ПО из ДРАКОН-СХЕМ) - значит использовать его 10%, составление ТЗ и проектной/учебной документации - вот где от его применения будет самый большой эффект.


Полностью согласен с Вашей точкой зрения.

Автор:  1001 [ Четверг, 15 Май, 2008 23:14 ]
Заголовок сообщения:  Re: Визуальный язык программирования "Дракон"

Цитата:
Максим: 1.В нашем "бизнесе'' (да и в любом связанном с разработкой) наибольший эффект от Дракона - (их кстати 2 судя по книге: Дракон-1 и Дракон-2) - не в разработке ПО для ПЛК, а в составлении техзадания на алгоритмы их отработку и взаимное согласование.

"дракон" позволяет (по крайней мере в лаборатории где делался Буран) вообще отказаться от разработки ПО, а как бы компилировать само техзадание.

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

Но все-таки "дракон" выглядит как наиболее удачная версия flowcharts из известных на сегодня.


Цитата:
Максим:3. Если ДРАКОН-схемы столько уделяют внимания понимаемости алгоритма - вполне логично что и язык программирования в который транслируются дракон схемы должен быть с русским синтаксисом???

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

Автор:  Андрей Федяев [ Пятница, 16 Май, 2008 10:38 ]
Заголовок сообщения:  Re: Визуальный язык программирования "Дракон"

Не получается прикрепить файл с иконами языка Дракон для редактора MS Visio 2007. Подскажите, пожалуйста, как это сделать.

Автор:  Valery Solovey [ Пятница, 16 Май, 2008 10:59 ]
Заголовок сообщения:  Re: Визуальный язык программирования "Дракон"

Заархивируйте зипом. Его расширение пропускается.

Если файл большой по размеру (вроде, > 100 КБ), то тоже не запишется

Автор:  Евгений Темиргалеев [ Пятница, 16 Май, 2008 11:17 ]
Заголовок сообщения:  Re: Визуальный язык программирования "Дракон"

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

Автор:  Андрей Федяев [ Пятница, 16 Май, 2008 14:52 ]
Заголовок сообщения:  Re: Визуальный язык программирования "Дракон"

Valery Solovey писал(а):
Заархивируйте зипом. Его расширение пропускается.
Если файл большой по размеру (вроде, > 100 КБ), то тоже не запишется


Спасибо! Прикрепляю...

Вложения:
Комментарий к файлу: Иконы языка Дракон для редактора MS Visio 2007
visio07.rar [31.61 КБ]
Скачиваний: 703

Автор:  Владимир Паронджанов [ Понедельник, 19 Май, 2008 18:33 ]
Заголовок сообщения:  Re: Визуальный язык программирования "Дракон"

Сообщение Суббота 26 апреля 2008 11.37

Flavy писал(а):
Владимиру Паронджанову:
...при "симультанном" взгляде на примеры дракон-схем, бросается в глаза некий дисбаланс.
Слова "ДА" и "НЕТ" около икон "развилка". Это единственный необрамленный элемент + неясно где он должен быть (слева/справа, сверху/снизу от линии).
Предлагаю заменить ДВА слова на один символ НЕ - инверсного выхода логического элемента (маленький пустой кружок вписаный в контур иконы в месте выхода связи). :roll:
(


Уважаемый Flavy!

Благодарю за критическое замечание.

К сожалению,в Ваши рассуждения вкралась неточность.

1.Вы пишете: "Слова "ДА" и "НЕТ" около икон "развилка". Это единственный необрамленный элемент + неясно где он должен быть (слева/справа, сверху/снизу от линии)".

Согласно стандарту ГОСТ 19.701-90 (ISO 5807-85) в пункте 3.2.2.4. (решение) сказано:
Цитата:
"Соответствующие результаты вычисления могут быть записаны по соседству с линиями, отображающими эти пути".
Далее в Приложении 2 Схемы программы приведен Пример 1, на котором показано, что слова"да" и "нет" пишут у правого выхода развилки НАД линией, а у нижнего выхода развилки СПРАВА от линии.

Таким образом, согласно ГОСТ расположение слов да и нет оппределено однозначно.

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

3. Дополнительная трудность возникает из-за того, что надо пользоваться понятием инверсии. Человек, знающий,что такое да и нет, может и не знать, что такое инверсия.

4. Я исхожу из того, что из всех возможных вариантов надо выбрать самые простые. По-моему, самыми простыми словами явяются да и нет.

Автор:  Flavy [ Вторник, 20 Май, 2008 02:28 ]
Заголовок сообщения:  Re: Визуальный язык программирования "Дракон"

Уважаемый Владимир Даниелович, спасибо что обратили внимание на моё скромное обращение.
Позволю себе ещё одно замечание. Дракон - это язык то есть по определению имеет синтаксис, пунктуацию, орфографию, и т д. Графическое (императивное) подмножество отделено от текстового (декларативного) единственное исключение слова да и нет (yes/no, si/no). Любой язык нужно учить (даже Дракон :) ). Просто нужно оценить трудозатраты на обучение и выигрыш от ускорения восприятия (если будет). В любом случае слова это компромисс.
По пунктам:
1. Гост 90-го года по Вашим же словам (в книге) безнадёжно устарел. И без доброй улыбки на него не глянешь. Хотя конечно можно использовать такое расположение.
2. Насчет обучения, запомнить еще одну икону точнее две вместо одной ("выбор" - нет снизу и нет справа), не такой уж большой труд (графика однако).
3. Понятие инверсии вводить не обязательно (только для умных).
4. Икона проще (чёрточек меньше).
Я не настаиваю на значке инверсии - это вариант, и по здравом размышлении не самый удачный (при масштабировании может теряться) в отличии от да и нет (2 и 3 буквы соответственно). Можно устроить конкурс :)

Автор:  Андрей Федяев [ Пятница, 23 Май, 2008 16:45 ]
Заголовок сообщения:  Re: Визуальный язык программирования "Дракон"

Иконы языка Дракон для редактора MS Visio 2007. Небольшая доработка

Вложения:
Комментарий к файлу: Иконы языка Дракон для редактора MS Visio 2007
visio07.rar [31.61 КБ]
Скачиваний: 731

Автор:  1001 [ Суббота, 24 Май, 2008 00:05 ]
Заголовок сообщения:  Re: Визуальный язык программирования "Дракон"

Цитата:
Максим: .. использовать Дракон-Схемы для языков программирования типа Пролог и Лисп?


Если полагать, что вычисление логических функций - важная
часть движка Пролога и Лиспа, то блок-схемы (в том числе "Дракон")
в принципе можно применять..

Но больше подходит другой вариант графического языка - LAD (LD, ladder
diagram) - см рисунок. В примерах результат вычисления функции от 4-х
логических переменных присваивается логической переменной B.

В отличие от flowcharts в LAD не рисуются ветви алгоритма, которые не
приводят к ответу "true".

Вложения:
LAD-FBD1.PNG
LAD-FBD1.PNG [ 14.81 КБ | Просмотров: 23432 ]

Автор:  Alexey_Donskoy [ Суббота, 24 Май, 2008 08:59 ]
Заголовок сообщения:  Re: Визуальный язык программирования "Дракон"

1001 писал(а):
Но больше подходит другой вариант графического языка - LAD
Если бы все задачи ограничивались вычислением логических выражений ;)

Btw, а Вам действительно приходится часто применять LAD? Даже в простых (реальных) релейных схемах нужны задержки, триггеры, счётчики...

Обратите внимание ещё вот на что. Релейная схема принципиально декларативная, она не предполагает последовательного исполнения (хотя моделироваться в инструментальной среде она может так). Дракон же предоставляет алгоритм. Задачи принципиально разные!

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

Практический вывод. Как Вам такое предложение: "А давайте заменим часть изобразительных средств Дракона на LAD"? По вышеуказанным соображениям - не прокатывает. Тогда другое предложение: "А давайте применим инструмент Д для решения задачи Л"? А - тоже не прокатывает! Инструмент должен быть адекватен задаче.

Автор:  1001 [ Суббота, 24 Май, 2008 18:28 ]
Заголовок сообщения:  Re: Визуальный язык программирования "Дракон"

Цитата:
Alexey_Donskoy: Вам действительно приходится часто применять LAD?


Достаточно часто. LAD - основной язык в промконтроллерах.

Более 90% программ для PLC во всем мире написаны на этом языке -
это сотни тысяч программ.

Именно этот язык позволил легко перейти от автоматики к PLC.
В нем есть все элементы, которые нужны для логического управления
и регулирования - и счетчики, и таймеры, и функциональные блоки.

Но линии в нем имеют иной смысл, нежели у flowcharts.
Ход вычислений визуально близок как раз к Lisp и Prolog.


Цитата:
Дракон же предоставляет алгоритм


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

Но это и плохо. Ждал чего-то принципиально нового в визуализации программ.

Автор:  Alexey_Donskoy [ Воскресенье, 25 Май, 2008 13:11 ]
Заголовок сообщения:  Re: Визуальный язык программирования "Дракон"

1001 писал(а):
LAD - основной язык в промконтроллерах.
Несколько рискованное заявление... С тем же успехом я мог бы заявить, что большинство промконтроллеров применяется в АСКУЭ... ;) Там и не пахнет никаким LAD... Даже релейная защита проектируется в FBD, а отнюдь не в LAD... Но не важно...

1001 писал(а):
Ждал чего-то принципиально нового в визуализации программ.
Осознайте простую истину - никто ничего нового не предложит! Под лежачий камень вода не потечёт... Предлагайте сами! Тем более, что у Вас есть опыт и возможность сравнивать... Вот, например, про LAD напомнили... а я, как большинство контроллерщиков, относился к нему... ну, как к Фортрану... нет, даже, скорее, как к Коболу ;) вымерший язык, поддерживаемый стандартом IEC исключительно для совместимости... со старыми инженерными кадрами. Тем не менее, о подходе забывать не стоит.

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