• Corpus ID: 8238781

Formal Refinement and Proof of a Small Java Program

@inproceedings{Clark1999FormalRA,
  title={Formal Refinement and Proof of a Small Java Program},
  author={Tony Clark},
  booktitle={ECOOP Workshops},
  year={1999}
}
  • 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
TLDR
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.

References

SHOWING 1-10 OF 24 REFERENCES
A semantic framework for object-oriented development.
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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.
...
...