Denotational semantics: a methodology for language development
Denotational semantics: a methodology for language development
Foundations of logic programming; (2nd extended ed.)
Foundations of logic programming; (2nd extended ed.)
Using symbolic execution for verification of Ada tasking programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Formal Verification of Ada Programs
IEEE Transactions on Software Engineering
Modular verification of Ada generics
Computer Languages
A tour of Schism: a partial evaluation system for higher-order applicative languages
PEPM '93 Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
An introduction to partial evaluation
ACM Computing Surveys (CSUR)
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Program verification based on denotation semantics
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automatic Generation of Provably Correct Parallelizing Compilers
ICPP '98 Proceedings of the 1998 International Conference on Parallel Processing
A constraint-based approach for specification and verification of real-time systems
RTSS '97 Proceedings of the 18th IEEE Real-Time Systems Symposium
Declarative programming for verification: lessons and outlook
Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming
Provably Correct Code Generation: A Case Study
Electronic Notes in Theoretical Computer Science (ENTCS)
Towards dynamic partitioning of reactive system behavior: a train controller case study
Proceedings of the 12th Monterey conference on Reliable systems on unreliable networked platforms
Hi-index | 0.00 |
We present a semantics-based framework for verifying real-time controllers implemented in Ada. Our semantics-based framework uses techniques based on denotational semantics, logic programming, and partial evaluation. We illustrate our framework by verifying the correctness of the real-time controller for the Bay Area Rapid Transit System (BART). The main property we wish to verify is that if two consecutive trains start out with some minimum separation distance between them (that is deemed to be safe), then a safe distance is always maintained. This safe distance is dependent on a number of different variables, such as speed, acceleration, and track gradient. Our approach allows automatic derivation of a verification system from the Ada-implementation of the controller.