Qduino: a cyber-physical programming platform for multicore Systems-on-Chip

Emerging multicore Systems-on-Chip are enabling new cyber-physical applications such as autonomous drones, driverless cars and smart manufacturing using web-connected 3D printers. Common to those applications is a communicating task pipeline, to acquire and process sensor data and produce outputs t...

Full description

Bibliographic Details
Main Author: Cheng, Zhuoqun
Other Authors: West, Richard
Language:en_US
Published: 2019
Subjects:
Online Access:https://hdl.handle.net/2144/33253
id ndltd-bu.edu-oai-open.bu.edu-2144-33253
record_format oai_dc
spelling ndltd-bu.edu-oai-open.bu.edu-2144-332532019-02-01T15:28:01Z Qduino: a cyber-physical programming platform for multicore Systems-on-Chip Cheng, Zhuoqun West, Richard Computer science Emerging multicore Systems-on-Chip are enabling new cyber-physical applications such as autonomous drones, driverless cars and smart manufacturing using web-connected 3D printers. Common to those applications is a communicating task pipeline, to acquire and process sensor data and produce outputs that control actuators. As a result, these applications usually have timing requirements for both individual tasks and task pipelines formed for sensor data processing and actuation. Current cyber-physical programming platforms, such as Arduino and embedded Linux with the POSIX interface do not allow application developers to specify those timing requirements. Moreover, none of them provide the programming interface to schedule tasks and map them to processor cores, while managing I/O in a predictable manner, on multicore hardware platforms. Hence, this thesis presents the Qduino programming platform. Qduino adopts the simplicity of the Arduino API, with additional support for real-time multithreaded sketches on multicore architectures. Qduino allows application developers to specify timing properties of individual tasks as well as task pipelines at the design stage. To this end, we propose a mathematical framework to derive each task’s budget and period from the specified end-to-end timing requirements. The second part of the thesis is motivated by the observation that at the center of these pipelines are tasks that typically require complex software support, such as sensor data fusion or image processing algorithms. These features are usually developed by many man-year engineering efforts and thus commonly seen on General-Purpose Operating Systems (GPOS). Therefore, in order to support modern, intelligent cyber-physical applications, we enhance the Qduino platform’s extensibility by taking advantage of the Quest-V virtualized partitioning kernel. The platform’s usability is demonstrated by building a novel web-connected 3D printer and a prototypical autonomous drone framework in Qduino. 2019-01-31T19:07:00Z 2019-01-31T19:07:00Z 2018 2018-12-11T23:05:19Z Thesis/Dissertation https://hdl.handle.net/2144/33253 en_US
collection NDLTD
language en_US
sources NDLTD
topic Computer science
spellingShingle Computer science
Cheng, Zhuoqun
Qduino: a cyber-physical programming platform for multicore Systems-on-Chip
description Emerging multicore Systems-on-Chip are enabling new cyber-physical applications such as autonomous drones, driverless cars and smart manufacturing using web-connected 3D printers. Common to those applications is a communicating task pipeline, to acquire and process sensor data and produce outputs that control actuators. As a result, these applications usually have timing requirements for both individual tasks and task pipelines formed for sensor data processing and actuation. Current cyber-physical programming platforms, such as Arduino and embedded Linux with the POSIX interface do not allow application developers to specify those timing requirements. Moreover, none of them provide the programming interface to schedule tasks and map them to processor cores, while managing I/O in a predictable manner, on multicore hardware platforms. Hence, this thesis presents the Qduino programming platform. Qduino adopts the simplicity of the Arduino API, with additional support for real-time multithreaded sketches on multicore architectures. Qduino allows application developers to specify timing properties of individual tasks as well as task pipelines at the design stage. To this end, we propose a mathematical framework to derive each task’s budget and period from the specified end-to-end timing requirements. The second part of the thesis is motivated by the observation that at the center of these pipelines are tasks that typically require complex software support, such as sensor data fusion or image processing algorithms. These features are usually developed by many man-year engineering efforts and thus commonly seen on General-Purpose Operating Systems (GPOS). Therefore, in order to support modern, intelligent cyber-physical applications, we enhance the Qduino platform’s extensibility by taking advantage of the Quest-V virtualized partitioning kernel. The platform’s usability is demonstrated by building a novel web-connected 3D printer and a prototypical autonomous drone framework in Qduino.
author2 West, Richard
author_facet West, Richard
Cheng, Zhuoqun
author Cheng, Zhuoqun
author_sort Cheng, Zhuoqun
title Qduino: a cyber-physical programming platform for multicore Systems-on-Chip
title_short Qduino: a cyber-physical programming platform for multicore Systems-on-Chip
title_full Qduino: a cyber-physical programming platform for multicore Systems-on-Chip
title_fullStr Qduino: a cyber-physical programming platform for multicore Systems-on-Chip
title_full_unstemmed Qduino: a cyber-physical programming platform for multicore Systems-on-Chip
title_sort qduino: a cyber-physical programming platform for multicore systems-on-chip
publishDate 2019
url https://hdl.handle.net/2144/33253
work_keys_str_mv AT chengzhuoqun qduinoacyberphysicalprogrammingplatformformulticoresystemsonchip
_version_ 1718970090206003200