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

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

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

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

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

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


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

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

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

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

Ассемблеры для программирования микроконтроллеров, 8-битных микропроцессоров
В программировании микроконтроллеров и прочего, не связанного с IA-32/Intel 64 не шарю, в связи с...

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

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

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

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

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

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

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

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

Результаты появления компиляторов Си в сфере МК, симуляторов и сред разработки уже на лицо.
Перед глазами примеры пареньков, которые год вымучивали на симуляторах то, что я писал
за три дня, имея только ассемблер командной строки. А это только потому, что когда я
начинал, за время компиляции программы можно было пообедать. И это жутко поднимало
профессионализм, потому как любая ошибка и любой тупняк наказывались кусанием локтей
при лишней компиляции. Учило отлаживать мысленно - просто просматривая ассемблерный
листинг с карандашом. А так уже никто не может. Почему не может ?
А от интегрированных сред и симуляторов атрофировался мозг.
И в итоге протезы из симуляторов и сред мозга все равно не заменили.
В конце концов средства, призванные, якобы, ускорить разработку программ, ее замедлили.
Потому как тупить за симулятором это гораздо медленнее, чем думать с карандашом.
0
10205 / 6587 / 493
Регистрация: 28.12.2010
Сообщений: 21,165
Записей в блоге: 1
20.04.2015, 15:54  [ТС] 9
Оффтоп выделяется тегами OFF/
0
136 / 48 / 2
Регистрация: 31.07.2014
Сообщений: 238
24.04.2015, 15:25 10
Цитата Сообщение от Ethereal Посмотреть сообщение
Потому как тупить за симулятором это гораздо медленнее, чем думать с карандашом.
Вы не поняли смысла ДРАКОНа, он и есть этот карандаш - вместо того, чтобы хвататься за задачу с наскоку, ты садишься и начинаешь клепать алгоритм. Сначала совсем абстрактный, типа "инициализация", "рабочий цикл", "состояние аварии" и тд, а потом всё уточняешь и уточняешь, а потом этот лист можно распечатать, или просто как картинку сохранить и передать коллегам, у которых сходная задача или они будут сопровождать проект. Непосредственная генерация кода - это лишь вкусная плюшка программы, но она не выдерживает критики, её основное назначение - написание алгоритма, который одновременно будет документацией, от которого можно однозначно перейти к коду, думая уже не обо всей программе, а, например, как реализовать вот эту функцию "Парсинг пакета" и тд.
0
101 / 49 / 9
Регистрация: 26.06.2013
Сообщений: 2,153
30.10.2019, 23:30 11
В узких кругах известна среда разработки ПРИМИУС (не нашёл в интернете), о которой узнал из прилагаемого файла. Нашёл классную страницу по Дракону в кеше Гугла.
0
101 / 49 / 9
Регистрация: 26.06.2013
Сообщений: 2,153
30.10.2019, 23:43 12
Об этой программе написано на странице 7.
0
пофигист широкого профиля
4031 / 2685 / 765
Регистрация: 15.07.2013
Сообщений: 15,673
04.11.2019, 03:10 13
Цитата Сообщение от supmener Посмотреть сообщение
В узких кругах известна среда разработки ПРИМИУС (не нашёл в интернете), о которой узнал из прилагаемого файла.
Программирование без программиста - это чушь! Что-то имхо сродни искусственному интеллекту. Хорошо, но пока недостижимо.

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

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

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

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

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

Как называется язык программирования для программирования на Android?
Как называется язык программирования для программирования на Android?

Что мощнее язык программирования Perl или язык программирования PHP
Какой из них лучше

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

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


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

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

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