PDP: Programming A Programmable Design Process

  • Authors:
  • Stanley M. Sutton Jr;Leon J. Osterweil

  • Affiliations:
  • Department of Computer Science, University of Massachusetts, Amherst, MA;Department of Computer Science, University of Massachusetts, Amherst, MA

  • Venue:
  • IWSSD '96 Proceedings of the 8th International Workshop on Software Specification and Design
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

We have been developing PDP, a system for programming the process of designing software that is based on Booch Object-Oriented Design. Because PDP allows tailoring and adaptation by participants, we consider it a programmable process. We believe that process programming can help in capturing and managing the inherent complexities of design processes and products, while programmability is necessary to accommodate the dynamic and creative aspects of design. PDP views the design process as comprising process steps, product artifacts, and execution resources. The process is multi-user and multi-role. The control model includes both proactive and reactive elements. Explicit consistency conditions interrelate product state and process control. Issues that arise in the programming of PDP include the integration of proactive and reactive control, the capturing of interrelations among steps, artifacts, and constraints, the identification of consistency conditions for design products and their implications for process control, and the accommodation of inconsistency and indeterminacy in evaluating design product state. Programmability is intended to provide organizations, managers, and developers with degrees of structured flexibility that are appropriate for their roles in the design process. PDP will make available variants of the design process; these will be tailorable through static and dynamic mechanisms. A number of issues arise with the introduction of programmability. For example, what distinguishes different design processes and their variants? What is a legal design process or product and to what extent can it be varied? What controls should be available to process managers and to design engineers?