We adjust the concept of dataflow process networks as used for example by Kahn to suit exact computation over data types related to real numbers, such as continuous functions and geometrical solids. Furthermore, we consider communicating these exact objects among processes using protocols of a query-answer nature. This enables processes to provide valid approximations with certain precision 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 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 also various computational complexity measures.
The material is presented in two parts: Part I contains fundamental definitions and developments up to the process level including a novel query-answer lattice semantics; in Part II process networks will be dealt with where in particular, we provide several theorems that validate the compositional derivation of semantics for nested and recursively defined networks and define several process properties that help maintain compositionality.
A robust prototype implementation of our model is available.
Part I: pdf(a4 32 pages).