[Sarlug] Поддержка физических исполнителей в Кумире

Evgeny Sinelnikov sin на altlinux.ru
Ср Янв 14 05:33:26 MSK 2015


---------- Пересылаемое сообщение 2 ----------
От кого: Evgeny Sinelnikov <sin на altlinux.ru>
Дата: 14 января 2015 г., 5:11
Тема: Поддержка физических исполнителей в Кумире

...

Основные подробности поддержки реальных исполнителей изложены в публикации
в докладах В.В.Яковлева, Д. В. Хачко, А.Г.Кушниренко, М.А.Ройтберго на
"VIII конференции Свободное ПО в высшей школе" в январе 2013 года:

   - http://www.altlinux.ru/media/pereslavl-winter-2013.pdf
   - http://talks.rosalab.com/Кумир_2.0._Компилятор_и_среда_выполнения_%28
   <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>
   Виктор_Яковлев,_OSEDUCONF-2013%29

 Возможность выполнения программ на широком спектре оборудования
>
> Интерпретатор выполнимого байт кода системы Кумир реализован в виде одного
> выполняемого бинарного файла, который для своей работы требует только
> стандартную библиотеку языка C++. Размер релиз-сборки интерпретатора не
> превышает 400 Кб (для процессора ARM, система Raspbian Linux), при этом
> базовые возможности интерпретатора включают в себя полную поддержку всех
> возможностей языка Кумир, работу со стандартными функциями, с текстовыми
> файлами, поддержку кириллических символов Юникода и функции работы со
> строками. Сгенерированный компилятором байт код одинаково выполняется на
> процессорах различных архитектур.
>
> Изначально предполагалась реализация минимально возможного интерпретатора
> для выполнения на устройстве Lego NXT 2.0, однако, для поддержки всех
> возможностей языка Кумир, в рамках эталонного учебника[4]
> <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>,
> это оказалось невозможным по двум причинам:
>
>    - 1. Отсутствие блока операций с плавающей точкой в используемом NXT
>    процессоре[5]
>    <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>,
>    в то время как язык Кумир декларирует поддержку операций над вещественными
>    числами в соответствии с IEEE 754.
>    - 2. Небольшой объем (64 Кб) оперативной памяти, что делает
>    практически невозможным работу с таблицами языка Кумир.
>
> Существующая на данный момент реализация системы Кумир 1.9 для работы с
> конструктором Lego NXT [7] предполагает использование управляющего
> хост-компьютера, который использует радиоканал Bluetooth для передачи
> телеметрических данных. Такой подход имеет два существенных недостатка:
> во-первых, требуется качественный Bluetooth-адаптер, во-вторых, это решение
> имеет большие временные задержки, оказывающие серьёзное влияние при
> реализации типовых алгоритмов управлением роботом. Данная проблема может
> быть решена только переносом выполняющей части на компьютер робота, и
> использованием хост-компьютера только для редактирования, загрузки и
> запуска программ.
>
> Недавно компания Lego анонсировала[6]
> <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>
> выход нового поколения компьютера серии Mindstorms, на который может быть
> портирован выполнитель системы Кумир без существенной адаптации.
>
> Поскольку данное устройство пока отсутствует в продаже, процесс
> портирования и отладки системы Кумир для процессора архитектуры ARM
> осуществляется с помощью устройства [ http://www.raspberrypi.org/
> Raspberry Pi].
>
> Отказ от использования сторонних библиотек (в частности, Qt) при
> реализации выполнителя, с одной стороны, усложнил процесс разработки, а с
> другой, – позволил снизить аппаратные требования для выполнения Кумир
> программ и обеспечить возможность портирования на те платформы, которые не
> поддерживаются разработчиками Qt. В частности, возможна реализация
> выполнителя для FreeDOS (после некоторой доработки стандартной библиотеки
> компилятора OpenWatcom) и на платформу Android (используя NDK).
> Существенным здесь является использование единых исходных текстов как для
> «десктопной» версии Кумира, так и для версий, специализированных под
> конкретные устройства.
>
Наиболее подробно методические возможности программирования Лего робота в
Кумире я смог найти в статье Анатолия Георгиевича Кушниренко и Александра
Георгиевича Леонова "Методика преподавания основ алгоритмизации на базе
системы "КуМир". Лекция 8" в газете "Информатика" N24 (601), 16-31.12.2009:

   - http://inf.1september.ru/article.php?ID=200902401

С момента этой публикации прошло уже пять лет, с момента последних коммитов
в Кумир прошло два с лишним года. Что-то переосмыслено, что-то пока что
просто не реализовано. Хотелось бы вот этот вот момент и уточнить. Многое
понятно по недавним публикациям, но текущий актуальный вектор развития ясен
не до конца.

_____________________

...

-- 
Sin (Sinelnikov Evgeny)
----------- следующая часть -----------
Вложение в формате HTML было удалено...
URL: <http://lists.lug.ru/pipermail/sarlug/attachments/20150114/c6992820/attachment.html>


Подробная информация о списке рассылки Sarlug