A simple approach to specifying concurrent systems
Communications of the ACM
Communication and concurrency
A graphical representation of concurrent processes
PADD '88 Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on Parallel and distributed debugging
Systematic software development using VDM (2nd ed.)
Systematic software development using VDM (2nd ed.)
Using temporal logic for automatic verification of finite state systems
Logics and models of concurrent systems
Specifying Concurrent Program Modules
ACM Transactions on Programming Languages and Systems (TOPLAS)
How to cook a temporal proof system for your pet language
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The temporal logic of branching time
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The Temporal Semantics of Concurrent Programs
Proceedings of the International Sympoisum on Semantics of Concurrent Computation
Verification of Concurrent Programs: Temporal Proof Principles
Logic of Programs, Workshop
A Comparison of Formal Definitions of Ada Tasking
A Comparison of Formal Definitions of Ada Tasking
Ada/TL specification and verification of a distributed computation
SAC '92 Proceedings of the 1992 ACM/SIGAPP symposium on Applied computing: technological challenges of the 1990's
A verification helper for task specifications
SAC '93 Proceedings of the 1993 ACM/SIGAPP symposium on Applied computing: states of the art and practice
Hi-index | 0.00 |
ADA/TL is a language for specification of the behavior of systems of communicating tasks. It merges concepts of the specification part of ADA, VDM specification of packages, and temporal logic specification of task behavior. The TL part consists of constructive specification of behaviors of individual tasks and a system specification of the properties of the interaction of tasks. A proof of a system specification consists of showing that the system property holds over all possible interleavings of the task behaviors.This paper extends earlier work on proof of system specifications to cover more general branching behaviors of individual tasks, including cases of timed task calls and timed rendezvous. The constructive specification of each individual task defines a finite state computation model of its possible behaviors with allowed communication between task computations. The proof system uses marker symbols to represent the current state within each task computation, inference rules to justify transformations from one state to the next, and a proof tableau for representing the proof steps. The method rests upon the technique of using an invariant system property to identify a finite computation model of the interaction of all the system tasks. The proof tableau symbolically traces threads of control in all branches of the finite state model of the interaction of all of the system tasks. The proof method is illustrated herein using an example of a traffic walk-light controller with a timed behavior.