To better analyze the reliability of software used in automated train operations, formal methods need to be developed and applied by which specifications for the software can be described in a way that makes it possible to use automatic proofs to verify the software's performance. This paper reports on proof obligations that have been developed for the digital automated train control track database. An outline of the formal methods for systematic analysis is given. Specifications are written in mathematically or logically structured terms, so that they can be checked by a computer using a syntax. Although it may take more time initially to describe the specifications with formal methods, it is good at detecting errors, which can save time and money later. Formal methods are hoped to reduce errors caused by mistaken specifications. The report then applies the use of formal methods to specifications for the digital automated train control track database which is different from the previous track database in that calculations that determine what instructions should be issued to trains sharing blocks of track are issued on board the train, meaning that on-board software must operate safely. Describes the structure of the database and gives examples of formal specifications. Proof obligations are generated . Shows the graphical user interface of the automatic proof generating function, which is a toolkit based on high order logic. Next are interactive proofs, which has a proof tree and whose screen is shown. In the test of the formal specifications for the digital automated train control track database, 188 proof obligations are generated and 90% are proved automatically and the rest are proved interactively. The proof engine needs more work to speed the interactive proving process and to extend the engine's scope to other specifications.
[1]
Jean-Raymond Abrial,et al.
The B-book - assigning programs to meanings
,
1996
.
[2]
G. Stålmarck,et al.
Modeling and Verifying Systems and Software in Propositional Logic
,
1990
.
[3]
M. Gordon,et al.
Introduction to HOL: a theorem proving environment for higher order logic
,
1993
.
[4]
C. Hennebert,et al.
SACEM software validation
,
1990,
[1990] Proceedings. 12th International Conference on Software Engineering.
[5]
C. A. R. Hoare,et al.
Communicating Sequential Processes (Reprint)
,
1983,
Commun. ACM.
[6]
Richard J. Boulton,et al.
The PROSPER Toolkit
,
2000,
TACAS.
[7]
Peter Gorm Larsen,et al.
Modelling Systems: Practical Tools and Techniques in Software Development
,
1998
.