Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.57/76: Рейтинг темы: голосов - 76, средняя оценка - 4.57
raxp
10200 / 6582 / 493
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
1

Графический язык ДРАКОН для программирования микроконтроллеров

19.08.2014, 10:44. Просмотров 14153. Ответов 39
Метки нет (Все метки)

Язык ДРАКОН разработан совместными усилиями Российского космического агентства (НПЦ автоматики и приборостроения, г. Москва) и Российской академии наук (Институт прикладной математики им. М.В. Келдыша, г. Москва) как обобщение опыта работ по созданию космического корабля «Буран». На базе ДРАКОНА построена автоматизированная технология проектирования программных систем (CASE-технология) под названием «ГРАФИТ-ФЛОКС». Она успешно используется в ряде крупных космических проектов: «Морской старт», «Фрегат», «Протон-М» и др.
ДРАКОН — визуальный язык, в котором используются два типа элементов: графические фигуры (графоэлементы) и текстовые надписи, расположенные внутри или снаружи графических фигур (текстоэлементы). Следовательно, синтаксис ДРАКОНА распадается на две части. Визуальный синтаксис охватывает алфавит графоэлементов, правила их размещения в поле чертежа и правила связи графоэлементов с помощью соединительных линий. Текстовый синтаксис задает алфавит символов, правила их комбинирования и привязку к графоэлементам (привязка необходима потому, что внутри разных графических фигур используются разные типы выражений). Оператором языка ДРАКОН является графоэлемент или комбинация графоэлементов, взятые вместе с текстовыми надписями.

Первый ИС Дракон выпущен в 2008 году. Программа умеет превращать дракон-схемы в исходные тексты программ на языках семейств 1С, Delphi, C, Oberon, ASM. Отличительной особенностью программы является высокая степень автоматизации ввода графики.

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


Разработчик: Тышов Геннадий Николаевич.
Офсайт: http://drakon.su/programma_is_drakon
Скачать: тут (последнее обновление в 2013-м)
2
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.08.2014, 10:44
Ответы с готовыми решениями:

Языки программирования для контроллеров, микроконтроллеров и пр.
Извините за нубский вопрос: а собственно на каком языке можно программировать например ПЛИС, и...

Какие книги, статьи и материалы необходимо изучить для программирования микроконтроллеров
Нужна подсказка, начал изучать Visual Studio 2013 C++(в текущий момент пишу программу с...

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

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

Неклассическая теория алгоритмов и язык ДРАКОН
Неклассическая теория алгоритмов и алгоритмический язык ДРАКОН 11 мая 2017 года Паронджанов...

39
gazlan
3166 / 1925 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
19.08.2014, 16:41 2
Рекламу этого "дракона" не первый год вижу. А вот сравнительного анализа, доказывающего, что он хотя бы не хуже "классических" вариантов разработки, что-то не попадалось.
0
raxp
10200 / 6582 / 493
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
19.08.2014, 17:01  [ТС] 3
...а в чем адекватность сравнивать визуальный (схемотехнический) способ проектирования с написанием кода? Разный подход, разные преимущества, разные недостатки. Мне как разработчику ПЛИС приходится сталкиваться и с тем и другим, но как схемотехнику очень не хватает подобного и в МК.

Потому и пользуются популярностью:
Algorithm Builder. Графическая среда для разработки ПО для МК AVR
LD под PIC and AVR
https://www.cyberforum.ru/blogs/140240/blog350.html
0
gazlan
3166 / 1925 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
19.08.2014, 17:29 4
Цитата Сообщение от raxp Посмотреть сообщение
сравнивать визуальный (схемотехнический) способ проектирования с написанием кода
Например, скорость разработки, размер кода, возможно, удобство тестирования итд.

IMHO, визуальный алфавит заведомо ограничен. С одной стороны, есть профессиональные среды для графического вывода, которые используют символическое описание (ex: TeX), с другой, разработки в RAD-системах кажутся мне убогими. Потому и хотелось бы услышать, чем разработчики визуальных языков обосновывают их преимущества. (с МЭК-языками почти не сталкивался, но их использование, кажется, одними контроллерами и ограничивается).
0
raxp
10200 / 6582 / 493
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
19.08.2014, 18:18  [ТС] 5
Не вижу смысла сравнивать, это вещи не конкуренты, они просто разные и взаимодополняющие. Взять тот же Altium, ISE, ....

Если говорить о ПЛИС: "Визуальный алфавит" основывается на элементарной логике из которой можно построить все. Ограничение лишь в количестве макроблоков (ячеек), т.е. памяти. В МК тоже самое, ограничение памяти. Кода в схемотехнической реализации как такового нет, все транслируется в элементарные базисы и схему соединений и разработчику не показывается. В то же время, в тех же ПЛИС средами поддерживается параллельно с графическим и cи/паскале подобные AHDL/VHDL, которые в итоге все равно транслируются в элементарный базис. Удобство - да, симуляторы дают возможность отладки. Но чем он лучше или хуже симулятора в том же Протеус? Да ничем, и там и там виртуальная лаборатория, под свое железо.

Поэтому сравнивать среды с разным подходом, нонсенс. Вот пришел киповец, ему нужно что-то запрограммировать в AVR. Что ему делать? Либо изучать Си, либо за пару минут накидать релейную рабочую схему. И в то же время, пришел программист, который ничерта не смыслит в релейных схемах, но при реализации алгоритма задачи решит ту же задачу в ПЛК при наличии возможности написания FBD-блоков. Я не говорю об универсалах.

с МЭК-языками почти не сталкивался, но их использование, кажется, одними контроллерами и ограничивается
мы говорим о микроконтроллерах/контроллерах или о языках высокого уровня и операционных системах? Нет. Так к чему это упоминать? Есть промышленные задачи, есть повседневные бытовые.
1
NoobsEnslaver
136 / 48 / 2
Регистрация: 31.07.2014
Сообщений: 232
08.09.2014, 18:30 6
Читал я про этот дракон и смотрел видеоуроки - не совсем точно будет говорить что это язык программирования. Скорее, это язык построения алгоритма. Конечно, среда генерирует часть кода, но только самую малость - в основном if, for. В остальном среда представляет из себя средство повышения наглядности в отношениях между функциями. И то, не сказать чтобы каждому от нее стало нагляднее.
0
raxp
10200 / 6582 / 493
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
08.09.2014, 19:51  [ТС] 7
не совсем точно будет говорить что это язык программирования
название темы читали и содержание первого поста? Перечитайте снова и не вырывайте из контекста.
0
Ethereal
5175 / 2349 / 317
Регистрация: 17.02.2013
Сообщений: 3,391
20.04.2015, 15:28 8
>Вот пришел киповец, ему нужно что-то запрограммировать в AVR. Что ему делать? Либо изучать Си, либо за пару минут накидать релейную рабочую схему.

Зачем киповцу AVR ? Куча фирм производят промышленные контроллеры, которые вообще языков программирования не знают. Для них именно-что рисуются в среде разработки релейные и не очень схемы. Контроллеры Альфа от Мицубиси, например.
http://www.industrialauto.ru/modules...g.php?lid=2281

Добавлено через 26 минут
Либо изучать Си, либо за пару минут накидать релейную рабочую схему. И в то же время, пришел программист, который ничерта не смыслит в релейных схемах, но при реализации алгоритма задачи решит ту же задачу в ПЛК при наличии возможности написания FBD-блоков.
Т.е. Вы создаете очередной протез мозга. Некую очередную программу, чтобы не надо было думать.
Результатом будет дальнейшее отупление среднего программиста и только.
От этого отупления полезного программистами в итоге будет сделано не больше, а меньше.

Результаты появления компиляторов Си в сфере МК, симуляторов и сред разработки уже на лицо.
Перед глазами примеры пареньков, которые год вымучивали на симуляторах то, что я писал
за три дня, имея только ассемблер командной строки. А это только потому, что когда я
начинал, за время компиляции программы можно было пообедать. И это жутко поднимало
профессионализм, потому как любая ошибка и любой тупняк наказывались кусанием локтей
при лишней компиляции. Учило отлаживать мысленно - просто просматривая ассемблерный
листинг с карандашом. А так уже никто не может. Почему не может ?
А от интегрированных сред и симуляторов атрофировался мозг.
И в итоге протезы из симуляторов и сред мозга все равно не заменили.
В конце концов средства, призванные, якобы, ускорить разработку программ, ее замедлили.
Потому как тупить за симулятором это гораздо медленнее, чем думать с карандашом.
0
raxp
10200 / 6582 / 493
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
20.04.2015, 15:54  [ТС] 9
Оффтоп выделяется тегами OFF/
0
NoobsEnslaver
136 / 48 / 2
Регистрация: 31.07.2014
Сообщений: 232
24.04.2015, 15:25 10
Цитата Сообщение от Ethereal Посмотреть сообщение
Потому как тупить за симулятором это гораздо медленнее, чем думать с карандашом.
Вы не поняли смысла ДРАКОНа, он и есть этот карандаш - вместо того, чтобы хвататься за задачу с наскоку, ты садишься и начинаешь клепать алгоритм. Сначала совсем абстрактный, типа "инициализация", "рабочий цикл", "состояние аварии" и тд, а потом всё уточняешь и уточняешь, а потом этот лист можно распечатать, или просто как картинку сохранить и передать коллегам, у которых сходная задача или они будут сопровождать проект. Непосредственная генерация кода - это лишь вкусная плюшка программы, но она не выдерживает критики, её основное назначение - написание алгоритма, который одновременно будет документацией, от которого можно однозначно перейти к коду, думая уже не обо всей программе, а, например, как реализовать вот эту функцию "Парсинг пакета" и тд.
0
supmener
69 / 14 / 2
Регистрация: 26.06.2013
Сообщений: 986
30.10.2019, 23:30 11
В узких кругах известна среда разработки ПРИМИУС (не нашёл в интернете), о которой узнал из прилагаемого файла. Нашёл классную страницу по Дракону в кеше Гугла.
0
supmener
69 / 14 / 2
Регистрация: 26.06.2013
Сообщений: 986
30.10.2019, 23:43 12
Об этой программе написано на странице 7.
0
northener
пофигист широкого профиля
3657 / 2457 / 664
Регистрация: 15.07.2013
Сообщений: 14,644
04.11.2019, 03:10 13
Цитата Сообщение от supmener Посмотреть сообщение
В узких кругах известна среда разработки ПРИМИУС (не нашёл в интернете), о которой узнал из прилагаемого файла.
Программирование без программиста - это чушь! Что-то имхо сродни искусственному интеллекту. Хорошо, но пока недостижимо.

"Чем больше усложнялись ракетно-космические комплексы и системы, тем
сильнее была нужда в безупречном взаимопонимании между разработчиками.
Отсутствие взаимопонимания болезненно сказывалось на ходе крупных ракет-
ных проектов. Особенно остро проблема взаимопонимания проявила себя при
создании космического комплекса «Энергия–Буран» [1].
В качестве ответа на эти вызовы совместными усилиями Российского кос-
мического агентства (Научно-производственный центр автоматики и приборо-
строения имени академика Н.А. Пилюгина, г. Москва) и Российской академии
наук (Институт прикладной математики имени академика М.В. Келдыша,
г. Москва) была начата разработка инструмента, обеспечивающего безукориз-
ненное взаимопонимание между людьми, позволяющего описать структуру и
логику программы или бизнес-процесса в понятной неспециалисту по програм-
мированию форме, и дальнейшим преобразованием такого описания в про-
граммный код.
Разработка получила название «Дракон» и реализовывала основную пара-
дигму «программирование без программиста» или «кто обладает знаниями,
тот и должен их формализовать»."

Знаем, плавали. Первый мой выход в открытый космос программирования был именно связан с тем, что бывший разработчик электроники для проекта Буран не нашел общего языка со штатным программистом.

Но графический язык исходно узкозаточен на ограниченный ряд стандартных задач, с которыми способен справиться тот "кто обладает знаниями". А при попытке выйти из этого ряда возникают трудности, которые не способны понять те, «кто обладает знаниями".
0
supmener
69 / 14 / 2
Регистрация: 26.06.2013
Сообщений: 986
04.11.2019, 07:36 14
Чтобы научиться делать алгоритм, надо прочитать сокращённую версию книги по Дракон. И уважением к этой разработке проникся после того, как ознакомился со страницей, найденной в интернете. Копию прикладываю во вложении.
0
Вложения
Тип файла: zip 123.zip (2.16 Мб, 1 просмотров)
Rius
Эксперт .NET
6265 / 4092 / 983
Регистрация: 25.05.2015
Сообщений: 12,372
Записей в блоге: 12
Завершенные тесты: 4
04.11.2019, 08:02 15
А зачем? Вы всё равно на нём
  • ничего более предусмотренного не сделаете без великих тормозных костылей;
  • не напишете большую программу, потому что схема алгоритма будет неописуемо огромной.
Плюс, язык без текстовых исходников (не генерируемого кода, а именно исходников) - must die.
У Дракона же не текст программы, а описание картинки, в котором алгоритм без загрузки в редактор вообще не прослеживается.
0
untyped
405 / 146 / 37
Регистрация: 18.08.2012
Сообщений: 738
04.11.2019, 08:09 16
ну, вообще-то у того же сименса и его LAD-диаграмм - тоже нет исходников. Но, это не мешает работать PLC, а равно, как и создавать для них программы.
0
Rius
Эксперт .NET
6265 / 4092 / 983
Регистрация: 25.05.2015
Сообщений: 12,372
Записей в блоге: 12
Завершенные тесты: 4
04.11.2019, 08:13 17
Цитата Сообщение от untyped Посмотреть сообщение
ну, вообще-то у того же сименса и его LAD-диаграмм - тоже нет исходников
И это УЖАСНО! Я потому и говорю, что работал с ПЛК и имею возможность сравнить гибкость этих графических недоподелок с C/C++ или C#. А кто с ПЛК не вылазит, тем больше и не надо.
Смысл этих сред - предоставить "программирование" не программистам, а инженерам АСУТП.
0
supmener
69 / 14 / 2
Регистрация: 26.06.2013
Сообщений: 986
04.11.2019, 08:16 18
А зачем?
Вы читали страницу во вложении?
0
untyped
405 / 146 / 37
Регистрация: 18.08.2012
Сообщений: 738
04.11.2019, 08:18 19
Цитата Сообщение от Rius Посмотреть сообщение
Смысл этих сред - предоставить "программирование" не программистам, а инженерам АСУТП.
а разве это плохо?
инженер асутп - много проще понимает и справляется с контактно-релейным планом - нежели с си-кодом.
0
Rius
Эксперт .NET
6265 / 4092 / 983
Регистрация: 25.05.2015
Сообщений: 12,372
Записей в блоге: 12
Завершенные тесты: 4
04.11.2019, 08:29 20
Цитата Сообщение от untyped Посмотреть сообщение
а разве это плохо?
Для него, работающего с релюшками, это норм. А для программиста чего-то иного - это #@$#$!$!@#$%!$!!
Но пророки графических поделок громко пророчат полную замену нормальных языков на это вот, а не только применение в сфере АСУТП.

Добавлено через 1 минуту
Цитата Сообщение от supmener Посмотреть сообщение
Вы читали страницу во вложении?
Прочитал. Ничего нового не увидел, рядовой бред по теме популяризации графических поделок.
Видите ли, Вы тут не первый с такой идеей зашли.
0
04.11.2019, 08:29
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.11.2019, 08:29

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Язык программирования для Радиотехнических задач
Здравствуйте. Подскажите, пожалуйста, какой язык программирования следует изучать для...

Дракон - визуальный алгоритмический язык программирования и моделирования
Приветствую Дракон - https://ru.wikipedia.org/wiki/%D0%94%D0%A0%D0%90%D0%9A%D0%9E%D0%9D ...

Язык Си для микроконтроллеров PIC
хочу выучить программа pic c, не скажете откуда начать?? немного знаю c++.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.