Advertisement

Compositional reasoning using intervals and time reversal

  • Ben Moszkowski
Article

Abstract

Interval Temporal Logic (ITL) is an established formalism for reasoning about time periods. We investigate some simple kinds of ITL formulas which have application to compositional reasoning and furthermore are closed under conjunction and the conventional temporal operator known both as “box” and “always”. Such closures help us modularly construct formulas from simple building blocks in a way which preserves useful compositional properties. The most important class considered here is called the 2-to-1 formulas. They offer an attractive framework for analysing sequential composition in ITL and provide the formal basis for most of the subsequent presentation. A key contribution of this work concerns a useful and apparently new and quite elementary mathematical theorem that 2-to-1 formulas are closed under “box”. We also use a natural form of time symmetry with 2-to-1 formulas. This extends known facts about such formulas by looking at them in reverse. An important example involves showing that 2-to-1 formulas are also closed under a variant of “box” for prefix subintervals rather than suffix ones. We then apply the compositional formulas obtained with time symmetry to analyse concurrent behaviour involving mutual exclusion in both Peterson’s algorithm and a new and more abstract one. At present, our study of mutual exclusion mainly serves as a kind of experimental “proof of concept” and research tool to develop and illustrate some of the logical framework’s promising features. We also discuss how time symmetry sometimes assists in reducing reasoning in ITL to conventional linear-time temporal logic.

Keywords

Interval Temporal Logic Compositional reasoning Formal verification Time reversal Symmetry Mutual exclusion Peterson’s algorithm 

Mathematics Subject Classifications (2010)

03B44 03B70 68Q55 68Q60 68Q85 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Aceto, L., Ingólfsdóttir, A., Larsen, K.G., Srba, J.: Reactive Systems: Modelling, Specification and Verification. Cambridge University Press (2007)Google Scholar
  2. 2.
    Balser, M., Bäumler, S., Knapp, A., Reif, W., Thums, A.: Interactive verification of UML state machines. In: Davies, J., Schulte, W., Barnett, M. (eds.) Proc. 6th International Conference on Formal Engineering Methods (ICFEM 2004). LNCS, vol. 3308, pp. 434–448. Springer (2004)Google Scholar
  3. 3.
    Barringer, H., Kuiper, R.: Hierarchical development of concurrent systems in a temporal logic framework. In: Brookes, S.D., Roscoe, A.W., Winskel, G. (eds.) Seminar on Concurrency. LNCS, vol. 197, pp. 35–61. Springer (1985)Google Scholar
  4. 4.
    Barringer, H., Kuiper, R.: Towards the hierarchical, temporal logic, specification of concurrent systems. In: Denvir, B., Harwood, W., Jackson, M., Wray, M. (eds.) The Analysis of Concurrent Systems. LNCS, vol. 207, pp. 157–183. Springer (1985)Google Scholar
  5. 5.
    Barringer, H., Kuiper, R., Pnueli, A.: A really abstract concurrent model and its temporal logic. In: Proc. 13th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL’86), pp. 173–183. ACM (1986)Google Scholar
  6. 6.
    Bäumler, S., Balser, M., Nafz, F., Reif, W., Schellhorn, G.: Interactive verification of concurrent systems using symbolic execution. AI Commun. 23(2–3), 285–307 (2010)zbMATHMathSciNetGoogle Scholar
  7. 7.
    Bäumler, S., Schellhorn, G., Tofan, B., Reif, W.: Proving linearizability with temporal logic. Form. Asp. Comput. 23(1), 91–112 (2011)CrossRefzbMATHMathSciNetGoogle Scholar
  8. 8.
    Biere, A., Cimatti, A., Clarke, E.M., Strichman, O., Zhu, Y.: Bounded model checking. Adv. Comput. 58, 117–148 (2003)CrossRefGoogle Scholar
  9. 9.
    Bowman, H., Thompson, S.J.: A decision procedure and complete axiomatization of finite Interval Temporal Logic with projection. J. Log. Comput. 13(2), 195–239 (2003)CrossRefzbMATHMathSciNetGoogle Scholar
  10. 10.
    Collette, P.: Composition of assumption-commitment specifications in a UNITY style. Sci. Comput. Program. 23(2–3), 107–125 (1994)CrossRefzbMATHMathSciNetGoogle Scholar
  11. 11.
    Dijkstra, E.W.: Cooperating sequential processes. In: Genuys, F. (ed.) Programming Languages: NATO Advanced Study Institute, pp. 43–112. Academic Press (1968)Google Scholar
  12. 12.
    Duan, Z.: An extended Interval Temporal Logic and a framing technique for temporal logic programming. Ph.D. thesis, Dept. of Computing Science, University of Newcastle Upon Tyne (1996). Technical report 556, later published as [13]Google Scholar
  13. 13.
    Duan, Z.: Temporal Logic and Temporal Logic Programming. Science Press, Beijing, China (2005). Published version of [12]Google Scholar
  14. 14.
    Duan, Z., Koutny, M.: A framed temporal logic programming language. J. Comput. Sci. Technol. 19(3), 341–351 (2004)CrossRefMathSciNetGoogle Scholar
  15. 15.
    Duan, Z., Koutny, M., Holt, C.: Projection in temporal logic programming. In: Pfenning, F. (ed.) Proc. of Logic Programming and Automated Reasoning (LPAR ’94). LNCS, vol. 822, pp. 333–344. Springer, Berlin (1994)CrossRefGoogle Scholar
  16. 16.
    Duan, Z., Yang, X., Koutny, M.: Framed temporal logic programming. Sci. Comput. Program. 70(1), 31–61 (2008)CrossRefzbMATHMathSciNetGoogle Scholar
  17. 17.
    Duan, Z., Zhang, N., Koutny, M.: A complete axiomatization of propositional projection temporal logic. Theor. Comput. Sci. (2012). doi: 10.1016/j.tcs.2012.01.026 Google Scholar
  18. 18.
    Fisher, M.: An Introduction to Practical Formal Methods Using Temporal Logic. Wiley (2011)Google Scholar
  19. 19.
    Floyd, R.W.: Assigning meanings to programs. In: Schwartz, J.T. (ed.) Proc. AMS Symp. on Applied Mathematics, vol. 19, pp. 19–32. American Mathematical Society, Providence, Rhode Island (1967)Google Scholar
  20. 20.
    Furia, C.A., Spoletini, P.: Tomorrow and all our yesterdays: MTL satisfiability over the integers. In: Fitzgerald, J.S., Haxthausen, A.E., Yenigün, H. (eds.) 5th International Colloquium on Theoretical Aspects of Computing (ICTAC 2008). LNCS, vol. 5160, pp. 126–140. Springer (2008)Google Scholar
  21. 21.
    Gómez, R., Bowman, H.: PITL2MONA: implementing a decision procedure for propositional interval temporal logic. J. Applied Non-Classical Logics 14(1–2), 105–148 (2004). Special issue on Interval Temporal Logics and Duration Calculi. V. Goranko and A. Montanari, guest editorsCrossRefzbMATHGoogle Scholar
  22. 22.
    Hale, R.: Temporal logic programming. In: Galton, A. (ed.) Temporal Logics and Their Applications, pp. 91–119. Academic Press, London (1987)Google Scholar
  23. 23.
    Hale, R.W.S.: Programming in temporal logic. Ph.D. thesis, Computer Laboratory, Cambridge University, Cambridge, England (1988). Appeared in 1989 as Technical report 173Google Scholar
  24. 24.
    Hansen, M.R., Zhou, C.: Duration calculus: logical foundations. Form. Asp. Comput. 9(3), 283–330 (1997)CrossRefzbMATHGoogle Scholar
  25. 25.
    Harel, D., Kozen, D., Parikh, R.: Process logic: expressiveness, decidability, completeness. J. Comput. Syst. Sci. 25(2), 144–170 (1982)CrossRefzbMATHMathSciNetGoogle Scholar
  26. 26.
    Harel, D., Kozen, D., Tiuryn, J.: Dynamic Logic. MIT Press, Cambridge, MA (2000)zbMATHGoogle Scholar
  27. 27.
    Harel, D., Kozen, D., Tiuryn, J.: Dynamic logic, 2nd edn. In: Gabbay, D., Guenthner, F. (eds.) Handbook of Philosophical Logic, vol. 4, pp. 99–217. Kluwer Academic Publishers, Dordrecht (2002)Google Scholar
  28. 28.
    Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming. Morgan Kaufmann Publishers Inc., San Francisco, CA (2008)Google Scholar
  29. 29.
    Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM 12(10), 576–580,583 (1969)Google Scholar
  30. 30.
    Holzmann, G.: The SPIN Model Checker: Primer and Reference Manual. Addison-Wesley Professional (2003)Google Scholar
  31. 31.
    Interval Temporal Logic web pages. http://www.tech.dmu.ac.uk/STRL/ITL/. Accessed 24 April 2013
  32. 32.
    Janicke, H., Cau, A., Siewe, F., Zedan, H., Jones, K.: A compositional event & time-based policy model. In: Proceedings of POLICY2006, pp. 173–182. IEEE Computer Society Press, London, ON (2006)Google Scholar
  33. 33.
    Jones, C.B.: Specification and design of (parallel) programs. In: Mason, R.E.A. (ed.) Proc. IFIP Congress ’83, pp. 321–332. North Holland Publishing Co., Amsterdam (1983)Google Scholar
  34. 34.
    Jones, C.B.: Tentative steps toward a development method for interfering programs. ACM Trans. Program. Lang. Syst. 5(4), 596–619 (1983)CrossRefzbMATHGoogle Scholar
  35. 35.
    Koymans, R., Vytopil, J., de Roever, W.P.: Real-time programming and asynchronous message passing. In: Proceedings of the 2nd Annual ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing (PODC’83), pp. 187–197 (1983)Google Scholar
  36. 36.
    Kröger, F., Merz, S.: Temporal Logic and State Systems. Texts in Theoretical Computer Science (An EATCS Series). Springer (2008)Google Scholar
  37. 37.
    Lamport, L.: Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Addison-Wesley Professional (2002)Google Scholar
  38. 38.
    Leucker, M., Sánchez, C.: Regular Linear Temporal Logic. In: Jones, C.B., Liu, Z., Woodcock, J. (eds.) Proc. 4th International Colloquium on Theoretical Aspects of Computing (ICTAC’07). LNCS, vol. 4711, pp. 291–305. Springer, Macau (2007)Google Scholar
  39. 39.
    Lichtenstein, O., Pnueli, A.: Propositional temporal logics: decidability and completeness. Logic J. IGPL 8(1), 55–85 (2000)CrossRefzbMATHMathSciNetGoogle Scholar
  40. 40.
    Lichtenstein, O., Pnueli, A., Zuck, L.: The glory of the past. In: Parikh, R., et al. (eds.) Logics of Programs. LNCS, vol. 193, pp. 196–218. Springer, Berlin (1985)CrossRefGoogle Scholar
  41. 41.
    Manna, Z., Pnueli, A.: The anchored version of the temporal framework. In: Bakker, J.W.D., de Roever, W.P., Rozenberg, G. (eds.) Linear Time, Branching Time, and Partial Order in Logics and Models for Concurrency (REX Workshop 1988). LNCS, vol. 354, pp. 201–284. Springer (1989)Google Scholar
  42. 42.
    McCarthy, J., Hayes, P.J.: Some philosophical problems from the standpoint of artificial intelligence. In: Michie, D., Meltzer, B. (eds.) Machine Intelligence, vol. 4, pp. 463–502. Edinburgh University Press, Edinburgh (1969). Reprinted in [Webber, L., Nilsson, N.J. (eds.) Readings in Artificial Intelligence, pp. 431–450. Tioga Publishing Co., Palo Alto, California (1981)]Google Scholar
  43. 43.
    Mo, D., Wang, X., Duan, Z.: Asynchronous communication in MSVL. In: Qin, S., Qiu, Z. (eds.) 13th Int’l Conf. on Formal Engineering Methods (ICFEM 2011). LNCS, vol. 6991, pp. 82–97. Springer (2011)Google Scholar
  44. 44.
    Moszkowski, B.: Reasoning about digital circuits. Ph.D. thesis, Department of Computer Science, Stanford University (1983). Technical report STAN–CS–83–970Google Scholar
  45. 45.
    Moszkowski, B.: A temporal logic for multilevel reasoning about hardware. Computer 18, 10–19 (1985)CrossRefGoogle Scholar
  46. 46.
    Moszkowski, B.: Executing Temporal Logic Programs. Cambridge University Press, Cambridge (1986)Google Scholar
  47. 47.
    Moszkowski, B.: Some very compositional temporal properties. In: Olderog, E.R. (ed.) IFIP Transactions Programming Concepts, Methods and Calculi (PROCOMET’94), vol. A-56, pp. 307–326. IFIP, Elsevier Science B.V. North–Holland (1994)Google Scholar
  48. 48.
    Moszkowski, B.: Compositional reasoning about projected and infinite time. In: Proc. 1st IEEE Int’l Conf. on Engineering of Complex Computer Systems (ICECCS’95), pp. 238–245. IEEE Computer Society Press (1995)Google Scholar
  49. 49.
    Moszkowski, B.: Using temporal fixpoints to compositionally reason about liveness. In: He, J., Cooke, J., Wallis, P. (eds.) BCS-FACS 7th Refinement Workshop, Electronic Workshops in Computing. BCS-FACS, Springer and British Computer Society, London (1996)Google Scholar
  50. 50.
    Moszkowski, B.: Compositional reasoning using Interval Temporal Logic and Tempura. In: de Roever, W.P., Langmaack, H., Pnueli, A. (eds.) Compositionality: The Significant Difference. LNCS, vol. 1536, pp. 439–464. Springer, Berlin (1998)Google Scholar
  51. 51.
    Moszkowski, B.: An automata-theoretic completeness proof for Interval Temporal Logic (extended abstract). In: Montanari, U., Rolim, J., Welzl, E. (eds.) Proc. 27th Int’l. Colloquium on Automata, Languages and Programming (ICALP 2000). LNCS, vol. 1853, pp. 223–234. Springer, Geneva (2000)CrossRefGoogle Scholar
  52. 52.
    Moszkowski, B.: A complete axiomatization of Interval Temporal Logic with infinite time (extended abstract). In: Proc. 15th Ann. IEEE Symp. on Logic in Computer Science (LICS 2000), pp. 242–251. IEEE Computer Society Press (2000)Google Scholar
  53. 53.
    Moszkowski, B.: A hierarchical completeness proof for Propositional Interval Temporal Logic with finite time. J. Applied Non-Classical Logics 14(1–2), 55–104 (2004). Special issue on Interval Temporal Logics and Duration Calculi. V. Goranko and A. Montanari, guest editorsCrossRefzbMATHGoogle Scholar
  54. 54.
    Moszkowski, B.: Using temporal logic to analyse temporal logic: a hierarchical approach based on intervals. J. Log. Comput. 17(2), 333–409 (2007)CrossRefzbMATHMathSciNetGoogle Scholar
  55. 55.
    Moszkowski, B.: Compositional reasoning using intervals and time reversal. In: 18th Int’l Symp. on Temporal Representation and Reasoning (TIME 2011), pp. 107–114. IEEE Computer Society (2011)Google Scholar
  56. 56.
    Moszkowski, B.: A complete axiom system for propositional Interval Temporal Logic with infinite time. Log. Meth. Comp. Sci. 8(3:10), 1–56 (2012)MathSciNetGoogle Scholar
  57. 57.
    Moszkowski, B.: Interconnections between classes of sequentially compositional temporal formulas. Inf. Process. Lett. 113, 350–353 (2013)CrossRefzbMATHMathSciNetGoogle Scholar
  58. 58.
    Olderog, E.R., Dierks, H.: Real-Time Systems: Formal Specification and Automatic Verification. Cambridge University Press, Cambridge (2008)CrossRefGoogle Scholar
  59. 59.
    Owre, S., Shankar, N.: A brief overview of PVS. In: Mohamed, O.A., Muñoz, C., Tahar, S. (eds.) 21st International Conference on Theorem Proving in Higher Order Logics (TPHOLs 2008). LNCS, vol. 5170, pp. 22–27. Springer (2008)Google Scholar
  60. 60.
    Paech, B.: Gentzen-systems for propositional temporal logics. In: Börger, E., Büning, H.K., Richter, M.M. (eds.) Proceedings of the 2nd Workshop on Computer Science Logic (CSL’88). LNCS, vol. 385, pp. 240–253. Springer (1989)Google Scholar
  61. 61.
    Parikh, R., Chandra, A.K., Halpern, J.Y., Meyer, A.R.: Equations between regular terms and an application to process logic. SIAM J. Comput. 14(4), 935–942 (1985)CrossRefzbMATHMathSciNetGoogle Scholar
  62. 62.
    Pei, Y., Xu, Q.: Checking interval based properties for reactive systems. In: Steffen, B., Levi, G. (eds.) Verification, Model Checking, and Abstract Interpretation. LNCS, vol. 2937, pp. 51–75. Springer (2004)Google Scholar
  63. 63.
    Peterson, G.L.: Myths about the mutual exclusion problem. Inf. Process. Lett. 12(3), 115–116 (1981)CrossRefzbMATHGoogle Scholar
  64. 64.
    Pnueli, A.: The temporal logic of programs. In: Proc. 18th Ann. IEEE Symp. on the Foundation of Computer Science (FOCS), pp. 46–57. IEEE Computer Society Press (1977)Google Scholar
  65. 65.
    Pnueli, A.: In transition from global to modular temporal reasoning about programs. In: Apt, K.R. (ed.) Logics and Models of Concurrent Systems. NATO ASI Series F, vol. 13, pp. 123–144. Springer (1985)Google Scholar
  66. 66.
    Prior, A.: Past, Present and Future. Oxford University Press, London (1967)CrossRefzbMATHGoogle Scholar
  67. 67.
    Reif, W., Schellhorn, G., Stenzel, K., Balser, M.: Structured specifications and interactive proofs with KIV. In: Bibel, W., Schmitt, P.H. (eds.) Automated Deduction—A Basis for Applications, Volume II: Systems and Implementation Techniques, pp. 13–39. Kluwer Academic Publishers, Dordrecht (1998)CrossRefGoogle Scholar
  68. 68.
    Reynolds, M.: A tableau for until and since over linear time. In: 18th Int’l Symp. on Temporal Representation and Reasoning (TIME 2011), pp. 41–48. IEEE Computer Society (2011)Google Scholar
  69. 69.
    de Roever, W.P., de Boer, F., Hanneman, U., Hooman, J., Lakhnech, Y., Poel, M., Zwiers, J.: Concurrency Verification: Introduction to Compositional and Noncompositional Methods. No. 54 in Cambridge Tracts in Theoretical Computer Science. Cambridge University Press (2001)Google Scholar
  70. 70.
    Sánchez, C., Leucker, M.: Regular Linear Temporal Logic with past. In: 11th Int’l Conf. on Verification, Model Checking, and Abstract Interpretation (VMCAI 2010). LNCS, vol. 5944, pp. 295–311. Springer (2010)Google Scholar
  71. 71.
    Shanahan, M.: Solving the Frame Problem: A Mathematical Investigation of the Common Sense Law of Inertia. MIT Press (1997)Google Scholar
  72. 72.
    Siewe, F., Cau, A., Zedan, H.: A compositional framework for access control policies enforcement. In: Backes, M., Basin, D., Waidner, M. (eds.) ACM Workshop on Formal Methods in Security Engineering (FMSE’03), pp. 32–42. ACM Press, Washington, DC (2003)Google Scholar
  73. 73.
    Stark, E.W.: A proof technique for rely/guarantee properties. In: Proceedings of the 5th Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS 1985). LNCS, vol. 206, pp. 369–391. Springer (1985)Google Scholar
  74. 74.
    Stølen, K.: A method for the development of totally correct shared-state parallel programs. In: CONCUR 1991. LNCS, vol. 527, pp. 510–525. Springer (1991)Google Scholar
  75. 75.
    Taubenfeld, G.: Synchronization Algorithms and Concurrent Programming. Pearson/Prentice Hall (2006)Google Scholar
  76. 76.
    Thomas, W.: Automata on infinite objects. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, vol. B: Formal Models and Semantics, chap. 4, pp. 133–191. Elsevier/MIT Press, Amsterdam (1990)Google Scholar
  77. 77.
    Thums, A., Schellhorn, G., Ortmeier, F., Reif, W.: Interactive verification of Statecharts. In: Ehrig, H., Damm, W., Desel, J., Große-Rhode, M., Reif, W., Schnieder, E., Westkämper, E. (eds.) SoftSpez Final Report. LNCS, vol. 3147, pp. 355–373. Springer (2004)Google Scholar
  78. 78.
    Tofan, B., Bäumler, S., Schellhorn, G., Reif, W.: Temporal logic verification of lock-freedom. In: Proc. MPC 2010. LNCS, vol. 6120, pp. 377–396. Springer (2010)Google Scholar
  79. 79.
    van Emde Boas, P.: The connection between modal logic and algorithmic logic. In: 7th Symposium on Mathematical Foundations of Computer Science (MFCS 1978). LNCS, vol. 64, pp. 1–15. Springer (1978)Google Scholar
  80. 80.
    Webber, L., Nilsson, N.J. (eds.): Readings in Artificial Intelligence. Tioga Publishing Co., Palo Alto, CA (1981)zbMATHGoogle Scholar
  81. 81.
    Yang, X., Duan, Z., Ma, Q.: Axiomatic semantics of projection temporal logic programs. Math. Struct. Comput. Sci. 20(5), 865–914 (2010)CrossRefzbMATHMathSciNetGoogle Scholar
  82. 82.
    Zhang, N., Duan, Z., Tian, C.: A cylinder computation model for many-core parallel computing. Theor. Comput. Sci. (2012). doi: 10.1016/j.tcs.2012.02.011 MathSciNetGoogle Scholar
  83. 83.
    Zhou, C., Hansen, M.R.: Duration Calculus: A Formal Approach to Real-Time Systems. Monographs in Theoretical Computer Science (An EATCS series). Springer (2004)Google Scholar
  84. 84.
    Zhou, C., Hoare, C.A.R., Ravn, A.P.: A calculus of durations. Inf. Process. Lett. 40(5), 269–276 (1991)CrossRefzbMATHMathSciNetGoogle Scholar

Copyright information

© Springer Science+Business Media Dordrecht 2013

Authors and Affiliations

  1. 1.Software Technology Research LaboratoryDe Montfort UniversityLeicesterUK

Personalised recommendations