Experiences with process programming

  • Authors:
  • Leon J. Osterweil

  • Affiliations:
  • Department of Information and Computer Science, University of California, Irvine, Irvine, California

  • 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

Our research has investigated the feasibility and ramifications of process programming. We claim that it is highly advantageous to treat software processes, such as development and maintenance, as actual software which can be specified, designed, coded, executed, tested, and maintained. If software processes are to be coded and executed, it is necessary for them to be coded in a language which can then be compiled, loaded, and executed. Likewise, if software processes are to specified and designed it is necessary to have process specification and design formalisms. We claim that process specification, design, and coding languages and formalisms will strongly resemble languages and formalisms currently used to specify software products, but that there will also be significant differences. We also claim that a properly conceived and developed software support environment can support the development of both product software and process software. We have engaged in considerable research to evaluate these claims.Our progress has been hampered by “research deadlock.” Languages and formalisms are required to effectively represent such objects as process designs and process code. That suggests that such languages and formalisms should be developed first. On the other hand, the creation of new programming languages, design formalisms, and specification technologies should begin only after significant experience in creating these software objects. That suggests that significant process software development should come first.We broke this “research deadlock” by developing a variety of prototypes—e. g. prototype process programs, prototype process coding languages, and a prototype process modelling formalism—and by evaluating each in the context of the others. This work has led to significant insights into the nature of process programming, the nature of various specific software processes, the difference between process programming and process modelling, the requirements for an effective process coding language, and the requirements for an effective process interpretation support system.