Time-Triggered High-Confidence Embedded Systems:\Modeling, Simulation, Analysis and Back
Hemingway, Graham S.
Humans rely upon embedded computational systems for everything from mundane tasks, like building temperature control, to safety-critical tasks, like flight control systems. Design and validation of safety-critical cyber-physical systems requires a rigorous focus on behavioral determinism and correctness. The burgeoning scale and complexity of many safety-critical systems makes fully determining their behavior problematic. The time-triggered approach for system design has been shown to provide a powerful abstraction for reducing the behavioral complexity of distributed systems while increasing the ability to detect and mitigate faults. Time-triggered design principles have been embraced by many design and analysis tools, but no consistent formal definition exists across them. Despite using time-triggered approaches, the task of developing and validating safety-critical systems is not without challenges. Among these are realizing robust time-triggered execution, analyzing the impact of deployment, and scaling simulation platforms for larger systems. In this thesis we formally define a time-triggered model of computation and develop a modeling language and toolchain to exploit this definition for the design and validation of high-confidence embedded systems. Any model of computation must concisely capture the execution semantics of a system while facilitating an analytic understanding of useful properties. Our time-triggered model of computation focuses on the temporal execution of a distributed control system and allows designers to easily analyze properties, such as determinism, schedulability, and response latency. We discuss the ESMoL modeling language for designing systems that conform to our model of computation. Using tools integrated into the modeling environment, designers are able to synthesize executables that realize the deterministic timing properties of the model, analyze the performance impact of deploying models onto actual hardware platforms, and to transform models into distributed and heterogenous simulations.