DRAKON.SU https://forum.drakon.su/ |
|
Можно ли подружить язык ДРАКОН и Ардуино? https://forum.drakon.su/viewtopic.php?f=233&t=5671 |
Страница 1 из 7 |
Автор: | Владимир Паронджанов [ Вторник, 12 Апрель, 2016 14:44 ] |
Заголовок сообщения: | Можно ли подружить язык ДРАКОН и Ардуино? |
Можно ли подружить язык ДРАКОН и Ардуино? http://forum.easyelectronics.ru/viewtop ... 29#p443229 Arhat109 писал(а): Здравствуйте, всем. Случайно, обсуждая с коллегами визуальный язык программирования для Лего (их там 2: в наборах WeDo и MindStorm), а также нарыв вот такую ссылку на разработку для Ардуино http://s4a.cat/ .. наткнулся в Сети на ваш ДРАКОН и стало крайне интересно.
Ссылками чего почитать кидаться не требуется, раз вас тут нашел, значит и остальное уже есть. Почитаю. Заинтересовали вопросы: 1. есть ли реализация создания кода на С в приложении к компилятору avr-gcc? И если нет, то насколько её сложно сделать? Могу предложить свою кандидатуру. 2. Чем отличается визуальное программирование на ДРАКОН от приведенных как понимаю "аналогов" или это и не аналоги вовсе? (возможно почитав отвечу и сам) 3. Как понял, есть 2 варианта редактора для разработки на ДРАКОН: платная от Тышова и бесплатная от Митькина. Вопрос: А насколько сложно, можно или интересно сделать "открытый веб-интерфейс"? Как вижу: делаем сайт с возможностью писать на ДРАКОН и получать кодогенерацию в виде "файла для компиляции" и его же можно потом заточить и под вопросы тестирования .. тоже могу помочь с этим. ИМХО: для целей популяризации и расширения продукта вижу только 2 пути: коммерческий - продаваться какой-то крупной компании (если нет аналогов или они косые) и использовать её средства для широкого маркетинга; и второй - делать бесплатно используемый продукт. (капитан очевидность). Я - за второй путь. Если моя помощь может оказаться полезной - готов её предложить. Сейчас имею библиотеку на С для Arduino "arhat.h" .. http://cyber-place.ru/showthread.php?t=1909 |
Автор: | Владимир Паронджанов [ Вторник, 12 Апрель, 2016 14:47 ] |
Заголовок сообщения: | Re: Можно ли подружить язык ДРАКОН и Ардуино? |
Я ответил так: Arhat109 писал(а): Могу предложить свою кандидатуру. Замечательная идея! Прошу связаться со мной: Владимир Паронджанов vdp2007@bk.ru тел. 8-916-111-91-57 8-495-331-50-72 Arhat109 писал(а): Как понял, есть 2 варианта редактора для разработки на ДРАКОН: платная от Тышова и бесплатная от Митькина. По состоянию на апрель 2016 года имеются четыре программы, поддерживающие работу с языком ДРАКОН: 1. DRAKON Editor Web. 2. ИС Дракон. 3. Фабула. 4. DRAKON Editor. Подробности на официальном форуме языка Дракон: viewforum.php?f=77 |
Автор: | Владимир Паронджанов [ Вторник, 12 Апрель, 2016 14:52 ] |
Заголовок сообщения: | Re: Можно ли подружить язык ДРАКОН и Ардуино? |
Я получил ответное письмо на мою почту Цитата: Здравствуйте, Владимир Даниэлович. Заинтересовал ДРАКОН как возможная альтернатива визуальным языкам от ЛЕГО для обучения детишек в школах. На сколько возможно совместить визуальное программирование на ДРАКОН с Ардуино платформами? Дело в том, что дома обучаю своего ребенка (10лет) программированию на С и Ардуино ИДЕ, уже примерно год. Начинали с построения алгоритма в виде блок-схемы, сейчас уже по-немногу осваиваем стандарт языка. Понемногу ввожу его в "битики, байтики, адреса памяти, указатели, типы и структуры данных". Проект Ардуино по мне так хорош тем, что позволяет визуализировать все эти понятия: установить бит в порту в 1 - упс, загорелся светодиод на ножке, и т.д. Занятия далеко не каждый день, мы - не торопимся. Дополнительно он ходит в кружок по Лего, и там обучается "визуальному программированию", и я вижу, что оно ему куда как понятнее. Столкнувшись с типовой библиотекой для Ардуино - Wiring, понял что "это" нельзя использовать в целях обучения (учить надо "хорошему": грамотным решениям, автоматному стилю, а не работе через delay() и "ну вот так получилось") .. и взялся за написание "кирпичиков", которые теперь сын активно использует в программах. Проект библиотеки открыт для свободного пользования всем желающим. Как понимаю, на сегодня имеет около 50-200 пользователей (вижу по периодичности поставки денег на телефон. Не бог весть какие суммы по 50-300руб, но как индикатор - очень даже). И вот, обсуждая с коллегами на работе достоинства-недостатки и сложившуюся ситуацию в обучении детей (а Лего сейчас принято как школьный и детсадовский стандарт и закупается многими школами и даже садиками), возник вопрос: насколько выжили наши попытки визуализации (принимал косвенное участие в НИИиВТ, Скопин Игорь в конце 80-х - начале 90-х - делал компилятор графоориентированного языка для Тбилисского НИИиВТ 1990г) и "русских языков программирования" (помню "Школьница", "РАЯ") .. внезапно наткнулись на ваш ДРАКОН. Вот и стало интересно: можно его приспособить для обучения программированию "самокатных тележек" на Лего или Ардуино. Наш домашний проект носит рабочее название "Ардуино как Лего" -- обрамление и изготовление периферии в корпусах, совместимых с типовыми Лего-детальками + свой "велосипед" как среда программирования. Программированием занимаюсь с 1979года, если не считать перерыва с 1998 по 2008гг (там тоже приходилось, но уже урывками). В прошлом около 30 языков, распределенные системы, компиляторы, редакторы, но в основном системные драйвера и библиотеки ... Сейчас в основном веб-технологии. Если мои знания, опыт и навыки, а равно любовь к профессии вам применима и интересна - буду рад. -- С уважением, Владимир. Мне очень понравилась эта идея и готовность Владимира подключиться к работе. Коллеги, какие будут мнения и предложения? |
Автор: | LKom [ Вторник, 12 Апрель, 2016 16:09 ] |
Заголовок сообщения: | Re: Можно ли подружить язык ДРАКОН и Ардуино? |
http://arduino.ru/forum/obshchii/drakon-i-arduino-atmel-mega-est-gotovye-resheniya ДРАКОН и Ардуино (Atmel mega..) - есть готовые решения? Цитата: Параджанов ответил, начал с ним переписку, посмотрим что и как там можно к Ардуино присобачить..
|
Автор: | Владимир Паронджанов [ Среда, 13 Апрель, 2016 19:20 ] |
Заголовок сообщения: | Re: Можно ли подружить язык ДРАКОН и Ардуино? |
Архат109 пишет: Цитата: Огромное спасибо Владимиру Даниэловичу за присланные книжки, особенно "Занимательная информатика" для детишек. Вчера, диалог с сыном (10лет): -"На, вот тебе, читай" -"Угу, только я уже начал Властелина колец. Дочитаю, потом это" -"Ну тогда, иди глянь просто краем глаза. Тут истории веселые" ... -"Ну, почитал? Топай спать." -"Ща, подожди. Ещё чуть-чуть" -"А как жеж Властелин колец?" -"Потом. Это интересней". Прочитал краткое описание языка ДРАКОН, и перечитал кучку форумов. Бегло ознакомился с видеоуроками по "ИС ДРАКОН" и перепиской пользователей с Митькиным .. первое впечатления: 1. Нашел привычные для себя ориентиры - UML, но судя по всему ДРАКОН шире .. надо продолжать знакомство; 2. В целом, это то, что должно преподаваться в школе вместо Лего-Майндшторм-ов; Читать дальше |
Автор: | Роман М. [ Среда, 13 Апрель, 2016 19:21 ] |
Заголовок сообщения: | Re: Можно ли подружить язык ДРАКОН и Ардуино? |
Мне интересно вот что: ДРАКОН по своей сути - абстрактная нотация алгоритма, поскольку призвана оперировать несколько общими понятиями, понятными и менеджерам и инженерам. Допустим, команда "Запустить двигатель" и последующий вопрос "Двигатель запущен?" - абстрактны, они не несут в себе набор конкретных действий по запуску двигателя, проверки параметров двигателя и прочих нюансов. Посему возникает вопрос: а каким образом происходит переход от абстрактной нотации к набору (машинных) инструкций? Ведь это уже вопрос реализации "драйвера" к ДРАКОН-схеме, не так ли? Так каким образом должна происходить генерация кода на целевом языке (скажем, в подмножество Си для AVR)? Ещё дополню: Неясно как происходит обмен данными (поток данных, data flow) внутри ДРАКОН-схемы. |
Автор: | Владимир Паронджанов [ Среда, 13 Апрель, 2016 19:45 ] |
Заголовок сообщения: | Re: Можно ли подружить язык ДРАКОН и Ардуино? |
Роман М. писал(а): Мне интересно вот что: ДРАКОН по своей сути - абстрактная нотация алгоритма, поскольку призвана оперировать несколько общими понятиями, понятными и менеджерам и инженерам. Допустим, команда "Запустить двигатель" и последующий вопрос "Двигатель запущен?" - абстрактны, они не несут в себе набор конкретных действий по запуску двигателя, проверки параметров двигателя и прочих нюансов. Это правильно. Вы говорите об использовании языка ДРАКОН:— в качестве языка моделирования, — причем вам интересно только моделирование на самом верхнем (очень упрощенном) виде. Но моделирование возможно и с глубоким погружением в мельчайшие детали. ДРАКОН обеспечивает такое погружение. Дальше Вы говорите о ДРАКОНе как языке программирования. Это также возможно, причем многими способами. Роман М. писал(а): Посему возникает вопрос: а каким образом происходит переход от абстрактной нотации к набору (машинных) инструкций? Ведь это уже вопрос реализации "драйвера" к ДРАКОН-схеме, не так ли? Не совсем так. ПРиведу аналогию. Имеется полная аналогия с Р-технологией Игоря Вельбицкого. Это наиболее полная и точная аналогия. Надо лишь заменить примитивную нотацию Р-схем на эргономичную и выразительную нотацию дракон-схем.Слово "драйвер" здесь не очень подходит. Я бы сказал, что оно вводит в заблуждение. Роман М. писал(а): Так каким образом должна происходить генерация кода на целевом языке (скажем, в подмножество Си для AVR)? Это правильно. Эту задачу уже решили и Тышов и Митькин. (но не Ильченко).Конкретно для Си AVR ее решил Тышов. Предоставляю ему слово: Эту задачу решил Геннадий Тышов |
Автор: | Владимир Паронджанов [ Среда, 13 Апрель, 2016 19:50 ] |
Заголовок сообщения: | Re: Можно ли подружить язык ДРАКОН и Ардуино? |
Роман, лучше всего посмотреть видео: http://drakon.su/video_i_prezentacii/st ... _is_drakon Там 4 видео. Я не помню какой там процессор, но это не важно. Все пояснения может дать LKom. Он в курсе дела. ============================ Геннадий Тышов ссылается на тему ИС Дракон. Как программировать? |
Автор: | Роман М. [ Среда, 13 Апрель, 2016 20:16 ] |
Заголовок сообщения: | Re: Можно ли подружить язык ДРАКОН и Ардуино? |
Владимир Паронджанов писал(а): Роман, лучше всего посмотреть видео: Спасибо.
|
Автор: | Alexey_Donskoy [ Среда, 13 Апрель, 2016 23:23 ] |
Заголовок сообщения: | Re: Можно ли подружить язык ДРАКОН и Ардуино? |
Владимир Паронджанов писал(а): Но моделирование возможно и с глубоким погружением в мельчайшие детали. ДРАКОН обеспечивает такое погружение. Каким образом?!Язык, в котором отсутствуют данные, не сможет сделать этого в принципе. Цитата: Эту задачу уже решили и Тышов и Митькин. (но не Ильченко). Кодогенерация из схемы алгоритма - абсолютно тривиальная задача. Было бы о чём говорить.
|
Автор: | adva [ Четверг, 14 Апрель, 2016 03:17 ] |
Заголовок сообщения: | Re: Можно ли подружить язык ДРАКОН и Ардуино? |
Alexey_Donskoy писал(а): Язык, в котором отсутствуют данные, не сможет сделать этого в принципе. Про данные согласен, их явно не хватает, хотя и без них дракон некоторые задачи позволяет упорядочивать. По поводу данных тоже показалось, что использовались жестко заданные имена переменных, которые где-то в спецификациях были расписаны (либо в программном виде, либо на бумаге). А есть идеи по поводу удобного представления данных? |
Автор: | LKom [ Четверг, 14 Апрель, 2016 06:34 ] |
Заголовок сообщения: | Re: Можно ли подружить язык ДРАКОН и Ардуино? |
http://forum.oberoncore.ru/viewtopic.php?p=95609#p95609 Alexey_Donskoy писал(а): Кодогенерация из схемы алгоритма - абсолютно тривиальная задача. Было бы о чём говорить. Alexey_Donskoy, давайте поговорим.Вы, сделать можете? Сделайте. |
Автор: | LKom [ Четверг, 14 Апрель, 2016 07:21 ] |
Заголовок сообщения: | Re: Можно ли подружить язык ДРАКОН и Ардуино? |
http://forum.oberoncore.ru/viewtopic.php?p=95609#p95609 Alexey_Donskoy писал(а): Владимир Паронджанов писал(а): Но моделирование возможно и с глубоким погружением в мельчайшие детали. ДРАКОН обеспечивает такое погружение. Каким образом?!Язык, в котором отсутствуют данные, не сможет сделать этого в принципе. Язык Дракон обеспечивает погружение в мир деятельности. Язык Дракон обеспечивает декомпозицию цели или задачи в набор деятельностей. Объектом в Драконе является деятельность - это икона с описанием деятельности, цели деятельности или задачи. Деятельности могут быть связаны в последовательность выполнения - это маршруты в схемах Примитив и Силуэт. Деятельности могут быть не связаны в последовательность выполнения - это перечисление деятельностей или предметов деятельности в схеме Гном. Над объектами Деятельности выполняются операции - объединение нескольких одинаковых объектов в один объект и разделение одного объекта на несколько одинаковых. Об операциях над объектами Деятельность рассказано у В.Д. Паронджанова в книге "Учись ...". Не следует в иконе с буквенным обозначение деятельности ставить знак отрицания - черту над над буквой, т.к. деятельность или есть или отсутствует. ---- Разговор о данных (о графическом обозначении данных и типе данных) в языке Дракон является попыткой переноса понятий из других языков. Данные не являются объектом языка Дракон. В частных случаях, данные описываются в сопровождающей информации средствами других языков, цитатами или ссылками на источники информации. |
Автор: | Alexey_Donskoy [ Четверг, 14 Апрель, 2016 10:19 ] |
Заголовок сообщения: | Re: Можно ли подружить язык ДРАКОН и Ардуино? |
adva писал(а): А есть идеи по поводу удобного представления данных? Если б были, давно бы сам сделал инструмент. LKom писал(а): Вы, сделать можете? Конечно. Пара дней работы (если структура данных не сильно замороченная).Подобных интерпретаторов и кодогенераторов у меня в одном только проекте несколько штук Цитата: Сделайте. Оплатите - сделаю. А так - некогда, извините. Своих работ хватает.Цитата: Язык Дракон обеспечивает декомпозицию цели или задачи в набор деятельностей. Верно.А теперь про то, о чём забывают апологеты деятельностного подхода. Деятельности самой по себе в природе не существует. Деятельность всегда производится в определённом контексте (пространстве состояний). И деятельность это пространство меняет. Абстрагироваться от пространства состояний можно лишь частично, рассматривая понятие алгоритма. Но в отрыве от пространства состояний мы имеем абстрактную задачу, имеющую мало практической ценности. Обратите внимание: квинтэссенцией "деятельностного" подхода является передёргивание - неявное рассмотрение пространства состояний ("включить мотор", "зажечь зелёный", "вытащить рыбу", "посолить по вкусу" и т.д.). Когда при этом человек становится в позу и пытается говорить о "чистой деятельности", получается как минимум банальная демагогия. Теоретические аспекты алгоритмов - штука, безусловно, важнейшая. И в быту (да в той же медицине) нужная. Там даже прокатывает неявное рассмотрение пространства состояний - без особого ущерба. Но данная тема форума вполне конкретная, здесь уже не прокатывает Дракон без данных. |
Автор: | LKom [ Четверг, 14 Апрель, 2016 10:51 ] |
Заголовок сообщения: | Re: Можно ли подружить язык ДРАКОН и Ардуино? |
Alexey_Donskoy, Цитата: Деятельности самой по себе в природе не существует. Не согласен с Вами. Деятельность существует в обществе. Для общества Дракон и предназначен. |
Автор: | Александр Ильин [ Четверг, 14 Апрель, 2016 10:57 ] |
Заголовок сообщения: | Re: Можно ли подружить язык ДРАКОН и Ардуино? |
LKom писал(а): Цитата: Деятельности самой по себе в природе не существует. Не согласен с Вами. Деятельность существует в обществе. Хотя, погодите! Это же автор Дракон-редактора, он наверняка собаку съел на схемах. Значит, не помогает? Это к вопросу о деятельности и контекстах. |
Автор: | Владимир Паронджанов [ Четверг, 14 Апрель, 2016 11:13 ] |
Заголовок сообщения: | Re: Можно ли подружить язык ДРАКОН и Ардуино? |
Выполняю просьбу Arhat109 и публикую его письмо: Цитата: В связи с тем, что регистрация на форуме запрещена прошу разместить мои ответы и вопросы на форуме:
1. LKom писал: Цитата: Alexey_Donskoy, давайте поговорим. Вы, сделать можете? Сделайте. Ответ: Да, похоже что сделать кодогенерацию для AVR не является проблемой, по крайней мере в среде "ИС ДРАКОН" и для какого-то МК она продемонстрирована на видео про "дверной замок". Пойдя тем же самым путем можно реализовать и для семейства AVR-микроконтроллеров. Решение задачи подстройки кодогенератора под конкретный тип МК - хорошо реализовано в Wiring у Arduino изготовлением настроечных файлов, подключаемых по типу процессора, задаваемому константой проппроцессора. Расширить настроечные платы для указания состояния фьюзов, думаю не критично и, дополнив редактор "пускалкой" (даже простым bat-файлом), компилировать код из С с заливкой в МК средствами avrdude, что называется "автоматически". По сути, этот подход просто меняет оболочку "Ардуино ИДЕ" в make-файле на редактор "ИС-ДРАКОН". Остальное как делалось "батником" так и будет им делаться. В общем сейчас разбираюсь с книжками, языком и ИС ДРАКОН .. потом буду решать задачу этим способом. Как построитель алгоритмов - ДРАКОН очень подходит для моего 10-и летнего сына. Лучше чем писать на С в Ардуино ИДЕ. Библиотека, сделанная мною "arhat.h" позволяет писать в терминах Wiring и получать компилированный код не хуже чем при прямом управлении регистрами и портами МК. Последняя моя разработка аппаратного драйвера для I2C(TWI) показала, что дополнительная "ручная" оптимизация кода - не требуется от слова "совсем". Вполне можно писать компактно. Вот про редактор DRAKON-EDITOR я пока такого сказать не могу... не разобрался ещё. 2. LKom писал: Цитата: Разговор о данных (о графическом обозначении данных и типе данных) в языке Дракон является попыткой переноса понятий из других языков. Данные не являются объектом языка Дракон. В частных случаях, данные описываются в сопровождающей информации средствами других языков, цитатами или ссылками на источники информации. Ответ: Вот, тоже .. как-то не очень понимаю пока, каким образом описывать графически данные, с которыми оперирует программа. Как тоже уже понял - в ДРАКОН "данных" нет как-бы и вовсе. Тем не менее, в редакторе DRAKON-Editor, как понимаю есть графические средства для выражения структуры данных и их взаимосвязей, как понимаю по принципу диаграмм UML. Если нет - поправьте меня, пожалуйста. Соответственно, возникает вопрос: можно ли "срастить" эти диаграммы разных типов из этого редактора? Как тогда на схеме действий ДРАКОН ссылаться на схему описания типов и классов и какой из этого может быть извлечен "прок" для кодогенерации? Может я ещё мало вник в редактор DRAKON-Editor .. пока больше знакомлюсь с ИС ДРАКОН. Если можете пояснить по работе с данными, буду очень признателен. И ещё, в ваших кругах много говорится про Р-Технологию от института Глушкова, но на сайте glushkov.org я ничего найти не смог .. если есть какие-то ссылки детального описания этой технологии и работ Вильбицкого - тоже буду очень признателен. -- С уважением, Владимир. |
Автор: | Степан Митькин [ Четверг, 14 Апрель, 2016 12:46 ] |
Заголовок сообщения: | Re: Можно ли подружить язык ДРАКОН и Ардуино? |
adva писал(а): А есть идеи по поводу удобного представления данных? Идеи есть. Причём реализованные. Основной корифей здесь — Олег Гарипов. http://www.integratorspace.com/ |
Автор: | Степан Митькин [ Четверг, 14 Апрель, 2016 12:56 ] |
Заголовок сообщения: | Re: Можно ли подружить язык ДРАКОН и Ардуино? |
Alexey_Donskoy писал(а): LKom писал(а): Вы, сделать можете? Конечно. Пара дней работыМне нравятся уверенные в себе люди! |
Автор: | Alexey_Donskoy [ Четверг, 14 Апрель, 2016 13:39 ] |
Заголовок сообщения: | Re: Можно ли подружить язык ДРАКОН и Ардуино? |
Степан Митькин писал(а): http://www.integratorspace.com/?mo=59756552877&vi=590&w=59756552916 О, возможно, я пропустил, не слежу за темой подробно...Ссылка не открывается (вернее, открывается пустая страница). Можно какие рабочие ссылки? Код: Мне нравятся уверенные в себе люди! Дык делано много раз. Если вести речь о сишном коде, то особых подводных камней не просматривается.Только без данных какой смысл? |
Страница 1 из 7 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |