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 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 the control required internally and that provided externall...