Abstract
This paper indicates how effective software-process programming languages can lead to improved understandings of critical software processes, as well as improved process performance. In this paper we study the commonly mentioned, but seldom defined, rework process. We note that rework is generally understood to be a major software development activity, but note that it is poorly defined and understood. In this paper we use the vehicle of software-process programming to elucidate the nature of this type of process. In doing so we demonstrate that an effective language (i.e. one incorporating appropriate semantic features) can help explain the nature of rework, and also raise hopes that this type of process can be expedited through execution of the defined process. The paper demonstrates the key role played in effective rework definition by such semantic features as procedure invocation, scoping, exception management, and resource management, which are commonly found in programming languages. A more ambitious program of research into the most useful process-programming language semantic features is then suggested. The goal of this work is improved languages, for improved understandings of software processes, and improved support for software development.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
FileNet Business Process Manager, http://www.filenet.com
PAVONE Process Modeler, http://www.pavone.com/web/uk/pages.nsf/goto/home
MultiDESKWorkflow, http://www.multidesk.com/
Poseidon for UML, http://www.gentleware.com
First CeBASE eWorkshop: Focusing on the cost and effort due to software defects. NSF Center for Empirically Based Software Engineering (March 2001), http://www.cebase.org/www/researchActivities/defectReduction/eworkshop1/
Bandinelli, S., Fuggetta, A., Grigolli, S.: Process modeling in-the-large with SLANG. In: Proc. of the Second Int. Conf. on the Soft. Process, pp. 75–83. IEEE Computer Society Press, Los Alamitos (1993)
Belkhatir, N., Estublier, J., Walcelio, M.L.: ADELE-TEMPO: An environment to support process modeling and enaction. In: Finkelstein, A., Kramer, J., Nuseibeh, B. (eds.) Software Process Modelling and Technology, pp. 187–222. John Wiley & Sons Inc., Chichester (1994)
Boehm, B.: A spiral model of software development and enhancement. IEEE Computer 21(5), 61–72 (1988)
Butler, K., Lipke, W.: Software process achievement at Tinker Air Force Base. Technical Report CMU/SEI-2000-TR-014, Carnegie-Mellon Software Engineering Institute (September 2000)
Canals, G., Boudjlida, N., Derniame, J.-C., Godart, C., Lonchamp, J.: ALF:A framework for building process-centred software engineering environments. In: Finkelstein, A., Kramer, J., Nuseibeh, B. (eds.) Software Process Modelling and Technology, pp. 153–185. John Wiley & Sons Inc, Chichester (1994)
Casati, F., Ceri, S., Paraboschi, S., Pozzi, G.: Specification and implementation of exceptions in workflow management systems. ACM Trans. on Database Systems 24(3), 405–451 (1999)
Cass, A.G., Lerner, B.S., McCall, E.K., Osterweil, L.J., Wise, A.: Logically central, physically distributed control in a process runtime environment. Technical Report 99-65, U. of Massachusetts, Dept. of Comp. Sci. (November 1999)
Cobleigh, J.M., Clarke, L.A., Osterweil, L.J.: Verifying properties of process definitions. In: Proc. of the 2000 Int. Symp. on Soft. Testing and Analysis (ISSTA), August 2000, pp. 96–101 (2000)
Cohen, D.: AP5 Manual. Univ. of Southern California, Information Sciences Institute (March 1988)
Conradi, R., Hagaseth, M., Larsen, J.-O., Nguyên, M.N., Munch, B.P., Westby, P.H., Zhu, W., Jaccheri, M.L., Liu, C.: EPOS: Object-oriented cooperative process modelling. In: Finkelstein, A., Kramer, J., Nuseibeh, B. (eds.) Software Process Modelling and Technology, pp. 33–70. John Wiley & Sons Inc., Chichester (1994)
Deiters, W., Gruhn, V.: Managing software processes in the environment melmac. In: Proc. of the Fourth ACM SIGSOFT/SIGPLAN Symp. on Practical Soft. Development Environments, Irvine, California, pp. 193–205. ACM Press, New York (1990)
Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Reading (1999)
Ghezzi, C., Jazayeri, M., Mandrioli, D.: Fundamentals of Software Engineering. Prentice Hall, Englewood Cliffs (1991)
Haley, T., Ireland, B., Wojtaszek, E., Nash, D., Dion, R.: Raytheon Electronic Systems experience in software process improvement. Technical Report CMU/SEI-95-TR-017, Carnegie-Mellon Software Engineering Institute (November 1995)
Harel, D., Lachover, H., Naamad, A., Pnueli, A., Politi, M., Sherman, R., Shtull-Trauring, A., Trakhtenbrot, M.: STATEMATE: A working environment for the development of complex reactive systems. IEEE Trans. on Soft. Eng. 16(4), 403–414 (1990)
Herbsleb, J., Carleton, A., Rozum, J., Siegel, J., Zubrow, D.: Benefits of cmm-based software process improvement: Initial results. Technical Report CMU/SEI-94-TR-013, Carnegie-Mellon Software Engineering Institute (August 1994)
Jacobson, I., Booch, G., Rumbaugh, J.: The Unified Software Development Process. Object Technology Series. Addison-Wesley, Reading (1999)
Junkermann, G., Peuschel, B., Schäfer, W., Wolf, S.: MERLIN: Supporting cooperation in software development through a knowledge-based environment. In: Finkelstein, A., Kramer, J., Nuseibeh, B. (eds.) Software Process Modelling and Technology, pp. 103–129. John Wiley & Sons Inc., Chichester (1994)
Kaiser, G.E., Barghouti, N.S., Sokolsky, M.H.: Experience with process modeling in the marvel software development environment kernel. In: Shriver, B. (ed.) 23rd Annual Hawaii International Conference on System Sciences, Kona HI, January 1990, vol. II, pp. 131–140 (1990)
Katayama, T.: A hierarchical and functional software process description and its enaction. In: Proc. of the Eleventh Int. Conf. on Soft. Eng., pp. 343–353. IEEE Comp. Society Press, Los Alamitos (1989)
King, J., Diaz, M.: How CMM impacts quality, productivity, rework, and the bottom line. CrossTalk - The Journal of Defense Software Engineering, 3–14 (March 2002)
Montangero, C., Ambriola, V.: OIKOS: Constructing Process-Centered SDEs. In: Finkelstein, A., Kramer, J., Nuseibeh, B. (eds.) Software Process Modelling and Technology, pp. 33–70. John Wiley & Sons Inc., Chichester (1994)
Paulk, M.C., Weber, C.V., Curtis, B., Chrissis, M.B.: Guidelines for Improving the Software Process. Addison-Wesley, New York (1995)
Podorozhny, R.M., Lerner, B.S., Osterweil, L.J.: Modeling resources for activity coordination and scheduling. In: Ciancarini, P., Wolf, A.L. (eds.) COORDINATION 1999. LNCS, vol. 1594, pp. 307–322. Springer, Heidelberg (1999)
Pressman, R.S.: Software Engineering: A Practitioner’s Approach, 4th edn. McGraw-Hill, New York (1997)
Robbins, J.E., Hilbert, D.M., Redmiles, D.F.: Argo: A design environment for evolving software architectures. In: Proc. of the Nineteenth Int. Conf. on Soft. Eng., May 1997, pp. 600–601. Assoc. of Computing Machinery Press (1997)
Sommerville, I.: Software Engineering, 5th edn. Addison-Wesley, Reading (1996)
Sutton Jr., S.M., Heimbigner, D., Osterweil, L.J.: APPL/A: A language for softwareprocess programming. ACM Trans. on Soft. Eng. and Methodology 4(3), 221–286 (1995)
Sutton Jr., S.M., Osterweil, L.J.: The design of a next-generation process language. In: Proc. of the Sixth European Soft. Eng. Conf. held jointly with the Fifth ACM SIGSOFT Symp. on the Foundations of Soft. Eng., Zurich, Switzerland, pp. 142–158. Springer, Heidelberg (1997)
Suzuki, M., Iwai, A., Katayama, T.: A formal model of re-execution in software process. In: Proc. of the Second Int. Conf. on the Soft. Process, Berlin, Germany, pp. 84–99. IEEE-PRESS, Los Alamitos (1993)
Wise, A.: Little-JIL 1.0 Language Report. Technical Report 98-24, U. of Massachusetts, Dept. of Comp. Sci. (April 1998)
Wise, A., Cass, A.G., Lerner, B.S., McCall, E.K., Osterweil, L.J., Sutton Jr., S.M.: Using Little-JIL to coordinate agents in software engineering. In: Proc. of the Automated Software Engineering Conf., Grenoble, France (September 2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cass, A.G., Sutton, S.M., Osterweil, L.J. (2003). Formalizing Rework in Software Processes. In: Oquendo, F. (eds) Software Process Technology. EWSPT 2003. Lecture Notes in Computer Science, vol 2786. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45189-1_3
Download citation
DOI: https://doi.org/10.1007/978-3-540-45189-1_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-40764-5
Online ISBN: 978-3-540-45189-1
eBook Packages: Springer Book Archive