Formal Aspects of Computing

, Volume 26, Issue 3, pp 563–589 | Cite as

Reasoning about goal-directed real-time teleo-reactive programs

  • Brijesh Dongol
  • Ian J. Hayes
  • Peter J. Robinson
Original Article

Abstract

The teleo-reactive programming model is a high-level approach to developing real-time systems that supports hierarchical composition and durative actions. The model is different from frameworks such as action systems, timed automata and TLA+, and allows programs to be more compact and descriptive of their intended behaviour. Teleo-reactive programs are particularly useful for implementing controllers for autonomous agents that must react robustly to their dynamically changing environments. In this paper, we develop a real-time logic that is based on Duration Calculus and use this logic to formalise the semantics of teleo-reactive programs. We develop rely/guarantee rules that facilitate reasoning about a program and its environment in a compositional manner. We present several theorems for simplifying proofs of teleo-reactive programs and present a partially mechanised method for proving progress properties of goal-directed agents.

Keywords

Teleo-reactive programming Goal-directed agents Rely/guarantee reasoning Real-time programs Reactive systems Interval-based logics 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. BB06.
    Burns A, Baxter G (2006) Time bands in systems structure, chap 4. In: Besnard D, Gacek C, Jones CB (eds) Structure for dependability: computer-based systems from an interdisciplinary perspective. Springer, London, pp 74–88Google Scholar
  2. BH10.
    Burns A., Hayes IJ. (2010) A timeband framework for modelling real-time systems. Real Time Syst 45(1): 106–142CrossRefMATHGoogle Scholar
  3. BPP00.
    Back R-JR, Petre L, Porres I (2000) Generalizing action systems to hybrid systems. In: Joseph M (ed) FTRTFT. LNCS, vol 1926. Springer, Berlin, pp 202–213Google Scholar
  4. CRH93.
    Chaochen Z, Ravn AP, Hansen MR (1993) An extended duration calculus for hybrid real-time systems. In: Grossman et al. [GNRR93], pp 36–59Google Scholar
  5. DH12a.
    Dongol B, Hayes IJ (2012) Approximating idealised real-time specifications using time bands. ECEASST 46:1–16 (11th international workshop on automated verification of critical systems)Google Scholar
  6. DH12b.
    Dongol B, Hayes IJ (2012) Deriving real-time action systems controllers from multiscale system specifications. In: Gibbons, J, Nogueira P (eds) MPC. Lecture notes in computer science, vol 7342. Springer, Berlin, pp 102–131Google Scholar
  7. DH12c.
    Dongol B, Hayes IJ (2012) Rely/guarantee reasoning for teleo-reactive programs over multiple time bands. In: Derrick J, Gnesi S, Latella D, Treharne H (eds) IFM. Lecture notes in computer science, vol 7321. Springer, Berlin, pp 39–53Google Scholar
  8. Eme90.
    Emerson EA (1990) Temporal and modal logic. In: van Leeuwen J (ed) Handbook of theoretical computer science, vol B. Elsevier Science Publishers, Amsterdam, pp 996–1072Google Scholar
  9. FSSC08.
    Fritsch S, Senart A, Schmidt DC, Clarke S (2008) Time-bounded adaptation for automotive system software. In: ICSE ’08: proceedings of the 30th international conference on software engineering, New York, NY, USA. ACM, New York, pp 571–580Google Scholar
  10. GM01.
    Gargantini A., Morzenti A. (2001) Automated deductive requirements analysis of critical systems. ACM Trans Softw Eng Methodol 10: 255–307CrossRefGoogle Scholar
  11. GNRR93.
    Grossman RL, Nerode A, Ravn AP, Rischel H (eds) (1993) Hybrid systems. LNCS, vol 736. Springer, BerlinGoogle Scholar
  12. GSWW08.
    Gubisch G, Steinbauer G, Weiglhofer M, Wotawa F (2008) A teleo-reactive architecture for fast, reactive and robust control of mobile robots. In: IEA/AIE ’08: proceedings of the 21st international conference on industrial, engineering and other applications of applied intelligent systems. Springer, Berlin, pp 541–550Google Scholar
  13. HA10.
    Hawthorne J, Anthony R (2010) Using a teleo-reactive programming style to develop self-healing applications. In: ACCS. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, vol 23. Springer, Berlin, pp 114–129Google Scholar
  14. Hay08.
    Hayes IJ (2008) Towards reasoning about teleo-reactive programs for robust real-time systems. In: SERENE ’08: proceedings of the 2008 RISE/EFTS joint international workshop on software engineering for resilient systems, New York, NY, USA. ACM, New York, pp 87–94Google Scholar
  15. HBDJ11.
    Hayes IJ, Burns A, Dongol B, Jones C (2011) Comparing models of nondeterministic expression evaluation. Technical Report CS-TR-1273, Newcastle UniversityGoogle Scholar
  16. Hen96.
    Henzinger TA (1996) The theory of hybrid automata. In: LICS’96, Washington, DC, USA. IEEE Computer Society, New York, pp 278–292Google Scholar
  17. Hoa69.
    Hoare CAR (1969) An axiomatic basis for computer programming. Commun ACM 12(10):576–580Google Scholar
  18. Jon83.
    Jones CB. (1983) Tentative steps toward a development method for interfering programs. ACM Trans Program Lang Syst 5(4): 596–619CrossRefMATHGoogle Scholar
  19. Lam93.
    Lamport L (1993) Hybrid systems in TLA+. In Grossman et al. [GNRR93], pp 77–102Google Scholar
  20. Lam02.
    Lamport L (2002) Specifying systems: the TLA+ language and tools for hardware and software engineers. Addison-Wesley Longman Publishing Co., Inc., BostonGoogle Scholar
  21. LL95.
    Lewerentz C, Lindner T (eds) (1995) Formal development of reactive systems—case study production cell. LNCS, vol 891. Springer, BerlinGoogle Scholar
  22. LSV03.
    Lynch N., Segala R., Vaandraager F. (2003) Hybrid I/O automata. Inf Comput 185(1): 105–157CrossRefMATHGoogle Scholar
  23. MH06.
    Meinicke L, Hayes IJ (2006) Continuous action system refinement. In: Uustalu T (ed) MPC. LNCS, vol 4014. Springer, Berlin, pp 316–337Google Scholar
  24. Mos97.
    Moszkowski BC (1997) Compositional reasoning using interval temporal logic and Tempura. In: de Roever WP, Langmaack H, Pnueli A (eds) COMPOS. Lecture notes in computer science, vol 1536. Springer, Berlin, pp 439–464Google Scholar
  25. MP92.
    Manna Z, Pnueli A (1992) Temporal verification of reactive and concurrent systems: specification. Springer-Verlag New York, Inc., New YorkGoogle Scholar
  26. Nil01.
    Nilsson NJ. (2001) Teleo-reactive programs and the triple-tower architecture. Electron Trans Artif Intell 5: 99–110Google Scholar
  27. NOS+09.
    Nafz F, Ortmeier F, Seebach H, Steghöfer JP, Reif W (2009) A universal self-organization mechanism for role-based organic computing systems. In: Reif W, Wang G, Indulska J (eds) ATC. LNCS, vol 5586. Springer, Berlin, pp 17–31Google Scholar
  28. RRS03.
    Rönkkö M., Ravn AP., Sere K. (2003) Hybrid action systems. Theor Comput Sci 290: 937–973CrossRefMATHGoogle Scholar
  29. TMD10.
    Twidle KP, Marinovic S, Dulay N (2010) Teleo-reactive policies in Ponder2. In: POLICY. IEEE Computer Society, New York, pp 57–60Google Scholar
  30. ZH04.
    Zhou C., Hansen MR. (2004) Duration calculus: a formal approach to real-time systems EATCS: monographs in theoretical computer science. Springer, BerlinGoogle Scholar

Copyright information

© British Computer Society 2013

Authors and Affiliations

  • Brijesh Dongol
    • 1
    • 2
  • Ian J. Hayes
    • 2
  • Peter J. Robinson
    • 2
  1. 1.Department of Computer ScienceThe University of SheffieldSheffieldUK
  2. 2.School of Information Technology and Electrical EngineeringThe University of QueenslandBrisbaneAustralia

Personalised recommendations