In 1956, a small group of computer scientists attended a summer workshop sponsored by IBM at Dartmouth College. Theirs discussions focused on new programming languages and automatic theorem proving. They were trying to find ways for developing a computer (or a program) that could simulate human reasoning. This conference is marked as a birth of the AI - Artificial Intelligence [18].
After this event many efforts in various countries were taken to develop programs or whole computer systems capable of intelligent behavior.
Today AI consists of many branches, from real-time expert systems with fixed set of rules to control various processes, to simulated neural networks used for a pattern recognition.
Despite of techniques involved there is still a basic problem: a formal representation of knowledge. From 1960s two programming languages have been mainly used: LISP and Prolog. LISP although powerful at symbolic processing capability, it was found to be difficult to master. There have been many top-level LISP programmers, but it has to take very long time from specifying the requirements to developing a complete AI system. There were many AI efforts taken with glorious results (LISP computers) but there is still relatively little practical or I would rather say commercial need for them.
In the same time in Japan and U.K. researchers adopted Prolog for developing intelligent programs. It was also the language chosen in Japan for the Fifth Generation effort. Unfortunately as LISP, Prolog requires a disciplined student to master it limiting the number of people they could participate in creation of an AI system.
Using a language provides flexibility, but on the other hand forces an involvement of three layers of cooperating people: programmers, designers and experts.
When computer systems started to be overpowered in 1980s, the main interface between users and computers changed from text-like terminals to graphical ones. There have been many projects started to create graphical programming languages. The most of those efforts haven't succeeded so far, but a different way has succeeded. A graphical programming language isn't so intuitive as thought, but languages supported by various graphical representations of some aspects are, providing such techniques as RAD, Rapid-Application-Development.
In the past, a programmer have to know exactly the language with use of which he could communicate with a computer. These days there are many CAD1.1 techniques to support programmers during each stage of software development. Which makes programming easier and faster.
Taking a closer look at AI systems and especially expert systems , it can be seen that CAD could be applied to this domain as well.
Graphical systems that are able to visualize the knowledge, which is the main attribute of an intelligence, in such a way that the knowledge could be understood and altered by an ordinary man, not just a programmer, are really helpful during design and development of expert systems. This gives the ability to create more complex systems, involving many experts' knowledge. Furthermore it reduces the number of layers mentioned. There could be designers and experts involved, while programmers are necessary in special cases only.
In this thesis an effort to create such an interface is taken. The choice has been made to create a graphical user interface for computer aided logical design of Kheops knowledge-based system [1]. In the following chapters an introduction to expert systems is given, then the Kheops is briefly presented. After this the requirements, the graphical interface should meet, are given and the whole process of designing and developing, including implementation is described in details.