In his extension of VDM, Jones added a rely and a guarantee-condition to the usual pre and post-condition pair. This extension to the technique permits the specification and development of concurrent, shared-variable ...
详细信息
Two classes of systolic array for the implementation of recursive digital filters are presented, which overcome some of the limitations of earlier designs. The trade-off resulting from varying the degree of pipelining...
详细信息
Two classes of systolic array for the implementation of recursive digital filters are presented, which overcome some of the limitations of earlier designs. The trade-off resulting from varying the degree of pipelining is discussed.
Several primitives for transaction processing systems are developed using the notations of Communicating Sequential Processes. The approach taken is to capture each requirement separately, in the simplest possible con...
详细信息
Several primitives for transaction processing systems are developed using the notations of Communicating Sequential Processes. The approach taken is to capture each requirement separately, in the simplest possible context: The specification is then the conjunction of all these requirements. As each is developed as a predicate over traces of the observable events in the system, it is also implemented as a simple communicating process; the implementation of the entire system is then merely the parallel composition of these processes. The laws of CSP are then used to transform the system to achieve the required degree of concurrency, to make it suitable for execution in a multiple-tasking system, for example. Finally, there is a discussion of how state-based systems may be developed using this approach together with some appropriate notation for specifying and refining data structures and operations upon them and of how the system may be implemented. This work is intended as a case study in the use of CSP.
In data refinement, a concrete data type replaces an abstract data type used in the design of an algorithm or system (Gries and Prins, 1985; Hoare, 1972; Jones, 1980). We present two methods for calculating the weakes...
详细信息
In data refinement, a concrete data type replaces an abstract data type used in the design of an algorithm or system (Gries and Prins, 1985; Hoare, 1972; Jones, 1980). We present two methods for calculating the weakest specification of each operation on a concrete data type from the specification of the corresponding abstract operation, together with a single simulation relation (Milner, 1980; Park, 1981), which specifies the correspondence between the two types. The methods are proved sound and (jointly) complete for a nondeterministic procedural programming language slightly more powerful than Dijkstra's (1976). Operations (in general, nondeterministic) are represented by relations, and significant use is made of prespecification and postspecification (Hoare and He, Jifeng, 1987).
A generalization of Dijkstra's weakest precondition, called the weakest prespecification, is presented. The increase in generally is obtained at the cost of some increase in complexity, which can be justified only...
详细信息
A generalization of Dijkstra's weakest precondition, called the weakest prespecification, is presented. The increase in generally is obtained at the cost of some increase in complexity, which can be justified only when it is needed. Suggestions for the design and development of correct programs are obtained from this approach.
Program transformation is used to develop the alpha-beta pruning algorithm from a specification of minimaxing. The pruning algorithm is nontrivial, and yet the transformation turns out to be relatively straightforward...
详细信息
Program transformation is used to develop the alpha-beta pruning algorithm from a specification of minimaxing. The pruning algorithm is nontrivial, and yet the transformation turns out to be relatively straightforward. The exercise is regarded as providing yet more evidence of the importance of transformational techniques, both for producing efficient programs and explaining them.
The Distributed Computing Software project at Oxford University is using formal spécification techniques to explore the design of services in a distributed operating system. Our goal is to construct and publish t...
详细信息
If one desires that an automatic theory formation program detect inconsistency in a set of hypotheses, the Horn clause logic of Prolog is unsuitable as no contradiction is derivable. Full first order logic provides a ...
详细信息
This paper reports experience gained in applying formal specification techniques to an existing transaction processing system. The system is the IBM Customer Information Control System (CICS) and the work has concentr...
详细信息
This paper reports experience gained in applying formal specification techniques to an existing transaction processing system. The system is the IBM Customer Information Control System (CICS) and the work has concentrated on specifying a number of modules of the CICS application programmer's interface.
暂无评论