CCS: It's not Fair! Fair Schedulers cannot be implemented in CCS-like languages even under progress and certain fairness assumptions
arXiv:1505.05964 · doi:10.1007/s00236-015-0221-6
Abstract
In the process algebra community it is sometimes suggested that, on some level of abstraction, any distributed system can be modelled in standard process-algebraic specification formalisms like CCS. This sentiment is strengthened by results testifying that CCS, like many similar formalisms, is Turing powerful and provides a mechanism for interaction. This paper counters that sentiment by presenting a simple fair scheduler---one that in suitable variations occurs in many distributed systems---of which no implementation can be expressed in CCS, unless CCS is enriched with a fairness assumption. Since Dekker's and Peterson's mutual exclusion protocols implement fair schedulers, it follows that these protocols cannot be rendered correctly in CCS without imposing a fairness assumption. Peterson expressed this algorithm correctly in pseudocode without resorting to a fairness assumption, so it furthermore follows that CCS lacks the expressive power to accurately capture such pseudocode.
References in corpus (3)
Cited by in corpus (9)
- Progress, Justness and Fairness
- Structure Preserving Bisimilarity, Supporting an Operational Petri Net Semantics of CCSP
- Analysing Mutual Exclusion using Process Algebra with Signals
- Ensuring Liveness Properties of Distributed Systems: Open Problems
- A process algebra with global variables
- Reactive Bisimulation Semantics for a Process Algebra with Time-Outs
- Justness: A Completeness Criterion for Capturing Liveness Properties
- Reactive Temporal Logic
- Modelling Mutual Exclusion in a Process Algebra with Time-outs