1,205 papers · page 42 of 61
Dhananjay M. Dhamdhere, Harish Patil
Bidirectional data flow problems, useful in a wide range of optimizing transformations, are conventionally solved using the iterative approach.Thm paper shows that use of the edge placement technique makes bidirectional data flow problems amenable to effkient solution.An eliminat…
Colin J. Fidge
The process models of Ada and occam are formally based on the CSP process algebra. However, for fine-tuning real-time performance, they include “prioritized” constructs that have no counterparts in CSP. These constructs therefore lack any formal definition, a situation that leave…
Alan Finlay, Lloyd Allison
article Free Access Share on Technical correspondence: a correction to the denotational semantics for the Prolog of Nicholson and Foo Authors: Alan Finlay Monash Univ. Monash Univ.View Profile , Lloyd Allison Monash Univ. Monash Univ.View Profile Authors Info & Claims ACM Transac…
Sukumar Ghosh
Dijkstra [4, 5] introduced the problem of self-stabilization in distributed systems as an interesting exercise for achieving global convergence through local actions. In [4] he presented three solutions to a specific version of the self-stabilization problem, one of which was pro…
Gopal Gupta, Bharat Jayaraman
We discuss fundamental limitations of or-parallel execution models of nondeterministic programming languages. Or-parallelism corresponds to the execution of different nondeterministic computational paths in parallel. A natural way to represent the state of (parallel) execution of…
Robert Harper, John C. Mitchell
Standard ML is a useful programming language with a polymorphic type system and a flexible module facility.One notable feature of the core expression language of ML is that it is implicdy typed: no explicit type information need be supplied by the programmer.In contrast, the modu…
Fritz Henglein
Henglein(1) The resulting typing discipline cannot be explained in a syntax-directed fashion, but is rather reminiscent of data-flow oriented reasoning.This
Maurice Herlihy
A concurrent object is a data structure shared by concurrent processes. Conventional techniques for implementing concurrent objects typically rely on critical sections ; ensuring that only one process at a time can operate on the object. Nevertheless, critical sections are poorly…
Shing-Tsaan Huang
article Free Access Share on Leader election in uniform rings Author: Shing-Tsaan Huang National Tsing-Hua University, Taiwan National Tsing-Hua University, TaiwanView Profile Authors Info & Claims ACM Transactions on Programming Languages and SystemsVolume 15Issue 301 July 1993p…
Shmuel Katz
article Free Access Share on A superimposition control construct for distributed systems Author: Shmuel Katz Technion–Israel Institute of Technology, Haifa, Israel Technion–Israel Institute of Technology, Haifa, IsraelView Profile Authors Info & Claims ACM Transactions on Program…
A. J. Kfoury, Jerzy Tiuryn, Pawel Urzyczyn
We study the problem of type-checking functional programs in three extensions of ML.One distinguishing feature of these extensions is that they allow recursive definitions to be polymorphically typed.Although the motivation for these extensions comes from pragmatic considera-
Jonathan I. Leivent, Ronald J. Watro
We develop a simple formal model of the Time Warp approach to distributed computation, prove several important properties of the model, and devise some extensions to Time Warp that provide improved termination behavior. Our model consists of processes that communicate solely via …
Huimin Lin
An implementation of an algebraic specification in an imperative programming language consists of a representation type, together with an invariant and an equivalence relation over it, and a procedure for each operator in the specification. A formal technique is developed to chec…
Martin Odersky
A method for defining context-dependent syntax is presented.The method, like many others,
Krishna V. Palem, Barbara B. Simons
We present a polynomial time algorithm for constructing a minimum completion time schedule of instructions from a basic block on RISC machines such as the Sun SPARC, the IBM 801, the Berkeley RISC machine, and the HP Precision Architecture. Our algorithm can be used as a heuristi…
Joel E. Richardson, Michael J. Carey, Daniel T. Schuh
E is an extension of C++ designed for writing software systems to support persistent applica- tions.Originally designed as a language for implementing database systems, E has evolved into a general persistent programming language E was the first C++ extension to support transpare…
Gerard Tel, Friedemann Mattern
It is shown that the termination detection problem for distributed computations can be modeled as an instance of the garbage collection problem. Consequently, algorithms for the termination detection problem are obtained by applying transformations to garbage collection algorithm…
Raymond T. Boute
The definitions of the functions div and mod in the computer science literature and in programming languages are either similar to the Algol of Pascal definition (which is shown to be an unfortunate choice) or based on division by truncation (T-definition) or division by flooring…
Carsten K. Gomard
We describe theoretical and a few practical aspects of an implemented self-applicable partial evaluator for the untyped lambda calculus with constants, conditionals, and a fixed point operator. The purpose of this paper is first to announce the existence of (and to describe) a pa…
David A. Gudeman
Goal-directed evaluation is a very expressive programming language paradigm that is supported in relatively few languages. It is characterized by evaluation of expressions in an attempt to meet some goal, with resumption of previous expressions on failure. This paradigm is found …