«Понятный и удобный параллелизм для робототехники», представление диссертации
Докладчик: выпускник факультета ВМК ННГУ Андрей Русаков (аспирант, кафедра программной инженерии ETH Цюрих, научный руководитель – проф. Bertrand Meyer).
Аннотация:
Конкурентность – это обобщающая парадигма проектирования программных систем, выполняющих несколько задач одновременно (параллелизм) или с прерываниями (многозадачность). Большое количество роботизированных систем по своей природе конкурентны: они состоят из множества компонентов, которые могут исполняться одновременно. Однако, до сегодняшнего дня конкурентность не стала стандартной практикой в программировании роботов и зачастую использование конкурентности в робототехнике ограничивается запуском нескольких независимых потоков вычислений. Причина всего этого лежит в сложности существующих подходов и механизмов создания конкурентных систем, которые требуют ручной манипуляции примитивами синхронизации, поэтому часто являются источником ошибок. Общая цель диссертации заключается в создании простого и безопасного конкурентного подхода, чтобы он мог быть широко использован специалистами в робототехнике.
Для достижения поставленной цели мы прежде всего постарались оценить роль конкурентного программирования в современном роботостроении. Приведённое нами опросное исследование является новым в данной области. Оно направлено на идентификацию трудностей в использовании конкурентного программирования в робототехнике, а также сбор возможных идей для улучшения сложившейся ситуации. Главным результатом данной работы является Roboscoop – программный фреймворк для робототехники, где акцент сделан на конкурентном программировании и полезных практиках программной инженерии, к примеру, шаблонах проектирования. Roboscoop позволяет проще представлять роботизированные компоненты и сценарии их использования. Мы произвели оценку простоты использования фреймворка путём сравнения его с существующими системами и путём использования его в образовательных курсах. Мы также протестировали удобство и функционал созданного фреймворка на нескольких приложениях с реальными роботами, включая SmartWalker – умный роботизированный роллатор для пожилых людей и людей с проблемами передвижения.
Диссертация приводит опыт создания многоцелевого образовательного курса, который эффективно сочетает в себе конкурентное программирование, робототехнику и программную инженерию. Этот курс успешно преподавался студентам Швейцарской высшей технической школы Цюриха на протяжении трёх лет и помог улучшить созданный нами фреймворк.
