Davis, Jason Tyler2021-10-282021-10-282021-10-27vt_gsexam:32751http://hdl.handle.net/10919/106391Modern 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.ETDIn CopyrightDistributed ComputingEmbedded SystemsRESTful ArchitectureImplementing a RESTful Software Architecture to Coordinate Heterogeneous Networked Embedded DevicesThesis