Введение 4
1. Постановка задачи 6
2. Обзор 7
2.1. Обзор существующих средств отладки текстовых языков 7
2.1.1. GNU Debugger 7
2.1.2. Node.js Debugger 8
2.1.3. Chrome DevTools 9
2.2. Описание используемых технологий 10
2.2.1. TRIK Studio 10
2.2.2. TRIK Runtime 11
2.2.3. QScintilla 13
3. Архитектура 15
4. Особенности реализации 18
4.1. Интерпретатор JavaScript 18
4.2. Отладчик JavaScript 19
5. Апробация 21
5.1. На примерах из поставки TRIK Studio 21
5.2. На примере онлайн-курса 22
5.3. Через проведение олимпиады на базе TRIK Studio .... 22
Заключение 23
Список литературы 24
Много лет робототехника успешно применяется в школьном образовании. Использование робототехнических конструкторов позволяет не
только обучить детей навыкам программирования, но также углубить
их познания в математике, физике и других науках. Большую роль
в процессе обучения играет не только сам конструктор, но и среда,
в которой его предполагается программировать. Одной из таких сред
разработки является TRIK Studio.
TRIK Studio1 — среда обучения основам программирования и кибернетики [9]. Среда позволяет создавать графические программы для
роботов Lego Mindstorms NXT 2.0, Lego EV3 [8], TRIK и исполнять эти
программы на компьютере, посылая команды роботу через Bluetooth
или USB-интерфейс, а также генерировать по диаграммам код на различных языках программирования и закачивать его для исполнения в
робота.
Одной из важных особенностей среды TRIK Studio является наличие 2D-модели, позволяющей симулировать поведение робота при исполнении программы в специальном виртуальном окружении, перед
тем как проверять работу программы на реальном роботе. Это позволяет производить отладку программ даже без наличия доступа к роботу,
что может быть важно, когда количество обучающихся заметно превышает количество роботов. Данная возможность позволяет обучаться
программированию вообще без использования робота.
TRIK Studio создана с помощью системы метамоделирования QReal2,
разрабатываемой в рамках научно-исследовательской группы исследования визуальных модельно-ориентированных технологий разработки
ПО на кафедре системного программирования Санкт-Петербургского
Государственного Университета. Следует отметить, что функционал
TRIK Studio, ориентированный на текстовые языки программирования, весьма ограничен. Изначально, данный функционал заключался
1Всё о ТРИК: TRIK Studio, URL: http://blog.trikset.com/p/trik-studio.html (дата обращения:
02.02.2017)
2CASE and metaCASE system, URL: https://github.com/qreal/qreal (дата обращения: 08.09.2016)
4лишь в возможности просмотра и внесения правок в сгенерированный
код на специальной вкладке с подсветкой синтаксиса. В частности, интерпретация программ в рамках 2D-модели была возможна лишь для
кода, созданного на языке диаграмм. Эти ограничения сильно затрудняют использование TRIK Studio в качестве инструмента для обучения
детей и школьников текстовому программированию.
Другими словами, среда TRIK Studio предоставляет адекватный
функционал для написания текстовых программ для роботов, но в ней
сильно не хватает возможностей для их отладки. Особенно остро необходимость во встроенной отладке ощущается, если нет возможности
запустить программу на самом роботе.
В результате работы было выполнено следующее:
• разработана архитектура средств отладки текстовых языков про¬граммирования в TRIK Studio;
• реализована поддержка интерпретации программ на языке Java¬Script В TRIK Studio;
• реализован отладчик языка JavaScript с возможностью ставить точки останова (breakpoints);
• выполнена апробация решения на практике посредством тестиро¬вания на стандартных примерах задач, создания краткого онлайн- курса и проведения олимпиады на базе TRIK Studio среди школь¬ников.
Также, данная работа легла в основу выступления на конференции Современные технологии в теории и практике программирования, основное содержание которого было изложено в опубликованных тези¬сах [11].
[1] Debugging with GDB / Richard Stallman, Roland Pesch, Stan Shebs, et al. The GNU Source-Level Debugger. — Ninth edition. — Free Software Foundation, 2010.
[2] Mordvinov Dmitry, Litvinov Yurii, Bryksin Timofey. TRIK Studio: Technical Introduction // Proceedings of the FRUCT’20. — FRUCT Oy, 2017.-P. 296-308.
[3] Roland H. Pesch. GDB QUICK REFERENCE.- 1999.- URL: https://web.stanford.edu/class/cs107/gdb_refcard.pdf (дата обращения: 07.05.2017).
[4] Scintilla and SciTE. Projects using Scintilla.— 2015.— URL: http: //www.scintilla.org/ScintillaRelated.html (дата обращения: 02.02.2017).
[5] Terekhov Andrey, Luchin Roman, Filippov Sergey. Educational Cybernetical Construction Set for schools and universities // IFAC Proceedings Volumes, Volume 45, Issue 11.— Elsevier Ltd., 2012.— P. 430-435.
[6] The Qt Company Ltd. Qt Script // Qt Documentation.— 2016.— URL: http://doc.qt.io/qt-5/qtscript-index.html (дата обра¬щения: 18.09.2016).
[7] Архитектура среды визуального моделирования QReal / А.Н. Те¬рехов, Т.А. Брыксин, Ю.В. Литвинов и др. Системное программи¬рование. Т. 4. - СПбГУ, 2000.
[8] Когутич Д.А., Смирнов М.А., Литвинов Ю.В. Поддержка кон¬структора EV3 в TRIK Studio // Материалы научно-практической конференции студентов, аспирантов и молодых учёных ’’Современ¬ные технологии в теории и практике программирования”. — Изд-во Политехн. ун-та, 2015.— С. 40-41.
[9] Литвинов Ю.В., Кириленко Я.А. TRIK Studio: среда обучения про¬граммированию с применением роботов //V Всероссийская конфе¬ренция «Современное технологическое обучение: от компьютера к роботу» (сборник тезисов). — ЗАО «Полиграфическое предприятие № 3», 2015.-С. 5-7.
[10] Литвинов Ю.В., Мордвинов Д.А. Тестирование среды программи¬рования роботов // ИНСТРУМЕНТЫ И МЕТОДЫ АНАЛИЗА ПРОГРАММ. - Изд-во Политехн. ун-та, 2015. - С. 176-186.
[11] Малютин Д.П., Литвинов Ю.В. Поддержка отладки текстовых языков в TRIK Studio // Материалы научно-практической кон¬ференции студентов, аспирантов и молодых учёных ’’Современные технологии в теории и практике программирования”. — Изд-во По¬литехн. ун-та, 2017. — С. 62-62.