login

Variability in program design: the interaction of process with knowledge

International Journal of Man-Machine StudiesPublished 1 September 1990
Robert S. Rist
Citations28

TL;DR

A model of program design is proposed to explain program variability, and is experimentally supported; Variability is shown to be the result of different decisions made by programmers during three stages in the design process.

Abstract

A model of program design is proposed to explain program variability, and is experimentally supported. Variability is shown to be the result of different decisions made by programmers during three stages in the design process. In the first stage, a solution is created based on a particular design approach. In the second stage, actions in the solution are organized by features they share. The actions may then be merged together to define a more concise solution in program code, the third stage of design. Different programs will be created depending, on the approach taken to design the features selected to group actions in a solution, and the features used to merge actions to form program code. Each of the variants observed in the study was traced to the use of a specific piece of information by a programmer at one of the three stages of program design. Many different programs were created as the process of design interacted with the knowledge of the programmer.

Keywords

Computer Science