Tool Support for Collaborative Software Prototyping

Thumbnail Image

Files (399.49 KB)
No. of downloads: 138
CS-TR-3399.pdf (191.73 KB)
No. of downloads: 591

Publication or External Link







Prototyping is a means by which requirements for software projects can be defined and refined before they are committed to firm specifications for the finished software product. By this process, costly and time-consuming errors in specification can be avoided or minimized. Reconfiguration is the concept of altering the program code, bindings between program modules, or logical or physical distribution of software components while allowing the continuing execution of the software being changed. Combining these two notions suggests the potential for a development environment where requirements can be quickly and dynamically evolved. This paper discusses reconfiguration-based prototyping (RBP), that is, the simultaneous consideration of requirements, software behavior and user feedback within a running system in order to derive a clear specification of an intended product. Tools enabling RBP can coordinate the efforts of developers, users and subject matter specialists alike as they work towards consensus on an application's specification by means of a prototype. The authors describe the scope of the modifications that can be effected by an integration of prototyping and reconfiguration protocols, and they then demonstrate that the technology exists to create such an environment. They conclude by describing a software development environment based on RBP. (Also cross-referenced as UMIACS-TR-95-5)