This Article 
 Bibliographic References 
 Add to: 
CSDL: A Language for Cooperative Systems Design
August 1994 (vol. 20 no. 8)
pp. 606-616

The aim of a cooperative system is to coordinate and support group activities. Cooperative Systems Design Language (CSDL) is an experimental language designed to support the development of cooperative systems from specification to implementation. In CSDL, a system is defined as a collection of reusable entities implementing floor control disciplines and shared workspaces. CSDL tries to address the difficulties of integrating different aspects of cooperative systems: cooperation control, communication, and system modularization. This paper presents CSDL as a specification language. Basic units are coordinators that can be combined hierarchically. A coordinator is composed of a specification, a body, and a context. The specification defines the cooperation policy; the body controls the underlying communication channels; and the context defines coordinators' interaction in modular systems.

[1] "Special issue on collaborative computing,"Communication of the ACM, vol. 34, no. 12.
[2] A. Bonfiglio, G. Malatesta and F. Tisato, "Conference toolkit: A framework for real-time conferencing, " inProc. 1st Eur. Conf. Computer-Supported Cooperative Work, 1989, pp. 303-316.
[3] T. Crowley et al., "MMConf: An Infrastructure for Building Shared Multimedia Applications,"Proc. ACM CSCW 90, ACM Press, New York, 1990, pp. 329-342.
[4] F. DePaoli and F. Tisato, "A model for real-time cooperation," inProc. Eur. Conf. Computer-Supported Cooperative Work, 1991, pp. 203-217.
[5] F. DePaoli and F. Tisato, "Coordinator: A basic building block for multimedia conferencing systems," inProc. IEEE GLOBECOM'91, Chicago, IL, USA, December 2-5, 1991.
[6] F. DePaoli and F. Tisato, "Development of a collaborative application in CSDL," inProc. 13th IEEE Int. Conf. Distrib. Computing Syst., Pittsburgh, PA, USA, May 25-28, 1993.
[7] F. DePaoli and F. Tisato, "Cooperative systems configuration in CSDL," inProc. 14th IEEE Int. Conf. Distrib. Computing Syst., Poznan, Poland, June 21-24, 1994.
[8] C.A. Ellis, S.J. Gibbs, and G.L. Rein, "Groupware: Some Issues and Experiences,"Comm. ACM, Vol. 34, No. 1, Jan. 1991, pp. 38-58.
[9] C. Ghezzi, M. Jazayeri, and D. Mandrioli,Fundamentals of Software Engineering. Englewood Cliffs, NJ: Prentice, 1991.
[10] S. J. Gibbs, "LIZA: An extensible groupware toolkit," inProc. Conf. Human Factors in Computing Syst. (CHI'89), 1989, pp. 29-35.
[11] H. Ishii, "TeamWorkstation: Toward a seamless shared workspace," inProc. Conf. Computer-Supported Cooperative Work, 1990, pp. 13-26.
[12] H. Ishii and N. Miyake, "Toward an open shared workspace: Computer and video fusion approach of teamworkstation,"Commun. ACM, vol. 34, pp. 36-50, Dec. 1991.
[13] P. LeGuernic, T. Gautier, M. LeBorgne, and C. LeMaire, "Programming real time applications with Signal,"Proc. IEEE, vol. 79, pp. 1321-1336, Sept. 1991.
[14] J. Patterson et al., "Rendezvous: An Architecture for Synchronous Multiuser Applications,"Proc. ACM CSCW 90, ACM Press, New York, 1990, pp. 317-328.
[15] S. Pozzi, D. Peterc, P. Concolino, E. DiNitto, and A. Molinaro, "Image Annotator: An image-based cooperative application," inProc. Conf. Image Commun. IMACOM'93, Bordeaux, France, Mar. 1993.
[16] S. Pozzi and E. DiNitto, "ImagineDesk: A software platform supporting cooperative applications," inProc. Ann. Comput. Sci. Conf., ACM, Mar. 1994.
[17] S. Pozzi and L. Giachino, "An object-oriented programming environment for multimedia cooperative information systems,"J. Intell. Cooperative Inform. Syst., vol. 3, June, 1994.
[18] T. Rodden and G. Blair, "CSCW and distributed systems: The problem of control," inProc. 2nd Eur. Conf. Computer-Supported Cooperative Work, 1991, pp. 49-64.
[19] T. Rodden, J. A. Mariani, and G. Blair, "Supporting cooperative applications,"Computer-Supported Cooperative Work (CSCW), vol. 1, pp. 41-67, 1992.
[20] M. Roseman and S. Greenberg, "Group-Kit: A Groupware Toolkit for Building Real-Time Conferencing Applications,"Proc. Conf. Computer-Supported Cooperative Work, ACM, New York, 1992, pp. 43-50.
[21] A. Sinha, "Client-Server Computing: Current Technology Review,"Comm. ACM, Vol. 35, No. 7, July 1992, pp. 77-98.
[22] M. Stefik, D. Bobrow, S. Lanning, D. Tatar, and G. Foster, "WYSIWIS revised: early experiences with multi-user interfaces,"ACM Trans. Office Inform. Syst., vol. 5, pp. 147-167, Apr. 1987.
[23] A. Tanenbaum,Computer Networks. Englewood Cliffs, NJ: Prentice-Hall, 1988.

Index Terms:
cooperative systems; groupware; distributed processing; specification languages; cooperative systems design; CSDL; group activities; shared workspaces; floor control; specification language; cooperation policy; CSCW; conferencing systems; groupware; design language; software architecture; distributed systems
F. De Paoli, F. Tisato, "CSDL: A Language for Cooperative Systems Design," IEEE Transactions on Software Engineering, vol. 20, no. 8, pp. 606-616, Aug. 1994, doi:10.1109/32.310670
Usage of this product signifies your acceptance of the Terms of Use.