Periodic Reporting for period 2 - CUSTOMER (Customizable Embedded Real-Time Systems: Challenges and Key Techniques)
Berichtszeitraum: 2021-04-01 bis 2022-09-30
Unfortunately current design methodologies for embedded systems offer only limited support for software updates on systems in operation. Such updates are not possible today for systems like aircrafts since the resulting systems can not be guaranteed to stay safe. A crucial obstacle is that embedded systems built today are often impossible to modify or extend with new components after deployment due to their inadequate system architectures not prepared for updates. Any changes may crash the original system and/or jeopardize the safety of the resulting system. For smart phones, one may simply uninstall the new components. A car, on the other hand, is a highly safety-critical system, which must satisfy crucial safety and timing requirements on braking, driver assistance, etc. A single instance of violating such requirements may result in serious accidents or loss of human lives. While re-designing the system is not a feasible option, the existing approach today to extensively re-test the entire resulting system conguration in the lab for updates will not scale for future systems. The sheer number of possible system states and congurations prohibits testing them all. The mission of CUSTOMER is to change the way how today’s embedded systems are developed and provide the missing design paradigm and technologies for constructing embedded systems on composable architectures prepared for future (component-wise) modications, that can be updated on demand after deployment dynamically, safely and securely over their operational life-time.
tasks to enforce that they read inputs, compute, and write outputs at time points satisfying certain time constraints. A fixed-point semantics is developed for the model, showing that it enjoys two desired properties: (1) such a network of real-time software components computes a set of functions over data streams such that each of them, for a given set of (timed) input streams, defines a unique (timed) output stream; furthermore (2) the network can be modified by integrating new components for adding new system functions or replacing the existing components with refined ones (e.g. for better performance or security patches) without re-designing the whole system or changing the original system functions.
To our best knowledge, the MIMOS model is the first semantic model for real-time systems, which is deterministic and also composable. Differently from the semantic model for the family of synchronous programming languages such as Lustre for real-time programming, MIMOS adopts asynchronous communications via FIFO channels and registers. MIMOS is deterministic: for a given set of input streams, the set of output streams determined by a MIMOS model are unique. The determinism allows that the complete behavior of the resulting system can be verified by simulation prior to the implementation and any intended update. MIMOS is composable: it allows for updates by integration of new components on a system after deployment for new functions without re-designing the whole system or interfering with the existing system functionality. Additionally, existing components may be replaced also by new ones fulfilling given requirements.
Based on MIMOS, CUSTOMER is currently developing a modelling and programming language as well as a set of software tools including a GUI, a tool for scheduling and timing analysis, a code generator for simulation and a descrition language based GEM5 for hardware architechture design and WCET estimation of software components. A compiler will be developed to generate executable code from MIMOS models for not only simulation but also final implementation on a given target platform.