Results 1  10
of
12
Dataflow Process Networks
 Proceedings of the IEEE
, 1995
"... We review a model of computation used in industrial practice in signal processing software environments and experimentally in other contexts. We give this model the name "dataflow process networks," and study its formal properties as well as its utility as a basis for programming language design. Va ..."
Abstract

Cited by 266 (31 self)
 Add to MetaCart
We review a model of computation used in industrial practice in signal processing software environments and experimentally in other contexts. We give this model the name "dataflow process networks," and study its formal properties as well as its utility as a basis for programming language design. Variants of this model are used in commercial visual programming systems such as SPW from the Alta Group of Cadence (formerly Comdisco Systems), COSSAP from Synopsys (formerly Cadis), the DSP Station from Mentor Graphics, and Hypersignal from Hyperception. They are also used in research software such as Khoros from the University of New Mexico and Ptolemy from the University of California at Berkeley, among many others. Dataflow process networks are shown to be a special case of Kahn process networks, a model of computation where a number of concurrent processes communicate through unidirectional FIFO channels, where writes to the channel are nonblocking, and reads are blocking. In dataflow process networks, each process consists of repeated "firings" of a dataflow "actor". An actor defines a (often functional) quantum of computation. By dividing processes into actor firings, the considerable overhead of context switching incurred in most implementations of Kahn process networks is avoided. We relate dataflow process networks to other dataflow models, including those used in dataflow machines, such as static dataflow and the taggedtoken model. We also relate dataflow process networks to functional languages such as Haskell, and show that modern language concepts such as higherorder functions and polymorphism can be used effectively in dataflow process networks. A number of programming examples using a visual syntax are given. This research is part of the Ptolemy project, whi...
A Survey Of Stream Processing
, 1995
"... Stream processing is a term that is used widely in the literature to describe a variety of systems. We present an overview of the historical development of stream processing and a detailed discussion of the different languages and techniques for programming with streams that can be found in the lite ..."
Abstract

Cited by 85 (2 self)
 Add to MetaCart
Stream processing is a term that is used widely in the literature to describe a variety of systems. We present an overview of the historical development of stream processing and a detailed discussion of the different languages and techniques for programming with streams that can be found in the literature. This includes an analysis of dataflow, specialized functional and logic programming with streams, reactive systems, signal processing systems, and the use of streams in the design and verification of hardware. The aim of this survey is an analysis of the development of each of these specialized topics to determine if a general theory of stream processing has emerged. As such, we discuss and classify the different classes of stream processing systems found in the literature from the perspective of programming primitives, implementation techniques, and computability issues, including a comparison of the semantic models that are used to formalize stream based computation.
Equational term graph rewriting
 FUNDAMENTA INFORMATICAE
, 1996
"... We present an equational framework for term graph rewriting with cycles. The usual notion of homomorphism is phrased in terms of the notion of bisimulation, which is wellknown in process algebra and concurrency theory. Specifically, a homomorphism is a functional bisimulation. We prove that the bis ..."
Abstract

Cited by 71 (8 self)
 Add to MetaCart
We present an equational framework for term graph rewriting with cycles. The usual notion of homomorphism is phrased in terms of the notion of bisimulation, which is wellknown in process algebra and concurrency theory. Specifically, a homomorphism is a functional bisimulation. We prove that the bisimilarity class of a term graph, partially ordered by functional bisimulation, is a complete lattice. It is shown how Equational Logic induces a notion of copying and substitution on term graphs, or systems of recursion equations, and also suggests the introduction of hidden or nameless nodes in a term graph. Hidden nodes can be used only once. The general framework of term graphs with copying is compared with the more restricted copying facilities embodied in the µrule, and translations are given between term graphs and µexpressions. Using these, a proof system is given for µexpressions that is complete for the semantics given by infinite tree unwinding. Next, orthogonal term graph rewrite ...
Observable Sequentiality and Full Abstraction
 In Proceedings of POPL ’92
, 1992
"... ion Robert Cartwright Matthias Felleisen Department of Computer Science Rice University Houston, TX 772511892 Abstract One of the major challenges in denotational semantics is the construction of fully abstract models for sequential programming languages. For the past fifteen years, research o ..."
Abstract

Cited by 39 (5 self)
 Add to MetaCart
ion Robert Cartwright Matthias Felleisen Department of Computer Science Rice University Houston, TX 772511892 Abstract One of the major challenges in denotational semantics is the construction of fully abstract models for sequential programming languages. For the past fifteen years, research on this problem has focused on developing models for PCF, an idealized functional programming language based on the typed lambda calculus. Unlike most practical languages, PCF has no facilities for observing and exploiting the evaluation order of arguments in procedures. Since we believe that such facilities are crucial for understanding the nature of sequential computation, this paper focuses on a sequential extension of PCF (called SPCF) that includes two classes of control operators: error generators and escape handlers. These new control operators enable us to construct a fully abstract model for SPCF that interprets higher types as sets of errorsensitive functions instead of continuous...
Sequentiality vs. Concurrency in Games and Logic
 Math. Structures Comput. Sci
, 2001
"... Connections between the sequentiality/concurrency distinction and the semantics of proofs are investigated, with particular reference to games and Linear Logic. ..."
Abstract

Cited by 13 (0 self)
 Add to MetaCart
Connections between the sequentiality/concurrency distinction and the semantics of proofs are investigated, with particular reference to games and Linear Logic.
Continuous Functions and Parallel Algorithms on Concrete Data Structures
 IN MFPS'91, L.N.C.S
, 1991
"... We report progress in two closely related lines of research: the semantic study of sequentiality and parallelism, and the development of a theory of intensional semantics. We generalize Kahn and Plotkin's concrete data structures to obtain a cartesian closed category of generalized concrete data str ..."
Abstract

Cited by 12 (2 self)
 Add to MetaCart
We report progress in two closely related lines of research: the semantic study of sequentiality and parallelism, and the development of a theory of intensional semantics. We generalize Kahn and Plotkin's concrete data structures to obtain a cartesian closed category of generalized concrete data structures and continuous functions. The generalized framework continues to support a definition of sequential functions. Using this ccc as an extensional framework, we define an intensional framework  a ccc of generalized concrete data structures and parallel algorithms. This construction is an instance of a more general and more widely applicable categorytheoretic approach to intensional semantics, encapsulating a notion of intensional behavior as a computational comonad, and employing the coKleisli category as an intensional framework. We discuss the relationship between parallel algorithms and continuous functions, and supply some operational intuition for the parallel algorithms. We s...
Towards a theory of parallel algorithms on concrete data structures
 In Semantics for Concurrency, Leicester
, 1990
"... The views and conclusions contained in this document are those of the authors and should not be interpreted as representing the official policies, either expressed or implied, of DARPA or the U.S. government. Building on Kahn and Plotkin’s theory of concrete data structures and sequential functions, ..."
Abstract

Cited by 11 (6 self)
 Add to MetaCart
The views and conclusions contained in this document are those of the authors and should not be interpreted as representing the official policies, either expressed or implied, of DARPA or the U.S. government. Building on Kahn and Plotkin’s theory of concrete data structures and sequential functions, Berry and Curien defined an intensional model of sequential algorithms between concrete data structures. In this paper we report on an attempt to develop a similar intensional model of concurrent computation. We present a notion of parallel algorithm between concrete data structures, together with suitable application and currying operations. We define an intensional strictness ordering on parallel algorithms, with respect to which application is well behaved (at first order types). We define the inputoutput function computed by a parallel algorithm, and we show that every parallel algorithm computes a continuous function. Thus, a parallel algorithm may be viewed as a continuous function together with a parallel computation strategy. In contrast, a Berry
Textbook Examples of Recursion
 In Artificial Intelligence and Theory of Computation
, 1991
"... Abstract. We discuss properties of recursive schemas related to McCarthy’s “91 function” and to Takeuchi’s triple recursion. Several theorems are proposed as interesting candidates for machine verification, and some intriguing open questions are raised. ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
Abstract. We discuss properties of recursive schemas related to McCarthy’s “91 function” and to Takeuchi’s triple recursion. Several theorems are proposed as interesting candidates for machine verification, and some intriguing open questions are raised.
On the Equivalence of Persistent Term Rewriting Systems and Recursive Program Schemes
, 1993
"... We introduce Persistent Term Rewriting Systems (PTRSs) by restricting redexcreation during reductions in Orthogonal Term Rewriting Systems (OTRSs [6, 10]). In particular, Recursive (Applicative) Program Schemes (RPSs [4]), considered as TRSs, are persistent. Two PTRSs R and R' are syntactically equ ..."
Abstract

Cited by 3 (3 self)
 Add to MetaCart
We introduce Persistent Term Rewriting Systems (PTRSs) by restricting redexcreation during reductions in Orthogonal Term Rewriting Systems (OTRSs [6, 10]). In particular, Recursive (Applicative) Program Schemes (RPSs [4]), considered as TRSs, are persistent. Two PTRSs R and R' are syntactically equivalent when any term t has an Rnormal form iff it has an R'normal form and they coincide. We prove that syntactic equivalence is decidable for PTRSs. Further, we show that the equivalence problem (over all continuous interpretations) is decidable for RPSs with unary basic functions by reducing the question to a decidable numbertheory problem. Finally, we show that weak and strong normalization and the reducibility problem also are decidable in PTRSs.
Stable and Sequential Functions on Scott Domains
, 1992
"... The search for a general semantic characterization of sequential functions is motivated by the full abstraction problem for sequential programming languages such as PCF. We present here some new developments towards such a theory of sequentiality. We give a general definition of sequential functions ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
The search for a general semantic characterization of sequential functions is motivated by the full abstraction problem for sequential programming languages such as PCF. We present here some new developments towards such a theory of sequentiality. We give a general definition of sequential functions on Scott domains, characterized by means of a generalized form of topology, based on sequential open sets. Our notion of sequential function coincides with the KahnPlotkin notion of sequential function when restricted to distributive concrete domains, and considerably expands the class of domains for which sequential functions may be defined. We show that the sequential functions between two dIdomains, ordered stably, form a dIdomain. The analogous property fails for KahnPlotkin sequential functions. Our category of dIdomains and sequential functions is not cartesian closed, because application is not sequential. We attribute this to certain operational assumptions underlying our notio...