6 research outputs found

    Extending the theory of Owicki and Gries with a logic of progress

    Get PDF
    This paper describes a logic of progress for concurrent programs. The logic is based on that of UNITY, molded to fit a sequential programming model. Integration of the two is achieved by using auxiliary variables in a systematic way that incorporates program counters into the program text. The rules for progress in UNITY are then modified to suit this new system. This modification is however subtle enough to allow the theory of Owicki and Gries to be used without change

    Extending the theory of Owicki and Gries with a logic of progress

    No full text
    This paper describes a logic of progress for concurrent programs. The logicis based on that of UNITY, molded to fit a sequential programming model.Integration of the two is achieved by using auxiliary variables in a systematicway that incorporates program counters into the program text. The rules forprogress in UNITY are then modified to suit this new system. This modificationis however subtle enough to allow the theory of Owicki and Gries to be usedwithout change

    Extending the theory of Owicki and Gries with a logic of progress

    No full text
    This paper describes a logic of progress for concurrent programs. The logic is based on that of UNITY, molded to fit a sequential programming model. Integration of the two is achieved by using auxiliary variables in a systematic way that incorporates program counters into the program text. The rules for progress in UNITY are then modified to suit this new system. This modification is however subtle enough to allow the theory of Owicki and Gries to be used without change

    Concurrent Program Design in the Extended Theory of Owicki and Gries

    No full text
    Feijen and van Gasteren have shown how to use the theory of Owicki and Gries to design concurrent programs, however, the lack of a formal theory of progress has meant that these designs are driven entirely by safety requirements. Proof of progress requirements are made post-hoc to the derivation and are operational in nature. In this paper, we describe the use of an extended theory of Owicki and Gries in concurrent program design. The extended theory incorporates a logic of progress, which provides opportunity to develop a program in a manner that gives proper consideration to progress requirements. Dekker's algorithm for two process mutual exclusion is chosen to illustrate the use of the extended theory

    MiraCalc: the Miranda Calculator, the Unix version

    Get PDF
    Those of you who already have some experience of programming, or experience of simply using a computer, will know that computers can be very unforgiving. They are fussy, and unless you get things exactly right they will complain. The program described in this document has grown out of an attempt to help you to understand what is going on when the computer complains. It is designed to help you with the Miranda scripts that you will be writing as part of the process of learning Miranda (or indeed any other similar functional programming language like Gofer or Haskell)

    The Calculator Project - Formal Reasoning about Programs

    No full text
    This paper describes The Calculator Project, which was a three-year joint research project between the Centre for Information Technology in Education at The Open University, U.K. (Pat Fung, Tim O'Shea) and the Department of Computer Science, QMW, University of London, U.K. (Richard Bornat, Doug Goldson, Mike Hopkins, Steve Reeves). The project was funded by the U.K. Joint Council Initiative in Cognitive Science and Human-Computer Interaction. The central aim of the project was to test the hypothesis that providing so-called calculators would improve students' performance in those parts of the undergraduate first-year that relied on formal reasoning skills. 1: Introduction Computer Science undergraduates find "formal methods", i.e. the use of mathematical notations and methods for supporting the development of computer software and systems, difficult and in particular they find the part of formal methods that demands reasoning about their programs the most difficult. The work reported..
    corecore