Coordinating concurrent development

Development of any large system or artifact requires the coordination of many developers. Development activities can occur concurrently. The goal of coordination is to enhance, not restrict, developer productivity, while ensuring that concurrent development activities do not clash with one another. This paper presents a formal model of concurrent development, in which development consists of a collection of modification activities that change files, and merges that combine the changes. We define a notion of consistency called coordination consistency that ensures that changes are not inadvertently destroyed and that the changes of each modification activity are correctly propagated to subsequent modification activities. We briefly present a set of protocols for concurrent development using a hierarchy of stores that ensure coordination consistency.

[1]  William H. Harrison,et al.  Good News, Bad News: Experience Building a Software Development Environment Using the Object-Oriented Paradigm , 1989, OOPSLA.

[2]  Gail E. Kaiser,et al.  Living With Inconsistency in Large Systems , 1988, System Configuration Management.

[3]  Josephine Micallef,et al.  Version and Configuration Control in Distributed Language-Based Environments , 1988, SCM.

[4]  Josephine Micallef,et al.  Multiuser, Distributed Language-Based Environments , 1987, IEEE Software.

[5]  Clarence A. Ellis,et al.  Concurrency control in groupware systems , 1989, SIGMOD '89.

[6]  Calton Pu,et al.  Split-Transactions for Open-Ended Activities , 1988, VLDB.

[7]  Thomas W. Reps,et al.  Integrating noninterfering versions of programs , 1989, TOPL.

[8]  F TichyWalter RCSa system for version control , 1985 .

[9]  William Harrison,et al.  Good news, bad news: experience building software development environment using the object-oriented paradigm , 1989, OOPSLA 1989.

[10]  Eric Emerson Schmidt Controlling large software development in a distributed environment , 1982 .

[11]  Thomas W. Reps,et al.  Support for Integrating Program Variants in an Environment for Programming in the Large , 1988, SCM.

[12]  Gail E. Kaiser,et al.  A flexible transaction model for software engineering , 1990, [1990] Proceedings. Sixth International Conference on Data Engineering.

[13]  Thomas W. Reps,et al.  Integrating non-intering versions of programs , 1988, POPL '88.

[14]  Stanley B. Zdonik,et al.  A shared, segmented memory system for an object-oriented database , 1987, TOIS.

[15]  Walter F. Tichy,et al.  Rcs — a system for version control , 1985, Softw. Pract. Exp..

[16]  Marc J. Rochkind,et al.  The source code control system , 1975, IEEE Transactions on Software Engineering.

[17]  Clarence A. Ellis,et al.  Design and implementation of GORDION, an object base management system , 1987, 1987 IEEE Third International Conference on Data Engineering.