Cooperation patterns in PSEEs

The paper focuses on cooperation support in process-centred software development environments. A transaction-based approach is proposed, which supports and forces the cooperation of software developers by synchronizing the concurrent execution of development tasks. The proposed transaction concept uses the knowledge of a software process to avoid or resolve concurrency conflicts. Cooperation patterns are provided which can be applied for executing process transactions to control the concurrent execution of development tasks. The selection of the right cooperation pattern for a task depends on the task definition, the semantics of the accessed objects and the users' access rights, and in particular on the current project state.