A flexible transaction model for software engineering

It is generally recognized that the classical transaction model, providing atomicity and serializability, is too strong for certain application areas since it unnecessarily restricts concurrency. The author is concerned with supporting cooperative work in multiuser design environments, particularly teams of programmers cooperating to develop and maintain software systems. An extended transaction model that meets the special requirements of software engineering projects is presented, possible implementation techniques are described, and a number of issues regarding the incorporation of such a model into multiuser software development environments are discussed.<<ETX>>

[1]  Irving L. Traiger,et al.  The notions of consistency and predicate locks in a database system , 1976, CACM.

[2]  Gail E. Kaiser,et al.  Database support for knowledge-based engineering environments , 1988, IEEE Expert.

[3]  Stanley B. Zdonik,et al.  ObServer: An Object Server for an Object-Oriented Database System , 1991, On Object-Oriented Database System.

[4]  Gail E. Kaiser,et al.  Concurrency control in advanced database applications , 1991, CSUR.

[5]  Won Kim,et al.  Object-Oriented Concepts, Databases, and Applications , 1989 .

[6]  Mark Dowson,et al.  Integrated Project Support with IStar , 1987, IEEE Software.

[7]  David P. Reed,et al.  Naming and synchronization in a decentralized computer system , 1978 .

[8]  E. B. Moss,et al.  Nested Transactions: An Approach to Reliable Distributed Computing , 1985 .

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

[10]  Won Kim,et al.  A Model of CAD Transactions , 1985, VLDB.

[11]  Dilip Soni,et al.  Version management in Gypsy , 1988, Software Development Environments.

[12]  Gail E. Kaiser,et al.  Intelligent Assistance without Artificial Intelligence , 1987, COMPCON.

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

[14]  Leon J. Osterweil,et al.  Software processes are software too , 1987, ISPW.

[15]  Alfred Z. Spector,et al.  Camelot: a flexible, distributed transaction processing system , 1988, Digest of Papers. COMPCON Spring 88 Thirty-Third IEEE Computer Society International Conference.

[16]  Masahiro Honda,et al.  Object management in a CASE environment , 1989, ICSE '89.

[17]  Jack C. Wileden,et al.  Foundations for the Arcadia environment architecture , 1989, SDE 3.

[18]  Jonathan Walpole,et al.  A unifying model for consistent distributed software development environments , 1989, SDE 3.

[19]  Jonathan Walpole,et al.  Maintaining consistency in distributed software engineering environments , 1988, [1988] Proceedings. The 8th International Conference on Distributed.

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

[21]  Fred B. Schneider,et al.  User Recovery and Reversal in Interactive Systems , 1984, TOPL.

[22]  J. T. Robinson,et al.  On optimistic methods for concurrency control , 1979, TODS.

[23]  Gail E. Kaiser,et al.  Intelligent assistance for software development and maintenance , 1988, IEEE Software.

[24]  Stanley B. Zdonik,et al.  An Object Server for an Object-Oriented Database System , 1986, OODBS.

[25]  Gail E. Kaiser A Marvelous Extended Transaction Processing Model , 1989, IFIP Congress.

[26]  William E. Weihl Commutativity-based concurrency control for abstract data types , 1988 .

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

[28]  Gail E. Kaiser,et al.  Infuse: fusing integration test management with change management , 1989, [1989] Proceedings of the Thirteenth Annual International Computer Software & Applications Conference.

[29]  Hector Garcia-Molina,et al.  Altruistic Locking: A Strategy for Coping with Long Lived Transactions , 1987, High Performance Transaction Systems Workshop.

[30]  Bruce E. Martin,et al.  Modeling Concurrent Activities with Nested Objects , 1987, ICDCS.

[31]  Randy Pausch,et al.  Adding input and output to the transactional model , 1988 .

[32]  Gail E. Kaiser,et al.  WORKSPACES AND EXPERIMENTAL DATABASES: AUTOMATED SUPPORT FOR SOFTWARE MAINTENANCE AND EVOLUTION. , 1987 .

[33]  Michael Stonebraker,et al.  Future Directions in DBMS Research , 1989 .

[34]  David B. Leblang,et al.  Computer-Aided Software Engineering in a distributed workstation environment , 1984 .

[35]  Stanley B. Zdonik,et al.  Concurrency Control and Object-Oriented Databases , 1989, Object-Oriented Concepts, Databases, and Applications.

[36]  Stuart I. Feldman,et al.  Make — a program for maintaining computer programs , 1979, Softw. Pract. Exp..

[37]  Irving L. Traiger,et al.  The Recovery Manager of the System R Database Manager , 1981, CSUR.

[38]  Stanley B. Zdonik,et al.  Transaction Groups: A Model for Controlling Cooperative Transactions , 1989, POS.