A knowledge-based design aid for the construction of software systems

Mitchell D. Lubars · 1987

This thesis addresses the use of knowledge-based techniques in providing high level support for software design activities. A knowledge-based refinement paradigm of software development is introduced that alleviates some of the problems of the traditional software life cycle. A design system, IDeA, is presented as a prototypical environment that supports this paradigm. Within IDeA, design knowledge is encoded in schematic forms that abstract out the common design features across related application domains. These design schemas represent design families and provide significant potential for design reuse, since they can be customized and refined to satisfy a particular user's design requirements. This is accomplished through the application of specialization and refinement rules that are associated with the schemas. Design schemas also represent shared constraints and design decisions. This schema representation is based on a notion of polymorphic data typing with multiple constraints. IDeA supplements the knowledge-based techniques with a schema selection strategy that facilitates user selection of design fragments. In addition, constraint propagation and planning techniques provide support for intelligent design activities. These techniques are integrated with other support aspects, such as clerical, organizational, and analysis support, to present IDeA as a complete environment for software design.

Read the paper · More papers on PaperTik