<div dir="ltr"><br><div class="gmail_extra"><div dir="ltr"><div class="gmail_quote">---------- Пересылаемое сообщение 2 ----------<br>От кого: <b class="gmail_sendername">Evgeny Sinelnikov</b> <span dir="ltr">&lt;<a href="mailto:sin@altlinux.ru" target="_blank">sin@altlinux.ru</a>&gt;</span><br>Дата: 14 января 2015 г., 5:11<br>Тема: Поддержка физических исполнителей в Кумире<div dir="ltr"><div class="gmail_extra"><br>...<br><p>Основные
 подробности поддержки реальных исполнителей изложены в публикации в 
докладах В.В.Яковлева, Д. В. Хачко, А.Г.Кушниренко, М.А.Ройтберго на 
&quot;VIII конференции Свободное ПО в высшей школе&quot; в январе 2013 года:<br></p><ul><li><a href="http://www.altlinux.ru/media/pereslavl-winter-2013.pdf" target="_blank">http://www.altlinux.ru/media/pereslavl-winter-2013.pdf</a></li><li><a href="http://talks.rosalab.com/%D0%9A%D1%83%D0%BC%D0%B8%D1%80_2.0._%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%82%D0%BE%D1%80_%D0%B8_%D1%81%D1%80%D0%B5%D0%B4%D0%B0_%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F_%28" target="_blank">http://talks.rosalab.com/Кумир_2.0._Компилятор_и_среда_выполнения_%28</a>Виктор_Яковлев,_OSEDUCONF-2013%29<br></li></ul><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><h3> <span> Возможность выполнения программ на широком спектре оборудования </span></h3>
<p>Интерпретатор выполнимого байт кода системы Кумир реализован в виде 
одного выполняемого бинарного файла, который для своей работы требует 
только стандартную библиотеку языка C++.
Размер релиз-сборки интерпретатора не превышает 400 Кб (для процессора 
ARM, система Raspbian Linux), при этом базовые возможности 
интерпретатора  включают  в  себя  полную  поддержку  всех возможностей 
языка Кумир, работу со стандартными функциями, с текстовыми файлами, 
поддержку кириллических символов Юникода и функции работы со строками. 
Сгенерированный компилятором байт код
одинаково выполняется на процессорах различных архитектур.
</p><p>Изначально предполагалась реализация минимально возможного 
интерпретатора для выполнения на устройстве Lego NXT 2.0, однако, для 
поддержки всех возможностей языка Кумир, в рамках эталонного
учебника<sup><a href="http://talks.rosalab.com/%D0%9A%D1%83%D0%BC%D0%B8%D1%80_2.0._%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%82%D0%BE%D1%80_%D0%B8_%D1%81%D1%80%D0%B5%D0%B4%D0%B0_%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F_%28%D0%92%D0%B8%D0%BA%D1%82%D0%BE%D1%80_%D0%AF%D0%BA%D0%BE%D0%B2%D0%BB%D0%B5%D0%B2,_OSEDUCONF-2013%29#cite_note-4" target="_blank">[4]</a></sup>, это оказалось невозможным по двум причинам:
</p><ul><li> 1.  Отсутствие блока операций с плавающей точкой в используемом NXT процессоре<sup><a href="http://talks.rosalab.com/%D0%9A%D1%83%D0%BC%D0%B8%D1%80_2.0._%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%82%D0%BE%D1%80_%D0%B8_%D1%81%D1%80%D0%B5%D0%B4%D0%B0_%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F_%28%D0%92%D0%B8%D0%BA%D1%82%D0%BE%D1%80_%D0%AF%D0%BA%D0%BE%D0%B2%D0%BB%D0%B5%D0%B2,_OSEDUCONF-2013%29#cite_note-5" target="_blank">[5]</a></sup>, в то время как язык Кумир декларирует поддержку операций над вещественными числами в соответствии с IEEE 754.
</li><li> 2.  Небольшой объем (64 Кб) оперативной памяти, что делает практически невозможным работу с таблицами языка Кумир.
</li></ul>
<p>Существующая  на  данный  момент  реализация  системы  Кумир 1.9 для 
работы с конструктором Lego NXT [7] предполагает использование 
управляющего хост-компьютера, который использует радиоканал
Bluetooth для передачи телеметрических данных. Такой подход имеет два 
существенных недостатка: во-первых, требуется качественный 
Bluetooth-адаптер, во-вторых, это решение имеет большие временные
задержки, оказывающие серьёзное влияние при реализации типовых 
алгоритмов управлением роботом. Данная проблема может быть решена только
 переносом выполняющей части на компьютер робота, и использованием 
хост-компьютера только для редактирования, загрузки и запуска программ.
</p><p>Недавно компания Lego анонсировала<sup><a href="http://talks.rosalab.com/%D0%9A%D1%83%D0%BC%D0%B8%D1%80_2.0._%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%82%D0%BE%D1%80_%D0%B8_%D1%81%D1%80%D0%B5%D0%B4%D0%B0_%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F_%28%D0%92%D0%B8%D0%BA%D1%82%D0%BE%D1%80_%D0%AF%D0%BA%D0%BE%D0%B2%D0%BB%D0%B5%D0%B2,_OSEDUCONF-2013%29#cite_note-6" target="_blank">[6]</a></sup>
 выход нового поколения компьютера серии Mindstorms, на который может 
быть портирован выполнитель системы Кумир без существенной адаптации.
</p><p>Поскольку данное устройство пока отсутствует в продаже, процесс 
портирования и отладки системы Кумир для процессора архитектуры ARM 
осуществляется с помощью устройства [ <a rel="nofollow" href="http://www.raspberrypi.org/" target="_blank">http://www.raspberrypi.org/</a> Raspberry Pi].
</p><p>Отказ от использования сторонних библиотек (в частности, Qt) при 
 реализации  выполнителя,  с  одной  стороны,  усложнил  процесс 
разработки, а с другой, – позволил снизить аппаратные требования
для выполнения Кумир программ и обеспечить возможность портирования на 
те платформы, которые не поддерживаются разработчиками Qt. В частности, 
возможна реализация выполнителя для FreeDOS
(после  некоторой  доработки  стандартной  библиотеки  компилятора 
OpenWatcom) и на платформу Android (используя NDK). Существенным здесь 
является использование единых исходных текстов как для
«десктопной» версии Кумира, так и для версий, специализированных под 
конкретные устройства.
</p></blockquote><p>Наиболее подробно методические возможности программирования Лего 
робота в Кумире я смог найти в статье Анатолия Георгиевича Кушниренко и 
Александра Георгиевича Леонова &quot;Методика преподавания основ 
алгоритмизации на базе системы &quot;КуМир&quot;. Лекция 8&quot; в газете &quot;Информатика&quot;
 N24 (601), 16-31.12.2009:<br></p><ul><li><a href="http://inf.1september.ru/article.php?ID=200902401" target="_blank">http://inf.1september.ru/article.php?ID=200902401</a></li></ul>С
 момента этой публикации прошло уже пять лет, с момента последних 
коммитов в Кумир прошло два с лишним года. Что-то переосмыслено, что-то 
пока что просто не реализовано. Хотелось бы вот этот вот момент и 
уточнить. Многое понятно по недавним публикациям, но текущий актуальный 
вектор развития ясен не до конца. <br><br>_____________________<br><br>...<br></div><span><font color="#888888"><div class="gmail_extra"><br>-- <br><div><div dir="ltr">Sin (Sinelnikov Evgeny)<br></div></div>
</div></font></span></div>
</div></div>
</div></div>