Causality problem in real-time calculus

Real-time calculus (RTC) (Thiele et al. in: ISCAS, Geneva, 2000) is a framework to analyze heterogeneous, real-time systems that process event streams of data. The streams are characterized by pairs of curves, called arrival curves, that express upper and lower bounds on the number of events that may arrive over any specified time interval. A well-known limitation of RTC is that it cannot model systems with states and several works (Altisen and Moy in: ECRTS, Brussels, http://www-verimag.imag.fr/~moy/publications/ac2lus-conf, 2010; Altisen et al. in: QAPL, Paphos, http://www-verimag.imag.fr/~moy/publications/gran-paper, 2010; Banerjee and Dasgupta in: Proceedings of the conference on design, automation & test in Europe, 2014; Giannopoulou et al. in: Proceedings of the tenth ACM international conference on embedded software, New York, 2012; Krcál et al. in: Proceedings of 19th Nordic workshop on programming theory (NWPT07), Oslo, 2007; Kumar et al. in: Proceedings of the 49th annual design automation conference, New York, 2012; Lampka et al. in: EMSOFT, Grenoble, 2009; Lampka et al. in Des Autom Embed Syst 14:1–35, 2010; Perathoner et al. in: DATE, IEEE, Grenoble, 2013; Lampka et al. in Int J Softw Tools Technol Transf 15:155–170, 2011; Phan et al. in: Proceedings of the IEEE real-time systems symposium (RTSS), Los Alamitos, doi:10.1109/RTSS.2007.46, 2007; Uppsala University in Cats tool, Uppsala University, Uppsala, 2007) studied how to interface RTC curves with state-based models. Doing so, while trying, for example to generate a stream of events that satisfies some given pair of curves, we faced a causality problem (Raymond in Compilation efficace d’un langage declaratif synchrone: Le generateur de code Lustre-v3, PhD thesis, 1991): it can be the case that, after generating a finite prefix of an event stream, the generator deadlocks, since no extension of the prefix can satisfy the curves afterwards. This paper formally defines the problem; it states and proves algebraic results that characterize causal pairs of curves, i.e. curves for which the problem cannot occur. We consider the general case of infinite curve models, either discrete or continuous time and events. The paper provides an analysis on how causality issues appear when using arrival curves and how they could be handled. It also provides an overview of algorithms to compute causal curves in several models. These algorithms compute a canonical representation of a pair of curves, which is the best pair of curves among the curves equivalent to the ones they take as input.

[1]  Pascal Raymond,et al.  Compilation efficace d'un langage déclaratif synchrone : le générateur de code Lustre-V3. (Efficient Compilation of a Declarative Synchronous Language:the Lustre-V3 Code Generator) , 1991 .

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

[3]  Lothar Thiele,et al.  Analytic real-time analysis and timed automata: a hybrid methodology for the performance analysis of embedded real-time systems , 2010, Des. Autom. Embed. Syst..

[4]  Nicolas Halbwachs,et al.  Programming and Verifying Real-Time Systems by Means of the Synchronous Data-Flow Language LUSTRE , 1992, IEEE Trans. Software Eng..

[5]  Jean-Yves Le Boudec,et al.  Network Calculus , 2001, Lecture Notes in Computer Science.

[6]  Ge Yu,et al.  Static Scheduling and Software Synthesis for Dataflow Graphs with Symbolic Model-Checking , 2007, RTSS 2007.

[7]  Wilton R. Abbott,et al.  Network Calculus , 1970 .

[8]  Lothar Thiele,et al.  Timing Analysis for Resource Access Interference on Adaptive Resource Arbiters , 2011, 2011 17th IEEE Real-Time and Embedded Technology and Applications Symposium.

[9]  Matthieu Moy,et al.  ac2lus: Bringing SMT-Solving and Abstract Interpretation Techniques to Real-Time Calculus through the Synchronous Language Lustre , 2010, 2010 22nd Euromicro Conference on Real-Time Systems.

[10]  Lothar Thiele,et al.  Composing Functional and State-Based Performance Models for Analyzing Heterogeneous Real-Time Systems , 2007, 28th IEEE International Real-Time Systems Symposium (RTSS 2007).

[11]  W. Yi,et al.  A Tool for Compositional Analysis of Timed Systems by Abstraction , 2022 .

[12]  Pallab Dasgupta,et al.  Acceptance and random generation of event sequences under real time calculus constraints , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[13]  Bertrand Cottenceau,et al.  COINC Library : A toolbox for Network Calculus , 2009 .

[14]  Satoshi Yamane,et al.  The symbolic model-checking for real-time systems , 1996, Proceedings of the Eighth Euromicro Workshop on Real-Time Systems.

[15]  Lothar Thiele,et al.  Composing heterogeneous components for system-wide performance analysis , 2011, 2011 Design, Automation & Test in Europe.

[16]  Lothar Thiele,et al.  Real-time calculus for scheduling hard real-time systems , 2000, 2000 IEEE International Symposium on Circuits and Systems. Emerging Technologies for the 21st Century. Proceedings (IEEE Cat No.00CH36353).

[17]  K. Altisen,et al.  Causality closure for a new class of curves in real-time calculus , 2011, WCTT '11.

[18]  Lothar Thiele,et al.  Component-based system design: analytic real-time interfaces for state-based component implementations , 2012, International Journal on Software Tools for Technology Transfer.

[19]  Yanhong Liu,et al.  Performance Evaluation of Components Using a Granularity-based Interface Between Real-Time Calculus and Timed Automata , 2010, QAPL.

[20]  Lothar Thiele,et al.  A hybrid approach to cyber-physical systems verification , 2012, DAC Design Automation Conference 2012.

[21]  Lothar Thiele,et al.  Enabling Parametric Feasibility Analysis in real-time calculus driven performance evaluation , 2011, 2011 Proceedings of the 14th International Conference on Compilers, Architectures and Synthesis for Embedded Systems (CASES).

[22]  Luca Benini,et al.  Combining Simulation and Formal Methods for System-Level Performance Analysis , 2006, Proceedings of the Design Automation & Test in Europe Conference.

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

[24]  Eric Thierry,et al.  Service curves in Network Calculus: dos and don'ts , 2009 .

[25]  Wang Yi,et al.  Finitary Real-Time Calculus: Efficient Performance Analysis of Distributed Embedded Systems , 2013, 2013 IEEE 34th Real-Time Systems Symposium.

[26]  Pallab Dasgupta,et al.  Formal Methods for Pattern Based Reliability Analysis in Embedded Systems , 2015, 2015 28th International Conference on VLSI Design.

[27]  Cesare Tinelli,et al.  Scaling Up the Formal Verification of Lustre Programs with SMT-Based Techniques , 2008, 2008 Formal Methods in Computer-Aided Design.

[28]  Lothar Thiele,et al.  Generating event traces based on arrival curves , 2006, MMB.

[29]  Kiyoung Choi,et al.  Communication architecture design for reconfigurable multimedia SoC platform , 2010, Des. Autom. Embed. Syst..

[30]  Lothar Thiele,et al.  Timed model checking with abstractions: towards worst-case response time analysis in resource-sharing manycore systems , 2012, EMSOFT '12.

[31]  Eric Thierry,et al.  An Algorithmic Toolbox for Network Calculus , 2008, Discret. Event Dyn. Syst..

[32]  Bertrand Jeannet,et al.  Dynamic Partitioning in Linear Relation Analysis: Application to the Verification of Reactive Systems , 2003, Formal Methods Syst. Des..

[33]  Wang Yi,et al.  Cyclic dependencies in modular performance analysis , 2008, EMSOFT '08.

[34]  Lothar Thiele,et al.  A general framework for analysing system properties in platform-based embedded system designs , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[35]  Lothar Thiele,et al.  Analytic real-time analysis and timed automata: a hybrid method for analyzing embedded real-time systems , 2009, EMSOFT '09.

[36]  Alberto L. Sangiovanni-Vincentelli,et al.  Timing analysis of process graphs with finite communication buffers , 2013, 2013 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[37]  Ernesto Wandeler,et al.  Modular performance analysis and interface based design for embedded real time systems , 2006 .

[38]  Matthieu Moy,et al.  Arrival Curves for Real-Time Calculus: The Causality Problem and Its Solutions , 2010, TACAS.

[39]  Sebastien Lagrange,et al.  COINC library: a toolbox for the network calculus: invited presentation, extended abstract , 2009, VALUETOOLS.