Hostname: page-component-76fb5796d-dfsvx Total loading time: 0 Render date: 2024-04-25T20:43:33.606Z Has data issue: false hasContentIssue false

Rigorous implementation of real-time systems – from theory to application

Published online by Cambridge University Press:  08 July 2013

TESNIM ABDELLATIF
Affiliation:
Verimag, Centre Equation – 2, avenue de Vignate, 38610 Gières, France Email: jacques.combaz@imag.fr; tesnim.abdellatif@imag.fr; joseph.sifakis@imag.fr
JACQUES COMBAZ
Affiliation:
Verimag, Centre Equation – 2, avenue de Vignate, 38610 Gières, France Email: jacques.combaz@imag.fr; tesnim.abdellatif@imag.fr; joseph.sifakis@imag.fr
JOSEPH SIFAKIS
Affiliation:
Verimag, Centre Equation – 2, avenue de Vignate, 38610 Gières, France Email: jacques.combaz@imag.fr; tesnim.abdellatif@imag.fr; joseph.sifakis@imag.fr

Abstract

The correct and efficient implementation of general real-time applications remains very much an open problem. A key issue is meeting timing constraints whose satisfaction depends on features of the execution platform, in particular its speed. Existing rigorous implementation techniques are applicable to specific classes of systems, for example, with periodic tasks or time-deterministic systems.

We present a general model-based implementation method for real-time systems based on the use of two models:

  • An abstract model representing the behaviour of real-time software as a timed automaton, which describes user-defined platform-independent timing constraints. Its transitions are timeless and correspond to the execution of statements of the real-time software.

  • A physical model representing the behaviour of the real-time software running on a given platform. It is obtained by assigning execution times to the transitions of the abstract model.

A necessary condition for implementability is time-safety, that is, any (timed) execution sequence of the physical model is also an execution sequence of the abstract model. Time-safety simply means that the platform is fast enough to meet the timing requirements. As execution times of actions are not known exactly, time-safety is checked for the worst-case execution times of actions by making an assumption of time-robustness: time-safety is preserved when the speed of the execution platform increases.

We show that, as a rule, physical models are not time-robust, and that time-determinism is a sufficient condition for time-robustness. For a given piece of real-time software and an execution platform corresponding to a time-robust model, we define an execution engine that coordinates the execution of the application software so that it meets its timing constraints. Furthermore, in the case of non-robustness, the execution engine can detect violations of time-safety and stop execution.

We have implemented the execution engine for BIP programs with real-time constraints and validated the implementation method for two case studies. The experimental results for a module of a robotic application show that the CPU utilisation and the size of the model are reduced compared with existing implementations. The experimental results for an adaptive video encoder also show that a lack of time-robustness may seriously degrade the performance for increasing platform execution speed.

Type
Paper
Copyright
Copyright © Cambridge University Press 2013 

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Abdellatif, T., Combaz, J. and Sifakis, J. (2010) Model-based implementation of real-time applications. In: Carloni, L. P. and Tripakis, S. (eds.) EMSOFT, ACM 229238.Google Scholar
Altisen, K. and Tripakis, S. (2005) Implementation of timed automata: An issue of semantics or modeling? In: Pettersson, P. and Yi, W. (eds.) Formal Modeling and Analysis of Timed Systems, Third International Conference, FORMATS 2005. Springer-Verlag Lecture Notes in Computer Science 3829 273288.CrossRefGoogle Scholar
Alur, R. and Dill, D. L. (1994) A theory of timed automata. Theoretical Computer Science 126 (2)183235.CrossRefGoogle Scholar
Alur, R.et al. (1995) The algorithmic analysis of hybrid systems. Theoretical Computer Science 138 (1)334.CrossRefGoogle Scholar
Aussaguès, C. and David, V. (1998) A method and a technique to model and ensure timeliness in safety critical real-time systems. In: ICECCS, IEEE Computer Society 212.Google Scholar
Basu, A., Bozga, M. and Sifakis, J. (2006) Modeling heterogeneous real-time components in BIP. In: SEFM, IEEE Computer Society 312.Google Scholar
Bensalem, S., de Silva, L., Ingrand, F. and Yan, R. (2009a) Towards a more dependable software architecture for autonomous robots. IEEE Robotics and Automation Magazine 16 (1)6777.CrossRefGoogle Scholar
Bensalem, S., de Silva, L., Ingrand, F. and Yan, R. (2009b) A verifiable and correct-by-construction controller for robot functional levels. Journal of Software Engineering for Robotics 16 (1)123126.Google Scholar
Bensalem, S., Gallien, M., Ingrand, F., Kahloul, I. and Nguyen, T.-H. (2009c) Designing autonomous robots. IEEE Robotics and Automation Magazine 16 (1)6677.CrossRefGoogle Scholar
Benveniste, A., Guernic, P. L. and Jacquemot, C. (1991) Synchronous programming with events and relations: the signal language and its semantics. Science of Computer Programming 16 (2)103149.Google Scholar
Bornot, S., Gößler, G. and Sifakis, J. (2000) On the construction of live timed systems. In: Graf, S. and Schwartzbach, M. I. (eds.) Tools and Algorithms for the Construction and Analysis of Systems, 6th International Conference, TACAS 2000. Springer-Verlag Lecture Notes in Computer Science 1785 109126.CrossRefGoogle Scholar
Bornot, S. and Sifakis, J. (2000) An algebraic framework for urgency. Information and Computation 163 (1)172202.CrossRefGoogle Scholar
Bozga, M., Jaber, M. and Sifakis, J. (2009) Source-to-source architecture transformation for performance optimization in BIP. In: SIES, IEEE 152160.Google Scholar
Burns, A. and Wellings, A. J. (2001) Real-time systems and their programming languages, 3rd edition, Addison-Wesley.Google Scholar
Combaz, J., Fernandez, J.-C., Sifakis, J. and Strus, L. (2008) Symbolic quality control for multimedia applications. Real-Time Systems 40 (1)143.CrossRefGoogle Scholar
Dima, C. (2007) Dynamical properties of timed automata revisited. In: Raskin, J.-F. and Thiagarajan, P. S. (eds.) Formal Modeling and Analysis of Timed Systems, 5th International Conference, FORMATS 2007. Springer-Verlag Lecture Notes in Computer Science 4763 130146.CrossRefGoogle Scholar
Ghosal, A., Henzinger, T. A., Kirsch, C. M. and Sanvido, M. A. A. (2004) Event-driven programming with logical execution times. In: Alur, R. and Pappas, G. J. (eds.) Hybrid Systems: Computation and Control, 7th International Workshop, HSCC 2004. Springer-Verlag Lecture Notes in Computer Science 2993 357371.CrossRefGoogle Scholar
Halbwachs, N. (1998) Synchronous programming of reactive systems. In: Hu, A. J. and Vardi, M. Y. (eds.) Computer Aided Verification, 10th International Conference, CAV' 98. Springer-Verlag Lecture Notes in Computer Science 1427 116.CrossRefGoogle Scholar
Halbwachs, N., Caspi, P., Raymond, P. and Pilaud, D. (1991) The synchronous data flow programming language lustre. Proceedings of the IEEE 79 (9)13051320.CrossRefGoogle Scholar
Henzinger, T. A., Horowitz, B. and Kirsch, C. M. (2003) Giotto: a time-triggered language for embedded programming. Proceedings of the IEEE 91 (1)8499.CrossRefGoogle Scholar
Isovic, D., Fohler, G. and Steffens, L. (2003) Timing constraints of MPEG-2 decoding for high quality video: misconceptions and realistic assumptions. In: Proceedings 15th Euromicro Conference on Real-Time Systems – ECRTS 2003 73–82.CrossRefGoogle Scholar
Reineke, J.et al. (2006) A definition and classification of timing anomalies. In: Mueller, F. (ed.) 6th International workshop on worst-case execution time (WCET) analysis, OpenAccess Series in Informatics (OASIcs) 4, Schloss Dagstuhl – Leibniz-Zentrum für Informatik.Google Scholar
Wilhelm, R.et al. (2010) Static timing analysis for hard real-time systems. In: Barthe, G. and Hermenegildo, M. V. (eds.) Verification, Model Checking, and Abstract Interpretation, 11th International Conference, VMCAI 2010. Springer-Verlag Lecture Notes in Computer Science 5944 322.CrossRefGoogle Scholar
Wulf, M. D., Doyen, L. and Raskin, J.-F. (2005) Almost ASAP semantics: from timed models to timed implementations. Formal Aspects of Computing 17 (3)319341.CrossRefGoogle Scholar