## Abstract

We develop and study 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 as introduced in our earlier work. This enables processes to provide valid approximations with certain accuracy and focusing on certain locality as demanded by the receiving processes through queries. We define domain-theoretical denotational semantics of our networks in two ways: (1) directly, i. e. by viewing the whole network as a composite process and applying the process semantics introduced in our earlier work; and (2) compositionally, i. e. by a fixed-point construction similar to that used by Kahn from the denotational semantics of individual processes in the network. The direct semantics closely corresponds to the operational semantics of the network (i. e. it is correct) but very difficult to study for concrete networks. The compositional semantics enables compositional analysis of concrete networks, assuming it is correct. We prove that the compositional semantics is a safe approximation of the direct semantics. We also provide a method that can be used in many cases to establish that the two semantics fully coincide, i. e. safety is not achieved through inactivity or meaningless answers. The results are extended to cover recursively-defined infinite networks as well as nested finite networks. A robust prototype implementation of our model is available.

Original language | English |
---|---|

Pages (from-to) | 2629-2656 |

Number of pages | 28 |

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