Denotational semantics: a methodology for language development
Denotational semantics: a methodology for language development
Communications of the ACM
Predicate transformers and higher-order programs
Theoretical Computer Science
Using Z: specification, refinement, and proof
Using Z: specification, refinement, and proof
Blending Object-Z and Timed CSP: an introduction to TCOZ
Proceedings of the 20th international conference on Software engineering
IEEE Transactions on Software Engineering
The Theory and Practice of Concurrency
The Theory and Practice of Concurrency
A Weakest Precondition Semantics for Refinement of Object-Oriented Programs
IEEE Transactions on Software Engineering
ZB '02 Proceedings of the 2nd International Conference of B and Z Users on Formal Specification and Development in Z and B
Algebraic reasoning for object-oriented programming
Science of Computer Programming - Special issue on program transformation
Decoupling in object orientation
FM'05 Proceedings of the 2005 international conference on Formal Methods
A Theory of Pointers for the UTP
Proceedings of the 5th international colloquium on Theoretical Aspects of Computing
IFM'07 Proceedings of the 6th international conference on Integrated formal methods
UTP and temporal logic model checking
UTP'08 Proceedings of the 2nd international conference on Unifying theories of programming
Specification coverage for testing in circus
UTP'10 Proceedings of the Third international conference on Unifying theories of programming
The safety-critical Java memory model: a formal account
FM'11 Proceedings of the 17th international conference on Formal methods
Safety-critical Java in Circus
Proceedings of the 9th International Workshop on Java Technologies for Real-Time and Embedded Systems
The safety-critical java mission model: a formal account
ICFEM'11 Proceedings of the 13th international conference on Formal methods and software engineering
Pointers and records in the unifying theories of programming
UTP'06 Proceedings of the First international conference on Unifying Theories of Programming
Safety-critical Java programs from Circus models
Real-Time Systems
Hi-index | 0.00 |
In this paper, we study object-oriented programming concepts present in languages like Java and C++ in the framework of the Unifying Theories of Programming (UTP). This work shows how subtyping, data inheritance, (mutually) recursive methods, and dynamic binding can be described in the UTP by combining and extending the theories of designs and higher-order procedures. A distinguishing feature of our approach is modularity: following the style of the UTP, we deal with each concept in isolation; this makes our theory convenient to model integrated languages that include constructs from several paradigms.