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.
Similar content being viewed by others
References
Antoniou, G., Arief, M.: Executable declarative business rules and their use in electronic commerce. In: SAC ’02: Proceedings of the 2002 ACM symposium on Applied computing, pp. 6–10. ACM Press, New York (2002)
Barnett, M., Leino, K.R.M., Schulte, W.: The Spec# programming system: An overview. In: Proceedings of CASSIS 2004. LNCS, vol. 3362. Springer, Heidelberg (2004)
Ceri S., Fraternali P., Paraboschi S. and Tanca L. (1994). Automatic generation of production rules for integrity maintenance. ACM Trans. Database Syst. 19(3): 367–422
Davies, J., Crichton, C., Crichton, E., Neilson, D., Sørensen, Ib H.: Formality, evolution, and model-driven software engineering. In: Proceedings of SBMF 2004, Electronic Notes in Computer Science. Elsevier, Amsterdam (2005)
Davies, J., Faitelson, D., Welch, J.: Domain-specific semantics and the data refinement of object models. In: Proceedings of SBMF 2006, Electronic Notes in Theoretical Computer Science. Elsevier, Amsterdam (2007)
Demuth, B., Hussmann, H., Loecher, S.: OCL as a Specification Language for Business Rules in Database Applications. In: Proceedings of the 4th International Conference on The Unified Modeling Language, Modeling Languages, Concepts, and Tools, pp. 104–117, London, UK. Springer, Heidelberg (2001)
Faitelson, D., Welch, J., Davies, J.:. From predicates to programs: the semantics of a method language. In: Proceedings of SBMF 2005, Electronic Notes in Theoretical Computer Science. Elsevier, Amsterdam (2006)
Gray P.M.D., Kulkarni K.G. and Paton N.W. (1992). Object-Oriented Databases: A Semantic Data Model Approach. Prentice Hall, USA
Hall, A.: Using Z as a Specification Calculus for Object-Oriented Systems. In: VDM ’90: Proceedings of the Third International Symposium of VDM Europe on VDM and Z - Formal Methods in Software Development, pp. 290–318, London, UK. Springer, Heidelberg (1990)
Hughes J.G. (1991). Object-Oriented Databases. Prentice Hall, USA
Jagadish, H.V., Qian, X.: Integrity maintenance in object-oriented databases. In: Proceedings of the 18th International Conference on Very Large Data Bases, pp. 469–480. Morgan Kaufmann Publishers Inc., Los Altos (1992)
Kleppe A., Warmer J. and Bast W. (2003). MDA Explained, The Model Driven Architecture: Practice and Promise. Addison-Wesley, Reading
Mayol E. and Teniente E. (1999). A survey of current methods for integrity constraint maintenance and view updating. In: Chen, P.P., Embley, D.W., Kouloumdjian, J., Liddle, S.W. and Roddick, J.F. (eds) ER (Workshops), of Lecture Notes in Computer Science, vol. 1727, pp 62–73. Springer, Heidelberg
Raistrick C., Francis P., Wright J., Carter C. and Wilkie I. (2004). Model Driven Architecture with Executable UML. Cambridge University Press, Cambridge
Schewe K.-D., Thalheim B., Schmidt J.W. and Wetzel I. (1992). Integrity enforcement in object-oriented databases. In: Lipeck, U.W. and Thalheim, B. (eds) FMLDO, Workshops in Computing, pp 174–195. Springer, Heidelberg
Progress Software. ObjectStore Database (2006). www.objectstore.com
Welch, J., Faitelson, D., Davies, J.: Automatic maintenance of association invariants. In: Proceedings of SEFM 2005, pp. 282–292. Springer, Heidelberg (2005)
Woodcock, J., Davies, J.: Using Z. Prentice Hall, USA (1996) www.usingz.com
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Dr. Bernhard Beckert.
Rights and permissions
About this article
Cite this article
Welch, J., Faitelson, D. & Davies, J. Automatic maintenance of association invariants. Softw Syst Model 7, 287–301 (2008). https://doi.org/10.1007/s10270-008-0085-0
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-008-0085-0