Supporting design: a computational theory of design and its implementation in a software support tool
Files
TR Number
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Most work in knowledge acquisition and manipulation has focused on expert systems. Expert systems solve one kind of problem: heuristic classification. This thesis extends some advances in knowledge engineering to a broader class of problem: design.
Design is examined as a generic activity, found in many fields of professional practice. A theoretical framework is developed that supports the refinement of design from high-level concepts through implementation. This framework includes a computational model that is shown to be completely general (Turing-equivalent). Therefore, the theory and model are suitable for representing any design project. They are applied specifically to software development.
Practical support for software designers is offered in a prototype software design system. Existing work in automated knowledge acquisition is used to transfer knowledge about a design from the designer to the automated tool. Consistent support for refinement of design choices at any level of detail makes design a maintainable activity. This opens new possibilities for automated code generation, automated maintenance, and the nlore effective management of software at a higher-level design representation.