Specification and semi-automated verification of coordination protocols for collaborative software systems
暂无分享,去创建一个
Collaborative systems support groups of people working together towards a common goal. Cooperation, communication and coordination among the actors are necessary to perform collaborative work. Coordination involves the management of dependencies between activities through a set of interaction rules that control the execution of tasks over shared resources. Moreover, many times the requirements are such that coordination mechanisms must be updated at runtime.
Although in the past decade many collaborative systems have been built, their coordination protocols are implicit, usually built-in and static. Not having a precise description of the collaboration protocol may produce unwanted behavior that goes undetected for a long time. In the same way that in a theater play a precise script must be written which specifies the moment and mode in which characters participate, collaborative systems (such as electronic meeting software) should have a precise description of all the coordination details: how many speak at a time, role of the moderator, etc.
In order to better create computer supported collaborative systems we have developed techniques to express the associated coordination protocols in a precise manner so they can be analyzed, debugged and dynamically changed. We present a graphic language and formalism that allow us not only to describe and model coordination protocols, but also to perform automatic verification of these protocols through symbolic model checking techniques. We present examples of the use of these techniques in the context of multi-user hyperdocuments and floor control in meeting software. We also illustrate the broader applicability of the methods with an application to HTML frames.