I. Introduction
Embedded systems are increasingly required to provide both complicated feature-sets, and high-confidence in the correctness of mission-critical computations. From self-driving cars and Unmanned Aerial Vehicles (UAVs) to CubeSats, soft-ware systems must provide more communication facilities and more complicated sensor fusion, while still maintaining the expected physical dynamics of the systems. This challenge is complicated by the trend in these and other domains that functionalities traditionally performed by disparate computational elements are consolidated onto less expensive and more capable multi-core, commodity processors. Unfortunately, current systems have difficulty in both supporting feature rich, general computation provided by large amounts of code, and the high-confidence physical control that often requires software simplicity while also providing high resource utilization.