Skip to main content
Log in

MSVL: a typed language for temporal logic programming

  • Research Article
  • Published:
Frontiers of Computer Science Aims and scope Submit manuscript

Abstract

The development of types is an important but challenging issue in temporal logic programming. In this paper, we investigate how to formalize and implement types in the temporal logic programming language MSVL, which is an executable subset of projection temporal logic (PTL). Specifically, we extendMSVL with a few groups of types including basic data types, pointer types and struct types. On each type, we specify the domain of values and define some standard operations in terms of logic functions and predicates. Then, it is feasible to formalize statements of type declaration of program variables and statements of struct definitions as logic formulas. As the implementation of the theory, we extend theMSV toolkit with the support of modeling, simulation and verification of typedMSVL programs. Applications to the construction of AVL tree and ordered list show the practicality of the language.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Liu S Y, Chen Y T, Nagoya F, McDermid J A. Formal specificationbased inspection for verification of programs. IEEE Transactions on Software Engineering, 2012, 38(5): 1100–1122

    Article  Google Scholar 

  2. Lee S U J, Dobbie G, Sun J, Groves L. Theorem prover approach to semistructured data design. Formal Methods in System Design, 2010, 37(1): 1–60

    Article  MATH  Google Scholar 

  3. Liu Z Y, Pang J, Zhang C Y. Design and formal verification of a CEM protocol with transparent TTP. Frontiers of Computer Science, 2013, 7(2): 279–297

    Article  MathSciNet  Google Scholar 

  4. Ding Z J, Jiang C J, Zhou M C. Design, analysis and verification of real-time systems based on time petri net refinement. ACM Transactions on Embedded Computing Systems, 2013, 12(1): 4

    Article  Google Scholar 

  5. Fisher M. An Introduction to Practical Formal Methods Using Temporal Logic. Chichester: John Wiley & Sons, 2011

    Book  MATH  Google Scholar 

  6. Gherghina C, David C, Qin S, Chin W N. Expressive program verification via structured specifications. International Journal on Software Tools for Technology Transfer, 2014, 16(4): 363–380

    Article  Google Scholar 

  7. Hoare C A R. Communicating sequential processes. Communications of the ACM, 1983, 26(1): 100–106

    Article  Google Scholar 

  8. Milner R. A Calculus of Communicating Systems. Secaucus, NJ: Springer-Verlag New York, Inc., 1982

    MATH  Google Scholar 

  9. Milner R, Parrow J, Walker D. A calculus of mobile processes, i. Information and Computation, 1992, 100(1): 1–40

    Article  MathSciNet  MATH  Google Scholar 

  10. Perrin D, Pin J É. Infinite Words: Automata, Semigroups, Logic and Games. Pure and Applied Mathematics Series. London, San Diego (Calif.): Academic, 2004

    MATH  Google Scholar 

  11. Dong J S, Liu Y, Sun J, Zhang X. Towards verification of computation orchestration. Formal Aspects of Computing, 2014, 26(4): 729–759

    Article  MathSciNet  MATH  Google Scholar 

  12. Duan Z H, Yang X X, Koutny M. Framed temporal logic programming. Science of Computer Programming, 2008, 70(1): 31–61

    Article  MathSciNet  MATH  Google Scholar 

  13. Duan Z H, Tian C. A unified model checking approach with projection temporal logic. In: Proceedings of the 10th International Conference on Formal Methods and Software Engineering. 2008, 167–186

    Google Scholar 

  14. Yang X X, Duan Z H. Operational semantics of framed tempura. The Journal of Logic and Algebraic Programming, 2008, 78(1): 22–51

    Article  MathSciNet  MATH  Google Scholar 

  15. Yang X X, Duan Z H, Ma Q. Axiomatic semantics of projection temporal logic programs. Mathematical Structures in Computer Science, 2010, 20(5): 865–914

    Article  MathSciNet  MATH  Google Scholar 

  16. Zhang N, Duan Z H, Tian C, Du D Z. A formal proof of the deadline driven scheduler in PPTL axiomatic system. Theoretical Computer Science, 2014, 554: 229–253

    Article  MathSciNet  MATH  Google Scholar 

  17. Zhang P, Duan Z H, Tian C. Simulation of CTCS-3 protocol with temporal logic programming. In: Proceedings of the 17th IEEE International Conference on Computer Supported Cooperative Work in Design. 2013, 72–77

    Google Scholar 

  18. Wang X B, Sun T. A method based on MSVL for verification of the social network privacy policy. In: Proceedings of the International Workshop on Structured Object-Oriented Formal Language and Method. 2015, 118–131

    Google Scholar 

  19. Shi Y, Tian C, Duan Z H, Zhou M C. Model checking petri nets with MSVL. Information Sciences, 2016, 363: 274–291

    Article  Google Scholar 

  20. Tian C, Duan Z H. Expressiveness of propositional projection temporal logic with star. Theoretical Computer Science, 2011, 412(18): 1729–1744

    Article  MathSciNet  MATH  Google Scholar 

  21. Manna Z, Pnueli A. The Temporal Logic of Reactive and Concurrent Systems. New York, NY: Springer-Verlag New York, Inc., 1992

    Book  MATH  Google Scholar 

  22. Lefticaru R, Tudose C, Ipate F. Towards automated verification of P systems using Spin. In: de Castro L N, ed. Natural Computing for Simulation and Knowledge Discovery. IGI Global, 2014, 159–170

    Chapter  Google Scholar 

  23. Wright A. Type theory comes of age. Communications of the ACM, 2010, 53(2): 16–17

    Article  Google Scholar 

  24. Wang S L, Long Q, Qiu Z Y. Type Safety for FJ and FGJ. In: Proceedings of the International Colloquium on Theoretical Aspects of Computing. 2006, 257–271

    Google Scholar 

  25. Ke W, Liu Z M, Wang S L, Zhao L. A graph-based generic type system for object-oriented programs. Frontiers of Computer Science, 2013, 7(1): 109–134

    Article  MathSciNet  Google Scholar 

  26. Cousineau D, Doligez D, Lamport L, Merz S, Ricketts D, Vanzetto H. Tla + proofs. In: Proceedings of the International Symposium on Formal Methods. 2012, 147–154

    Google Scholar 

  27. Fisher M, Hepple A. Executing logical agent specifications. In: El Fallah Seghrouchni A, Dix J, Dastani M, et al., eds. Multi-Agent Programming: Languages, Tools and Applications. Boston, MA: Springer US, 2009, 1–27

    Google Scholar 

  28. Lamport L. The PlusCal algorithm language. In: Proceedings of the International Colloquium on Theoretical Aspects of Computing. 2009, 36–60

    Google Scholar 

  29. Fisher M, Dennis L, Webster M. Verifying autonomous systems. Communications of the ACM, 2013, 56(9): 84–93

    Article  Google Scholar 

  30. Wang X B, Duan Z H, Zhao L. Formalizing and implementing types in MSVL. In: Proceedings of the 3rd International Workshop on Structured Object-Oriented Formal Language and Method. 2014, 62–75

    Chapter  Google Scholar 

  31. Duan Z H. Temporal Logic and Temporal Logic Programming. Beijing: Science Press, 2006

    Google Scholar 

  32. Gansner E R, North S C. An open graph visualization system and its applications to software engineering. Software Practice and Experience, 2000, 30(11): 1203–1233

    Article  MATH  Google Scholar 

  33. Tian C, Duan Z H. Complexity of propositional projection temporal logic with star. Mathematical Structures in Computer Science, 2009, 19(1): 73–100

    Article  MathSciNet  MATH  Google Scholar 

  34. Knuth D E. The Art of Computer Programming, Vol 3: Sorting and Searching. 2nd ed. Redwood City, CA: AddisonWesley Longman Publishing Co., Inc., 1998

    MATH  Google Scholar 

  35. Ben-Ari M. Principles of Concurrent and Distributed Programming (Prentice-Hall International Series in Computer Science). 2nd ed. Boston, MA: Addison-Wesley Longman Publishing Co., Inc., 2006

    MATH  Google Scholar 

Download references

Acknowledgements

This research was supported by the National Natural Science Foundation of China (NSFC) (Grant Nos. 61672403, 61272118, 61272117, 61402347, 61133001 and 61420106004), and the Fundamental Research Funds for the Central Universities (JBG160306, and NCET-13-0947).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Cong Tian.

Additional information

Xiaobing Wang received the PhD degree in computer science from Xidian University, China in 2009. He is currently an associate professor in the Institute of Computing Theory and Technology (ICTT), Xidian University. He was a visiting scholar in University of Texas at Dallas, USA from 2014 to 2015. His research interests include formal methods, temporal logic programming languages, and software verification.

Cong Tian received the BS, MS, and PhD degrees in computer science from Xidian University, China in 2004, 2007, and 2009, respectively. She is currently a professor in the Institute of Computing Theory and Technology (ICTT), Xidian University. She was a visiting postdoctoral researcher in Hosei University, Japan from 2010 to 2011. Her research interests include theories in model checking, temporal logics and automata, formal verification of software systems, and software engineering. She is an awardee of the NSFC Excellent Young Scholars Program in 2013.

Zhenhua Duan received the PhD degrees in computer science from both Newcastle University and the University of Sheffield, UK. He is currently a professor in the Institute of Computing Theory and Technology (ICTT), Xidian University, China. His research interests include model checking, temporal logics, formal verification of software systems, and temporal logic programming.

Liang Zhao received the PhD degree in computer science from University of Pisa, Italy in 2012. He is currently an associate professor in the Institute of Computing Theory and Technology (ICTT), Xidian University, China. His research interests include formal verification, temporal logics and formal methods for object-oriented development.

Electronic supplementary material

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Wang, X., Tian, C., Duan, Z. et al. MSVL: a typed language for temporal logic programming. Front. Comput. Sci. 11, 762–785 (2017). https://doi.org/10.1007/s11704-016-6059-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11704-016-6059-4

Keywords

Navigation