Skip to main content

Automatic Maintenance of Association Invariants

James Welch‚ David Faitelson and Jim Davies

Abstract

Many approaches to software specification and design make use of invariants: constraints whose truth is preserved under operations on a system or component. Object modelling involves the definition of association invariants: constraints upon the sets of links corresponding to particular associations, most often concerning type, multiplicity, or symmetry. This paper shows how the definitions of operations may be extended to take account of association invariants, so that they may be properly considered when the operations are implemented. It introduces a formal, object-based modelling notation in which the process of extension and implementation, and thus the maintenance of association invariants, can be automated, making it easier to produce correct implementations of an object-oriented design.

ISSN
1619−1366
Journal
Software and Systems Modeling
Publisher
Springer Berlin / Heidelberg
Year
2008