skip to main content
article
Free Access

Assessing process-centered software engineering environments

Published:01 July 1997Publication History
Skip Abstract Section

Abstract

Process-centered software engineering environments (PSEEs) are the most recent generation of environments supporting software development activities. They exploit an representation of the process (called the process model that specifies how to carry out software development activities, the roles and tasks of software developers, and how to use and control software development tools. A process model is therefore a vehicle to better understand and communicate the process. If it is expressed in a formal notation, it can be used to support a variety of activities such as process analysis, process simulation, and process enactment. PSEEs provide automatic support for these activities. They exploit languages based on different paradigms, such as Petri nets and rule-based systems. They include facilities to edit and analyze process models. By enacting the process model, a PSEE provides a variety of services, such as assistance for software developers, automation of routine tasks, invocation and control of software development tools, and enforcement of mandatory rules and practices. Several PSEEs have been developed, both as research projects and as commercial products. The initial deployment and exploitation of this technology have made it possible to produce a significant amount of experiences, comments, evaluations, and feedback. We still lack, however, consistent and comprehensive assessment methods that can be used to collect and organize this information. This article aims at contributing to the definition of such methods, by providing a systematic comparison grid and by accomplishing an initial evaluation of the state of the art in the field. This evaluation takes into account the systems that have been developed by the authors in the past five years, as well as the main characteristics of other well-known environments

References

  1. ABDEL-HAMID, T. K. AND MADNICK, S. 1991. Software Project Dynamics: An Integrated approach. Prentice-Hall, Englewood Cliffs, N.J. Google ScholarGoogle Scholar
  2. AMBRIOLA, V., CIANCARINI, P., AND MONTANGERO, C. 1990. Enacting software processes in OIKOS. In Proceedings of the 4th ACM SIGSOFT Symposium on Software Development Environments (SDE 4). ACM, New York, 183-192. Google ScholarGoogle Scholar
  3. AMBRIOLA, V., CIGNONI, G. A., AND MONTANGERO, C. 1994. The OIKOS services for object management in the software process. In Proceedings of the 3rd European Workshop on Software Process Technology (EWSPT 94). Lecture Notes in Computer Science, vol. 772. Springer-Verlag, New York, 2-14. Google ScholarGoogle Scholar
  4. ARBAOUI, S. AND OQUENDO, F. 1994. PEACE: Goal-oriented logic-based formalism for process modeling. In Software Process Modeling and Technology, A. Finkelstein, J. Kramer, and B. Nuseibeh, Eds. Research Studies Press, London, U.K. Google ScholarGoogle Scholar
  5. BALDI, M. AND DALL'ANESE, T. 1995. A distributed object-based system for process model enaction. Tech. Rep., Dipartimento di Automatica e Informatica, Politecnico di Torino, Turin, Italy.Google ScholarGoogle Scholar
  6. BANDINELLI, S. 1996. Report on the workshop on Software Process Environment architecture. Softw. Process-Improv. Pract. 2, 1 (Mar.).Google ScholarGoogle Scholar
  7. BANDINELLI, S., CERI, S., AND FELDER, M. 1996a. TANGO: A notation for describing advanced transaction models. In Proceedings of the International Conference on Information Systems Analysis and Synthesis (July).Google ScholarGoogle Scholar
  8. BANDINELLI, S., DI NITTO, E., AND FUGGETTA, A. 1994a. Policies and mechanisms to support process evolution in PSEEs. In Proceedings of the 3rd International Conference on the Software Process (ICSP 3). IEEE Computer Society, Washington, D.C.Google ScholarGoogle Scholar
  9. BANDINELLI, S., DI NITTO, E., AND FUGGETTA, A. 1996b. Supporting cooperation in software development. IEEE Trans. Softw. Eng 22, 12 (Dec.), 9-20. Google ScholarGoogle Scholar
  10. BANDINELLI, S., DI NITTO, E., FUGGETTA, A., AND LAVAZZA, L. 1994b. Coupled vs. decoupled user interfaces in PSEEs. In Proceedings of the 9th International Software Process Workshop (ISPW 9). IEEE Computer Society, Washington, D.C.Google ScholarGoogle Scholar
  11. BANDINELLI, S., FUGGETTA, A., GHEZZI, C., AND LAVAZZA, L. 1994c. SPADE: An environment for software process analysis, design, and enactment. In Software Process Modeling and Technology, A. Finkelstein, J. Kramer, and B. Nuseibeh, Eds. Research Studies Press, London, U.K. Google ScholarGoogle Scholar
  12. BANDINELLI, S., FUGGETTA, A., LAVAZZA, L., LOI, M., AND PICCO, G. 1995. Modeling and improving an industrial software process. IEEE Trans. Softw. Eng. 21, 5 (May). Google ScholarGoogle Scholar
  13. BARGHOUTI, N. S. 1994. Separating process model enactment from process execution in Provence. In Proceedings of the 9th International Software Process Workshop (ISPW-9). IEEE Computer Society, Washington, D.C.Google ScholarGoogle Scholar
  14. BARGHOUTI, N. S. AND FEILER, P.g. 1993. Demonstration experience report sessions summary. In Proceedings of the 8th International Software Process Workshop (ISPW 8) (Wadern, Germany). IEEE Computer Society Press, Los Alamitos, Calif., 2-5.Google ScholarGoogle Scholar
  15. BEN-SHAUL, I. Z. AND KAISER, G. 1994. A paradigm for decentralized process modeling and its realization in the Oz environment. In Proceedings of the 16th International Conference on Software Engineering (May). IEEE Computer Society, Washington, D.C. Google ScholarGoogle Scholar
  16. BRUYNOOGHE, F., GREENWOOD, R. M., ROBERTSON, I., SA, J., AND WARBOYS, B. C. 1994. PADM: Towards a total process modeling system. In Software Process Modeling and Technology, A. Finkelstein, J. Kramer, and B. Nuseibeh, Eds. Research Studies Press, London, U.K. Google ScholarGoogle Scholar
  17. CANALS, J., BOUDJLIDA, N., DERNIAME, J. C., GODART, C., AND LONCHAMP, J. 1994. ALF: A framework for building process-centered software engineering environments. In Software Process Modeling and Technology, A. Finkelstein, J. Kramer, and B. Nuseibeh, Eds. Research Studies Press, London, U.K. Google ScholarGoogle Scholar
  18. CHIMENTI, D., GAMBA, R., KRISHNAMURTHY, R., NAQVI, S., TSUR, S., AND ZANIOLO, C. 1990. The LDL system prototype. IEEE Trans. Knowl. Data Eng. 2, 1 (Mar.). Google ScholarGoogle Scholar
  19. CONRADI, R., FERNSTROM, C., AND FUGGETTA, A. 1994a. Concepts for evolving software processes. In Software Process Modeling and Technology, A. Finkelstein, J. Kramer, and B. Nuseibeh, Eds. Research Studies Press, London, U.K. Google ScholarGoogle Scholar
  20. CONRADI, R., LIU, C., AND HAGASETH, M. 1995. Planning support for cooperating transactions in EPOS. Inf. Syst. 20, 4 (June), 317-326. Google ScholarGoogle Scholar
  21. CONRADI, R., HASGASETH, M., LARSEN, J.-O., NGUYEN, M. N., MUNCH, B. P., WESTBY, P. H., ZHU, W., JACCHERT, M. L., AND LIU, C. 1994b. EPOS: Object-oriented cooperative process modeling. In Software Process Modeling and Technology, A. Finkelstein, J. Kramer, and B. Nuseibeh, Eds. Research Studies Press, London, U.K. Google ScholarGoogle Scholar
  22. CURTIS, B., KELLNER, M., AND OVER, J. 1992. Process modeling. Commun. ACM 35, 9 (Sept.). Google ScholarGoogle Scholar
  23. DERNIAME, J. C., Ed. 1992. Proceedings of EWSPT 92 (2nd European Workshop on Software Process Technology). Lecture Notes in Computer Science, vol. 635. Springer-Verlag, New York. Google ScholarGoogle Scholar
  24. DI NITTO, E. AND FUGGETTA, A. 1995. Integrating process technology and CSCW. In Proceedings of the 4th European Workshop on Software Process Technology. Lecture Notes in Computer Science, vol. 913. Springer-Verlag, New York. Google ScholarGoogle Scholar
  25. DINKHOFF, G., GRUHN, V., SAALMANN, A., AND ZIELONKA, M. 1994. Business process modeling in the workflow management environment LEU. In Proceedings of the 13th International Conference on the Entity-Relationship Approach. Lecture Notes in Computer Science, vol. 881. Springer-Verlag, New York. Google ScholarGoogle Scholar
  26. FEILER, P. AND HUMPHREY, W. 1993. Software process development and enactment: Concept and definitions. In Proceedings of the 2nd International Conference on the Software Process (ICSP 2) (Berlin, Germany). IEEE Computer Society, Washington, D.C.Google ScholarGoogle Scholar
  27. FERNANDEZ, M. F. AND ZDONIK, S. B. 1989. Transaction groups: A model for controlling cooperative work. In 3rd International Workshop on Persistent Object Systems, Their Design, Implementation and Use (Jan.). 341-350. Google ScholarGoogle Scholar
  28. FERNSTROM, C. 1993. Process Weaver: Adding process support to UNIX. In Proceedings of the 2nd International Conference on the Software Process.Google ScholarGoogle Scholar
  29. FINKELSTEIN, A., KRAMER, J., AND NUSEIBEH, B., Eds. 1994. Software Process Modeling and Technology. Research Studies Press, London, U.K. Google ScholarGoogle Scholar
  30. FRAILLY, D.J. 1993. Concurrent engineering and the software process. In Proceedings of the 2nd International Conference on the Software Process (ICSP 2) (Berlin, Germany). IEEE Computer Society Press, Los Alamitos, Calif.Google ScholarGoogle Scholar
  31. FUGGETTA, A. 1993. A classification of CASE technology. IEEE Computer 26, 12 (Dec.), 25-38. Google ScholarGoogle Scholar
  32. FUGGETTA, A. AND GHEZZI, C. 1994. State of the art and open issues in PSEEs. J. Syst. Softw. 26, 1 (July), 53-60. Google ScholarGoogle Scholar
  33. FUGGETTA, A. AND PICCO, G. P. 1994. An annotated bibliography on software process improvement. ACM SIGSOFT Softw. Eng. Notes 19, 4 (July), 66-68. Google ScholarGoogle Scholar
  34. FUGGETTA, A. AND WOLF, A., Eds. 1996. Trends in Software: Software Process. Vol. 4. John Wiley and Sons, New York, 160. Google ScholarGoogle Scholar
  35. FUGGETTA, A., CONRADI, R., AND AMBRIOLA, V., Eds. 1991. Proceedings of the 1st European Workshop on Software Process Modeling. AICA (Italian National Association for Computer Science), Milan, Italy.Google ScholarGoogle Scholar
  36. FUGGETTA, A., GHEZZI, C., MANDRIOLI, D., AND MORZENTI, A. 1993. Executable specification with dataflow diagrams. Softw. Pract. Exper. 23, 6 (June), 629-693. Google ScholarGoogle Scholar
  37. FUGGETTA, A., LAVAZZA, L., MORASCA, S., CINTI, S., OLDANO, G., AND ORAZI, E. 1996. Applying G/Q/M in an industrial software factory. Tech. Rep., CEFRIEL, Milano, Italy.Google ScholarGoogle Scholar
  38. GARLAN, D. AND SHAW, M. 1993. An introduction to software architecture. In Advances in Software Engineering and Knowledge Engineering, V. Ambriola and G. Tortora, Eds. World Scientific Publishing Co.Google ScholarGoogle Scholar
  39. GARG, P. AND JAZAJERI, M. 1996. PSEEs: A grand tour. In Trends in Software: Software Process, A. Fuggetta and W. Wolf, Eds. John Wiley and Sons, New York.Google ScholarGoogle Scholar
  40. GARG, P., MI, P., PHAM, T., SCACCHI, W., AND THUNQUEST, G. 1994. The SMART approach for software process engineering. In Proceedings of the 16th International Conference on Software Engineering. IEEE Computer Society, Washington, D.C. Google ScholarGoogle Scholar
  41. GRUHN, V. AND JEGELKA, R. 1992. An evaluation of FUNSOFT nets. In Proceedings of the 2nd European Workshop on Software Process Technology (EWSPT 92). Lecture Notes in Computer Science. Springer-Verlag, New York. Google ScholarGoogle Scholar
  42. HUFF, K. 1996. Software process modeling. In Trends in Software: Software Process, A. Fuggetta and W. Wolf, Eds. John Wiley and Sons, New York.Google ScholarGoogle Scholar
  43. HUFF, K. AND LESSER, V. 1989. A plan-based intelligent assistant that supports the software development process. In Proceedings of the 3rd Software Engineering Symposium on Practical Software Development Environments. Google ScholarGoogle Scholar
  44. IEEE. 1994. Special issue on measurement-based process improvement. IEEE Softw. 11, 4 (July). Google ScholarGoogle Scholar
  45. IIDA, H., MIMURA, K., INOUE, K., AND TORII, K. 1994. Hakinowa: Monitor and navigation system for cooperative software development. In Proceedings of the 3rd International Conference on the Software Process.Google ScholarGoogle Scholar
  46. JUNKERMANN, G., PUESCHEL, B., SCHAFER, W., AND WOLF, S. 1994. MERLIN: Supporting cooperation through a knowledge-based environment. In Software Process Modeling and Technology, A. Finkelstein, J. Kramer, and B. Nuseibeh, Eds. Research Studies Press, London, U.K. Google ScholarGoogle Scholar
  47. KAISER, G., POPOVICH, S., AND BEN-SHAUL, I. Z. 1993. A bi-level language for software process modeling. In Proceedings of 15th International Conference on Software Engineering (ICSE 15) (Baltimore, Md.). IEEE Computer Society, Washington, D.C. Google ScholarGoogle Scholar
  48. KATAYAMA, T. 1989. A hierarchical and functional software process description and its enaction. In Proceedings of the 11th International Conference on Software Engineering. Google ScholarGoogle Scholar
  49. KELLNER, M., FEILER, P., FINKELSTEIN, A., KATAYAMA, T., OSTERWEIL, L., PENEDO, M., AND ROMBACH, H.D. 1990. Software process modeling example problem. In Proceedings of the 6th International Software Process Workshop. IEEE Computer Society Press, Los Alamitos, Calif., 19-29. Google ScholarGoogle Scholar
  50. KORTH, H., KIM, W., AND BANCILHON, F. 1985. A model of CAD transactions. In Proceedings of the 11th International Conference on Very Large Databases. VLDB Endowment, Saratoga, Calif., 25-33.Google ScholarGoogle Scholar
  51. KRAMER, J. AND MAGEE, J. 1990. The evolving philosophers problem: Dynamic change management. IEEE Trans. Softw. Eng. 16, 11 (Nov.), 1293-1306. Google ScholarGoogle Scholar
  52. KRISHNAMURTHY, B. AND BARGHOUTI, N. 1993. Provence: A process visualization and enactment environment. In Proceedings of 4th European Software Engineering Conference (ESEC 93). Lecture Notes in Computer Science, vol. 717. Springer-Verlag, New York, 451-465. Google ScholarGoogle Scholar
  53. LONCHAMP, J. 1993. A structured conceptual and terminological framework for software process engineering. In Proceedings of the 2nd International Conference on the Software Process (ICSP 2) (Berlin, Germany). IEEE Computer Society Press, Los Alamitos, Calif.Google ScholarGoogle Scholar
  54. LONCHAMP, J. 1994. An assessment exercise. In Software Process Modeling and Technology, A. Finkelstein, J. Kramer, and B. Nuseibeh, Eds. Research Studies Press, London, U.K. Google ScholarGoogle Scholar
  55. MADHAVJI, N. AND SCHAFER, W. 1991. Prism-methodology and process-oriented environment. IEEE Trans. Softw. Eng. 17, 12 (Dec.), 1270-1283. Google ScholarGoogle Scholar
  56. MI, P. AND SCACCHI, W. 1990. A knowledge-based environment for modeling and simulating software engineering processes. IEEE Trans. Knowl. Data Eng. 2, 3 (Mar.). Google ScholarGoogle Scholar
  57. MONTANGERO, C. 1995. In favour of a coherent process coding language. In Proceedings of the 4th European Workshop on Software Process Technology. Lecture Notes in Computer Science, vol. 913. Springer-Verlag, New York. Google ScholarGoogle Scholar
  58. MONTANGERO, C., Ed. 1996. Proceedings of the 5th European Workshop on Software Process Technology (EWSPT 96) (Nancy, France, Oct.). Lecture Notes in Computer Science, vol. 1149. Springer-Verlag, New York. Google ScholarGoogle Scholar
  59. MONTANGERO, C. AND AMBRIOLA, V. 1994. OIKOS: Constructing process-centered SDEs. In Software Process Modeling and Technology, A. Finkelstein, J. Kramer, and B. Nuseibeh, Eds. Research Studies Press, London, U.K. Google ScholarGoogle Scholar
  60. PAULK, M. C., WEBER, C. V., CURTIS, B., AND CHRISSIS, M. B., Eds. 1995. The Capability Maturity Model: Guidelines for Improving the Software Process. Software Engineering Inst., Carnegie-Mellon Univ., Pittsburgh, Pa., and Addison-Wesley, Reading, Mass. Google ScholarGoogle Scholar
  61. PUESCHEL, B. AND WOLF, S. 1993. Architectural support for distributed process-centered software development environments. In Proceedings of the 8th International Software Process Workshop (ISPW 8) (Dagstuhl, Germany, Mar.). IEEE Computer Society, Washington, D.C.Google ScholarGoogle Scholar
  62. RABBI, S. AND OQUENDO, F. 1994. PEACE: Goal-oriented logic-based formalism for process modeling. In Software Process Modeling and Technology, A. Finkelstein, J. Kramer, and B. Nuseibeh, Eds. Research Studies Press, London, U.K. Google ScholarGoogle Scholar
  63. SCACCHI, W. AND MI, P. 1993. Experiences in the modeling, analysis, and simulation of formalized software processes. In Proceedings of the 8th International Software Process Workshop (ISPW 8) (Dagstuhl, Germany). IEEE Computer Society Press, Los Alamitos, Calif.Google ScholarGoogle Scholar
  64. SCHAFER, W., Ed. 1995. Proceedings of the 4th European Workshop on Software Process Technology (EWSPT 95) (Noordwijkerhout, The Netherlands, Apr.). Lecture Notes in Computer Science, vol. 913. Springer-Verlag, New York. Google ScholarGoogle Scholar
  65. SCHAFER, W. AND WOLF, S. 1994. Cooperation patterns for process-centered software development environments. Tech. Rep., Dept. of Computer Science, Univ. of Dortmund, Dortmund, Germany.Google ScholarGoogle Scholar
  66. SKARRA, A. 1989. Concurrency control for cooperating transactions in an object-oriented database. SIGPLAN Not. 24, 4 (Feb.), 466-473. Google ScholarGoogle Scholar
  67. SNOWDON, R. 1992. An example of process change. In Proceedings of the 2nd European Workshop on Software Process Technology (EWSPT 92). Lecture Notes in Computer Science, vol. 635. Springer-Verlag, New York. Google ScholarGoogle Scholar
  68. SUTTON, S. 1993. Opportunity, limitations, and trade-offs in process programming. In Proceedings of the 2nd International Conference on the Software Process (ICSP 2) (Berlin, Germany). IEEE Computer Society Press, Los Alamitos, Calif.Google ScholarGoogle Scholar
  69. SUTTON, S., HEIMBIGNER, D., AND OSTERWEIL, L. 1995. APPL/A: A language for software process programming. ACM Trans. Softw. Eng. Methodol. 4, 3 (July), 221-286. Google ScholarGoogle Scholar
  70. WARBOYS, B., Ed. 1994. Proceedings of the 3rd European Workshop on Software Process Technology (EWSPT 94). Lecture Notes in Computer Science, vol. 772. Springer-Verlag, New York. Google ScholarGoogle Scholar

Index Terms

  1. Assessing process-centered software engineering environments

          Recommendations

          Reviews

          Noah S. Prywes

          The software development process is complex and typically involves many phases, among them definition of requirements, design, implementation, and testing, sometimes employing alternative design methodologies, programming languages, and tools. Many of the flaws found by users in released software can be attributed to a lack of sound software development practices. Some software developers have placed an emphasis on process, including those at the Carnegie Mellon Software Engineering Institute, who have used their Capability Maturity rankings as a basis for self-improvement for software developers. The authors of this paper advocate constructing an encompassing environment to be used for modeling and implementing the software development process. They present an assessment based on their combined research projects and their construction of prototypes of such an environment. These activities have been preliminary and have been carried out in research organizations, without strong industrial feedback. The paper focuses on the languages used for defining models and developing software. Because of the many phases, methodologies, and tools that must be expressed in the process, these languages must be flexible and powerful. The authors have constructed an “assessment grid” that deals with three main categories: process modeling language technology, process-centered software engineering environment architecture, and finally, experience (which is minimal). Each category is supplemented by more detailed attributes, which are discussed in detail as they have been implemented in the authors' respective projects. The paper is oriented to researchers rather than practitioners, and includes an up-to-date bibliography. For a broader description of the software development approach, see Finkelstein, Kramer, and Nuseibeh [1].

          Access critical reviews of Computing literature here

          Become a reviewer for Computing Reviews.

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader