Real-Time Systems

, Volume 41, Issue 2, pp 118–151 | Cite as

Formal verification of real-time systems with preemptive scheduling

Article

Abstract

In this paper, we propose a method for the verification of timed properties for real-time systems featuring a preemptive scheduling policy: the system, modeled as a scheduling time Petri net, is first translated into a linear hybrid automaton to which it is time-bisimilar. Timed properties can then be verified using HyTech. The efficiency of this approach leans on two major points: first, the translation features a minimization of the number of variables (clocks) of the resulting automaton, which is a critical parameter for the efficiency of the ensuing verification. Second, the translation is performed by an over-approximating algorithm, which is based on Difference Bound Matrix and therefore efficient, that nonetheless produces a time-bisimilar automaton despite the over-approximation. The proposed modeling and verification method are generic enough to account for many scheduling policies. In this paper, we specifically show how to deal with Fixed Priority and Earliest Deadline First policies, with the possibility of using Round-Robin for tasks with the same priority. We have implemented the method and give some experimental results illustrating its efficiency.

Keywords

Formal methods Petri nets Preemptive scheduling Verification Hybrid automata 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Altisen K, Gössler G, Pnueli A, Sifakis J, Tripakis S, Yovine S (1999) A framework for scheduler synthesis. In: 20th IEEE real-time systems symposium, RTSS’99, Phoenix, Arizona, USA. IEEE Computer Society Press, Washington, pp 154–163 Google Scholar
  2. Altisen K, Gössler G, Sifakis J (2000) A methodology for the construction of scheduled systems. In: 6th international symposium on formal techniques in real-time and fault-tolerant systems, FTRTFT’00, Pune. Lecture notes in computer science, vol 1926. Springer, New York, pp 106–120 CrossRefGoogle Scholar
  3. Altisen K, Gössler G, Sifakis J (2002) Scheduler modelling based on the controller synthesis paradigm. J Real-Time Syst 23:55–84. Special issue on control-theoretical approaches to real-time computing MATHCrossRefGoogle Scholar
  4. Alur R, Dill DL (1994) A theory of timed automata. Theor Comput Sci 126(2):183–235 MATHCrossRefMathSciNetGoogle Scholar
  5. Alur R, Courcoubetis C, Halbwachs N, Henzinger TA, Ho P-H, Nicollin X, Olivero A, Sifakis J, Yovine S (1995) The algorithmic analysis of hybrid systems. Theor Comput Sci 138:3–34 MATHCrossRefGoogle Scholar
  6. Alur R, Henzinger TA, Ho P-H (1996) Automatic symbolic verification of embedded systems. IEEE Trans Softw Eng 22:181–201 CrossRefGoogle Scholar
  7. Arnold A (1994) Finite transition system. Prentice-Hall, Englewood Cliffs Google Scholar
  8. Aura T, Lilius J (2000). A causal semantics for time Petri nets. Theor Comput Sci Google Scholar
  9. Bardin S, Finkel A, Leroux J, Petrucci L (2003) FAST: fast acceleration of symbolic transition systems. In: Proceedings of the 15th international conference on computer aided verification, CAV’03. Lecture notes in computer science, vol 2725. Springer, New York, pp 118–121 Google Scholar
  10. Berthomieu B, Diaz M (1991) Modeling and verification of time dependent systems using time Petri nets. IEEE Trans Softw Eng 17(3):259–273 CrossRefMathSciNetGoogle Scholar
  11. Berthomieu B, Menasche M (1983) An enumerative approach for analyzing time Petri nets. IFIP Congress Ser 9:41–46 Google Scholar
  12. Berthomieu B, Lime D, Roux OH, Vernadat F (2007) Reachability problems and abstract state spaces for time Petri nets with stopwatches. J Discrete Event Dyn Syst (jDEDS) 17(2):133–158 MATHCrossRefMathSciNetGoogle Scholar
  13. Brémond-Grégoire P, Lee I, Gerber R (1993) Acsr: an algebra of communicating shared resources with dense time and priorities. In: 4th international conference on concurrency theory, CONCUR’93, London. Springer, New York, pp 417–431 Google Scholar
  14. Bucci G, Fedeli A, Sassoli L, Vicario E (2003). Modeling flexible real time systems with preemptive time Petri nets. In: 15th Euromicro conference on real-time systems, ECRTS’2003, pp 279–286 Google Scholar
  15. Bucci G, Fedeli A, Sassoli L, Vicario E (2004) Time state space analysis of real-time preemptive systems. IEEE Trans Softw Eng 30(2):97–111 CrossRefGoogle Scholar
  16. Cassez F, Larsen KG (2000) The impressive power of stopwatches. In: Palamidesi C (ed) 11th international conference on concurrency theory, CONCUR’2000, University Park. Lecture notes in computer science, vol 1877. Springer, New York, pp 138–152 Google Scholar
  17. Cassez F, Roux OH (2006) Structural translation from time Petri nets to timed automata—model-checking time petri nets via timed automata. J Syst Softw 79(10):1456–1468 CrossRefGoogle Scholar
  18. Dantzig GB (1963). Linear programming and extensions. IEICE Trans Inf Syst Google Scholar
  19. Daws C, Yovine S (1996) Reducing the number of clock variables of timed automata. In: 1996 IEEE real-time systems symposium, RTSS’96. IEEE Computer Society Press, Washington, pp 73–81 CrossRefGoogle Scholar
  20. Dill DL (1989). Timing assumptions and verification of finite-state concurrent systems. In: Workshop automatic verification methods for finite-state systems, vol 407, pp 197–212 Google Scholar
  21. Fersman E, Yi W (2004) A generic approach to schedulability analysis of real time tasks. Nord J Comput 11(2):129–147 MATHMathSciNetGoogle Scholar
  22. Fersman E, Petterson P, Yi W (2002) Timed automata with asynchronous processes: schedulability and decidability. In: 8th international conference on tools and algorithms for the construction and analysis of systems, TACAS’02, Grenoble. Lecture notes in computer science, vol 2280. Springer, New York, pp 67–82 CrossRefGoogle Scholar
  23. Fersman E, Mokrushin L, Pettersson P, Yi W (2003) Schedulability analysis using two clocks. In: Garavel H, Hatcliff J (eds) 9th international conference on tools and algorithms for the construction and analysis of systems, TACAS 2003. Lecture notes in computer science, vol 2619. Springer, New York, pp 224–239 Google Scholar
  24. Fersman E, Mokrushin L, Pettersson P, Yi W (2006) Schedulability analysis of fixed-priority systems using timed automata. Theor Comput Sci 354:301–317 MATHCrossRefMathSciNetGoogle Scholar
  25. Gardey G, Lime D, Magnin M, Roux OH (2005) Roméo: a tool for analyzing time Petri nets. In: Etessami K, Rajamani SK (eds) 17th international conference on computer aided verification, CAV 2005, Edinburgh. Lecture notes in computer science, vol 3576. Springer, New York, pp 418–423 Google Scholar
  26. Gardey G, Roux OH, Roux OF (2006) State space computation and analysis of time Petri nets. Theory Pract Log Program (TPLP) 6(3):301–320. Special issue on specification analysis and verification of reactive systems MATHCrossRefMathSciNetGoogle Scholar
  27. Harbour MG, Klein MH, Lehoczky JP (1991) Fixed priority scheduling of periodic tasks with varying execution priority. In: 12th IEEE real-time systems symposium, RTSS’91, San Antonio. IEEE Computer Society Press, Washington, pp 116–128 Google Scholar
  28. Henzinger TA, Nicollin X, Sifakis J, Yovine S (1994) Symbolic model-checking for real-time systems. Inf Comput 111(2):193–244 MATHCrossRefMathSciNetGoogle Scholar
  29. Henzinger TA, Ho P-H, Wong-Toi H (1997) Hytech: a model-checker for hybrid systems. J Softw Tools Technol Transf 1(1–2):110–122 MATHCrossRefGoogle Scholar
  30. Hladik P-E, Déplanche A-M (2003). Analyse d’ordonnançabilité de tâches temps-réel avec offset et gigue. In: 11th international conference on real-time systems, RTS’03, Paris, France Google Scholar
  31. Larsen KG, Pettersson P, Yi W (1995). Model-checking for real-time systems. In: Fundamentals of computation theory, pp 62–88 Google Scholar
  32. Lime D, Roux OH (2003) Expressiveness and analysis of scheduling extended time Petri nets. In: 5th IFAC international conference on fieldbus systems and their applications, FET 2003, Aveiro. Elsevier, Amsterdam Google Scholar
  33. Lime D, Roux OH (2004) A translation-based method for the timed analysis of scheduling extended time Petri nets. In: 25th IEEE real-time systems symposium, RTSS 2004, Lisbon. IEEE Computer Society Press, Washington, pp 187–196 CrossRefGoogle Scholar
  34. Lime D, Roux OH (2006a) Model-checking of time Petri nets using the state class timed automaton. J Discrete Event Dyn Syst (jDEDS) 16(2):179–205 MATHCrossRefMathSciNetGoogle Scholar
  35. Lime D, Roux OH (2006b) Vérification formelle des systèmes temps réel avec ordonnancement préemptif. Tech Sci Inf (TSI) 25(3):347–375 Google Scholar
  36. Liu C, Layland JW (1973) Scheduling algorithms for multiprogramming in a hard real-time environment. J ACM 20(1):44–61 CrossRefMathSciNetGoogle Scholar
  37. Magnin M, Lime D, Roux OH (2005) An efficient method for computing the exact state-space of petri nets with stopwatches. In: 3rd international workshop on software model-checking, SoftMC 2005, Edinburgh, Scotland, UK. Electronic Notes in Theoretical Computer Science, vol 144. Elsevier, Amsterdam, pp 59–77 Google Scholar
  38. McManis J, Varaiya P (1994) Suspension automata: a decidable class of hybrid automata. In: Dill DL (ed) 6th international conference on computer aided verification, CAV’94, Stanford, CA, USA. Lecture notes in computer science, vol 818. Springer, New York, pp 105–117 Google Scholar
  39. Merlin PM (1974). A study of the recoverability of computing systems. PhD thesis, Dep of Information and Computer Science, University of California, Irvine, CA Google Scholar
  40. Okawa Y, Yoneda T (1996) Schedulability verification of real-time systems with extended time Petri nets. Int J Mini Microcomput 18(3):148–156 Google Scholar
  41. OSEK Group (2001). OSEK/VDX specification. http://www.osek-vdx.org
  42. Palencia JC, Harbour MG (1998) Schedulability analysis for tasks with static and dynamic offsets. In: 19th IEEE real-time systems symposium, RTSS’98, Madrid, Spain. IEEE Computer Society Press, Washington, pp 26–37 CrossRefGoogle Scholar
  43. Palencia JC, Harbour MG (1999) Exploiting precedence relations in the scheduling analysis of distributed real-time systems. In: 20th IEEE real-time systems symposium, RTSS’99, Phoenix, USA. IEEE Computer Society Press, Washington, pp 328–339 Google Scholar
  44. Roux OH, Déplanche A-M (2002) A t-time Petri net extension for real time-task scheduling modeling. Eur J Autom (JESA) 36(7):973–987 Google Scholar
  45. Roux OH, Lime D (2004) Time Petri nets with inhibitor hyperarcs. Formal semantics and state space computation. In: Cortadella J, Reisig W (eds) The 25th international conference on application and theory of Petri nets, ICATPN 2004, Bologna, Italy. Lecture notes in computer science, vol 3099. Springer, New York, pp 371–390 Google Scholar
  46. Tindell K (1994). Fixed priority scheduling of hard real-time systems. PhD thesis, Department of Computer Science, University of New York Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2008

Authors and Affiliations

  1. 1.IRCCyN (Institut de Recherche en Communication et Cybernétique de Nantes)Nantes cedex 3France

Personalised recommendations