MSVL: a typed language for temporal logic programming
Xiaobing WANG, Cong TIAN, Zhenhua DUAN, Liang ZHAO
MSVL: a typed language for temporal logic programming
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 the MSV 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.
type / temporal logic programming / MSVL / type declaration / struct definition
[1] |
LiuS Y, ChenY T, NagoyaF, McDermid J A. Formal specificationbased inspection for verification of programs. IEEE Transactions on Software Engineering, 2012, 38(5): 1100–1122
CrossRef
Google scholar
|
[2] |
LeeS U J, DobbieG, SunJ, Groves L. Theorem prover approach to semistructured data design. Formal Methods in System Design, 2010, 37(1): 1–60
CrossRef
Google scholar
|
[3] |
LiuZ Y, PangJ, ZhangC Y. Design and formal verification of a CEM protocol with transparent TTP. Frontiers of Computer Science, 2013, 7(2): 279–297
CrossRef
Google scholar
|
[4] |
DingZ J, JiangC J, ZhouM 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
CrossRef
Google scholar
|
[5] |
FisherM. An Introduction to Practical Formal Methods Using Temporal Logic. Chichester: John Wiley & Sons, 2011
CrossRef
Google scholar
|
[6] |
GherghinaC, DavidC, QinS, Chin W N. Expressive program verification via structured specifications. International Journal on Software Tools for Technology Transfer, 2014, 16(4): 363–380
CrossRef
Google scholar
|
[7] |
HoareC A R. Communicating sequential processes. Communications of the ACM, 1983, 26(1): 100–106
CrossRef
Google scholar
|
[8] |
MilnerR. A Calculus of Communicating Systems. Secaucus, NJ: Springer-Verlag New York, Inc., 1982
|
[9] |
MilnerR, ParrowJ, WalkerD. A calculus of mobile processes, i. Information and Computation, 1992, 100(1): 1–40
CrossRef
Google scholar
|
[10] |
PerrinD, PinJ É. Infinite Words: Automata, Semigroups, Logic and Games. Pure and Applied Mathematics Series. London, San Diego (Calif.): Academic, 2004
|
[11] |
DongJ S, LiuY, SunJ, Zhang X. Towards verification of computation orchestration. Formal Aspects of Computing, 2014, 26(4): 729–759
CrossRef
Google scholar
|
[12] |
DuanZ H, YangX X, KoutnyM. Framed temporal logic programming. Science of Computer Programming, 2008, 70(1): 31–61
CrossRef
Google scholar
|
[13] |
DuanZ H, TianC.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
CrossRef
Google scholar
|
[14] |
YangX X, DuanZ H. Operational semantics of framed tempura. The Journal of Logic and Algebraic Programming, 2008, 78(1): 22–51
CrossRef
Google scholar
|
[15] |
YangX X, DuanZ H, MaQ. Axiomatic semantics of projection temporal logic programs. Mathematical Structures in Computer Science, 2010, 20(5): 865–914
CrossRef
Google scholar
|
[16] |
ZhangN, DuanZ H, TianC, Du D Z. A formal proof of the deadline driven scheduler in PPTL axiomatic system. Theoretical Computer Science, 2014, 554: 229–253
CrossRef
Google scholar
|
[17] |
ZhangP, DuanZ H, TianC. 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
CrossRef
Google scholar
|
[18] |
WangX B, SunT. 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
|
[19] |
ShiY, TianC, DuanZ H, Zhou M C. Model checking petri nets with MSVL. Information Sciences, 2016, 363: 274–291
CrossRef
Google scholar
|
[20] |
TianC, DuanZ H. Expressiveness of propositional projection temporal logic with star. Theoretical Computer Science, 2011, 412(18): 1729–1744
CrossRef
Google scholar
|
[21] |
MannaZ, PnueliA. The Temporal Logic of Reactive and Concurrent Systems. New York, NY: Springer-Verlag New York, Inc., 1992
CrossRef
Google scholar
|
[22] |
LefticaruR, TudoseC, IpateF. 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
CrossRef
Google scholar
|
[23] |
WrightA. Type theory comes of age. Communications of the ACM, 2010, 53(2): 16–17
CrossRef
Google scholar
|
[24] |
WangS L, LongQ, QiuZ Y. Type Safety for FJ and FGJ. In: Proceedings of the International Colloquium on Theoretical Aspects of Computing. 2006, 257–271
CrossRef
Google scholar
|
[25] |
KeW, LiuZ M, WangS L, Zhao L. A graph-based generic type system for object-oriented programs. Frontiers of Computer Science, 2013, 7(1): 109–134
CrossRef
Google scholar
|
[26] |
CousineauD, Doligez D, LamportL , MerzS, Ricketts D, VanzettoH . Tla+ proofs. In: Proceedings of the International Symposium on Formal Methods. 2012, 147–154
CrossRef
Google scholar
|
[27] |
FisherM, HeppleA. 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
CrossRef
Google scholar
|
[28] |
LamportL. The PlusCal algorithm language. In: Proceedings of the International Colloquium on Theoretical Aspects of Computing. 2009, 36–60
CrossRef
Google scholar
|
[29] |
FisherM, DennisL, WebsterM. Verifying autonomous systems. Communications of the ACM, 2013, 56(9): 84–93
CrossRef
Google scholar
|
[30] |
WangX B, DuanZ H, ZhaoL. Formalizing and implementing types in MSVL. In: Proceedings of the 3rd International Workshop on Structured Object-Oriented Formal Language and Method. 2014, 62–75
CrossRef
Google scholar
|
[31] |
DuanZ H. Temporal Logic and Temporal Logic Programming. Beijing: Science Press, 2006
|
[32] |
GansnerE R, NorthS C. An open graph visualization system and its applications to software engineering. Software Practice and Experience, 2000, 30(11): 1203–1233
CrossRef
Google scholar
|
[33] |
TianC, DuanZ H. Complexity of propositional projection temporal logic with star. Mathematical Structures in Computer Science, 2009, 19(1): 73–100
CrossRef
Google scholar
|
[34] |
KnuthD E. The Art of Computer Programming, Vol 3: Sorting and Searching. 2nd ed. Redwood City, CA: AddisonWesley Longman Publishing Co., Inc., 1998
|
[35] |
Ben-AriM. Principles of Concurrent and Distributed Programming (Prentice-Hall International Series in Computer Science). 2nd ed. Boston, MA: Addison-Wesley Longman Publishing Co., Inc., 2006
|
/
〈 | 〉 |