Decentralised Process Enactment
Ulf Leonhardt Anthony Finkelstein
Jeff Kramer Bashar Nuseibeh
Technical Report 95/5
Department of Computing
Imperial College of Science, Technology and Medicine
180 Queen's Gate, London SW7 2BZ, UK
February 1, 1995
The ViewPoints framework for distributed and concurrent software engineering provides an alternative approach to traditional centralised software development environments. We investigate the use of decentralised process models to drive consistency checking and conflict resolution in this framework. Our process models use pattern matching on local development histories to determine the particular situation (state) of the development process, and employ rules to trigger situation-dependent assistance to the user. We describe how communication between such process models facilitates the decentralised management of explicitly defined consistency constraints in the ViewPoints framework.
Software engineering processes usually involve the participation of a number of people. The more people are involved, the more important becomes the collaboration and communication between the individuals. The different participants will have different views on and assumptions about the problem domain. This necessitates organised interaction including conflict detection and resolution.
Synchronisation and conflict resolution are most easily tackled by adopting the notion of central coordination, often paired with a central data repository. However, centralised control and data storage in a conceptually concurrent and distributed context are problematic when it comes to performance, reliability and flexibility. In most systems, these centralised control mechanisms are used to check and enforce consistency whenever possible. It has been recognised that such an eager approach does not adequately reflect the needs of concurrent and distributed software engineering processes .
An alternative is the decentralisation of data storage and consistency control. As a consequence, conflict detection and resolution have to be made based on interaction and local, and thus partial, knowledge about the system. The `eager' approach to conflict detection and resolution discussed above is not viable as the complexity introduced by the distribution of control makes it too expensive. Tolerating inconsistencies is often desirable in order to avoid unnecessary restrictions on the development process . Consequently, the focus is shifted from avoidance to management of inconsistencies.
Inconsistencies arise from different views and assumptions which interfere. They also indicate the need for further action by the participants in order to achieve consent on the matter in question. By addressing this issue explicitly (for example ), we can devise and support more