An Extensible Framework for Collaborative Software Engineering
Degree GrantorUniversity of Canterbury
The size, complexity and duration of typical software engineering projects means that teams of developers will work on them. However, with the exception of version control systems, the editors, diagrammers and other tools used will generally support only a single user. In this paper, we present an architecture for bringing to software engineering development environments the advantages of awareness of the presence, and the intentions and actions of others. Thus far, the applications of such facilities have been primarily in simple Computer Supported Collaborative Work (CSCW) tools, such as shared whiteboards, where the corresponding artifacts, unlike those of software engineering, are typically both simple and transient. We describe our implementation of the architecture and prototype tools and illustrate the benefits of providing support for real-time collaboration between developers located anywhere on the Internet. We also describe how our architecture, which is based on a parse tree representation of artifacts, may be extended readily to include new tools, languages, and notations or be customised to provide new awareness mechanisms.