Journal Article
A Coordination Language For Building Collaborative Applications
Fulltext URI
Document type
Text/Journal Article
Additional Information
Date
36586
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Springer
Abstract
A collaborative application must support theinteraction of a group of users that share someinformation and have common or complementary goals.Many conflicting situations can arise during acomputer supported meeting when two or moreparticipants access this shared information. Inaddition to data consistency issues (data-levelconflicts), collaborative applications must addressthe specification of interaction rules to control theway users can interact through the application(user-level conflicts) with each other. Theseinteraction rules can vary from session to session,and even during the same session, as users need toestablish new ways to interact with each other. We have developed a coordination programming languagethat helps programmers build new collaborativeapplications or reengineer single-user applications.This language allows programmers to decouplecoordination from computational issues. While acomputational program describes the information thatis being shared, a coordination program determines howa group of users can share this information. Given acomputational program, developers can build multiplecoordination programs. End-users will be able toselect the coordination program that best suit theirneeds to run their collaborative session. A language runtime interpreter executes thesecoordination programs. This interpreter controls theexecution of user actions that are applied to the setof shared objects. Finally, new coordination programscan be loaded in the runtime interpreter at any time,allowing end-users to change the interaction rulesduring an ongoing collaborative session. A descriptionof the runtime interpreter and its implementation isincluded.
Description
Keywords
CSCW, distributed systems, groupware, programming languages, software engineering