Deployment and Scheduling Synthesis for Mixed-Critical Shared-Memory Applications

This paper presents an efficient approach for generating suitable system architectures for embedded systems efficiently. Thereby, we focus on a joint generation of schedules and deployment for mixed-criticality multicore architectures using shared memory. The presented approach computes task and message schedules that are optimized with respect to a global discrete time base. As part of the solution, our approach generates an optimized assignment of tasks to computation resources (cores) concerning local memory constraints of cores and criticality constraints of tasks.This approach is integrated into the Auto FOCUS3 tool-chain, using a formally defined model of computation with explicit data-flow and discrete-time semantics to develop multi-criticality embedded systems. Our approach relies on a symbolic encoding scheme, based on a system model that is derived from the system architecture. This paper provides a formalization describing the scheduling problem as a satisfiability problem using boolean formulas and linear arithmetic constraints. A state-of-the-art satisfiability modulo theory (SMT) solver is used to compute the joint schedule and deployment for such architectures. This paper demonstrates that state-of-the art satisfiability modulo theory solvers can be used to efficiently compute (safety-oriented) deployments including real-time task and communication schedules for mixed-criticality applications.

[1]  John A. Clark,et al.  Holistic schedulability analysis for distributed hard real-time systems , 1994, Microprocess. Microprogramming.

[2]  Petru Eles,et al.  An improved scheduling technique for time-triggered embedded systems , 1999, Proceedings 25th EUROMICRO Conference. Informatics: Theory and Practice for the New Millennium.

[3]  Martin Fränzle,et al.  Scheduling distributed real-time systems by satisfiability checking , 2005, 11th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'05).

[4]  Babak Hamidzadeh,et al.  Dynamic scheduling strategies for shared-memory multiprocessors , 1996, Proceedings of 16th International Conference on Distributed Computing Systems.

[5]  Sanjoy K. Baruah,et al.  The feasibility of general task systems with precedence constraints on multiprocessor platforms , 2008, Real-Time Systems.

[6]  L. D. Moura,et al.  The YICES SMT Solver , 2006 .

[7]  Paul Pop,et al.  Optimization of Time-Partitions for Mixed-Criticality Real-Time Distributed Embedded Systems , 2011, 2011 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing Workshops.

[8]  Heinz Gall Functional safety IEC 61508 / IEC 61511 the impact to certification and the user , 2008, 2008 IEEE/ACS International Conference on Computer Systems and Applications.

[9]  Harald Ruess,et al.  Non-functional Avionics Requirements , 2008, ISoLA.

[10]  Manfred Broy,et al.  AutoMoDe - Notations, Methods, and Tools for Model-Based Development of Automotive Software , 2005 .

[11]  Kang G. Shin,et al.  Combined Task and Message Scheduling in Distributed Real-Time Systems , 1999, IEEE Trans. Parallel Distributed Syst..

[12]  Thomas A. Henzinger,et al.  Giotto: a time-triggered language for embedded programming , 2001, Proc. IEEE.

[13]  Emilia Farcas,et al.  Transparent distribution of real-time components based on logical execution time , 2005, LCTES '05.

[14]  Nikolaj Bjørner,et al.  Satisfiability Modulo Theories: An Appetizer , 2009, SBMF.

[15]  Kang G. Shin,et al.  Assignment and Scheduling Communicating Periodic Tasks in Distributed Real-Time Systems , 1997, IEEE Trans. Software Eng..

[16]  Gerard J. M. Smit,et al.  Run-time Spatial Mapping of Streaming Applications to a Heterogeneous Multi-Processor System-on-Chip (MPSOC) , 2007, 2008 Design, Automation and Test in Europe.

[17]  Bruno Dutertre,et al.  A Fast Linear-Arithmetic Solver for DPLL(T) , 2006, CAV.

[18]  Hermann Kopetz,et al.  Real-time systems , 2018, CSC '73.