Real-time collaborative programming environments support a team of programmers to edit the same shared source code document concurrently over communication networks. This paper presents the design and implementation of a novel real-time collaborative programming system named CoEclipse, which transparently converts the single-user Eclipse IDE into a multi-user real-time collaborative programming tool, incorporates and integrates syntactic and semantic consistency maintenance techniques derived from our prior work, and provides advanced awareness features for supporting semantic conflict prevention. The novelties of CoEclipse include its full compatibility with existing single-user programming environments in terms of user interfaces and working processes, seamless integration of syntactic and semantic consistency maintenance features, and providing complementary approaches of awareness and locking in collectively supporting semantic conflict prevention. Furthermore, the CoEclipse approach in supporting advanced real-time collaboration is generic, which can be applied to other application domains for achieving similar design objectives and rationales.
['Hongfei Fan', 'Chengzheng Sun']
Achieving integrated consistency maintenance and awareness in real-time collaborative programming environments: The CoEclipse approach