Results 1 - 10
of
12
A Denotational Semantics for Dataflow with Firing
- Memorandum UCB/ERL M97/ 3, Electronics Research
, 1997
"... Dataflow models of computation have intrigued computer scientists since the 1970s. They were first introduced by Jack Dennis as a basis for parallel programming languages and architectures, and by Gilles Kahn as a model of concurrency. Interest in these models of computation has been recently rekind ..."
Abstract
-
Cited by 25 (8 self)
- Add to MetaCart
Dataflow models of computation have intrigued computer scientists since the 1970s. They were first introduced by Jack Dennis as a basis for parallel programming languages and architectures, and by Gilles Kahn as a model of concurrency. Interest in these models of computation has been recently rekindled by the resurrection of parallel computing, due to the emergence of multicore architectures. However, Dennis and Kahn approached dataflow very differently. Dennis ’ approach was based on an operational notion of atomic firings driven by certain firing rules. Kahn’s approach was based on a denotational notion of processes as continuous functions on infinite streams. This paper bridges the gap between these two points of view, showing that sequences of firings define a continuous Kahn process as the least fixed point of an appropriately constructed functional. The Dennis firing rules are sets of finite prefixes satisfying certain conditions that ensure determinacy. These conditions result in firing rules that are strictly more general than the blocking reads of the Kahn-MacQueen implementation of Kahn process networks, and solve some compositionality problems in the dataflow model. 1
Turing Machines, Transition Systems, and Interaction
- Information and Computation
, 2004
"... We present Persistent Turing Machines (PTMs), a new way of interpreting Turing-machine computation, one that is both interactive and persistent. A PTM repeatedly receives an input token from the environment, computes for a while, and then outputs the result. Moreover, it can \remember" its previo ..."
Abstract
-
Cited by 19 (3 self)
- Add to MetaCart
We present Persistent Turing Machines (PTMs), a new way of interpreting Turing-machine computation, one that is both interactive and persistent. A PTM repeatedly receives an input token from the environment, computes for a while, and then outputs the result. Moreover, it can \remember" its previous state (work-tape contents) upon commencing a new computation. We show that the class of PTMs is isomorphic to a very general class of eective transition systems, thereby allowing one to view PTMs as transition systems \in disguise." The persistent stream language (PSL) of a PTM is a coinductively dened set of interaction streams : innite sequences of pairs of the form (w i ; w o ), recording, for each interaction with the environment, the input token received by the PTM and the corresponding output token. We dene an innite hierarchy of successively ner equivalences for PTMs over nite interaction-stream prexes and show that the limit of this hierarchy does not coincide with PSL-equivalence. The presence of this \gap" can be attributed to the fact that the transition systems corresponding to PTM computations naturally exhibit unbounded nondeterminism. We also consider amnesic PTMs, where each new computation begins with a blank work tape, and a corresponding notion of equivalence based on amnesic stream languages (ASLs). We show that the class of ASLs is strictly contained in the class of PSLs. Amnesic stream languages are representative of the classical view of Turing-machine computation. One may consequently conclude that, in a stream-based setting, the extension of the Turing-machine model with persistence is a nontrivial one, and provides a formal foundation for reasoning about programming concepts such as objects with static elds. We additional...
Compositional and Uniform Modelling of Hybrid Systems
"... This paper discusses fundamentals of hybrid system modelling. Emphazis is put on compositionality and the use of multiform time. Compositionality refers to the ability of freely composing hybrid systems. Since hybrid systems are considered, different time indices occur, and modularity calls for cons ..."
Abstract
-
Cited by 14 (0 self)
- Add to MetaCart
This paper discusses fundamentals of hybrid system modelling. Emphazis is put on compositionality and the use of multiform time. Compositionality refers to the ability of freely composing hybrid systems. Since hybrid systems are considered, different time indices occur, and modularity calls for considering "time" as local to each module, this is what is called multiform time. The proposed framework is behavioral, hence a way is provided to automatically synthesize proper scheduling constraints for the joint simulation of discrete time, event based, and continuous time components. Finally, the relations of this model with the more traditional state based point of view are discussed. I. Introduction Hybrid Systems have been a topic of growing interest and activity in the recent years. It is our opinion that relevant real-life applications of hybrid systems paradigm mainly consist of very large, complex, distributed, systems. For such systems, modularity in modelling, simulation, contr...
Realtime Signal Processing -- Dataflow, Visual, and Functional Programming
, 1995
"... This thesis presents and justifies a framework for programming real-time signal processing systems. The framework extends the existing "block-diagram" programming model; it has three components: a very high-level textual language, a visual language, and the dataflow process network model of computat ..."
Abstract
-
Cited by 13 (1 self)
- Add to MetaCart
This thesis presents and justifies a framework for programming real-time signal processing systems. The framework extends the existing "block-diagram" programming model; it has three components: a very high-level textual language, a visual language, and the dataflow process network model of computation. The dataflow process network model, although widely-used, lacks a formal description, and I provide a semantics for it. The formal work leads into a new form of actor. Having established the semantics of dataflow processes, the functional language Haskell is layered above this model, providing powerful features---notably polymorphism, higher-order functions, and algebraic program transformation---absent in block-diagram systems. A visual equivalent notation for Haskell, Visual Haskell, ensures that this power does not exclude the "intuitive" appeal of visual interfaces; with some intelligent layout and suggestive icons, a Visual Haskell program can be made to look very like a block dia...
Cache Aware Optimization of Stream Programs
- In LCTES
, 2005
"... Abstract Effective use of the memory hierarchy is critical for achievinghigh performance on embedded systems. We focus on the class of ..."
Abstract
-
Cited by 13 (8 self)
- Add to MetaCart
Abstract Effective use of the memory hierarchy is critical for achievinghigh performance on embedded systems. We focus on the class of
Sequencing Data Flow Tasks in SIGNAL
- IN PROC. OF THE ACM SIGPLAN WORKSHOP ON LANGUAGE, COMPILER AND TOOL SUPPORT FOR REAL-TIME SYSTEMS
, 1993
"... The Signal language is a real-time, synchronized data-flow language. Its model of time is based on instants, and its actions are considered instantaneous. Various application domains such as signal processing and robotics require the possibility of specifying behaviors composed of successions of di ..."
Abstract
-
Cited by 12 (11 self)
- Add to MetaCart
The Signal language is a real-time, synchronized data-flow language. Its model of time is based on instants, and its actions are considered instantaneous. Various application domains such as signal processing and robotics require the possibility of specifying behaviors composed of successions of different modes of interaction with their environment. To this purpose, we introduce the notion of time interval, defined by a start and an end event, and denoting the series of its occurrences. Associating a time interval to a data-flow process specifies a task i.e., a non-instantaneous activity and its execution interval. Different ways of sequencing such tasks are described. We propose these basic elements at the programming language level, in the perspective of extensions to Signal. Application domains feature the discrete sequencing of continuous, data-flow tasks, as is the case, for example, of robotic tasks.
Constrained and phased scheduling of synchronous data flow graphs for StreamIT language
- MASTER’S THESIS, MIT
, 2002
"... ..."
Synchronous Technology for Real-Time Systems
, 1994
"... Introduction 1.1 Features of the Target Application Areas It is commonly accepted to call real-time a program or system which receives external interrupts or reads sensors connected to the physical world and outputs commands to it according to timing constraints. Such systems operate in real-time ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
Introduction 1.1 Features of the Target Application Areas It is commonly accepted to call real-time a program or system which receives external interrupts or reads sensors connected to the physical world and outputs commands to it according to timing constraints. Such systems operate in real-time and handle events as well as "continuous" computations. As an example, let us discuss the case of an aircraft control system. Measurements are received from sensors and processed by the control loops to produce commands as outputs for the actuators: this involves various kinds of numerical computations. Switching from one operating mode to another one can be performed automatically or by the pilot: in both cases, events are received that control the various computations in some discrete event mode. For safety purposes, on-line failure detection and reconfiguration is performed by taking advantage of the redundancies in the aircraft system: actuators and sensor f
Synchronous Automata for Reactive, Real-Time or Embedded Systems
- Arbeitspapiere der GMD 967, Forschungszentrum Informationstechnik GmbH
, 1996
"... This paper presents Synchronous Automata, a new representation for compiling, verifying and implementing reactive systems. The synchronous programming paradigm is a novel approach for designing reactive, real-time and embedded systems. This new paradigm embraces languages of dramatically different s ..."
Abstract
-
Cited by 7 (2 self)
- Add to MetaCart
This paper presents Synchronous Automata, a new representation for compiling, verifying and implementing reactive systems. The synchronous programming paradigm is a novel approach for designing reactive, real-time and embedded systems. This new paradigm embraces languages of dramatically different styles, imperative languages like Esterel or Argos as well as declarative ones like Lustre or Signal. In response to industrial needs for mixing styles when designing complex applications, we develop a design environment, the Synchronie workbench, which supports multi-style programming within the synchronous paradigm. This multi-style programming facility is semantically based on Synchronous Automata. This paper presents the basics of Synchronous Automata and provides them with a set of operators to ease and improve both verification and implementation tools supported by the Synchronie workbench. Contents 1 Introduction 1 2 Reactive, Real-Time and Embedded Systems 2 2.1 Reactivity as Intera...
Safety Critical Embedded Systems Design: the SACRES approach
, 1998
"... The SACRES project is an Esprit R&D project, SACRES members are : Siemens ( Lead partner), i-Logix, TNI (Techniques Nouvelles d'Informatique), OFFIS, INRIA, the Weizmann Institute of Science, British Aerospace, SNECMA. As its name indicates, SACRES is dealing with the development of new design met ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
The SACRES project is an Esprit R&D project, SACRES members are : Siemens ( Lead partner), i-Logix, TNI (Techniques Nouvelles d'Informatique), OFFIS, INRIA, the Weizmann Institute of Science, British Aerospace, SNECMA. As its name indicates, SACRES is dealing with the development of new design methodologies and associated tools for safety critical embedded systems. Main targeted users are aeronautics, automobile, process control and energy. Emphasis has been put on formal techniques for modular verification of the specifications, distributed code generation, and generated code validation against specifications. These techniques aim at making more flexible the exploration of the software life cycle. Verification of the specifications and generated code validation aim at helping for certification of the overall design. Distributed code generation aims at reducing the dependency of the design with respect to the target supporting architecture. In all cases, modularity helps reuse of exi...

