Implementing a RESTful Software Architecture to Coordinate Heterogeneous Networked Embedded Devices

Modern embedded systems---autonomous vehicle-to-vehicle communication, smart cities, and military Joint All-Domain Operations---feature increasingly heterogeneous distributed components. As a result, existing communication methods, tightly coupled with specific networking layers and individual appli...

Full description

Bibliographic Details
Main Author: Davis, Jason Tyler
Other Authors: Computer Science
Format: Others
Published: Virginia Tech 2021
Subjects:
Online Access:http://hdl.handle.net/10919/106391
id ndltd-VTETD-oai-vtechworks.lib.vt.edu-10919-106391
record_format oai_dc
spelling ndltd-VTETD-oai-vtechworks.lib.vt.edu-10919-1063912021-10-30T05:31:30Z Implementing a RESTful Software Architecture to Coordinate Heterogeneous Networked Embedded Devices Davis, Jason Tyler Computer Science Tilevich, Eli Butt, Ali Artis, Harry Pat Distributed Computing Embedded Systems RESTful Architecture Modern embedded systems---autonomous vehicle-to-vehicle communication, smart cities, and military Joint All-Domain Operations---feature increasingly heterogeneous distributed components. As a result, existing communication methods, tightly coupled with specific networking layers and individual applications, can no longer balance the flexibility of modern data distribution with the traditional constraints of embedded systems. To address this problem, the investigation herein presents a domain-specific language, designed around the Representational State Transfer (REST) architecture, most famously used on the web. Our language, called the Communication Language for Embedded Systems (CLES), supports both traditional point-to-point data communication and management and allocation of decentralized distributed processing tasks. To meet the traditional constraints of embedded execution, CLES' novel runtime allocates processing tasks across a heterogeneous network of embedded devices, overcoming limitations from other modern distribution methods: centralized task management and limited operating system integration. CLES was evaluated with performance micro-benchmarks, implementation of distributed stochastic gradient descent, and application to the design of versatile stateless services for vehicle-to-vehicle communication and military Joint All-Domain Command and Control (JDAC). From this evaluation, it was determined that CLES meets the data distribution needs of realistic cyber-physical embedded systems. Master of Science As computers become smaller, cheaper, more powerful, and energy efficient, they are increasingly used in cyber-physical systems such as planes, trains, and automobiles, as well as large-scale networks such as power plants and smart cities. The field of embedded computing is facing new challenges involving the communication and coordination of large numbers of different devices. Some of the software challenges within embedded device communications are: flexibility both in ability to run on different devices and use different communication links such as cellular, Wi-Fi, or Bluetooth, performance constraints of low-power embedded devices, latency and reliability to ensure safe operations, and the schedule and cost of development. To address these challenges, this thesis presents a new programming language, designed around the Representational State Transfer (REST) architecture, most famously used in HTTP to drive the web. Our language, called the Communication Language for Embedded Systems (CLES), supports both traditional point-to-point data communication designed to prioritize latency and reliability, as well as a standalone application or runtime that can be run on an embedded device to accept requests for processing tasks. CLES and its supporting Software Development Kit (SDK) is designed to allow for quick and cost effective development of flexible low-latency device to device communications and large scale distributed processing on embedded devices. 2021-10-28T08:00:09Z 2021-10-28T08:00:09Z 2021-10-27 Thesis vt_gsexam:32751 http://hdl.handle.net/10919/106391 In Copyright http://rightsstatements.org/vocab/InC/1.0/ ETD application/pdf Virginia Tech
collection NDLTD
format Others
sources NDLTD
topic Distributed Computing
Embedded Systems
RESTful Architecture
spellingShingle Distributed Computing
Embedded Systems
RESTful Architecture
Davis, Jason Tyler
Implementing a RESTful Software Architecture to Coordinate Heterogeneous Networked Embedded Devices
description Modern embedded systems---autonomous vehicle-to-vehicle communication, smart cities, and military Joint All-Domain Operations---feature increasingly heterogeneous distributed components. As a result, existing communication methods, tightly coupled with specific networking layers and individual applications, can no longer balance the flexibility of modern data distribution with the traditional constraints of embedded systems. To address this problem, the investigation herein presents a domain-specific language, designed around the Representational State Transfer (REST) architecture, most famously used on the web. Our language, called the Communication Language for Embedded Systems (CLES), supports both traditional point-to-point data communication and management and allocation of decentralized distributed processing tasks. To meet the traditional constraints of embedded execution, CLES' novel runtime allocates processing tasks across a heterogeneous network of embedded devices, overcoming limitations from other modern distribution methods: centralized task management and limited operating system integration. CLES was evaluated with performance micro-benchmarks, implementation of distributed stochastic gradient descent, and application to the design of versatile stateless services for vehicle-to-vehicle communication and military Joint All-Domain Command and Control (JDAC). From this evaluation, it was determined that CLES meets the data distribution needs of realistic cyber-physical embedded systems. === Master of Science === As computers become smaller, cheaper, more powerful, and energy efficient, they are increasingly used in cyber-physical systems such as planes, trains, and automobiles, as well as large-scale networks such as power plants and smart cities. The field of embedded computing is facing new challenges involving the communication and coordination of large numbers of different devices. Some of the software challenges within embedded device communications are: flexibility both in ability to run on different devices and use different communication links such as cellular, Wi-Fi, or Bluetooth, performance constraints of low-power embedded devices, latency and reliability to ensure safe operations, and the schedule and cost of development. To address these challenges, this thesis presents a new programming language, designed around the Representational State Transfer (REST) architecture, most famously used in HTTP to drive the web. Our language, called the Communication Language for Embedded Systems (CLES), supports both traditional point-to-point data communication designed to prioritize latency and reliability, as well as a standalone application or runtime that can be run on an embedded device to accept requests for processing tasks. CLES and its supporting Software Development Kit (SDK) is designed to allow for quick and cost effective development of flexible low-latency device to device communications and large scale distributed processing on embedded devices.
author2 Computer Science
author_facet Computer Science
Davis, Jason Tyler
author Davis, Jason Tyler
author_sort Davis, Jason Tyler
title Implementing a RESTful Software Architecture to Coordinate Heterogeneous Networked Embedded Devices
title_short Implementing a RESTful Software Architecture to Coordinate Heterogeneous Networked Embedded Devices
title_full Implementing a RESTful Software Architecture to Coordinate Heterogeneous Networked Embedded Devices
title_fullStr Implementing a RESTful Software Architecture to Coordinate Heterogeneous Networked Embedded Devices
title_full_unstemmed Implementing a RESTful Software Architecture to Coordinate Heterogeneous Networked Embedded Devices
title_sort implementing a restful software architecture to coordinate heterogeneous networked embedded devices
publisher Virginia Tech
publishDate 2021
url http://hdl.handle.net/10919/106391
work_keys_str_mv AT davisjasontyler implementingarestfulsoftwarearchitecturetocoordinateheterogeneousnetworkedembeddeddevices
_version_ 1719491929939378176