Exclusion requirements and potential concurrency for composite objects

  • Authors:
  • Abdelsalam Shanneb;John Potter;James Noble

  • Affiliations:
  • Programming Languages and Compilers Group, School of Computer Science and Engineering, University of New South Wales, Sydney, Australia;Programming Languages and Compilers Group, School of Computer Science and Engineering, University of New South Wales, Sydney, Australia;School of Mathematical and Computing Sciences, Victoria University of Wellington, Wellington, New Zealand

  • Venue:
  • Science of Computer Programming - Special issue: Concurrency and synchronization in Java programs
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Concurrent object-oriented systems must prevent the interference that may arise when multiple threads simultaneously access shared components. We present a simple approach for implementing flexible locking strategies in an object-oriented system, in which the components themselves may be composite objects. We express exclusion requirements as sets of conflict pairs on component interfaces. Given knowledge of the dependency between the interface of a composite object and its internal components, we show how external exclusion requirements can be calculated from internal requirements, and further, how any potential concurrent activity outside an object can be projected into potential concurrency for the internal components.With our approach we can defer the distribution of locks in the system until deployment: the placement of locks and choice of lock type for a component can depend on its operating environment. A Galois connection between the outward mapping of exclusion requirements, and the inward mapping of potential concurrency, limits how many locks are worth considering. In this paper we only deal with exclusion control, including mutexes, read-write locks and read-write sets, and do not cover state-dependent locking or transaction-based approaches.