Results 1  10
of
69
The Ring of kRegular Sequences
, 1992
"... The automatic sequence is the central concept at the intersection of formal language theory and number theory. It was introduced by Cobham, and has been extensively studied by Christol, Kamae, Mendes France and Rauzy, and other writers. Since the range of automatic sequences is nite, however, their ..."
Abstract

Cited by 62 (12 self)
 Add to MetaCart
The automatic sequence is the central concept at the intersection of formal language theory and number theory. It was introduced by Cobham, and has been extensively studied by Christol, Kamae, Mendes France and Rauzy, and other writers. Since the range of automatic sequences is nite, however, their descriptive power is severely limited.
Synthesis of Concurrent Systems with Many Similar Processes
 ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS
, 1998
"... ... In this article, we show how to synthesize concurrent systems consisting of many (i.e., a finite but arbitrarily large number K of) similar sequential processes. Our approach avoids construction of the global productmachine for K processes; instead, it constructs a twoprocess productmachine f ..."
Abstract

Cited by 42 (12 self)
 Add to MetaCart
... In this article, we show how to synthesize concurrent systems consisting of many (i.e., a finite but arbitrarily large number K of) similar sequential processes. Our approach avoids construction of the global productmachine for K processes; instead, it constructs a twoprocess productmachine for a single pair of generic sequential processes. The method is uniform in K, providing a simple template that can be instantiated for each process to yield a solution for any fixed K. The method is also illustrated on synchronization problems from the literature.
Algorithms for dense graphs and networks on the random access computer
 ALGORITHMICA
, 1996
"... We improve upon the running time of several graph and network algorithms when applied to dense graphs. In particular, we show how to compute on a machine with word size L = f2 (log n) a maximal matching in an nvertex bipartite graph in time O (n 2 + n2"5/~.) = O (n2"5/log n), how to com ..."
Abstract

Cited by 27 (4 self)
 Add to MetaCart
We improve upon the running time of several graph and network algorithms when applied to dense graphs. In particular, we show how to compute on a machine with word size L = f2 (log n) a maximal matching in an nvertex bipartite graph in time O (n 2 + n2"5/~.) = O (n2"5/log n), how to compute the transitive closure of a digraph with n vertices and m edges in time O(n 2 + nm/,k), how to solve the uncapacitated transportation problem with integer costs in the range [0..C] and integer demands in the range [U..U] in time O ((n 3 (log log / log n) 1/2 + n 2 log U) log nC), and how to solve the assignment problem with integer costs in the range [0..C] in time O(n 2"5 log nC/(logn/loglog n)l/4). Assuming a suitably compressed input, we also show how to do depthfirst and breadthfirst search and how to compute strongly connected components and biconnected components in time O(n~. + n2/L), and how to solve the single source shortestpath problem with integer costs in the range [0..C] in time O(n²(log C)/log n). For the transitive closure algorithm we also report on the experiences with an implementation.
Joyce—a programming language for distributed systems
 Software—Practice and Experience
, 1987
"... This paper describes a secure programming language called Joyce based on CSP and Pascal. Joyce permits unbounded (recursive) activation of communicating agents. The agents exchange messages through synchronous channels. A channel can transfer messages of difierent types between two or more agents. ..."
Abstract

Cited by 19 (3 self)
 Add to MetaCart
(Show Context)
This paper describes a secure programming language called Joyce based on CSP and Pascal. Joyce permits unbounded (recursive) activation of communicating agents. The agents exchange messages through synchronous channels. A channel can transfer messages of difierent types between two or more agents. A compiler can check message types and ensure that agents use disjoint sets of variables only. The use of Joyce is illustrated by a variety of examples. 1
Parsing with derivatives: a functional pearl
 In Proceeding of the 16th ACM SIGPLAN international conference on Functional Programming (ICFP ’11). ACM
, 2011
"... We present a functional approach to parsing unrestricted contextfree grammars based on Brzozowski’s derivative of regular expressions. If we consider contextfree grammars as recursive regular expressions, Brzozowski’s equational theory extends without modification to contextfree grammars (and ..."
Abstract

Cited by 17 (1 self)
 Add to MetaCart
(Show Context)
We present a functional approach to parsing unrestricted contextfree grammars based on Brzozowski’s derivative of regular expressions. If we consider contextfree grammars as recursive regular expressions, Brzozowski’s equational theory extends without modification to contextfree grammars (and it generalizes to parser combinators). The supporting actors in this story are three concepts familiar to functional programmers—laziness, memoization and fixed points; these allow Brzozowski’s original equations to be transliterated into purely functional code in about 30 lines spread over three functions. Yet, this almost impossibly brief implementation has a drawback: its performance is sour—in both theory and practice. The culprit? Each derivative can double the size of a grammar, and with it, the cost of the next derivative. Fortunately, much of the new structure inflicted by the derivative is either dead on arrival, or it dies after the very next derivative. To eliminate it, we once again exploit laziness and memoization to transliterate an equational theory that prunes such debris into working code. Thanks to this compaction, parsing times become reasonable in practice. We equip the functional programmer with two equational theories that, when combined, make for an abbreviated understanding and implementation of a system for parsing contextfree languages. Categories and Subject Descriptors F.4.3 [Formal Languages]: Operations on languages
An ObjectOriented Refinement Calculus with Modular Reasoning
, 1992
"... In this thesis, the refinement calculus is extended to support a variety of objectoriented programming styles. The late binding of procedure calls in objectoriented languages is modelled by defining an objectoriented system to be a function from procedure names and argument values to the procedur ..."
Abstract

Cited by 16 (1 self)
 Add to MetaCart
In this thesis, the refinement calculus is extended to support a variety of objectoriented programming styles. The late binding of procedure calls in objectoriented languages is modelled by defining an objectoriented system to be a function from procedure names and argument values to the procedures that are invoked by late binding. The first model allows multiple dispatch late binding, in the style of CLOS. This model is then specialised to the single dispatch case, giving a model that associates types with objects, which is similar to existing class based objectoriented languages. Both models are then restricted so that they support modular reasoning. The concept of modular reasoning has been defined informally in the literature, both for nonobjectoriented systems and for objectoriented systems. This thesis gives the first formal definition of modular reasoning for objectoriented languages. Intuitively, the definition seems to capture the minimum possible requirements necessa...
Synthesis of Large Concurrent Programs via Pairwise Composition
 In CONCUR'99
, 1999
"... . We present a tractable method for synthesizing arbitrarily large concurrent programs from specifications expressed in temporal logic. Our method does not explicitly construct the global state transition diagram of the program to be synthesized, and thereby avoids state explosion. Instead, it cons ..."
Abstract

Cited by 13 (7 self)
 Add to MetaCart
(Show Context)
. We present a tractable method for synthesizing arbitrarily large concurrent programs from specifications expressed in temporal logic. Our method does not explicitly construct the global state transition diagram of the program to be synthesized, and thereby avoids state explosion. Instead, it constructs a state transition diagram for each pair of component processes (of the program) that interact. This "pairprogram " embodies all possible interactions of the two processes. Our method proceeds in two steps. First, we construct a pairprogram for every pair of "connected" processes, and analyze these pairprograms for desired correctness properties. We then take the "pair processes" of the pairprograms, and "compose" them in a certain way to synthesize the large concurrent program. We establish a "large model" theorem which shows that the synthesized large program inherits correctness properties from the pairprograms. 1 Introduction We exhibit a method of automatically synthesizing ...
Guarded Methods vs. Inheritance Anomaly  Inheritance Anomaly Solved by Nested Guarded Method Calls
 ACM SIGPLAN Notices
, 1995
"... The term Inheritance Anomaly has been introduced into ObjectOriented Concurrent Programming (OOCP). It has also been shown how different kinds of synchronization mechanisms fall into one of the three anomalies. Guarded Methods are shown to be an inadequate tool to solve either Historyonly Sensiti ..."
Abstract

Cited by 12 (0 self)
 Add to MetaCart
(Show Context)
The term Inheritance Anomaly has been introduced into ObjectOriented Concurrent Programming (OOCP). It has also been shown how different kinds of synchronization mechanisms fall into one of the three anomalies. Guarded Methods are shown to be an inadequate tool to solve either Historyonly Sensitive Anomaly or Modification of Acceptable States. This paper argues that any of the anomalies can be solved by Guarded Methods when a suitable semantics is found for it. The main contribution of the paper is the exposition that the concept of Guarded Methods, provided Guarded Methods are interpreted as Conditional Critical Regions, is an adequate language tool for expressing synchronization constraints in OOCP. Guarded Method based solutions are given for the above mentioned two cases of anomalies. 1 Introduction The concept of Inheritance Anomaly has been introduced into ObjectOriented Concurrent Programming (OOCP) in [MWY90] and further developed in [MY93, MTY93]. 1 It was shown that e...
Regularity Properties of the Stern Enumeration of the Rationals
"... s(n) + s(n + 1). Stern showed in 1858 that gcd(s(n), s(n + 1)) = 1, and that every positive rational number a s(n) b occurs exactly once in the form s(n+1) for some n ≥ 1. We show that in a strong sense, the average value of these fractions is 3 2. We also show that for d ≥ 2, the pair (s(n), s(n+1 ..."
Abstract

Cited by 10 (2 self)
 Add to MetaCart
(Show Context)
s(n) + s(n + 1). Stern showed in 1858 that gcd(s(n), s(n + 1)) = 1, and that every positive rational number a s(n) b occurs exactly once in the form s(n+1) for some n ≥ 1. We show that in a strong sense, the average value of these fractions is 3 2. We also show that for d ≥ 2, the pair (s(n), s(n+1)) is uniformly distributed among all feasible pairs of congruence classes modulo d. More precise results are presented for d = 2 and 3. 1
Local Spreading Algorithms for Autonomous Robot Systems
, 2007
"... This paper studies local algorithms for autonomous robot systems, namely, algorithms that use only information of the positions of a bounded number of their nearest neighbors. The paper focuses on the spreading problem. It defines measures for the quality of spreading, presents a local algorithm for ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
(Show Context)
This paper studies local algorithms for autonomous robot systems, namely, algorithms that use only information of the positions of a bounded number of their nearest neighbors. The paper focuses on the spreading problem. It defines measures for the quality of spreading, presents a local algorithm for the onedimensional spreading problem, prove its convergence to the equally spaced configuration and discusses its convergence rate in the synchronous and semisynchronous settings. It then presents a local algorithm achieving the exact equally spaced configuration in finite time in the synchronous setting, and proves it is time optimal for local algorithms. Finally, the paper also proposes a possible algorithm for the twodimensional case and presents partial simulation results of its effectiveness. 1