The Functional Approach
In this chapter we examine the fairness notions arising in the context of functional (or applicative) languages. As a representative language we have chosen Milner’s CCS (calculus for communicating processes) [M 80]. A similar formalism, with more primitive operators, which is also concerned with fairness, is that of Bergstra and Klop process algebra [BK 85]. There, the stress is more on the algebraic treatment.
Some new aspects of fairness are treated in the literature in the context of CCS. One notable difference from the assumptions in previous chapters is that dynamic networks are considered (i.e., with a changing number of processes and interconnections). This issue arises due to presence of recursion over concurrency, in contrast to using iteration (tail recursion) in the previously discussed languages.
Another new aspect arises due to the presence of a restriction (or hiding) operator, which forms a natural ground for distinguishing between structural fairness, based on the structure of the processes, and that of observable fairness, which restricts attention to observable communications only.
Though the issues raised in Chapter 5 regarding conspiracies (or their absence) apply to CCS as well, they were not explicitly treated in the literature in this context.
The presentation follows closely the main work on fairness in CCS, namely [CS 85].
We mention here also that termination is not a central issue in CCS, hence the discussion is not focused on fair termination. Rather, the central issue is rules for fair behaviour. Thus, this chapter is concerned with generating fairness rather then with the consequences of assuming it. In this way, a metric characterization of fair CCS sequences is also discussed, closely following [C 85]. Finally, CCS turns to be a convenient tool for discussing (briefly) one other notion, that of finite delay as a primitive operator, which was mentioned in the introduction chapter as a fairness-like concept.
KeywordsExpense Tral DiAl Prefix aNIL
Unable to display preview. Download preview PDF.