Диссертация (1148272), страница 28
Текст из файла (страница 28)
Подходы к заданию семантики интерпретации диаграмм, основанные на технологии преобразования графов[Текст] / Владимир Александрович Поляков, Тимофей Александрович Брыксин // Компьютерные инструменты в образовании. –– 2013. –– Т. 2. –– С. 3–17.133. Птахина, А.И. Разработка метамоделирования «на лету» в системе QReal[Текст] / А.И. Птахина // Список-2013: Материалы всероссийской научнойконференции по проблемам информатики. –– СПб. : Изд-во ВВМ, 2013. ––С. 28–36.145134. Соковикова, Н.А.
Usability в проекте QReal:Robots [Текст] / Н.А. Соковикова // Список-2012: Материалы всероссийской научной конференции попроблемам информатики. 25-27 апр. 2012г., Санкт-Петербург. –– СПб. : Издво ВВМ, 2012. –– С. 66–69.135. Сорокин, A.В. Обзор Eclipse Modeling Project [Текст] / A.В. Сорокин,Д.В. Кознов // Системное программирование. –– 2010. –– Т. 5. –– С.
6–31.136. Средства быстрой разработки предметно-ориентированных решений вmetaCASE-средстве QReal [Текст] / А.С. Кузенкова, А.О. Дерипаска,К.С. Таран, А.В. Подкопаев, Ю.В. Литвинов, Т.А. Брыксин // Научнотехнические ведомости СПбГПУ, Информатика, телекоммуникации, управление. –– 2011. –– № 4 (128). –– С. 142–145.137.
Сухов, А.О. Разработка инструментальных средств создания визуальныхпредметно-ориентированных языков [Текст] : Дис. …канд. ф.-м. наук :05.13.11 : защищена 05.12.2013 / А.О. Сухов ; Институт системного программирования Российской академии наук. –– [Б. м. : б.
и.], 2013. –– С. 157.138. Тарасова, П.М. Сравнение способов получения редакторов по метамодели искорости их работы [Text] / П.М. Тарасова, Ю.С. Храмышкина. –– [S. l. : s.n.].139. Терехов, А.Н. RTST-технология программирования встроенных систем реального времени [Текст] / А.Н. Терехов // Записки семинара кафедрысистемного программирования “CASE-средства RTST++”. –– 1998. –– № 1. ––С. 3–17.140. Терехов, А.Н.
QReal: платформа визуального предметно-ориентированногомоделирования [Текст] / А.Н. Терехов, Т.А. Брыксин, Ю.В. Литвинов //Программная инженерия. –– 2013. –– № 6. –– С. 11–19.141. Терехов, А.Н. Среда визуального программирования роботов QReal:Robots[Текст] / А.Н. Терехов, Т.А. Брыксин, Ю.В. Литвинов // III Всероссийскаяконференция ”Современное технологическое обучение: от компьютера кроботу”(сборник тезисов). –– СПб. : Полиграфическое предприятие №3,2014.
–– С. 2–5.146142. Терехов,А.Н.Технологияразработкимобильныхонлайн-сервисов[electronic resource] / А.Н. Терехов, В.В. Оносовский // Материалыконференции CEE-SEC(R) 2011. –– Москва : [б. и.], 2011. –– URL: http://2011.secr.ru/lang/ru-ru/talks/technology-for-mobile-online-services-development(дата обращения: 2015-08-02).143. Терехов, А.Н. Автоматизированный реинжиниринг программ [Текст] /А.Н. Терехов, А.А. Терехов. –– СПб. : Изд-во Санкт-Петербургского Университета, 2000.
–– С. 330.144. Тихонова, М.В. Среда программирования QReal:Robots [Текст] / М.В. Тихонова // Список-2012: Материалы всероссийской научной конференции попроблемам информатики. 25-27 апр. 2012г, Санкт-Петербург. –– СПб. : Издво ВВМ, 2012. –– С. 70–75.145. Тихонова, М.В. Генерация кода в режиме «метамоделирования на лету» всистеме QReal [Text] / М.В. Тихонова, Ю.В.
Литвинов. –– [S. l. : s. n.].146. Фаулер, М. Рефакторинг. Улучшение существующего кода [Текст] / М. Фаулер, К. Бек, Д. Брант. –– СПб. : Символ-Плюс, 2009. –– С. 432. –– ISBN: 593286-045-6.147Приложение AПрименение предложенных в работе подходовВ этом приложении приводится описание применения предлагаемой в диссертации технологии для разработки различных предметно-ориентированныхрешений.
В силу ограниченности объёма работы были выбраны три наиболеезрелых решения: QReal:Robots, QReal:Ubiq, QReal:Hascol. Все эти решенияимеют достаточно сильно различающиеся предметные области и разнятся поприменённым в них подходам к созданию предметно-ориентированных языков.Соответственно, результирующие предметно-ориентированные языки достаточно сильно отличаются друг от друга, что является аргументом в пользу широкойприменимости предлагаемой технологии.A.1. Среда программирования роботовQReal:RobotsA.1.1. ВведениеНаиболее зрелый на данный момент пример применения технологии QReal —среда для обучения программированию в школах QReal:Robots. Этот проект создавался в практически идеальных для применения предметно-ориентированногоподхода условиях: имелась достаточно узкая предметная область, в которойуже активно применялось визуальное программирование, имелась потребностьв средствах программирования в рамках этой предметной области для написания нетривиальных программ, имелась DSM-платформа QReal, на которойбыло возможно в короткие сроки реализовать такое решение.
В этой работерезультаты проекта QReal:Robots изложены достаточно кратко, более подробно148см. статьи [110, 121, 141, 144] Далее описание результатов приводится в такойпоследовательности — приводится введение в предметную область и мотивация ксозданию DSM-решения, анализ и формулировка требований, изложение возможностей визуального языка и инструментальных средств для него с точки зренияпользователя и «ручной» реализации, далее рассказывается, как при реализацииDSM-решения применялись возможности платформы QReal, в чём она смоглапомочь, а в чём нет, и почему.A.1.2.
Постановка задачиСейчас в школах для начального преподавания информатики активно внедряются робототехнические конструкторы, наиболее популярный из которых наданный момент — конструктор LEGO Mindstorms NXT 2.0 [108]. Идея использовать роботы для преподавания не случайна, понятие «исполнитель» традиционноиспользуется в школьном преподавании в России со времён академика Ершова,а робот — наиболее наглядный вид исполнителя. Исполнитель — это некая сущность, способная выполнять команды, указанные в программе, в некоторой среде.До сих пор самым популярным исполнителем в школах остаётся «черепашка»LOGO [106], предложенная американским педагогом Сеймуром Пейпертом ещё в1967 году.
«Черепашка» может перемещаться по экрану, оставляя за собой след, иподчиняется командам вида «поднять перо», «опустить перо», «20 шагов вперёд»,«на 90 градусов налево». В текстовых программах может быть не очевидно,где исполнение алгоритма пошло не так, а иногда непонятно даже, правильноработает программа или нет. В случае с «черепашкой» отклонение выполненияпрограммы от задумки автора будет видимо сразу же, «черепашка» нарисуетчто-то некорректное. При этом сразу видно, где допущена ошибка, можно легконайти строку программы, на которой «черепашка» отклонилась от задуманнойтраектории.Исполнитель, движущийся по экрану, всё же оказывается недостаточно нагляден.
Сеймур Пейперт в своих ранних экспериментах использовал механическуючерепашку. Сейчас развитие электроники сделало возможным создавать относительно недорогие устройства, исполняющие программу с помощью дистанционного управления с компьютера или позволяющие загружать программу для автономного исполнения. Для преподавания в школах из таких устройств наиболее149интересны робототехнические конструкторы, потому что они требуют сборкиробота перед его программированием, что интереснее для детей и развивает ихконструкторские навыки. Самый известный такой конструктор — MindstormsNXT.
Он позволяет из трёх моторов, трёх видов датчиков (датчика касания,ультразвукового датчика расстояния, датчика освещённости), блока управления ипластмассовых деталей собирать довольно сложные конструкции, от движущихсятележек до стационарных устройств, например, для росписи ёлочных украшенийили игры на барабанах.Программировать такие роботы сложнее, чем «черепашку», поскольку изконструктора можно собрать самые разные модели роботов, и программироватьприходится в терминах, например, вида «мотор А включить на 50% мощности»,«ждать срабатывания датчика касания», а не «вперёд на 20 шагов», как в«черепашке». Это интереснее и полезнее для детей, но сложнее. Дополнительнуюсложность добавляет и то, что робот может взаимодействовать с окружением спомощью датчиков, в отличие от «черепашки». Это позволяет преподавать нетолько основы информатики, но и основы кибернетики, демонстрируя принципыпостроения программ, работающих во внешней среде, которую они не могутконтролировать.
Типичный пример задачи, которую решают начинающие программисты с помощью робота — движение по линии, когда робот с одним илидвумя датчиками освещённости должен проехать по чёрной линии, нарисованнойна полу. На «черепашке» обучать решению подобных задач невозможно.Сложность программирования робототехнических конструкторов преодолевается использованием визуальных языков программирования. Они гораздопонятнее и нагляднее для школьников, чем текстовые языки. Программы натаких языках состоят из элементарных блоков, например, «включить мотор»,«ждать срабатывания датчика», которые достаточно перетащить с палитры надиаграмму и соединить связями. При наличии удобного редактора для такогоязыка пользоваться им могут даже дошкольники, не умеющие ещё читать.
Какправило, с помощью визуальных языков школьники программируют примернодо седьмого класса, после чего постепенно переходят на текстовые языки. Вкомплекте с конструктором поставляется среда визуального программированияNXT-G [87], существуют отдельно распространяемые среды, самой популярнойиз которых в школах является Robolab [67]. Визуальное программирование в150сообществе людей, занимающихся программированием таких роботов, весьмапопулярно.Существующие среды программирования роботов имеют ряд недостатков,затрудняющих их использование в школах, например, отсутствие русификации,невозможность отладки программы.
Это делает актуальной задачу созданияновой такой среды, учитывающей все достоинства и недостатки существующих,а также уже накопленный опыт преподавания. Поэтому возникла ситуация, чрезвычайно интересная для апробации DSM-платформы. В выбранной предметнойобласти уже сложились традиции использования визуальных языков, поэтомуможно рассчитывать на содержательное сравнение с существующими средами.Кроме того, задачи, решаемые в данной предметной области, достаточно нетривиальны, чтобы полученный опыт разработки визуального языка можно былоперенести на более сложные случаи, возникающие при промышленном программировании. Все типичные для императивного программирования конструкции,такие как ветвления и циклы, используются при программировании роботов, поэтому полученные результаты окажутся применимыми и для других случаев, гдетребуется императивный подход.