Book contents
- Frontmatter
- Contents
- Foreword
- Foreword
- Foreword
- Preface
- 1 Process algebra
- 2 Preliminaries
- 3 Transition systems
- 4 Basic process theory
- 5 Recursion
- 6 Sequential processes
- 7 Parallel and communicating processes
- 8 Abstraction
- 9 Timing
- 10 Data and states
- 11 Features
- 12 Semantics
- Bibliography
- Index of Symbols and Notations
- Index of Authors
- Index of Subjects
11 - Features
Published online by Cambridge University Press: 05 July 2014
- Frontmatter
- Contents
- Foreword
- Foreword
- Foreword
- Preface
- 1 Process algebra
- 2 Preliminaries
- 3 Transition systems
- 4 Basic process theory
- 5 Recursion
- 6 Sequential processes
- 7 Parallel and communicating processes
- 8 Abstraction
- 9 Timing
- 10 Data and states
- 11 Features
- 12 Semantics
- Bibliography
- Index of Symbols and Notations
- Index of Authors
- Index of Subjects
Summary
The various chapters so far have introduced the basics of process-algebraic reasoning, including essential concepts such as recursion, parallel composition, and abstraction, and several extensions of this basic framework with time, data, and state. This one-but-last chapter introduces two more extensions, to reason about priorities and probabilities, and elaborates briefly on mobility and variants of parallel composition in Sections 11.3 and 11.4.
Priorities
In order to specify certain applications, it is useful to be able to restrict the non-determinism in process descriptions, by allowing certain actions to have priority over others in a choice context. A priority mechanism has proved itself useful in the following circumstances:
(i) when describing interrupts and disrupts, where the normal execution of a system is pre-empted by an event that has priority;
(ii) when giving semantics to certain features of programming languages such as interrupt or error handling mechanisms;
(iii) when timing is involved, when some events may not happen prematurely and other events may need to happen as soon as possible (maximal progress);
(iv) when describing scheduling algorithms.
This section introduces a priority mechanism in the equational and operational frameworks introduced in earlier chapters. Assume that certain actions have priority over other actions. This is expressed by assuming there is some (irreflexive) partial ordering ≺ on the set of actions A. For simplicity, consider this partial ordering to be fixed. This means the priority is static.
- Type
- Chapter
- Information
- Process Algebra: Equational Theories of Communicating Processes , pp. 375 - 392Publisher: Cambridge University PressPrint publication year: 2009