• Corpus ID: 8238781

Formal Refinement and Proof of a Small Java Program

  title={Formal Refinement and Proof of a Small Java Program},
  author={Tony Clark},
  booktitle={ECOOP Workshops},
  • T. Clark
  • Published in ECOOP Workshops 14 June 1999
  • Computer Science
The main components of a formal technique for specifying, refining and proving properties of object-oriented programs are presented. The technique is based on a -notation whose semantics is given using standard categorical constructs. An example of the formal development of a small Java program is presented. 
1 Citations
Algebraically modelling object-orientated programs
This item is brought to you by Swansea University and must not be sold in any format or medium without the formal permission of the copyright holder.


A semantic framework for object-oriented development.
A categorical model of object-oriented systems is proposed and denoted using a-calculus to provide a deenition of design reenement from an initial user requirements by reening an initial design.
UML refinement and abstraction transformations
A set of diagrammatic transformations on UML models which represent reenement or abstraction steps are presented and it is shown how the correctness of these transformations can be justiied in a suitable semantic model of UML.
Towards a compositional interpretation of object diagrams
We develop a compositional interpretation of object model and statechart diagrams as used in the “Syntropy” method of Object-Oriented Analysis and Design. Separate theories are constructed for object
Rigorous Development in UML
This paper proposes a development process using UML and other notations which supports formal analysis and verification, so enabling the notation to be used for highly critical systems.
Visualising action contracts in object-oriented modelling
This paper builds on a recent proposal for ‘constraint diagrams’, a diagrammatic notation allowing the expression of assertions about invariants and action contracts, and focuses on their use in depicting action contracts.
Constraint diagrams: visualizing invariants in object-oriented models
  • S. Kent
  • Computer Science
    OOPSLA '97
  • 1997
A new visual notation is proposed for precisely expressing constraints on object-oriented models, as an alternative to mathematical logic notation used in methods such as Syntropy and Catalysis, and is reminiscent of informal diagrams used by mathematicians for illustrating relations.
A semantics for object-oriented systems
  • T. Clark
  • Computer Science
    FM-Trends 1998
  • 1998
This work claims that this leads to a fundamental model of object-oriented systems behaviour which can be denoted using a variety of languages, including Z, modal logics and concrete programming languages, which are chosen to suit the development method or application.
The Structure and Semantics of Actor Languages
  • G. Agha
  • Computer Science
    REX Workshop
  • 1990
An abstract view of actor computations in terms of event diagrams and the laws of concurrent computing is provided and how delayed evaluation, streams, continuations, higher-order functions, and other structures, can be built in Terms of actor languages are illustrated.
A layered object-oriented programming language
This paper shows how an OOPL can be constructed using a simple functional language which has been enriched with a small collection of characteristic primitives.
Sheaf Semantics for Concurrent Interacting Objects
  • J. Goguen
  • Computer Science
    Math. Struct. Comput. Sci.
  • 1992
Concepts from sheaf theory are used to explain phenomena in concurrent systems, including object, inheritance, deadlock, and non-interference, as used in computer security, not only to concurrent object oriented systems, but also to systems of differential equations, electrical circuits, hardware description languages, and much more.