Software Creation: Implementation and Application of Design Process Knowledge in Automatic Software Design

The goal of this project is to automate software design by accumulating knowledge and experience of human designers. This paper presents the CREATOR2, an experimental expert system for automatic software design, that simulates the behavior of human expert designers by applying the design process knowledge. In CREATOR2 the focus is on reproducing human cognitive processes and automating software design by shifting the modifications to the higher design levels rather than the source code. Some novel points are (1) implementing the design process knowledge, including transformation patterns for detailing and control knowledge, along with the design product knowledge together in an expert system named CREATOR2, and (2) using multiple strategy in applying the design process knowledge. This leads to having a uniform modeling and advanced reasoning environment for software design.