A knowledge-based system to support software design is presented. The knowledge-based system consists of a frame-and-rule oriented requirements language (FRORL), a knowledge base, an inference engine, and a front-end dialogue system. The FRORL is developed to facilitate the documentation and analysis of a software system. The software design heuristic guidelines (e.g. stepwise refinement, functional decomposition) and the domain knowledge are encoded using Prolog and are stored in a knowledge base. An inference mechanism is implemented to interpret the FRORL specification, that uses the design expertise in the knowledge base to perform a program transformation process. The front-end dialogue system is used to obtain the environment information from users to facilitate the transformation process. The knowledge-based system is implemented in Prolog on an IBM 4341 computer. Results indicate that the system can incrementally accumulate design experience and facilitate the software design process. Examples are also given to illustrate this system
Relation:
IEEE Journal on Selected Areas in Communications SAC-6(5):828-841