Proving invariants of I/O automata with TAME

被引:17
作者
Archer M. [1 ]
Heitmeyer C. [1 ]
Riccobene E. [2 ]
机构
[1] Naval Research Laboratory, Code 5546, Washington
[2] Dipartimento di Matematica e Informatica, Università di Catania, Catania I-95125
关键词
Formal methods; Proof checking; Software engineering; Software requirements analysis; Theorem proving; Verification;
D O I
10.1023/A:1016320523091
中图分类号
学科分类号
摘要
This paper describes a specialized interface to PVS called TAME (Timed Automata Modeling Environment) which provides automated support for proving properties of I/O automata. A major goal of TAME is to allow a software developer to use PVS to specify and prove properties of an I/O automaton efficiently and without first becoming a PVS expert. To accomplish this goal, TAME provides a template that the user completes to specify an I/O automaton and a set of proof steps natural for humans to use for proving properties of automata. Each proof step is implemented by a PVS strategy and possibly some auxiliary theories that support that strategy. We have used the results of two recent formal methods studies as a basis for two case studies to evaluate TAME. In the first formal methods study, Romijn used I/O automata to specify and verify memory and remote procedure call components of a concurrent system. In the second formal methods study, Devillers et al, specified a tree identify protocol (TIP), part of the IEEE 1394 bus protocol, and provided hand proofs of TIP properties. Devillers also used PVS to specify TIP and to check proofs of TIP properties. In our first case study, the third author, a new TAME user with no previous PVS experience, used TAME to create PVS specifications of the I/O automata formulated by Romijn and Devillers et al. and to check their hand proofs. In our second case study, the TAME approach to verification was compared with an alternate approach by Devillers which uses PVS directly.
引用
收藏
页码:201 / 232
页数:31
相关论文
共 35 条
[1]  
Alborghetti A., Gargantini A., Morzenti A., Providing automated support to deductive analysis of time critical systems, Proc. 6th European Software Engineering Conference (ESEC/FSE'97), Volume 1301 of Lect. Notes in Comp. Sci., pp. 211-226, (1997)
[2]  
Archer M., TAME: Using PVS strategies for special-purpose theorem proving, Annals of Mathematics and Artificial Intelligence, 29, 1-4, pp. 139-181, (2000)
[3]  
Archer M., Proving correctness of the basic TESLA multicast stream authentication protocol with TAME, Informal Proceedings of the Workshop on Issues in the Theory of Security (WITS'02), Portland, OR
[4]  
Archer M., Heitmeyer C., Mechanical verification of time automata: A case study, Proc. 1996 IEEE Real-Time Technology and Applications Symp. (RTAS'96), pp. 192-203, (1996)
[5]  
Archer M., Heitmeyer C., Human-style theorem proving using PVS, Theorem Proving in Higher Order Logics (TPHOLs'97), Volume 1275 of Lect. Notes in Comp. Sci., pp. 33-48, (1997)
[6]  
Archer M., Heitmeyer C., Verifying hybrid systems modeled as timed automata: A case study, Hybrid and Real-Time Systems (HART'97), Volume 1201 of Lect. Notes in Comp. Sci., pp. 171-185, (1997)
[7]  
Archer M., Heitmeyer C., Riccobene E., Using TAME to prove invariants of automata models: Case studies, Proc. 2000 ACM SIGSOFT Workshop on Formal Methods in Software Practice (FMSP'00), (2000)
[8]  
Archer M., Heitmeyer C., Sims S., TAME: A PVS interface to simplify proofs for automata models, Proc. User Interfaces for Theorem Provers 1998 (UITP '98), Eindhoven, Netherlands, (1998)
[9]  
Butler R.W., An introduction to requirements capture using PVS: Specification of a simple autopilot, (1996)
[10]  
Butler R.W., Caldwell J.L., Carreno J.L., Holloway C.M., Miner P.S., Di Vito B.L., NASA Langley's research and technology-transfer program in formal method, Proc. 10th Annual Conf. on Computer Assurance (COMPASS'95), Gaithersburg, MD, pp. 135-149