Software process instantiation and the planning paradigm

  • Authors:
  • Karen E. Huff

  • Affiliations:
  • GTE Laboratories, 40 Sylvan Road, Waltham, MA

  • Venue:
  • ISPW '90 Proceedings of the 5th international software process workshop on Experience with software process models
  • Year:
  • 1990

Quantified Score

Hi-index 0.00

Visualization

Abstract

One of the challenges in finding a suitable paradigm for defining software processes relates to the highly dynamic nature of software development. The actions required to carry out a given process are often dependent on detailed aspects of the current state. For example, the modules that need to be archived are just those that have been changed since they were last archived; the choice of archival method (i.e., source code control system versus local backup copy) depends on whether the module is in a steady state or still rapidly changing; use of certain debugging features is ruled out unless compilations were done with optimization disabled; and, many quite diverse factors influence the choice of relevant test cases to be run against a particular system version. The fact that development takes place, in part, through trial-and-error means that failures occur frequently, and recovery from failure must be accommodated. In spite of the programmer's best intentions, design reviews reveal areas needing rework, compilers find errors in source code, test cases fail, and tools sometimes exhibit bugs themselves.Powerful instantiation facilities represent one way to handle this type of dynamic behavior. A software project defines the process its programmers are to follow, and the actions taken by the programmers represent instantiations of this process. At an absolute minimum, instantiation involves binding parameters in the process definition to specific software objects in the environment. In this paper, we describe the relationship between instantiation facilities and the dynamics of process activities. First, we illustrate some limitations in instantiation mechanisms using a familiar paradigm: procedural definitions of processes. Then we describe a different approach to instantiation used in the AI planning paradigm.