Improving Conflict Detection in Optimistic Concurrency Control Models

  • Ciaran O’Reilly
  • Philip Morrow
  • David Bustard
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2649)


Configuration Management is required in all software development processes. To support ‘agile’ methodologies, an approach is desirable that allows developers to work as independently as possible and yet be aware of each other’s activities. Optimistic concurrency control provides good support for independent working but is less supportive of communication. This paper looks at the relationship between the optimistic approach and the needs of the agile philosophy. In particular, it examines support facilities provided by the Concurrent Versions System (CVS) and identifies possible improvements in conflict detection to aid communication. The design and construction of a prototype extension to CVS, implementing some of these enhancements, is described.


Sequence Diagram Working Directory Agile Software Development Version Control System Night Watch 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abrahamsson, P., Salo, O., Ronkainen, J., Warsta, J.: Agile Software Development Methods. [Online]. Available: [2002, Nov 27]
  2. 2.
    Bischofberger, W.R., Matzel, K.U., Kleinferchner, C.F.: Evolving a Programming Environment Into a Cooperative Software Engineering Environment. Proceedings of CONSEG 95 (1995)Google Scholar
  3. 3.
    Cederqvist, P., et al.: Version Management with CVS for CVS 1.11.2. [Online]. Available: [2002, Nov 7]
  4. 4.
    Clemm, G., Conradi, R., van der Hoek, A., Tichy, W., Wiborg-Weber, D., Estublier, J. (ed.), Leblang, D. (co-ed.): Impact of the Research Community for the Field of Software Configuration Management. Proceedings of the 24th International Conference on Software Engineering (2002) 634–644Google Scholar
  5. 5.
    Cockburn, A.: Agile Software Development. Pearson Education, Inc., United States of America (2002)Google Scholar
  6. 6.
    Dart, S.: Concepts in Configuration Management Systems. Proceedings of the 3rd International Workshop on Software Configuration Management (1991) 1–18Google Scholar
  7. 7.
    Eriksson, H.E., Penker, M.: UML Toolkit. John Wiley & Sons, Inc., United States of America (1998)Google Scholar
  8. 8.
    Estublier, J.: Software Configuration Management: A Roadmap. International Conference of Software Engineering — Proceedings of the Conference on The Future of Software Engineering (2000) 279–289Google Scholar
  9. 9.
    JavaBeans API Specification. [Online]. Available: [2002, Nov 7]
  10. 10.
    JavaCVS. [Online]. Available: [2002, Nov 27]
  11. 11.
    Lovaasen, G.: Brokering with eXtreme Programming. 2001 XP Universe Conference Papers. [Online]. Available: [2002, Nov 27]
  12. 12.
    MacKay, S.A.: The State of the Art in Concurrent, Distributed Configuration Management. Proceedings of the 5th InternationalWorkshop on Software Configuration Management (1995)Google Scholar
  13. 13.
    Millington, D., Stapleton, J.: Developing a RAD Standard. IEEE Software, Vol. 12 Issue. 5 (1995) 54–55CrossRefGoogle Scholar
  14. 14.
    Molli, P., Skaf-Molli, H., Bouthier, C.: State Treemap: an Awareness Widget for Multi-Synchronous Groupware. Proceedings of the Seventh Intenational Workshop on Groupware (2001)Google Scholar
  15. 15.
    O’Reilly, C.: Proactive Cooperative Software Development with Visualisation. MSc Disseration, University of Ulster Coleraine (2002)Google Scholar
  16. 16.
    Paulk, N.C.: Extreme programming from a CMM Perspective. IEEE Software, Vol. 18 Issue. 6 (2001) 19–26CrossRefGoogle Scholar
  17. 17.
    Perry, D.E., Siy, H.P., Votta, L.G.: Parallel Changes in Large-Scale Software Development: An Observational Case Study. ACM Transactions of Software Engineering and Methodology (TOSEM), Vol. 10 Issue. 3 (2001) 308–337CrossRefGoogle Scholar
  18. 18.
    Pollice, G.: Using the Rational Unified Process for Small Projects: Expanding upon eXtreme Programming. [Online]. Available: [2002, Nov 27]
  19. 19.
    RCS Man Pages. [Online]. Available: [2002, Nov 27]
  20. 20.
    Sarma, A., van der Hoek, A.: Palantir: Coordinating Distributed Workspaces. Proceedings of the Workshop on Cooperative Supports for Distributed Software Engineering Processes (CSSE) (2002)Google Scholar
  21. 21.
    Source Integrity Enterprise Edition User Guide. [Online]. Available: [2002, Nov 27]
  22. 22.
    van der Hoek, A.: Configuration Management and Open Source Projects. Proceedings of the 3rd International Workshop on Software Engineering over the Internet (2000)Google Scholar
  23. 23.
    Wooldridge, M.J.: Agent-Based Software Engineering. IEEE Proceedings of Software Engineering. Vol. 144 Issue. 1 (1997) 26–37CrossRefGoogle Scholar
  24. 24.
    Working in Base ClearCase. [Online]. Available (Requires Rational Membership): [2002, Nov 27]

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Ciaran O’Reilly
    • 1
  • Philip Morrow
    • 1
  • David Bustard
    • 1
  1. 1.School of Computing and Information EngineeringUniversity of UlsterColeraineNorthern Ireland

Personalised recommendations