PROTOS-L: Towards a Knowledge Base Programming Language

Developing and maintaining knowledge bases is of central importance for any knowledge based system. PROTOS-L is a language based on logic programming that integrates a variety of concepts for programming large knowledge based systems like a powerful type concept, a module concept, and access to relational databases. The type concept covers user defined sorts, subsort relationships supporting multiple inheritance and parameterized sorts in the form of polymorphism. The module concept is similar to that of Modula-2 and allows to hide implementation details from the user of a module. Database access is fully embedded in the programming language PROTOS-L and can be programmed transparent to the user of a program or a program part. It is argued that the integration of these concepts into a uniform framework leads to a powerful knowledge base programming language. For illustration purposes we develop a job planning scenario. PROTOS-L is currently being designed and implemented at IBM Stuttgart within the international EUREKA project PROTOS.