Figure 4. Envisioned Phases in Defining a Knowledge Based System.

While libraries of reusable knowledge-based software components, building an application could become much more of a configuration task and , correspondingly, less of a programming activity. System builders could select specialized reasoning modules and ontologies, converting them to the format required by the selected knowledge representation if they were not already in this format. This approach gives them a specialized shell with some knowledge built in. This custom shell can then be utilized to build an application from a higher-level starting point.