COO-transactions: Supporting cooperative work

  • Pascal Molli
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1235)


In COO, cooperation is a problem of synchronization among development activities running in parallel. We propose to encapsulate development activities within COO-transactions to ensure general properties on their concurrent execution. We have developed a new correctness criterion called COO-serializability which ensures consistency property in a cooperative context. COO-serializability is purely syntactic criterion based on the log analysis of repository access. In this paper, we describe COO-serializability foundation and how to evaluate it incrementally using the COO-protocol. Finally, we describe how we have implemented the COO-protocol in the COO environment.


Cooperation Concurrency control COO-serializability 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Barghouti, N. S. Supporting cooperation in the marvel process-centered sde. Proceedings of the Fifth ACM SIGSOFT Symposium on Software Development Environments 17, 5 (December 1992), 21–31.Google Scholar
  2. 2.
    Belkhatir, N., and Estublier, J. Adele-tempo: An Environment to Support Process Modelling and Enaction. In Software Process Modelling and Technology, J. K. A. Finkelstein and B. Nuseibeh, Eds. Research Study Press, 1994.Google Scholar
  3. 3.
    Bernstein, P., Hadzilacos, V., and Goodman, N. Concurrency Control and Recovery in Database Systems. Addison-Wesly, 1987.Google Scholar
  4. 4.
    Canals, G., Charoy, F., Godart, C., and Molli, P.P-Root & COO: Extending PCTE with new Capabilities. In ICSE'94 — Workshop on Databases for Software Engineering (Sorrento, Italy, 1994), IEEE Press.Google Scholar
  5. 5.
    Canals, G., Molli, P., and Godart, C. Concurrency control for cooperating software processes. In Advanced Transaction Models and Architecture (ATMA '96) (Goa, India, 1996).Google Scholar
  6. 6.
    Conradi, R., and al. EPOS: Object-Oriented Cooperative Process Modelling. In Software Process Modelling and Technology, A. Finkelstein, J. Kramer and B. Nuseibeh, Ed. Research Study Press, 1994.Google Scholar
  7. 7.
    Courington, W. The Network Software Environment. Tech. Rep. FE197-0, Sun Microsystems Inc., February 1989.Google Scholar
  8. 8.
    Dittrich, K., Gotthard, W., and Lockemann, P. Damokles — A Database System for Software Engineering Environments, 1987.Google Scholar
  9. 9.
    ECMA. Portable Common Tool Environment (PCTE), Abstract Specification. Standard ecma-149, European Computer Manufacturers Association, June 1993.Google Scholar
  10. 10.
    Feiler, P., and Downey, G. Transaction-Oriented Configuration Management: A Case Study. Tech. Rep. CMU/SEI-90-TR-23 ESD-90/TR-224, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, Pennsylvania 15213, November 1990.Google Scholar
  11. 11.
    Godart, C. COO: a Transaction Model to support COOperating software developers Coordination. In 4th European Software Engineering Conference (ESEC4), Garmisch, LNCS 717 (1993).Google Scholar
  12. 12.
    Godart, C., Canals, G., Charoy, F., Molli, P., and Skaf, H. Designing and Implementing COO: Design Process, Architectural Style, Lessons Learned. In International Conference on Software Engineering (ICSE18) (1996). IEEE Press.Google Scholar
  13. 13.
    Gray, J., and Reuter, A. Transaction Processing: Concepts and Techniques. Morgan Kaufmann, 1993.Google Scholar
  14. 14.
    Junkerman, G., Peushel, B., Schäfer, W., and Wolf, S. Merlin: Supporting Cooperation in Software Development Through a Knowledge Based Environment. In Software Process Modelling and Technology, J. K. A. Finkelstein and B. Nuseibeh, Eds. Research Study Press, 1994.Google Scholar
  15. 15.
    Kim, W., and Lochovsky, F., Eds. Object-Oriented Concepts, Databases and Applications. ACM Press, 1989.Google Scholar
  16. 16.
    K.Ramamritham, and Chrysanthis, P. In Search of Acceptability Criteria: Database Consistency Requirements and Transaction Correctness Properties. In Distributed Object Management, Özsu, Dayal, and Valduriez, Eds. Morgan Kauffman, 1993.Google Scholar
  17. 17.
    Martin, B., and Pedersen, C. Long-Lived Concurrent Activities. In Distributed Object Management, Özsu, Dayal, and Valduries, Eds. Morgan Kauffman, 1992.Google Scholar
  18. 18.
    M.H. Nodine, S. R., and Zdonik, S. A Cooperative Transaction Model for Design Databases. In Database transaction models for advanced applications, A. Elmagarmid, Ed. Morgan Kauffman, 1992.Google Scholar
  19. 19.
    Molli, P. Environnements de Développement Coopératifs. Thèse en informatique, Université de Nancy I — Centre de Recherche en Informatique de Nancy, 1996.Google Scholar
  20. 20.
    Pu, C., Kaiser, G., and Hutchinson, N. Split Transactions for Open-Ended Activities. In Proceedings of the 14th international conference on VLDB (Los Angeles, September 1988), pp. 26–37.Google Scholar
  21. 21.
    Pu, C., and Leff, A. Replica control in distributed systems: An asynchronous approach. In Proceedings of the 16th Annual ACM Conference on the Management of Data (Denver, May 1991), pp. 377–386.Google Scholar
  22. 22.
    Ramamritham, K., and Pu, C. A Formal Characterization of Epsilon Serialisability. IEEE Transactions on Knowledge and Data Engineering 7, 6 (December 1995), 997–1007.Google Scholar
  23. 23.
    Skaf, H., Charoy, F., and Godart, C. Maintaining Consistency of Cooperative Software Development Activities. submitted SEKE'97, 1997.Google Scholar
  24. 24.
    Wächter, H., and Reuter, A. The contract model. In Database Transaction Models for Advanced Applications, A. Elmagarmid, Ed. Morgan Kauffmann, 1992, ch. 7, pp. 219–258.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Pascal Molli
    • 1
    • 2
  1. 1.Bâtiment LORIAVandœuvre-lès-Nancy Cedex
  2. 2.CRIN/CNRS - Université Henri PoincaréNancy I

Personalised recommendations