Nondeterminacy occurs commonly in computing, much more than we recognise. Indeed it deserves to be recognised as a fundamental notion, meriting a place alongside other fundamental notions such as algorithm, recursion, data type, concurrency, object, etc. Essentially the same notion of nondeterminacy manifests itself in a range of different contexts, among them imperative, functional, and concurrent programming, competing agents, data refinement, and fixpoint theory. Nondeterminacy can be recognised, extracted, and studied in isolation such that the properties we discover are applicable more-or-less without change in the various domains in which it occurs.
KeywordsProcess Algebra Abstract Domain Fundamental Notion Predicate Transformer Imperative Language
Unable to display preview. Download preview PDF.
- 1.Morris, J.M., Bunkenburg, A.: Term transformers: a new approach to state (submitted, 2006)Google Scholar
- 2.Morris, J.M., Tyrrell, M.: Dually nondeterministic functions and functional refinement (submitted, 2005)Google Scholar
- 3.Morris, J.M., Tyrrell, M.: Dual unbounded nondeterminacy, recursion, and fixpoints. Acta Informatica (to appear, 2006)Google Scholar
- 4.Morris, J.M., Tyrrell, M.: Terms with unbounded demonic and angelic nondeterminacy. Science of Computer Programming (to appear, 2006)Google Scholar
- 5.Tyrrell, M., Morris, J.M., Butterfield, A., Hughes, A.: A lattice-theoretic model for an algebra of communicating sequential processes. In: Proc. 3rd Int. Colloquium on Theoretical Aspects of Computing. LNCS, Springer, Heidelberg (2006)Google Scholar