We present a simple approach for implementing flexible locking strategies in a system of components, which may themselves be composite objects. The approach is flexible in that a developer can defer the distribution of locks in the system until deployment: the choice of lock type and granularity may therefore depend on the operating environment. We only consider exclusion control; this includes mutexes, read-write locks and read-write sets, but does not cover state-dependent locking or transactionbased approaches. In general we express exclusion requirements as sets of conflict pairs on component interfaces; elsewhere (Potter, Shanneb and Yu 2004) we have demonstrated the effectiveness of a general-purpose exclusion lock that can provide any required exclusion. We presume knowledge of the dependency between the interface of a composite object and its internal components. This work extends and simplifies the work on exclusion algebra for composite objects (Noble, Holmes and Potter 2000). Our major contribution is to distinguish between the control required internally and that provided externally. This clarifies the role of the so-called upward and downward mappings of the earlier work. We also offer a succinct mathematical basis for our model. |
Cite as: Shanneb, A. and Potter, J. (2005). Flexible Exclusion Control for Composite Objects. In Proc. Twenty-Eighth Australasian Computer Science Conference (ACSC2005), Newcastle, Australia. CRPIT, 38. Estivill-Castro, V., Ed. ACS. 277-286. |
(from crpit.com)
(local if available)
|