Results 1  10
of
10
Generic Programming — An Introduction
 3rd International Summer School on Advanced Functional Programming
, 1999
"... ..."
(Show Context)
A CSP Approach To Action Systems
, 1992
"... The communicating sequential processes (CSP) formalism, introduced by Hoare [Hoa85], is an eventbased approach to distributed computing. The actionsystem formalism, introduced by Back & KurkiSuonio [BKS83], is a statebased approach to distributed computing. Using weakestprecondition formula ..."
Abstract

Cited by 24 (7 self)
 Add to MetaCart
(Show Context)
The communicating sequential processes (CSP) formalism, introduced by Hoare [Hoa85], is an eventbased approach to distributed computing. The actionsystem formalism, introduced by Back & KurkiSuonio [BKS83], is a statebased approach to distributed computing. Using weakestprecondition formulae, Morgan [Mor90a] has defined a correspondence between action systems and the failuresdivergences model for CSP. Simulation is a proof technique for showing refinement of action systems. Using the correspondence of [Mor90a], Woodcock & Morgan [WM90] have shown that simulation is sound and complete in the CSP failuresdivergences model. In this thesis, Morgan's correspondence is extended to the CSP infinitetraces model [Ros88] in order to deal more properly with unbounded nondeterminism. It is shown that simulation is sound in the infinitetraces model, though completeness is lost in certain cases. The new correspondence is then extended to include a notion of internal action. This allows the ...
Exploiting symmetry on parallel architectures
, 1995
"... This thesis describes techniques for the design of parallel programs that solvewellstructured problems with inherent symmetry. Part I demonstrates the reduction of such problems to generalized matrix multiplication by a groupequivariant matrix. Fast techniques for this multiplication are described ..."
Abstract

Cited by 10 (1 self)
 Add to MetaCart
This thesis describes techniques for the design of parallel programs that solvewellstructured problems with inherent symmetry. Part I demonstrates the reduction of such problems to generalized matrix multiplication by a groupequivariant matrix. Fast techniques for this multiplication are described, including factorization, orbit decomposition, and Fourier transforms over nite groups. Our algorithms entail interaction between two symmetry groups: one arising at the software level from the problem's symmetry and the other arising at the hardware level from the processors' communication network. Part II illustrates the applicability of our symmetryexploitation techniques by presenting a series of case studies of the design and implementation of parallel programs. First, a parallel program that solves chess endgames by factorization of an associated dihedral groupequivariant matrix is described. This code runs faster than previous serial programs, and discovered a number of results. Second, parallel algorithms for Fourier transforms for nite groups are developed, and preliminary parallel implementations for group transforms of dihedral and of symmetric groups are described. Applications in learning, vision, pattern recognition, and statistics are proposed. Third, parallel implementations solving several computational science problems are described, including the direct nbody problem, convolutions arising from molecular biology, and some communication primitives such as broadcast and reduce. Some of our implementations ran orders of magnitude faster than previous techniques, and were used in the investigation of various physical phenomena.
A General Scheme for BreadthFirst Graph Traversal
 Mathematics of Program Construction. SpringerVerlag LNCS 947
, 1995
"... . We survey an algebra of formal languages suitable to deal with graph algorithms. As an example of its use we derive a general scheme for breadthfirst graph traversal. This general scheme is then applied to a reachability and a shortest path problem. 1 Introduction In books about algorithmic gra ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
. We survey an algebra of formal languages suitable to deal with graph algorithms. As an example of its use we derive a general scheme for breadthfirst graph traversal. This general scheme is then applied to a reachability and a shortest path problem. 1 Introduction In books about algorithmic graph theory algorithms are usually presented without formal specification and formal development. Some approaches, in contrast, provide a more precise treatment of graph algorithms, resulting in algorithms which are not only correct "in principle" but also in all details (see e.g. [Pair 70], [Backhouse, van Gasteren 92], [van den Eijnde 92], [Moller, Russling 92], [Gibbons 94] and [King, Launchbury 95]). In the present paper a uniform treatment of a class of graph algorithms is given using the algebra of formal languages and relations presented in [Moller, Russling 92], a straightened version of the framework introduced in [Moller 91]. The emphasis is not laid on the invention of new algorithm...
Constructive Lattice Theory
, 1993
"... A notion of simulation of one datatype by another is defined as a constructive preorder. A calculus of datatype simulation is then developed by formulating constructive versions of leastfixedpoint theorems in lattice theory. The calculus is applied to the construction of several isomorphisms betwe ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
A notion of simulation of one datatype by another is defined as a constructive preorder. A calculus of datatype simulation is then developed by formulating constructive versions of leastfixedpoint theorems in lattice theory. The calculus is applied to the construction of several isomorphisms between classes of datatypes. In particular constructive adaptations of theorems in lattice theory about closure operators are shown to yield simulations and isomorphisms between monad structures, and constructive adaptations of theorems in regular algebra are shown to yield isomorphisms between list structures. A question to which any respectable theory of datatypes should provide immediate answers is when two datatypes are isomorphic, i.e. entirely equivalent modulo implementation details. A subsidiary question is when one datatype simulates another. This second question is of interest in its own right but is also important to answering the first question since isomorphism is frequently reduce...
Calculating Graph Algorithms for Dominance and Shortest Path
"... We calculate two iterative, polynomialtime graph algorithms from the literature: a dominance algorithm and an algorithm for the singlesource shortest path problem. Both algorithms are calculated directly from the definition of the properties by fixedpoint fusion of (1) a least fixed point expres ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
(Show Context)
We calculate two iterative, polynomialtime graph algorithms from the literature: a dominance algorithm and an algorithm for the singlesource shortest path problem. Both algorithms are calculated directly from the definition of the properties by fixedpoint fusion of (1) a least fixed point expressing all finite paths through a directed graph and (2) Galois connections that capture dominance and path length. The approach illustrates that reasoning in the style of fixedpoint calculus extends gracefully to the domain of graph algorithms. We thereby bridge common practice from the school of program calculation with common practice from the school of static program analysis, and build a novel view on iterative graph algorithms as instances of abstract interpretation.
Category Theory as Coherently Constructive Lattice Theory: An Illustration
, 1994
"... Dijkstra and Scholten have formulated a theorem stating that all disjunctivity properties of a predicate transformer are preserved by the construction of least prefix points. An alternative proof of their theorem is presented based on two fundamental fixed point theorems, the abstraction theorem ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Dijkstra and Scholten have formulated a theorem stating that all disjunctivity properties of a predicate transformer are preserved by the construction of least prefix points. An alternative proof of their theorem is presented based on two fundamental fixed point theorems, the abstraction theorem and the fusion theorem, and the fact that suprema in a lattice are defined by a Galois connection. The abstraction theorem seems to be new; the fusion theorem is known but its importance does not seem to be fully recognised. The abstraction theorem, the fusion theorem, and Dijkstra and Scholten's theorem are then generalised to the context of category theory and shown to be valid. None of the theorems in this context seems to be known, although specific instances of Dijkstra and Scholten's theorem are known. The main point of the paper is to discuss the process of drawing inspiration from lattice theory to formulate theorems in category theory (first advocated by Lambek in 1968). W...
Calculating with Relations for Graph Algorithmics
, 1997
"... Much emphasis has been placed in recent years on deriving or calculating programs rather than proving them correct. Adequate calculational frameworks are needed to support such an approach. The present work explores the use of a calculus of relations to express and reason about graph properties ..."
Abstract
 Add to MetaCart
Much emphasis has been placed in recent years on deriving or calculating programs rather than proving them correct. Adequate calculational frameworks are needed to support such an approach. The present work explores the use of a calculus of relations to express and reason about graph properties in an algorithmic context. We take a generic program that computes a maximal set, over some universe, satisfying some predicate P and calculate two instances of it: the computation of maximal independent sets of vertices in a graph, and the computation of maximal sets of edges without cycles (i.e. maximal forests).
01081 Applications of Kleene Algebra 18.02.200123.02.2001 organized by
"... quential composition, choice and nite iteration. It was rst introduced by Kleene in 1956 and further developed by Conway in 1971. It has reappeared in many contexts in mathematics and computer science. Its classical application has been within the theory of formal languages, where it is one of many ..."
Abstract
 Add to MetaCart
(Show Context)
quential composition, choice and nite iteration. It was rst introduced by Kleene in 1956 and further developed by Conway in 1971. It has reappeared in many contexts in mathematics and computer science. Its classical application has been within the theory of formal languages, where it is one of many equivalent approaches to the description of regular languages. Within the eld of eÆcient algorithms it has been applied to path problems on graphs (being closely related to the algebra of closed semirings [2]), to convex hull algorithms and formal treatment of pointer algorithms [5, 6, 10, 14, 12]. In compiler construction, Kleene algebra can be used to prove the correctness of optimization techniques for loop constructs [25]. More recently, Kleene algebra has been successfully applied to the semantic description of imperative programs with nondeterministic choice [4]. It covers both angelic and demonic composition and choice [17, 18]. Moreover, it allows a simple algebraic incorporation of assertions [21] as well as modal and dynamic logic [31, 26]. Also, there are close relations with interval
A Class of Graph Algorithms
, 1996
"... Several graph problems are shown to be instances of the abstract problem of selecting representative elements from a closuregenerated set. These are the singlesource minimum paths problem, the reachability set of a given vertex, and the construction of rooted trees. Algorithms to compute such ..."
Abstract
 Add to MetaCart
Several graph problems are shown to be instances of the abstract problem of selecting representative elements from a closuregenerated set. These are the singlesource minimum paths problem, the reachability set of a given vertex, and the construction of rooted trees. Algorithms to compute such representatives are derived from the specification of the general problem. Instances of the algorithms include Dijkstra's minimum paths algorithm, and depthfirst/breadthfirst graph traversals. A relational calculus for algorithms derivation is used as algebraic framework. This calculus, of a pointfree reasoning character, is extended with categorical points to allow a clearer phrasing and manipulation of some algorithmic expressions. Pointwise reasoning can thus be naturally carried out within the extended calculus.