Hostname: page-component-cd9895bd7-q99xh Total loading time: 0 Render date: 2024-12-26T08:36:04.305Z Has data issue: false hasContentIssue false

Axiomatic semantics of projection temporal logic programs

Published online by Cambridge University Press:  27 October 2010

XIAOXIAO YANG
Affiliation:
Institute of Computing Theory and Technology, and ISN Laboratory, Xidian University, Xi'an, 710071China and Laboratory for Computer Science, Institute of Software, Chinese Academy of Sciences, P.O. Box 8718, Beijing 100080China Email: xxyang@ios.ac.cn
ZHENHUA DUAN
Affiliation:
Institute of Computing Theory and Technology, and ISN Laboratory, Xidian University, Xi'an, 710071China Email: zhhduan@mail.xidian.edu.cn
QIAN MA
Affiliation:
Institute of Computing Theory and Technology, and ISN Laboratory, Xidian University, Xi'an, 710071China Email: qma@mail.xidian.edu.cn

Abstract

In this paper, we investigate the axiomatic semantics of the projection temporal logic programming language MSVL. To this end, we employ Propositional Projection Temporal Logic (PPTL) as an assertion language to specify the desired properties. We give a set of state axioms and state inference rules. In order to deduce a program over an interval, we also formalise a set of rules in terms of a Hoare logic-like triple. These rules enable us to deduce a program into its normal form and from the current state to the next one. They also enable us to verify properties over intervals. In this way, an axiom system for proving the correctness of MSVL programs is established. The axiom system is proved to be sound and relatively complete with respect to an operational model of MSVL, and give an example showing how the axiom system works. Finally, we employ a recently developed prototype verifier based on PVS as an example of semi-automatic verification using MSVL.

Type
Paper
Copyright
Copyright © Cambridge University Press 2010

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

Abadi, M. and Manna, Z. (1989) Temporal Logic Programming. Journal of Symbolic Computation 8 277295.CrossRefGoogle Scholar
Biere, A., Cimati, A., Clark, E. M., Strichman, O. and Zhu, Y. S. (2003) Bounded Model Checking. Advances in Computers 58.CrossRefGoogle Scholar
Brzoska, C. (1993) Temporal Logic Programming with Bounded Universal Modality Goal. Proceedings of the Tenth International Conference on Logic Programming, MIT Press 239256.Google Scholar
Brzoska, C. (1998) Programming in Metric Temporal Logic. Theoretical Computer Science 202 (1–2)55125.CrossRefGoogle Scholar
Clarke, E. M., Grumberg, O. and Peled, D. (1999) Model Checking, MIT Press.Google Scholar
Cook, S. A. (1978) Soundness and Completeness of An Axiom System for Program Verification. SIAM Journal on Computing 7 7090.CrossRefGoogle Scholar
Duan, Z. (1996) An Extended Interval Temporal Logic and A Framing Technique for Temporal Logic Programming, Ph. D. Thesis, University of Newcastle upon Tyne. (Technical Report No. 556.)Google Scholar
Duan, Z. and Koutny, M. (2004) A Framed Temporal Logic Programming Language. Journal of Computer Science and Technology 19 341351.CrossRefGoogle Scholar
Duan, Z., Koutny, M. and Holt, C. (1994) Projection in temporal logic programming. Proceedings of Logic Programming and Automatic Reasoning. Springer-Verlag Lecture Notes in Artificial Intelligence 822 333344.Google Scholar
Duan, Z., Tian, C. and Zhang, L. (2008a) A Decision Procedure for Propositional Projection Temporal Logic with Infinite Models. Acta Informatica 45 (1)4378.CrossRefGoogle Scholar
Duan, Z., Yang, X. and Koutny, M. (2008b) Framed Temporal Logic Programming. Science of Computer Programming 70 (1)3161.CrossRefGoogle Scholar
Fujita, M., Kono, S., Tanaka, H. and Moto-oka, T. (1986) Tokio: Logic programming language based on temporal logic and its compilation to PROLOG. In: Third International Conference on Logic Programming. Springer-Verlag Lecture Notes in Computer Science 225 695709.CrossRefGoogle Scholar
Gabbay, D. M. (1987) Modal and Temporal Logic Programming. Temporal Logics and Their Applications, Academic Press 197237.Google Scholar
Hale, R. (1987) Temporal Logic Programming. Temporal Logics and Their Applications, Academic Press 91119.Google Scholar
Hansen, M. R. and Zhao, C. (1997) Duration Calculus: Logical Foundations. Formal Aspects of Computing 9 283330.CrossRefGoogle Scholar
Hoare, C. A. R. (1969) An axiomatic basis for computer programming. Communications of ACM 12 (10)576583.CrossRefGoogle Scholar
Hrycej, T. (1988) Temporal Prolog. In: Kodratoff, Y. (ed.) Proceedings of the European Conference on Artificial Intelligence (ECAI-88), Pitman Publishing 296301.Google Scholar
Hrycej, T. (1993) A Temporal Extension of Prolog. The Journal of Logic Programming 15 113145.CrossRefGoogle Scholar
Jones, C. B. (1981) Development Mehods for Computer Programs including a Notion of Interference, Ph. D. thesis, Oxford University.Google Scholar
Lamport, L. (1994) The temporal logic of actions. ACM Transactions on Programming Languages and Systems 16 (3)872923.CrossRefGoogle Scholar
Ma, Q., Duan, Z. and Yang, X. (2010) Case Study of MSVL Axiom System. Technical Report available at http://lcs.ios.ac.cn/~xzx/case.pdf.Google Scholar
Manna, Z. and Pnueli, A. (1992) Temporal Logic of Reactive and Concurrent Systems, Springer-Verlag.CrossRefGoogle Scholar
Misra, J. and Chandy, K. M. (1981) Proofs of Networks of Processes. IEEE Transactions on Software Engineering 7 417426.CrossRefGoogle Scholar
Moszkowski, B. C. (1986) Executing temporal logic programs, Cambridge University Press.Google Scholar
Orgun, M. A. and Wadge, W. W. (1988) Chronolog: A Temporal Logic Programming Language and Its Formal Semantics, Department of Computer Science, University of Victoria, B.C., Canada.Google Scholar
Orgun, M. A. and Wadge, W. W. (1992) A Theory and Practice of Temporal Logic Programming. Intensional Logics for Programming, Oxford University Press 2350.CrossRefGoogle Scholar
Owicki, S. (1975) Axiomatic Proof Techniques for Parallel Programs, Ph. D. thesis, Department of Computer Science, Cornell University.Google Scholar
Owicki, S. and Gries, D. (1976) An Axiomatic Proof Technique for Parallel Programs I. Acta Informatica 6 319340.CrossRefGoogle Scholar
Owre, S., Shankar, N., Rushby, J. M. and Stringer-Calvert, D. W. J. (1999) PVS Language Reference, Computer Science Laboratory, SRI International, Menlo Park, CA.Google Scholar
Pnueli, A. (1977) The temporal semantics of concurrent programs, Tel-Aviv University.Google Scholar
de Roever, W. P. (1985) The Quest for Compositionality. Proceedings of IFIP Working Conference on the Role of Abstract Models in Computer Science, North-Holland.Google Scholar
Rondogiannis, R., Gergatsoulis, M. and Panayiotopoulos, T. (1997) Cactus: A Branching Time Logic Programming Language. Proceedings of the 1st International Joint Conference Qualitative and Quantitative Practical Reasoning. Springer-Verlag Lecture Notes in Artificial Intelligence 1244 511524.Google Scholar
Rondogiannis, R., Gergatsoulis, M. and Panayiotopoulos, T. (1998) Branching Time Logic Programming: The Language Cactus and Its Application. Computer Languages 24 (3)155178.CrossRefGoogle Scholar
Shankar, N., Owre, S., Rushby, J. M. and Stringer-Calvert, D. W. J. (1999) PVS Prover Guide, Computer Science Laboratory, SRI International, Menlo Park, CA.Google Scholar
Tang, C. S. (1983) Toward a unified logic basis for programming languages. Proceedings of IFIP Congress 83, Elsevier Science Publishers 425429.Google Scholar
Tian, C. and Duan, Z. (2008) Propositional Projection Temporal Logic, Bchi Automata and omega-Regular Expressions. In: Proceedings TAMC2008. Springer-Verlag Lecture Notes in Computer Science 4978 4758.CrossRefGoogle Scholar
Wadge, W. W. (1988) Tense Logic Programming. A Respectable Alternative. In: Proceedings of the 1988 International Symposium on Lucid and Intensional Programming, Sidney, B.C., Canada 26–32.Google Scholar
Wolper, P. L. (1983) Temporal logic can be more expressive. Information and Control 56 7299.CrossRefGoogle Scholar
Xu, Q., de Roever, W. P. and He, J. (1997) The Rely-Gurarantee Method for Verifying Shared Variable Concurrent Programs. Formal Aspects of Computing 9 (2)149174.CrossRefGoogle Scholar
Yang, X. and Duan, Z. (2008) Operational Semantics of Framed Tempura. Journal of Logic and Algebraic Programming 78 (1)2251.CrossRefGoogle Scholar