Abstract
FROG (FRames in ProlOG) is a Prolog based hybrid knowledge representation system which combines frames, production rules and Prolog at various levels. In this paper we shall first describe the particular technique we used for buiding the FROG system in Prolog. This technique is based on the use of apreprocessor which is able to produce the effective Prolog implementation of the system from an appropriate high level description of the knowledge of a given domain. We shall then describe the main features of the FROG system. The system supplies the knowledge engineer with a veryflexible frame structure in which each frame can contain either slots or production rules (with various kinds of inference strategies) and gives the possibility of using Prolog procedures in various places within each frame. Some hints on the Prolog implementation will also be given. Finally, the FROG high level language will be described. Both syntax and semantics of such a language are based on Prolog, thus assuring a uniform and precise description of a knowledge base. The language also allows control strategies in the system to be explicitly defined by the knowledge engineer.
Similar content being viewed by others
References
Aikins, J., “Prototypical knowledge for expert systems,”Artificial Intelligence, 20, pp. 163, 210, 1983.
Bacha, H., “Meta-level Programming: a Compiled Approach,”Proc. of the 4th International Conference on Logic Programming (J. L. Lassez ed.), MIT Press, pp. 394–410, 1987.
Black, D. and Manley, J., “A Logic-based Architecture for Knowledge Management,”Proc. 10th IJCAI, pp. 87–90, 1987.
Bowen, K., “Meta-Level Programming and Knowledge Representation,”New Generation Computing, 3, pp. 395–383, 1985.
Bowen, K. A and Kowalski R. A., “Amalgamating Language and Metalanguage in Logic Programming,” inLogic Programming (K. L. Clark and S-A. Tarnlund eds.) Academic Press, pp. 153–172, 1982.
Brachman, R., Fikes, R. and Levesque, H., “Krypton: A Functional Approach to Knowledge Representation,”IEEE Computer, 16, pp. 67–73, 1983.
Brachman, R. J., Schmolze, J. G., “An overview of the KL-ONE knowledge representation system,”Cognitive Science, 9, pp. 171–216, 1985.
Chandrasekaran, B. and Mittal, S., “Conceptual representation of medical knowledge for diagnosis by computer: MDX and related systems,”Advances in Computers, 22, (M. Yovits ed.), pp. 217–293, 1983.
Clark, K. L. and McCabe, F. G., “PROLOG: A Language for Implementing Expert Systems,” inMachine Intelligence, 10 (J. E. Hayes and D. Michie eds.), pp. 455–470, 1982.
Clocksin, W. F. and Mellish, C. S.,Programming in Prolog, Springer Verlag, Berlin, 1981.
Console, L., Martelli, A. and Rossi, G., “A Technique for using Prolog in the implementation of Expert Systems,” (in italian)Proc. First National Conf. on Logic Programming, pp. 160–166, 1986.
Console, L. and Rossi, G., “Implementing Inference, Strategies in Prolog by Preprocessing” (in Italian),Techn. Rept., Universita’ di Torino, July, 1985
Console, L. and Rossi, G., “Implementing Inference Strategies in Prolog based Expert Systems,” inCybernetics and Systems 86 (R. Trappl. ed.), Reidel Pub. Co., pp. 767–774, 1986.
Console, L. and Rossi, G., “Flexible preprocessing and knowledge representation in Prolog,” (in italian)Proc. Second National Conference on Logic Programming, pp. 45–54, 1987.
Console, L. and Rossi, G., “FROG: a Prolog-based system for Prolog-based knowledge representation,” inArtificial Intelligence and Information-Control Systems of Robots 87 (I. Plander ed.), North Holland, pp. 179–184, 1987.
Cravetto, C., Lesmo, L., Molino, G. and Torasso, P., “LITO2: a Frame Based Expert System for Medical Diagnosis in Hepatology,” inArtificial Intelligence in Medicine (I. De Lotto and M. Stefanelli eds.), North Holland, pp. 107–120, 1985.
Eggert, P. R. and Val Schorre, D., “Logic enhancement: a method for extending logic programming languages,”Proc. ACM Conf. on Lisp and Functional Programming Languages, pp. 74–80, 1982.
Engelmann, C. and Stanton, W., “An Integrated Frame Rule Architecture,” inHuman and Artificial Intelligence (A. Elithorn and R. Banerji eds.), North Holland, pp. 141–146, 1984.
Fikes, R. and Kehler, T., “The role of frame-based representation in reasoning,”Communication of the ACM, 28, pp. 904–920, 1985.
Ishizuka, M. and Kanai, N., “Prolog-ELF Incorporating Fuzzy Logic,”New Generation Computing, 3, pp. 479–486, 1985.
Lesmo, L., Saitta, L. and Torasso, P., “Evidence combination in expert systems,”Int. J. of Man-Machine Studies, 22, pp. 307–326, 1985.
McCabe, F. G.,Micro-Prolog Programmer Reference Manual, Logic Programming Associates Ltd., 1981.
Minsky, M., “A framework for representing knowledge,” inThe Psychology of Computer Vision (P. Winston ed.), McGraw Hill, pp. 211–277, 1975.
Molino, G., Cravetto, C., Torasso, P. and Console, L., “CHECK: a diagnostic expert system Combining HEuristic and Causal Knowledge,”Biomedical Measurement, Informatics and Control, 1, pp. 182–193, 1986.
Ogawa, Y., Shima, K., Sugawara, T. and Takagi, S., “Knowledge Representation and INference Environment: KRINE, An Approach to Integration of Frame, Prolog and Graphics,”Proc. Int. Conf. of Fifth Generation Computer Systems, Tokyo, pp. 643–651, 1984.
Pauker, S. G., Gorry, G. A., Kassirer, J. P. and Schwartz, W. B., “Toward the Simulation of Clinical Cognition: Taking a Present Illness by Computer,”The American Journal of Medicine, 60, pp. 981, 995, 1976.
Rossi, G., “Uses of Prolog in Implementation of Expert Systems,”New Generation Computing, 4, pp. 321–330, 1986.
Safra, S. and Shapiro, E., “Meta Interpreters for Real,”Proc. IFIP-86 Congress, Elsevier Science Publishers, pp. 271–278, 1986.
Shortliffe, E. H. (1976),Computer-Based Medical Consultation: MYCIN, Elsevier,
Sterling, L., “Expert Systems=Knowledge+Meta-Interpreter,”Tech. Rept. CS84-17, Weizmann Institute, Israel, 1984.
Szeredi, P., “Module Concepts for Prolog,”Proc. Workshop on Prolog Programming Environments, Linkoping, 1982.
Takeuchi A. and Furukawa K., “Partial Evaluation of Prolog Programs and its Application to Meta Programming,”Proc. IFIP-86 Congress, Elsevier Science Publishers, pp. 415–420, 1986.
Tokoro, M. and Ishikawa, Y., “Orient84/K: A Language within Multiple Paradigms in the Object Framework,”Proc. 19th Annual Hawaii Conf. on System Sciences, pp. 198–207, 1986.
Torasso, P. and Console, L., “Approximate reasoning and prototypical knowledge,”International Journal of Approximate Reasoning, 3, 1989.
Weiss, S, and Kulikowski, C., “EXPERT: a system for developing consultation models,”Proceedings 6th IJCAI, pp. 942–947, 1979.
Yamamoto, A. and Tanaka, H., “Translating Production Rules into a Forward Reasoning Prolog Program,”New Generation Computing, 4, pp. 97–105, 1986.
Zadeh, L., “Fuzzy Sets as a Basis for a Theory of Possibility,”Fuzzy Sets and Systems, 1, pp. 3–28, 1978.
Author information
Authors and Affiliations
About this article
Cite this article
Console, L., Rossi, G. Using Prolog for building frog, a hybrid knowledge representation system. New Gener Comput 6, 361–388 (1989). https://doi.org/10.1007/BF03037447
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF03037447