scispace - formally typeset
Search or ask a question

Showing papers by "C. A. R. Hoare published in 1990"


Book
01 Jun 1990
TL;DR: In this article, a formal approach to hypertext using post-prototype formal specification is presented. But the semantics of the definitional language of MetaSoft is not discussed. But it is based on a refinement calculus for object-oriented systems.
Abstract: Object orientation and formal techniques.- An algebraic approach to refinement.- Modal logic programming.- Z specification of an object manager.- Correctness in the small.- A formal approach to hypertext using post-prototype formal specification.- Programming with VDM domains.- A buffering system implementation using VDM.- Formal specifications as reusable frameworks.- Z and the refinement calculus.- Modularizing the formal description of a database system.- Modular extensions to Z.- Adding abstract datatypes to Meta-IV.- Towards a semantics for object-Z.- HOOD and Z for the development of complex software systems.- Using Z as a specification calculus for object-oriented systems.- Specifying open distributed systems with Z.- Refinement of state-based concurrent systems.- Refining data to processes.- Two approaches towards the formalisation of VDM.- Type checking BSI/VDM-SL.- Type inference in Z.- Recursive definitions revisited.- Towards the semantics of the definitional language of MetaSoft.- On conservative extensions of syntax in the process of system development.- A formal semantics for Z and the link between Z and the relational algebra.- A naive domain universe for VDM.

71 citations


01 Jan 1990
TL;DR: A proof that the compiler is correct must show that interpretation of the object code is at least good as the corresponding source program, and the method is possible to add new programming constructs without affecting existing development work.

29 citations


Book ChapterDOI
01 Jan 1990
TL;DR: In this article, a compiler is specified by a description of how each construct of the source language is translated into a sequence of object code instructions, and a proof that the compiler is correct must show that interpretation of the object code is at least good (for any relevant purpose) as the corresponding source program.
Abstract: A compiler is specified by a description of how each construct of the source language is translated into a sequence of object code instructions. The meaning of the object code can be defined by an interpreter written in the source language itself. A proof that the compiler is correct must show that interpretation of the object code is at least good (for any relevant purpose) as the corresponding source program. The proof is conducted using standard techniques of data refinement. All the calculations are based on algebraic laws governing the source language. The theorems are expressed in a form close to a logic program, which may used as a compiler prototype, or a check on the results of a particular compilation. A subset of the occam programming language and the transputer instruction set are used to illustrate the approach. An advantage of the method is that it is possible to add new programming constructs without affecting existing development work.

23 citations


Book
04 May 1990
TL;DR: A naive domain universe for VDM and a formal semantics for Z and the link between Z andThe relational algebra are presented.
Abstract: Object orientation and formal techniques.- An algebraic approach to refinement.- Modal logic programming.- Z specification of an object manager.- Correctness in the small.- A formal approach to hypertext using post-prototype formal specification.- Programming with VDM domains.- A buffering system implementation using VDM.- Formal specifications as reusable frameworks.- Z and the refinement calculus.- Modularizing the formal description of a database system.- Modular extensions to Z.- Adding abstract datatypes to Meta-IV.- Towards a semantics for object-Z.- HOOD and Z for the development of complex software systems.- Using Z as a specification calculus for object-oriented systems.- Specifying open distributed systems with Z.- Refinement of state-based concurrent systems.- Refining data to processes.- Two approaches towards the formalisation of VDM.- Type checking BSI/VDM-SL.- Type inference in Z.- Recursive definitions revisited.- Towards the semantics of the definitional language of MetaSoft.- On conservative extensions of syntax in the process of system development.- A formal semantics for Z and the link between Z and the relational algebra.- A naive domain universe for VDM.

18 citations


Book ChapterDOI
05 Sep 1990

8 citations


Journal ArticleDOI
TL;DR: Hardware and software aspects of parallel computation for scientific applications are discussed in papers presented at a Royal Society meeting on Solving Scientific Problems with Multiprocessors (December 9-10, 1987).

7 citations


Proceedings ArticleDOI
07 Mar 1990
TL;DR: A lattice-theoretic fixed-point theorem about increasing functions is proved, and examples of its application in several areas of computing science are given.
Abstract: 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. >

6 citations



Journal ArticleDOI
TL;DR: If d and e are increasing functions in a partial order, then the fixed points on their functional composition are just the points that are fixed for both d ande, and this fact may be useful in cases when fixed points are computed by iteration, with arbitrary mixture of sequential and parallel composition.

5 citations


Proceedings Article
27 Aug 1990

2 citations