Back to Search
Start Over
A Refinement Algebra for Object-Oriented Programming
- Source :
- ECOOP 2003 – Object-Oriented Programming ISBN: 9783540405313, ECOOP
- Publication Year :
- 2003
- Publisher :
- Springer Berlin Heidelberg, 2003.
-
Abstract
- In this article we introduce a comprehensive set of algebraic laws for ROOL, a language similar to sequential Java but with a copy semantics. We present a few laws of commands, but focus on the object-oriented features of the language. We show that this set of laws is complete in the sense that it is sufficient to reduce an arbitrary ROOL program to a normal form expressed in a restricted subset of the ROOL operators. We also propose a law for data refinement that generalises the technique from traditional modules to class hierarchies. Together, these laws are expressive enough to derive more elaborate rules that can be useful, for example, to formalize object-oriented design practices; this is illustrated through the systematic derivation of a refactoring from the proposed laws.
- Subjects :
- Object-oriented programming
Class (set theory)
Theoretical computer science
Java
Programming language
Semantics (computer science)
Computer science
Semantics
computer.software_genre
Set (abstract data type)
Code refactoring
A-normal form
Computer Science::Programming Languages
Object Class
computer
Class hierarchy
computer.programming_language
Subjects
Details
- ISBN :
- 978-3-540-40531-3
- ISBNs :
- 9783540405313
- Database :
- OpenAIRE
- Journal :
- ECOOP 2003 – Object-Oriented Programming ISBN: 9783540405313, ECOOP
- Accession number :
- edsair.doi...........bb0d2aa09b9657f499d09ae0e2ceac23
- Full Text :
- https://doi.org/10.1007/978-3-540-45070-2_20