Software Creation: Using Specification and Description Language (SDL) for Capturing and Reusing Human Experts' Knowledge in Software Design

Conventional knowledge engineering techniques for acquiring experts’ knowledge can not produce quality knowledge due to improper knowledge documentation and informal knowledge acquisition method. We propose a method for knowledge acquisition based on documentation using Specification and Description Language (SDL). SDL is used to describe both the target system and the design process. The main idea is to follow deterministic problem solving behavior of human experts and document it. Then knowledge can be extracted by comparing documents of the successive steps. This knowledge is recorded and reused in similar or novel cases. We propose an implementation of this method in a distributed expert system for software design. The system is implemented on a number of platforms, each consists of an SDL CASE tool and an expert system for applying the design knowledge. The expert systems can communicate and share their knowledge and resources through the internet. This system serves as an experimental platform for the study of groupware design by simulating design of a team of human experts. We have found that through acquiring enough knowledge, this system can generate software in the same way that human designers do.