Real-Time Systems

, Volume 36, Issue 3, pp 159–198 | Cite as

Predictable real-time software synthesis

Open Access


Formal theories for real-time systems (such as timed process algebra, timed automata and timed petri nets) have gained great success in the modeling of concurrent timing behavior and in the analysis of real-time properties. However, due to the ineliminable timing differences between a model and its realization, synthesizing a software realization from a model in a predictable way is still a challenging research topic. In this article, we tackle this problem by solving a set of sub-problems. The solution is based on the theoretical results for property prediction proposed in Huang et al. (2003, Real-time property preservation in approximations of timed systems. In: Proceedings of 1st ACM and IEEE international conference on formal methods and models for codesign. IEEE Computer Society, Los Alamitos, pp 163–171) and Huang (2005, Predictability in real-time system design. PhD thesis, Eindhoven University of Technology, The Netherlands), where quantitative property relations are established between two absolute/relative “close” real-time systems. This theory basically implies that if two systems are “close”, they enjoy “similar” properties. These results cannot be directly applied in practice though, because a model and its realization typically have infinitely large absolute and relative timing differences. We show that this infinite time gap can be bridged through a sequence of carefully constructed intermediate time domains. Then the property-prediction results can be applied to any pair of adjacent time domains in the sequence. Consequently, real-time properties of the implementation can be predicted from the model. We propose two parameterized hypotheses to characterize the timing differences in the sequence and to guide a correctness-preserving design process. It is shown that these hypotheses can be incorporated in a concrete tool set. We demonstrate the feasibility of the predictable synthesis approach through the design of a railroad crossing system.


Real-time systems Formal methods Program synthesis 


  1. Altisen K, Gossler G, Sifakis J (2002) Scheduler modeling based on the controller synthesis paradigm. Real-Time Syst 23(1–2):55–84 MATHCrossRefGoogle Scholar
  2. Alur R, Dill DL (1994) A theory of timed automata. Theor Comput Sci 126(2):183–235 MATHCrossRefMathSciNetGoogle Scholar
  3. Alur R, Torre SL, Madhusudan P (2005) Perturbed timed automata. In: Proceedings of eighth international workshop on hybrid systems: computation and control Google Scholar
  4. Amnell T, Fersman E, Pettersson P, Yi W, Sun H (2002) Code synthesis for timed automata. Nord J Comput 9(4):269–300 MATHMathSciNetGoogle Scholar
  5. Amnell T, Fersman E, Mokrushin L, Pettersson P, Yi W (2003) TIMES: a tool for schedulability analysis and code generation of real-time systems. In: Formal modeling and analysis of timed systems: first international workshop, FORMATS 2003. Springer, Berlin, pp 60–72 Google Scholar
  6. Berry G (1992) A hardware implementation of pure Esterel. In: Academy proceedings in engineering sciences, vol 17. Indian Academy of Sciences, pp 95–130 Google Scholar
  7. Florescu O, Voeten J, Huang J, Corporaal H (2004) Error estimation in model-driven development for real-time software. In: Proceedings of forum on specification and design language, FDL’04, Lille, France Google Scholar
  8. Florescu O, Huang J, Voeten J, Corporaal H (2006) Strengthening property preservation in concurrent real-time systems. In: Proceedings of the IEEE international conference on embedded and real-time computing systems and applications (RTCSA), Sydney, Australia, pp 106–109 Google Scholar
  9. Geilen M (2002) Formal techniques for verification of complex real-time systems. PhD thesis, Eindhoven University of Technology, The Netherlands Google Scholar
  10. Geilen M, Voeten J, van der Putten P, van Bokhoven L, Stevens M (2001) Object-oriented modelling and specification using SHE. J Comput Lang 27:19–38 MATHCrossRefGoogle Scholar
  11. Glasser U (1998) ASM semantics of SDL: concepts, methods, tools. In: 1st SAM workshop on SDL and MSC, pp 271–280 Google Scholar
  12. Glasser U, Gotzhein R, Prinz A (2003) The formal semantics of SDL-2000: status and perspectives. Comput Netw Int J Comput Telecommun Netw 42(3):343–358 Google Scholar
  13. Gupta R, Micheli GD (1997) Specification and analysis of timing constraints for embedded systems. IEEE Trans Comput Des Integr Circuits Syst 16(3):240–256 CrossRefGoogle Scholar
  14. Gupta V, Henzinger T, Jagadeesan R (1997) Robust timed automata. In: Maler O (ed) Hybrid and real-time systems, proceedings of international workshop HART’97, Grenoble, France. Springer, Berlin, pp 331–345 CrossRefGoogle Scholar
  15. Heitmeyer CL, Jeffords RD, Labaw BG (1993) A benchmark for comparing different approaches for specifying and verifying real-time systems. In: Proceedings of the tenth international workshop on real-time operating systems and software Google Scholar
  16. Henzinger TA, Manna Z, Pnueli A (1992) Timed transition systems. In: Proceedings of the real-time: theory in practice, REX workshop, London, UK, Springer, Berlin, pp 226–251 CrossRefGoogle Scholar
  17. Henzinger T, Kirsch C, Sanvido M, Pree W (2003) From control models to real-time code using Giotto. IEEE Control Syst Mag 23(1):50–64 CrossRefGoogle Scholar
  18. Henzinger TA, Majumdar R, Prabhu V (2005) Quantifying similarities between timed systems. In: Proceedings of the third international conference on formal modeling and analysis of timed systems (FORMATS). Lecture notes in computer science, vol 3829. Springer, New York, pp 226–241 CrossRefGoogle Scholar
  19. Huang J (2005) Predictability in real-time system design. PhD thesis, Eindhoven University of Technology, The Netherlands Google Scholar
  20. Huang J, Voeten J, Geilen M (2003) Real-time property preservation in approximations of timed systems. In: Proceedings of 1st ACM and IEEE international conference on formal methods and models for codesign. IEEE Computer Society, Los Alamitos, pp 163–171 CrossRefGoogle Scholar
  21. Huang J, Geilen M, Voeten J, Corporaal H (2006) Branching-time property preservation between real-time systems. In: Proceedings of fourth international symposium on automated technology for verification and analysis 2006, Beijing, Springer, Berlin, pp 260–275 CrossRefGoogle Scholar
  22. Hune T, Larsen K, Pettersson P (2001) Guided synthesis of control programs using UPPAAL. Nord J Comput 8(1):43–64 MATHGoogle Scholar
  23. Koymans R (1990) Specifying real-time properties with metric temporal logic. Real-Time Syst 2(4):255–299 CrossRefGoogle Scholar
  24. Larsen KG, Pettersson P, Yi W (1997) UPPAAL in a nutshell. Int J Softw Tools Technol Transf 1(1–2):134–152 MATHCrossRefGoogle Scholar
  25. Liu J, Lee E (2003) Timed multitasking for real-time embedded software. IEEE Control Syst Mag 23(1):65–75 (special issue on Advances in software enabled control) CrossRefGoogle Scholar
  26. Lombardi M (2002) Time and frequency from a to z.
  27. Milner R (1989) Communication and concurrency. Prentice Hall, New York, ISBN 0-13-114984-9 MATHGoogle Scholar
  28. Newton I (1999/1687) The principia: mathematical principles of natural philosophy. University of California Press, Berkeley (edited by I. Bernard Cohen and Anne Miller Whitman) Google Scholar
  29. Nicola RD, Vaandrager F (1990) Action versus state based logics for transition systems. In: Proceedings of the LITP spring school on theoretical computer science on semantics of systems of concurrent processes, pp 407–419 Google Scholar
  30. Nicollin X, Sifakis J (1994) The algebra of timed processes, ATP: theory and application. Inf Comput 114(1):131–178 MATHCrossRefMathSciNetGoogle Scholar
  31. Noonan L, Flanagan C (2004) Modeling a network processor using object oriented techniques. In: Proceedings of the digital system design, EUROMICRO systems on (DSD’04), Washington, DC. IEEE Computer Society, Los Alamitos, pp 484–490 CrossRefGoogle Scholar
  32. Park CY (1993) Predicting program execution times by analyzing static and dynamic program paths. Real-Time Syst 5(1):31–62 Google Scholar
  33. Puri A (2000) Dynamical properties of timed automata. Discret Event Dyn Syst 10(1–2):87–113 MATHCrossRefMathSciNetGoogle Scholar
  34. Smyth N (1998) Communicating sequential processes domain in Ptolemy II. MS Report UCB/ERL Memorandum M98/70, Dept. of EECS, University of California, Berkeley Google Scholar
  35. Stotts PD, Pratt T (1985) Hierarchical modeling of software systems with timed petri nets. In: International workshop on timed petri nets. IEEE Computer Society, Los Alamitos, pp 32–39 Google Scholar
  36. Theelen B, Voeten J, van Bokhoven L, van der Putten P, de Jong G, Niemegeers A (2001) Performance modeling in the large: a case study. In: Proceedings of the European simulation symposium Google Scholar
  37. Theelen B, Voeten J, Kramer R (2003) Performance modelling of a network processor using POOSL. J Comput Netw 41(5):667–684 (special issue on Network processors) MATHCrossRefGoogle Scholar
  38. van Bokhoven L (2002) Constructive tool design for formal languages from semantics to executing models. PhD thesis, Eindhoven University of Technology, The Netherlands Google Scholar
  39. van der Putten P, Voeten J (1997) Specification of reactive hardware/software systems. PhD thesis, Eindhoven University of Technology, The Netherlands Google Scholar
  40. van Wijk F, Voeten J, ten Berg A (2003) An abstract modeling approach towards system-level design-space exploration. In: System specification and design languages. Kluwer Academic, Dordrecht, pp 267–282 Google Scholar
  41. Wulf MD, Doyen L, Raskin J-F (2005) Almost asap semantics: from timed models to timed implementations. Formal Aspects Comput 17(3):319–341 MATHCrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2007

Authors and Affiliations

  1. 1.Eindhoven University of TechnologyEindhovenThe Netherlands
  2. 2.Embedded Systems InstituteEindhovenThe Netherlands

Personalised recommendations