There is a high demand for correctness for safety critical systems, often requiring the use of formal verification. Simple, well-understood scheduling strategies ease verification but are often very inefficient. In contrast, efficient concurrent schedulers are often complex and hard to reason about. This paper shows how the Temporal Logic of Action (TLA) can be used to formally reason about a wellunderstood scheduling strategy in the process of implementening a more efficient one. This is achieved by formally verifying that the efficient strategy preserves all properties, in particular the behaviour, of the simpler strategy. The approach is illustrated with the Hume programming language, which is based on concurrent rich automata. We introduce an efficient extension to the Hume scheduler, and prove that it preserves the behaviour of the standard Hume scheduler.
In REF Grov et al. take a high level TLA+ specification for reasoning about a scheduling strategy in order to implement a more efficient one.
Formal verification of concurrent scheduling strategies using TLA
2007 International Conference on Parallel and Distributed Systems
2007 International Conference on Parallel and Distributed Systems
Computer Science