DocumentCode
3232956
Title
Refining object-oriented invariants and dynamic constraints
Author
Shield, Jamie ; Hayes, Ian J.
Author_Institution
Sch. of Inf. Technol. & Electr. Eng., Queensland Univ., Brisbane, Qld., Australia
fYear
2002
fDate
2002
Firstpage
52
Lastpage
61
Abstract
An invariant is a constraint on a class which holds for each externally accessible state of its instances. A dynamic constraint is a dual-state property dictating before to after state behaviour that all methods must adhere to. Both invariants and dynamic constraints are of practical benefit as they allow explicit declaration of high-level behavioural constraints on a class and all its sub-classes. In this paper, formalisations of invariants and dynamic constraints are provided in the refinement calculus. Each is separated into coerced (specification) and extant (implemented or documentation) categories. Refinement rules are provided for strengthening invariants and dynamic constraints. Two separate development paths are identified: (behavioural) sub-classing and private refinement. Refining a class may violate its invariant or dynamic constraint. Sub-classing is a constrained form of refinement that maintains these properties. Revised refinement laws are provided. Private refinement is an alternative to (behavioural) sub-classing. It also maintains properties such as invariants and dynamics constraints and foregoes the constraints of sub-classing. The disadvantage is that private refinement can only be used to implement a class.
Keywords
formal specification; object-oriented programming; refinement calculus; dual-state property; dynamic constraint; dynamic constraints; high-level behavioural constraints; history properties; invariants; object-orientation; private refinement; refinement calculus; specification; sub-classing; Australia; Calculus; Documentation; History; Information technology; Software engineering;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering Conference, 2002. Ninth Asia-Pacific
ISSN
1530-1362
Print_ISBN
0-7695-1850-8
Type
conf
DOI
10.1109/APSEC.2002.1182975
Filename
1182975
Link To Document