This Article 
 Bibliographic References 
 Add to: 
Supporting Cooperation in the SPADE-1 Environment
December 1996 (vol. 22 no. 12)
pp. 841-865

Abstract—Software development is a cooperative activity that heavily relies on the quality and effectiveness of the communication channels established within the development team and with the end-user. In the software engineering field, several Software Engineering Environments (SEE) have been developed to support and facilitate software development. The most recent generation of these environments, called Process-Centered SEE (PSEE), supports the definition and the execution of various phases of the software process. This is achieved by explicitly defining cooperation procedures, and by supporting synchronization and data sharing among its users.

Actually, cooperation support is a theme of general interest and applies to all domains where computers can be exploited to support human-intensive activities. This has generated a variety of research initiatives and support technology that is usually denoted by the acronym CSCW (Computer Supported Cooperative Work).

PSEE and CSCW technologies have been developed rather independently from each other, leading to a large amount of research results, tools and environments, and practical experiences. We argue that we have reached a stage in technology development where it is necessary to assess and evaluate the effectiveness of the research efforts carried out so far. Moreover, it is important to understand how to integrate and exploit the results of these different efforts.

The goal of the paper is to understand which kind of basic functionalities PSEE can and should offer, and how these environments can be integrated with other tools to effectively support cooperation in software development. In particular, the paper introduces a process model we have built to support a cooperative activity related to anomaly management in an industrial software factory. The core of the paper is then constituted by the presentation and discussion of the experiences and results that we have derived from this modeling activity, and how they related to the general problem of supporting cooperation in software development. The project was carried out using the SPADE PSEE and the ImagineDesk CSCW toolkit, both developed at Politecnico di Milano and CEFRIEL during the past four years.

[1] S. Arbaoui and F. Oquendo, "Peace: Goal-Oriented Logic-Based Formalism for Process Modelling," Software Process Modelling and Technology, A. Finkelstein, J. Kramer, and B. Nuseibeh, eds., Research Studies Press, John Wiley&Sons, 1994.
[2] S. Bandinelli, "Report on the Workshop on Software Process Architectures," Software Process: Improvement and Practice, vol. 2, no. 1, pp. 54-72. John Wiley&Sons Ltd, Mar. 1996.
[3] S. Bandinelli,M. Braga,A. Fuggetta,, and L. Lavazza,“The Architecture of the SPADE-1 Process-Centered SEE,” Proc. Third European Workshop Software Process Technology,Grenoble, France, Feb. 1994.
[4] S. Bandinelli, E. Di Nitto, A. Fuggetta, and L. Lavazza, "Coupled vs. Decoupled User Interaction Environments in PSEEs," Proc. Ninth Int'l Workshop Software Process (ISPW9), Oct. 1994.
[5] S. Bandinelli, S. Ceri, and M. Felder, "TANGO: A Notation for Describing Advanced Transaction Models," Proc. Int'l Conf. Information Systems Analysis and Synthesis, July 1996.
[6] S. Bandinelli, A. Fuggetta, and C. Ghezzi, “Process Model Evolution in the SPADE Environment,” IEEE Trans. Software Eng., Dec. 1993.
[7] S. Bandinelli, A. Fuggetta, C. Ghezzi, and L. Lavazza, “SPADE: An Environment for Software Process Analysis, Design, and Enactment,” Software Process Modelling and Technology, A. Finkelstein, J. Kramer, and B. Nuseibeh, eds., 1994.
[8] S. Bandinelli, A. Fuggetta, L. Lavazza, M. Loi, and G.P. Picco, "Modeling and Improving an Industrial Software Process," IEEE Trans. Software Eng., vol. 21, no. 5, pp. 440-453, 1995.
[9] N.S. Barghouti and G.E. Kaiser, "Concurrency Control in Advanced Database Applications," ACM Computing Surveys, vol. 23, pp. 269-316, Sept. 1991.
[10] I. Ben-Shaul and G.E. Kaiser, "Process Support for Synchronous Groupware Activities," Technical Report CUCS-002-95, Columbia Univ., New York, 1995.
[11] D.P. Bogia, W.J. Tolone, S.M. Kaplan, and E. de la Tribouille, "Support Dynamic Interdependencies Among Collaborative Activities," Proc. Conf. Organizational Computing Systems, Nov. 1993.
[12] D.P. Bogia and S.M. Kaplan, “Flexibility and Control for Dynamic Workflows in the Worlds Environment,” Proc. Conf. Organizational Computing Systems, pp. 148-161, Nov. 1995.
[13] A. Carzaniga, G.P. Picco, and G. Vigna, "Designing and Implementing Inter-client Communication in the O2Object Oriented Data Base Management System," Proc. Object-Oriented Methodologies and Systems (ISOOMS'94), Lecture Notes in Computer Science 858, Springer-Verlag, 1994.
[14] G. Chroust, "Interpretable Process Models for Software Development and Workflow," Proc. Fourth European Workshop Software Process Technology, Lecture Notes in Computer Science 913, Springer-Verlag, Apr. 1995.
[15] Programming Systems Laboratory, Marvel 3.1.1 Manuals. Columbia Univ., New York, 1995.
[16] "Special Number on Collaborative Computing," Comm. ACM, vol. 34, no. 12. Dec. 1991.
[17] J. Conklin and M. Begeman, "gIBIS: A Tool for Exploratory Policy Discussion," Proc. CSCW 88, ACM Press, New York, 1988, pp. 140-152.
[18] F. De Paoli and F. Tisato, "CSDL: A Language for Cooperative Systems Design," IEEE Trans. Software Eng., vol. 20, no. 8, Aug. 1994.
[19] P. Dewan and B. Krishnamurthy, "Relations Between CSCW and Software Process Research: A Position Statement," Proc. Ninth Int'l Workshop Software Process (ISPW9), Oct. 1994.
[20] O. Deux et al., "The O2 System," Comm. ACM, vol. 34, no. 10, pp. 34-48, Oct. 1991.
[21] E. DiNitto and A. Fuggetta, "Integrating Process Technology and CSCW," Proc. IV European Workshop on Software Process Technology, Lecture Notes in Computer Sci., Springer-Verlag, Leiden, The Netherlands, Apr. 1995, pp. 154-161.
[22] G. Dinkhoff, V. Gruhn, A. Saalmann, and M. Zielonka, “Business Process Modeling in the Workflow Management Environment: Leu,” Proc. 13th Int'l Conf. Entity Relationship Approach, 1994.
[23] M. Dowson and C. Fernström, "Towards Requirements for Enactment Mechanisms," Proc. Third European Workshop Software Process Technology,Villard de Lans, Grenoble, France, Lecture Notes in Computer Science 772, Feb. 1994.
[24] C.A. Ellis, S.J. Giggs, and G.L. Rein, "Groupware: Some Issues and Experiences," Comm. ACM, Vol. 34, No. 1, Jan. 1991, pp. 38-58.
[25] C.A. Ellis and J. Wainer, "Goal-Based Models of Collaboration," Collaborative Computing, vol. 1, pp. 61-86, Mar. 1994.
[26] C. Fernström, "ProcessWEAVER: Adding Process Support to UNIX," Proc. Second Int'l Conf. Software Process: Continuous Software Process Improvement, IEEE Computer Soc. Press, Los Alamitos, Calif., Feb. 1993, pp. 12-26.
[27] A. Finkelstein, J. Kramer, and B. Nuseibeh, Software Process Modeling and Technology. Research Studies Press, U.K., 1994.
[28] A. Fuggetta, "A Classification of CASE Technology," Computer, vol. 26, no. 12, pp. 25-38, Dec. 1993.
[29] A. Fuggetta and C. Ghezzi, "Process Modeling Language Must Be Fully-Reflective," Proc. Eighth Int'l Software Process Workshop (ISPW8), Mar. 1993.
[30] A. Fuggetta and C. Ghezzi, "State of the Art and Open Issues in Process-Centered Software Engineering Environments," J. Systems&Software, vol. 26, July 1994.
[31] D. Garlan et al., "Exploiting Style in Architectural Design Environments," ACM SIGSOFT, pp. 175-188, 1994.
[32] D. Georgakopoulos, M. Hornick, and A. Sheth, "An Overview of Workflow Management: From Process Modeling to Workflow Automation Infrastructure," Distributed and Parallel Databases, Vol. 3, No. 2, Apr. 1995, pp. 119-153.
[33] Proc. Ninth Int'l Workshop Software Process (ISPW9), C. Ghezzi, ed., Oct. 1994.
[34] J. Gosling and H. McGilton, "The Java Language Environment: A White Paper," Technical Report, Sun Microsystems. Oct. 1995.
[35] V. Gruhn, "Interpersonal Process Support Systems," Season Report 1/94, Lion GmbH, Bochum, Germany, 1994.
[36] "Developing Synervision Processes," Hewlett-Packard, Palo Alto, Calif., Part no.: B3261-90003, May 1993.
[37] H. Ishii, M. Kobayashi, and J. Grudin, "Integration of Inter-Personal Space and Shared Workspace: ClearBoard Design and Experiments," Proc. ACM Computer Supported Cooperative Work, ACM, New York, 1992, pp.33-42.
[38] G. Junkerman et al., ”MERLIN: Supporting Cooperation in Software Development through a Knowledge-Based Environment,” Software Process Modelling Technology, A. Finkelstein, J. Kramer, and B. Nuseibeh, eds., ch. 5, pp. 103-130, Somerset, England: Research Studies Press, 1994.
[39] G.E. Kaiser, P.H. Feiler, and S.S. Popovich, Intelligence Assistance for Software Development and Maintenance IEEE Software, vol. 5, no. 3, pp. 40-49, 1988.
[40] S.M. Kaplan et al., "Supporting Collaborative Software Development with ConversationBuilder," Software Eng. Notes, Vol. 17, No. 5, Dec. 1992. Proc. Fifth ACM SIGSOFT Symp. on Software Development Environments.
[41] K. Kishida and D.E. Perry, "Team Efforts—Session Summary," Proc. Sixth Int'l Workshop Software Process (ISPW6), Oct. 1990.
[42] T.W. Malone, K. Lai, and C. Fry, "Experiments with Oval: A Radically Tailorable Tool for Cooperative Work," Proc. ACM Conf. Computer Supported Cooperative Work 92, Nov. 1992.
[43] R. Medina-Mora et al., "The Action Workflow Approach to Workflow Management Technology," Proc. Computer-Supported Cooperative Work '92, ACM Press, New York, 1992, pp. 281-288.
[44] D.E. Perry, "Enactment Control in Interact/Intermediate," Proc. Fourth European Workshop Software Process Technology, Lecture Notes in Computer Science 913, Springer-Verlag, Apr. 1995.
[45] S. Pozzi and E. Di Nitto, "ImagineDesk: A Software Platform Supporting Cooperative Applications," Proc. ACM 1994 Computer Science Conf. (CSC94), Mar. 1994.
[46] S.P. Reiss, "Connecting Tools Using Message Passing in the Field Environment," IEEE Software, vol. 7, no. 4, pp. 57-66, July 1990.
[47] S. Reiss, "Simplifying Data Integration: The Design of the Desert Software Development Environment," Proc. 18th. Int'l Conf. Software Eng. (ICSE 18), 1996.
[48] M. Roseman and S. Greenberg, "GroupKit: A Groupware Toolkit for Building Real-Time Conferencing Applications," ACM Proc. CSCW, ACM Press, New York, 1992, pp. 43-50.
[49] SPADE Team, SPADE 3.1 Manuals. Centro per la ricerca e la formazione in tecnologia dell'informazione (CEFRIEL), Politecnico di Milano, Italy, Mar. 1995.
[50] S.M. Sutton, D. Heimbigner, and L.J. Osterweil, “APPL/A: A Language for Software-Process Programming,” ACM Trans. Software Eng. Methodology, vol. 4, no. 3, July 1995.
[51] K.D. Swenson, R.J. Maxwell, T. Matsumoto, B. Saghari, and K. Irwin, "A Business Process Environment Supporting Collaborative Planning," Collaborative Computing, vol. 1, pp. 15-34, Mar. 1994.
[52] G. Valetto and G.E. Kaiser, "Enveloping Sophisticated Tools into Computer-Aided Software Engineering Environments," Proc. IEEE Seventh Int'l Workshop Computer-Aided Software Eng., pp. 40-48, July 1995.
[53] Y. Yang, "Coordination for Process Support is Not Enough!" Proc. Fourth European Workshop Software Process Technology, Lecture Notes in Computer Science 913, Springer-Verlag, Apr. 1995.

Index Terms:
Cooperative activities, CSCW, PSEE, software development environments, software processes.
Sergio Bandinelli, Elisabetta Di Nitto, Alfonso Fuggetta, "Supporting Cooperation in the SPADE-1 Environment," IEEE Transactions on Software Engineering, vol. 22, no. 12, pp. 841-865, Dec. 1996, doi:10.1109/32.553634
Usage of this product signifies your acceptance of the Terms of Use.