A refinement algebra for object-oriented programming

被引:0
|
作者
Borba, P [1 ]
Sampaio, A [1 ]
Cornélio, M [1 ]
机构
[1] Univ Fed Pernambuco, Informat Ctr, Recife, PE, Brazil
关键词
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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.
引用
收藏
页码:457 / 482
页数:26
相关论文
共 50 条