Knowledge based system development as an engineering process
Knowledge Based System (KBS) development is a difficult and challenging task, in particular in knowledge intensive domains. The traditional view of knowledge engineering is one of mining experts' knowledge and somehow transforming it into a machine usable form. This process, in general, suffers from insufficient or misconstrued representation of experts' problem solving behaviour. It is also unstructured and unduly biased at an early stage by design and implementation issues - normally in the form of incremental prototyping. We believe that both knowledge acquisition and KBS development for real life applications will require a 'structured' approach. This approach should harness a KBS developer's ability in extracting knowledge and developing systems. The structure should also be sufficiently flexible to allow the knowledge engineer to use his sense of creativity in developing a KBS. This thesis puts forward such a structured approach, in which KBS development is carried out in an engineering fashion. A process in which the worker is provided with an environment for developing knowledge based systems as an engineering process, as opposed to that of an artform or crafting. The main emphasis of this work is that part of the process which deals with the analysis and design phases in developing KBS. The analysis is performed at an 'epistemological' level, not coloured by design or implementation issues. The output of this phase captures both an expert's problem solving capability, and the business constraints placed upon the intended system. This is then used by the design process in order to create an optimal, workable, and elegant design architecture for the ultimate system.