Some general conditions under which the specification of a concurrent system can be expressed as the conjunction of specifications for its component processes are explored. A lattice-theoretic fixed-point theorem abou...
详细信息
Some general conditions under which the specification of a concurrent system can be expressed as the conjunction of specifications for its component processes are explored. A lattice-theoretic fixed-point theorem about increasing functions is proved, and examples of its application in several areas of computing science are given. Some consequences are drawn for the design of concurrent algorithms, high-level programming languages, and fine-grained concurrent computer architectures.< >
A simple text processing tool which allows positioning of lines within a document is presented using the formal specification language Z. Implementation details such as the use of tab characters and newline sequences ...
详细信息
A simple text processing tool which allows positioning of lines within a document is presented using the formal specification language Z. Implementation details such as the use of tab characters and newline sequences are covered. The program has been implemented under the UNIX operating system. It is hoped that the use of similar techniques will become widespread in the field of software engineering.
Two regular processor arrays for multiplying unsigned numbers are described. The essence is a structure that allows designs with different degrees of pipelining to be synthesised. The impact of varying the degree of p...
详细信息
Two regular processor arrays for multiplying unsigned numbers are described. The essence is a structure that allows designs with different degrees of pipelining to be synthesised. The impact of varying the degree of pipelining on performance is assessed.
In this paper we deal with the problem of (nondeterministic and parallel) process refinement. The basic notion of refinement is defined via the improved failure semantics of CSP [BHR84, BrR85, Hoa85, Ros88]. The conce...
详细信息
Some authors include in their articles polar plots showing the directional dependence of either transmission or contrast ratio of a liquid crystal display (LCD). In some cases those plots have a symmetry axis;here we ...
Two systolic arrays for recursive digital filtering are presented. Both have a rectangular structure and produce output for a particular computation in consecutive cycles. Their performance is analyzed and the design ...
详细信息
Two systolic arrays for recursive digital filtering are presented. Both have a rectangular structure and produce output for a particular computation in consecutive cycles. Their performance is analyzed and the design tradeoffs are discussed.< >
作者:
MORGAN, CComputing Laboratory
Programming Research Group Oxford University 8-11 Keble Road Oxford United Kingdom OXI 3QD
A set of local variables in a program is auxiliary if its members occur only in assignments to members of the same set. Data refinement transforms a program, replacing one set of local variables by another set, in ord...
详细信息
A set of local variables in a program is auxiliary if its members occur only in assignments to members of the same set. Data refinement transforms a program, replacing one set of local variables by another set, in order to move towards a more efficient representation of data. Most techniques of data refinement give a direct transformation. But there is an indirect technique, using auxiliary variables, that proceeds in several stages. Usually, the two techniques are considered separately. It is shown that the several stages of the indirect technique are themselves special cases of the direct one, thus unifying the separate approaches. Removal of auxiliary variables is formalised incidentally.
One of the attractive features of occam is the large number of memorable algebraic laws which exist relating programs. We investigate these laws and, by discovering a normal form for WHILE-free programs, show that the...
详细信息
One of the attractive features of occam is the large number of memorable algebraic laws which exist relating programs. We investigate these laws and, by discovering a normal form for WHILE-free programs, show that they completely characterise the language's semantics.
Data refinement is the transformation in a computer program of one data type to another. Usually, we call the original data type ‘abstract’ and the final data type ‘concrete’. The concrete data type is said to rep...
详细信息
Data refinement is the transformation in a computer program of one data type to another. Usually, we call the original data type ‘abstract’ and the final data type ‘concrete’. The concrete data type is said to represent the abstract. In spite of recent advances, there remain obvious data refinements that are difficult to prove. We give such a refinement and present a new technique that avoids the difficulty. Our innovation is the use of program fragments that do not satisfy Dijkstra's Law of the excluded miracle . These of course can never be implemented, so they must be eliminated before the final program is reached. But, in the intermediate stages of development, they simplify the calculations.
The first implementation of the programming language FX-87, a polymorphic typed functional language based on a system for static program analysis, is described. This polymorphic effect system integrates type checking ...
详细信息
The first implementation of the programming language FX-87, a polymorphic typed functional language based on a system for static program analysis, is described. This polymorphic effect system integrates type checking and side-effect analysis into a single framework and allows the automatic detection of parallelizable expressions at compile-time. In FX-87, every expression has two static properties: a type and an effect. Type and effect polymorphism permits the behavior of first-class procedures to be statically modeled. The integration of type and effect analysis has resulted in the first system that is able (by accurate modeling of the side-effects of procedure values and masking of unobservable effects in the heap) to detect a compile-time, parallelizable constructs in both functional and imperative programs.< >
暂无评论