Abstract
Inspired by the pioneering work of Gilles Kahn on concurrent systems, we model real-time systems as a network of software components each of which is specified to compute a collection of functions according to given timing constraints. The components communicate with each other and their environment via two types of channels: (1) FIFO queues for buffering data, and (2) Registers for sampling time-dependent data streams from sensors or output streams of other components executed at different rates. We present a fixed-point semantics for this model which shows that each system function of a network computes for a given set of input (timed) streams, a unique (timed) output stream. Thanks to the deterministic semantics, a model-based approach is enabled for not only building systems but also updating them after deployment, allowing model-in-the-loop simulation to verify the complete behaviour of the resulting system.
This work is partially supported by the projects: ERC CUSTOMER and KAW UPDATE.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Addressing the different steps in details, including specification, modelling, verification and compilation is not in the scope of this paper.
- 2.
Note that a stream in \(\mathbb {S}^\varSigma \) is also a stream in \(\mathbb {S}\) (for an appropriate Data domain).
- 3.
where for readability reasons, instead of notation \(\mathbf {app}(a,X)\), we use its definition \(a {\tiny \bullet }X\).
- 4.
such as \(G_Y\) which produces element “1” only if \(c+1\ge th\) otherwise produces nothing, that is, \(\epsilon \).
- 5.
in a corresponding TKPN implementation.
- 6.
Making \(\delta \) an input which may vary over time is straightforward.
- 7.
which must exist.
- 8.
it may use a strongly abstracted version of \(\mathbf{F}\) which only preserves the structure of the output.
- 9.
E.g., if \(\mathbf{F}\) produces one element on each output stream, that is an m-tuple \((d_1 ...d_m)\), then it produces the m-tuple (t...t).
- 10.
\(G_M\) has the same deadline as G, meaning that the data put in the “memory” is immediately available.
- 11.
In the general case, the equations are more complicated as a variable length segment is to be read from P as indicated by the definition of function \(\mathbf {trig}\).
- 12.
which is the trigger time of the node reading the register.
- 13.
which must exist if the stream is infinite. If it is finite, the definition of \(\mathbf {Reg}\) is a bit more complicated, but it is easy to see that this can be fixed.
- 14.
Note some similarity with the definition of function \(\mathbf {trig}\).
- 15.
in fact, due to our simplifying assumptions in Example 4, only oversampling.
- 16.
note that registers are used for reading continuous data streams.
References
AUTOSAR - Specification of RTE Software (2019)
Abdullah, J., Dai, G., Yi, W.: Worst-case cause-effect reaction latency in systems with non-blocking communication. In: Design, Automation Test in Europe Conference Exhibition (DATE), pp. 1625–1630 (2019)
AUTOSAR. AUTomotive Open System ARchitecture. https://www.autosar.org
Baruah, S., Chen, D., Gorinsky, S., Mok, A.: Generalized multiframe tasks. Real-Time Syst. 17(1), 5–22 (1999)
Baudart, G.: A synchronous approach to quasi-periodic systems. Phd dissertation, PSL Research University, March 2017
Buck, J.T., Lee, E.A.: Scheduling Dynamic Dataflow Graphs with Bounded Memory Using the Token Flow Model. PhD thesis, University of California, Berkeley (1993). AAI9431898
Caspi, P.: The quasi-synchronous approach to distributed control systems. Technical report, Technical Report CMA/009931, Verimag, CrysisProject “The Cooking Book” (2000)
Caspi, P., Mazuet, C., Paligot, N.R.: About the design of distributed control systems: the quasi-synchronous approach. In: Voges, U. (ed.) SAFECOMP 2001. LNCS, vol. 2187, pp. 215–226. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-45416-0_21
Cohen, A., Duranton, M., Eisenbeis, C., Pagetti, C., Plateau, F., Pouzet, M.: N-synchronous Kahn networks: a relaxed model of synchrony for real-time systems. ACM SIGPLAN Not. 41(1), 180–193 (2006)
Dörflinger, A., et al.: Demonstrating controlled change for autonomous space vehicles. In: NASA/ESA Conference on Adaptive Hardware and Systems, AHS, Colchester, UK, July 22–24, pp. 95–102. IEEE (2019)
Fersman, E., Krcal, P., Pettersson, P., Yi, W.: Task automata: schedulability, decidability and undecidability. Inf. Comput. 205(8), 1149–1172 (2007)
Graf, S., Quinton, S., Girault, A., Gössler, G.: Building correct cyber-physical systems: why we need a multiview contract theory. In: Howar, F., Barnat, J. (eds.) FMICS 2018. LNCS, vol. 11119, pp. 19–31. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-00244-2_2
Halbwachs, N.: Synchronous Programming of Reactive Systems. Springer, US (2013)
Henzinger, T.A., Horowitz, B., Kirsch, C.M.: Giotto: a time-triggered language for embedded programming. Proc. IEEE 91(1), 84–99 (2003)
Kahn, G.: The semantics of a simple language for parallel programming. Inf. Process. 74, 471–475 (1974)
Kloda, T., Bertout, A., Sorel, Y.: Latency upper bound for data chains of real-time periodic tasks. J. Syst. Arch. 109, 101824 (2020)
Kopetz, H., Bauer, G.: The time-triggered architecture. Proc. IEEE 91(1), 112–126 (2003)
Krcal, P., Yi, W.: Communicating timed automata: the more synchronous, the more difficult to verify. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 249–262. Springer, Heidelberg (2006). https://doi.org/10.1007/11817963_24
Lee, E.A., Messerschmitt, D.G.: Synchronous data flow. Proc. IEEE 75(9), 1235–1245 (1987)
Lee, E.A., Parks, T.M.: Dataflow process networks. Proc. IEEE 83(5), 773–801 (1995)
Liu, C.L., Layland, J.W.: Scheduling algorithms for multiprogramming in a hard-real-time environment. J. ACM (JACM) 20(1), 46–61 (1973)
Natarajan, S., Broman, D.: Timed C: An extension to the C programming language for real-time systems. In: 2018 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), pp. 227–239. IEEE (2018)
Stigge, M., Ekberg, P., Guan, N., Yi, W.: The digraph real-time task model. In: 2011 17th IEEE Real-Time and Embedded Technology and Applications Symposium, pp. 71–80. IEEE (2011)
Stigge, M., Yi, W.: Graph-based models for real-time workload: a survey. Real-Time Syst. 51(5), 602–636 (2015). https://doi.org/10.1007/s11241-015-9234-z
Yi, Wang: Towards customizable CPS: composability, efficiency and predictability. In: Duan, Zhenhua, Ong, Luke (eds.) ICFEM 2017. LNCS, vol. 10610, pp. 3–15. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-68690-5_1
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 IFIP International Federation for Information Processing
About this paper
Cite this paper
Yi, W., Mohaqeqi, M., Graf, S. (2022). MIMOS: A Deterministic Model for the Design and Update of Real-Time Systems. In: ter Beek, M.H., Sirjani, M. (eds) Coordination Models and Languages. COORDINATION 2022. IFIP Advances in Information and Communication Technology, vol 13271. Springer, Cham. https://doi.org/10.1007/978-3-031-08143-9_2
Download citation
DOI: https://doi.org/10.1007/978-3-031-08143-9_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-08145-3
Online ISBN: 978-3-031-08143-9
eBook Packages: Computer ScienceComputer Science (R0)