Safety-critical embedded systems, e.g., avionics, automotive, and medical devices, must tightly integrate and coordinate embedded computing systems with physical elements in a timely and dependable fashion. The current design process leverages results from the real-time scheduling theory, which considers tasks or jobs (from the operating system concept of thread) as the units for the analysis and validation. As a result, timing is often considered as a “non-functional” requirement which will only be checked after the system integration, while it should be a correctness criterion starting from the functional design. In addition, the constantly growing complexity of embedded systems coupled with the tight cost and short time-to-market often results in long design iterations to improve the design and fix errors, and ultimately sub-optimal solutions.
We propose to make time a first-class citizen of system design, and consider timing in the design synthesis from the functional models. Different from the traditional research in real-time systems community, the task (or threads) model becomes an intermediate artifact, and the timing analysis becomes part of a synthesis problem. We will focus on the Synchronous Reactive (SR) model, since it is very popular for modeling safety-critical embedded applications. We will automate the design optimization and synthesis of automotive systems that go from system-level modeling to correct, predictable, and efficient implementation. The implementation will be targeted at all kinds of practical architecture platforms, including single-core, multi-core, time-triggered distributed systems, and distributed systems without synchronized clocks.