Abstract
We address the question of how to communicate among distributed processes values such as real numbers, continuous functions and geometrical solids with arbitrary precision, yet efficiently. We extend the established concept of lazy communication using streams of approximants by introducing explicit queries. We formalise this approach using protocols of a queryanswer nature. Such protocols enable processes to provide valid approximations with certain accuracy and focusing on certain locality as demanded by the receiving processes through queries. A lattice-theoretic denotational semantics of channel and process behaviour is developed. The query space is modelled as a continuous lattice in which the top element denotes the query demanding all the information, whereas other elements denote queries demanding partial and/or local information. Answers are interpreted as elements of lattices constructed over suitable domains of approximations to the exact objects. An unanswered query is treated as an error and denoted using the top element. The major novel characteristic of our semantic model is that it reflects the dependency of answers on queries. This enables the definition and analysis of an appropriate concept of convergence rate, by assigning an effort indicator to each query and a measure of information content to each answer. Thus we capture not only what function a process computes, but also how a process transforms the convergence rates from its inputs to its outputs. In future work these indicators can be used to capture further computational complexity measures. A robust prototype implementation of our model is available.
Original language | English |
---|---|
Pages (from-to) | 2597-2628 |
Number of pages | 32 |
Journal | Journal of Universal Computer Science |
Volume | 16 |
Issue number | 18 |
Publication status | Published - 2010 |
Externally published | Yes |
Keywords
- Dataflow networks
- Denotational semantics
- Distributed computation
- Domain theory
- Exact real computation
ASJC Scopus subject areas
- Theoretical Computer Science
- General Computer Science