Using Metaobject Protocols to Implement Atomic Data Types

  • Authors:
  • Robert J. Stroud;Z. Wu

  • Affiliations:
  • -;-

  • Venue:
  • ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
  • Year:
  • 1995

Quantified Score

Hi-index 0.00

Visualization

Abstract

Many researchers have suggested using atomic data types to implement transactions as a way of achieving atomicity in a modular, encapsulated fashion. However, in practice, implementing user-defined atomic data types is a difficult task. Existing systems fail to make a clean separation between application code and the synchronisation/recovery code needed to guarantee atomicity, and thus make it very hard for programmers to make changes to a system to meet their particular needs. In this paper, we present a metaobject protocol approach to implementing atomic data types. With this approach, application code is implemented at the base level, whilst the synchronisation and recovery code necessary to ensure atomicity is implemented at the meta level in the form of metaobjects. New schemes for ensuring atomicity can be provided for particular applications by introducing new metaobjects into the system without a need to make any changes at the base level. Furthermore, it is possible for an atomic data object to adapt its mechanism for ensuring atomicity dynamically by changing its metaobject at run time.