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.
Similar content being viewed by others
References
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
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
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
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
Fisher M. An Introduction to Practical Formal Methods Using Temporal Logic. Chichester: John Wiley & Sons, 2011
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
Hoare C A R. Communicating sequential processes. Communications of the ACM, 1983, 26(1): 100–106
Milner R. A Calculus of Communicating Systems. Secaucus, NJ: Springer-Verlag New York, Inc., 1982
Milner R, Parrow J, Walker D. A calculus of mobile processes, i. Information and Computation, 1992, 100(1): 1–40
Perrin D, Pin J É. Infinite Words: Automata, Semigroups, Logic and Games. Pure and Applied Mathematics Series. London, San Diego (Calif.): Academic, 2004
Dong J S, Liu Y, Sun J, Zhang X. Towards verification of computation orchestration. Formal Aspects of Computing, 2014, 26(4): 729–759
Duan Z H, Yang X X, Koutny M. Framed temporal logic programming. Science of Computer Programming, 2008, 70(1): 31–61
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
Yang X X, Duan Z H. Operational semantics of framed tempura. The Journal of Logic and Algebraic Programming, 2008, 78(1): 22–51
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
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
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
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
Shi Y, Tian C, Duan Z H, Zhou M C. Model checking petri nets with MSVL. Information Sciences, 2016, 363: 274–291
Tian C, Duan Z H. Expressiveness of propositional projection temporal logic with star. Theoretical Computer Science, 2011, 412(18): 1729–1744
Manna Z, Pnueli A. The Temporal Logic of Reactive and Concurrent Systems. New York, NY: Springer-Verlag New York, Inc., 1992
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
Wright A. Type theory comes of age. Communications of the ACM, 2010, 53(2): 16–17
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
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
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
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
Lamport L. The PlusCal algorithm language. In: Proceedings of the International Colloquium on Theoretical Aspects of Computing. 2009, 36–60
Fisher M, Dennis L, Webster M. Verifying autonomous systems. Communications of the ACM, 2013, 56(9): 84–93
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
Duan Z H. Temporal Logic and Temporal Logic Programming. Beijing: Science Press, 2006
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
Tian C, Duan Z H. Complexity of propositional projection temporal logic with star. Mathematical Structures in Computer Science, 2009, 19(1): 73–100
Knuth D E. The Art of Computer Programming, Vol 3: Sorting and Searching. 2nd ed. Redwood City, CA: AddisonWesley Longman Publishing Co., Inc., 1998
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
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
Corresponding author
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
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11704-016-6059-4