Concurrency Control in Rule-Based Software Development Environments

Barghouti, Naser S.

This dissertation investigates the concurrency control problem in software development environments (SDEs). The problem arises when multiple developers perform activities that concurrently access the project's components, stored as database objects. The interleaved execution of the developers' activities leads to interference if they access overlapping sets of objects concurrently. An SDE can ensure that activities never interfere by modeling their execution in terms of atomic transactions and allowing only serializable schedules. This prevents cooperation, which requires some degree of interference between the activities of multiple developers. To allow cooperation, an SDE must be provided with semantic information about development activities. In rule-based SDEs, the necessary information is readily available in the set of rules that defines the process model of a project. The rules are loaded into the SDE, which provides process-specific assistance through a rule chaining engine. A single user command might lead the chaining engine to initiate a rule chain. The concurrency control problem in rule-based SDEs manifests itself in terms of interference between concurrent rule chains. We present a mechanism that extracts semantic information from the process model to solve the concurrency control problem without obstructing cooperation. The mechanism is composed of two modules: (1) a conflict detection module, which models activities as nested transactions and uses two-phase locking to detect interference; and (2) a conflict resolution module, which employs two protocols to resolve interference. The first protocol, seep, uses the process model to implement a priority-based scheme that aborts the "least important" of the interfering transactions. The second protocol, peep, overrides SCCP by consulting process-specific control rules, written by the project administration. Each control rule describes a specific interference and the actions that resolve it. We have implemented SCCP and parts ofPCCP in MARVEL, a multi-user rule-based SDE developed at Columbia.



More About This Work

Academic Units
Computer Science
Department of Computer Science, Columbia University
Columbia University Computer Science Technical Reports, CUCS-001-92
Published Here
August 7, 2013