Towards Energy-, Time- and Security-Aware Multi-core Coordination

Coordination is a well established computing paradigm with a plethora of languages, abstractions and approaches. Yet, we are not aware of any adoption of the principle of coordination in the broad domain of cyber-physical systems, where non-functional properties, such as execution/response time, energy consumption and security are as crucial as functional correctness. We propose a coordination approach, including a functional coordination language and its associated tool flow, that considers time, energy and security as first-class citizens in application design and development. We primarily target cyber-physical systems running on off-the-shelf heterogeneous multi-core platforms. We illustrate our approach by means of a real-world use case, an unmanned aerial vehicle for autonomous reconnaissance mission, which we develop in close collaboration with industry.

[1]  Oded Maler,et al.  Many-Core Scheduling of Data Parallel Applications Using SMT Solvers , 2014, 2014 17th Euromicro Conference on Digital System Design.

[2]  Greg J. Michaelson,et al.  Hume: A Domain-Specific Language for Real-Time Embedded Systems , 2003, GPCE.

[3]  Henrik Theiling,et al.  Design of a WCET-Aware C Compiler , 2006, 2006 IEEE/ACM/IFIP Workshop on Embedded Systems for Real Time Multimedia.

[4]  Philip Wadler,et al.  The essence of functional programming , 1992, POPL '92.

[5]  Herbert Kuchen,et al.  Musket: a domain-specific language for high-level parallel programming with algorithmic skeletons , 2019, SAC.

[6]  Pascal Raymond,et al.  Model-Based Design of Embedded Control Systems by Means of a Synchronous Intermediate Model , 2009, 2009 International Conference on Embedded Software and Systems.

[7]  Reinhold Heckmann,et al.  Worst case execution time prediction by static program analysis , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[8]  Franco Zambonelli,et al.  Twenty Years of Coordination Technologies: State-of-the-Art and Perspectives , 2018, COORDINATION.

[9]  Farhad Arbab,et al.  Composition of Interacting Computations , 2006 .

[10]  Marinus J. Plasmeijer,et al.  The Ins and Outs of Clean I/O , 1995, J. Funct. Program..

[11]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[12]  Brian W. Kernighan,et al.  The C Programming Language , 1978 .

[13]  Ulrik Pagh Schultz,et al.  Component-based computation-energy modeling for embedded systems , 2019, SPLASH.

[14]  Alexander V. Shafarenko,et al.  Asynchronous Stream Processing with S-Net , 2010, International Journal of Parallel Programming.

[15]  Stephen A. Edwards,et al.  The synchronous languages 12 years later , 2003, Proc. IEEE.

[16]  Giorgio C. Buttazzo,et al.  Partitioned Fixed-Priority Scheduling of Parallel Tasks Without Preemptions , 2018, 2018 IEEE Real-Time Systems Symposium (RTSS).

[17]  William Thies,et al.  StreamIt: A Language for Streaming Applications , 2002, CC.

[18]  Giorgio C. Buttazzo,et al.  Response-Time Analysis of Conditional DAG Tasks in Multiprocessor Systems , 2015, 2015 27th Euromicro Conference on Real-Time Systems.

[19]  Peter H. Feiler,et al.  The Architecture Analysis & Design Language (AADL): An Introduction , 2006 .

[20]  Pascal Raymond,et al.  The synchronous data flow programming language LUSTRE , 1991, Proc. IEEE.

[21]  Farhad Arbab,et al.  Reo: A Channel-based Coordination Model for Component Composition , 2005 .

[22]  Lorenzo Strigini,et al.  Dataflow-like languages for real-time systems: issues of computational models and notation , 1992, [1992] Proceedings 11th Symposium on Reliable Distributed Systems.

[23]  Steven Derrien,et al.  Hiding Communication Delays in Contention-Free Execution for SPM-Based Multi-Core Architectures , 2019, ECRTS.

[24]  Marco Danelutto,et al.  FastFlow: High-level and Efficient Streaming on Multi-core , 2017 .

[25]  Farhad Arbab,et al.  Overview of Thirty Semantic Formalisms for Reo , 2012, Sci. Ann. Comput. Sci..

[26]  Rami Melhem,et al.  Multi-version scheduling in rechargeable energy-aware real-time systems , 2005, J. Embed. Comput..

[27]  Nicholas Carriero,et al.  Coordination languages and their significance , 1992, CACM.

[28]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[29]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.