ATCoPE: Any-Time Collaborative Programming Environment for Seamless Integration of Real-Time and Non-Real-Time Teamwork in Software Development
Association for Computing Machinery
Real-time collaborative programming and non-real-time collaborative programming are two classes of methods and techniques for supporting programmers to jointly conduct complex programming work in software development. They are complementary to each other, and both are useful and effective under different programming circumstances. However, most existing programming tools and environments have been designed for supporting only one of them, and little has been done to provide integrated support for both. In this paper, we contribute a novel Any-Time Collaborative Programming Environment (ATCoPE) to seamlessly integrate conventional non-real-time collaborative programming tools and environments with emerging real-time collaborative programming techniques and support collaborating programmers to work in and flexibly switch among different collaboration modes according to their needs. We present the general design objectives for ATCoPE, the system architecture, functional design and specifications, rationales beyond design decisions, and major technical issues and solutions in detail, as well as a proof-of-concept implementation of the ATCoEclipse prototype system.