Abstract
A logic computer system consists of an inference machine and a compatible logic operating system. This paper describes prospective models for a logic computer system, and its hardware and software components. The language Concurrent Prolog serves as the single implementation, specification, and machine language. The computer system is represented as a logic programming goallogic_computer_system. Specification of the system corresponds to resolution of this goal. Clauses used to solve the goal — and ensuing subgoals — progressively refine the machine, operating system, and computer system designs. In addition, the accumulation of all clauses describing the logic operating system constitute its implementation. Logic computer systems with vastly different fundamental characteristics can be concisely specified in this manner. Two contrasting examples are given and discussed. An important characteristic of both peripheral devices and the overall computer system, whether they are restartable or perpetual, is examined. As well, a method for operational initialization of the logic computer system is presented. The same clauses which incrementally specify characteristics of the computer system also describe the manner in which this initialization takes place.
Similar content being viewed by others
References
Bowen, K. A. and Kowalski, R. A., “Amalgamating Language and Metalanguage in Logic Programming,” inLogic Programming (K. L. Clark and S.-Å. Tärnlund, eds.), Academic Press, London, pp. 153–172, 1982.
Chikayama, T., “ESP — Extended Self-contained Prolog — as a Preliminary Kernel Language of Fifth Generation Computers,”New Generation Computing, Vol. 1, No. 1, pp. 11–24, 1983.
Clark, K. L. and Gregory, S., “A Relational Language for Parallel Programming,”Proceedings of the ACM Conference on Functional Programming Languages and Computer Architectures, ACM, pp. 171–178, October, 1981.
Clark, K. L. and Gregory, S., “PARLOG: Parallel Programming in Logic,”Research Rep. DOC 84/4, Department of Computing, Imperial College, London, April, 1984.
Clark, K. L. and Gregory, S., “Notes on Systems Programming in PARLOG,”Research Rep. DOC 84/15, Department of Computing, Imperial College, London, July, 1984.
Clark, K. L. and Gregory, S., “PARLOG: Parallel Programming in Logic,”ACM Transactions on Programming Languages and Systems,Vol. 8,No. 1, January, 1986.
Conery, J. S. and Kibler, D. F., “Parallel Interpretation of Logic Programs,”Proceedings of the ACM Conference on Functional Programming Languages and Computer Architecture, ACM, Portsmouth, New Hampshire, pp. 163–170, October, 1981.
Dijkstra, E. W.,A Discipline of Programming, Prentice-Hall, Englewood Cliffs, New Jersey, 1976.
Fleisch, B. D., “Operating Systems: A Perspective On Future Trends,”Operating System Review,Vol. 17,No. 2, 1983.
Furukawa, K., Takeuchi, A. and Kunifuji, S., “Mandala: A Concurrent Prolog Based Knowledge Programming Language/System,”ICOT Technical Report, TR-029, Tokyo, November, 1983.
Hattori, T. and Yokoi, T., “Basic Concepts of the SIM Operating System,”New Generation Computing, Vol. 1, No. 1, pp. 81–85, 1983.
Hellerstein, L. and Shapiro, E. Y., “Implementing Parallel Algorithms in Concurrent Prolog: The MAXFLOW Experience,”1984 International Symposium on Logic Programming, IEEE, Atlantic City, NJ, pp. 99–115, February, 1984.
Hirakawa, H., Chikayama, T. and Furukawa, K., “Eager and Lazy Enumerations in Concurrent Prolog,”Proceedings of the Second International Logic Programming Conference, Uppsala, Sweden, pp. 89–100, July, 1984.
Hirakawa, H., “Chart Parsing in Concurrent Prolog,”ICOT Technical Report, TR-008, Tokyo, May, 1983.
Kahn, K. M., “Intermission-Actors in Prolog,” inLogic Programming (K. L. Clark and S.-Å. Tärnlund), Academic Press, London, pp. 213–228, 1982.
Kusalik, A. J., “Bounded-Wait Merge in Shapiro’s Concurrent Prolog,”New Generation Computing, Vol. 2 No. 2, pp. 157–169, 1984.
Kusalik, A. J., “The File System of a Logic Operating System,”Technical Report, 84-21, Computer Science Department, University of British Columbia, Vancouver, B. C., Canada, November, 1984.
Lee, R. K. S. and Goebel, R., “Concurrent Prolog in a Multi-process Environment,”1985 International Symposium on Logic Programming, IEEE, Boston, Massachusetts, pp. 100–109, July, 1985.
Miyazaki, T., Takeuchi, A. and Chikayama, T., “A Sequential Implementation of Concurrent Prolog Based on the Shallow Binding Scheme,”1985 International Symposium on Logic Programming, IEEE, Boston, Massachusetts, pp. 110–118, July, 1985.
Roussel, P., “Prolog: Manuel de Reference et d’Utilisation,”Technical Report, Groupe d’Intelligence Artificielle, Université d’Aix Mareille, 1975.
Saraswat, V. A., “Concurrent Logic Programming Languages,”Thesis Proposal, Department of Computer Science, Carnegie-Mellon University, Pittsburgh, Pennsylvania, November, 1985.
Shapiro, E. Y., “A Subset of Concurrent Prolog and Its Interpreter,”ICOT Technical Report, TR-003, Tokyo, January, 1983. Also available asCS83-06, Department of Applied Mathematics, Weizmann Institute of Science, Rehovot, Israel.
Shapiro, E. Y., “(Lecture Notes on) The Bagel: a Systolic Concurrent Prolog Machine,”ICOT Technical Memorandum, TM-0031, Tokyo, November, 1983.
Shapiro, E. Y., “Systems Programming in Concurrent Prolog,”Conference Record of the 11th Annual ACM Symposium on Principles of Programming Languages, Salt Lake City, Utah, pp. 93–105, January, 1984.
Shapiro, E. Y., “On Evaluating General-Purpose Programming Languages,”CS86-01, Department of Applied Mathematics, Weizmann Institute of Science, Rehovot, Israel, January, 1986.
Shapiro, E. Y.,Private communication, 1986.
Shapiro, E. Y. and Mierowsky, C., “Fair, Biased, and Self-Balancing Merge Operators: Their Specification and Implementation in Concurrent Prolog,”1984 International Symposium on Logic Programming, IEEE, Atlantic City, NJ, pp. 83–90, February, 1984.
Shapiro, E. Y. and Safra, M., “Fast Multiway Merge Using Destructive Operations,”CS85-01, Department of Applied Mathematics, Weizmann Institute of Science, Rehovot, Israel, January, 1985.
Shafrir, A. and Shapiro, E. Y., “Distributed Programming in Concurrent Prolog,”CS83-12, Department of Applied Mathematics, Weizmann Institute of Science, Rehovot, Israel, August, 1983.
Shapiro, E. Y. and Takeuchi, A., “Object Oriented Programming in Concurrent Prolog,”New Generation Computing, Vol. 1, No. 1, pp. 25–48, 1983.
Suzuki, N., “Experience with Specification and Verification of Complex Computer Using Concurrent Prolog,” inLogic Programming and Its Applications (M. van Caneghem and D. H. D. Warren), Ablex Publishing, Norwood, New Jersey, pp. 188–207, 1986.
Takeuchi, A. and Furukawa, K., “Interprocess Communication in Concurrent Prolog,”Proceedings Logic Programming Workshop ’83, Algarve, Portugal, pp. 171–185, 1983. Also asICOT Technical Report, TR-006, 1983.
Takagi, S., Yokoi, T., Uchida, S., Kurokawa, T., Hattori, T., Chikayama, T., Sakai, K. and Tsuji, J., “Overall Design of SIMPOS,”Proceedings of the Second International Logic Programming Conference, Uppsala, Sweden, pp. 1–12, July, 1984.
Ueda, K. and Chikayama, T., “Efficient Stream/Array Processing in Logic Programming Languages,”Proceedings of the International Conference on Fifth Generation Computer Systems 1984 (ICOT, ed.), pp. 317–326, November, 1984.
Ueda, K. and Chikayama, T., “Concurrent Prolog Compiler on Top of Prolog,”1985 International Symposium on Logic Programming, IEEE, Boston, Massachusetts, pp. 119–126, July, 1985.
Ueda, K., “Guarded Horn Clauses,”ICOT Technical Report, TR-103, Tokyo, June, 1985 (Revised September, 1985).
Ueda, K., “Concurrent Prolog Re-examined,”ICOT Technical Report, TR-102, Tokyo, November, 1985.
Uehara, T. and Kawato, N., “Logic Circuit Synthesis using Prolog,”New Generation Computing, Vol. 1, No. 2, pp. 187–193, 1983.
Uchida, S., Yokota, M., Yamamoto, A., Taki, K. and Nishikawa, H., “Outline of the Personal Sequential Inference Machine: PSI,”New Generation Computing, Vol. 1, No. 1, pp. 75–79, 1983.
Warren, D. H. D., “Implementing Prolog — Compiling Predicate Logic Programs,”Technical Reports, 39 and 40, Department of Artificial Intelligence, University of Edinburgh, Edinburgh, May, 1977.
Warren, D. H. D., “Perpetual Processes — An Unexploited Prolog Technique,”Proceedings of the Prolog Programming Environments Workshop, Linköping University, Sweden, March, 1982.
Yokota, M., Yamamoto, A., Taki, K., Nishikawa, H. and Uchida, S., “The Design and Implementation of a Personal Inference Machine: PSI,”New Generation Computing, Vol. 1, No. 2, pp. 125–144, 1983.
Zaniolo, C., “Object-Oriented Programming in Prolog,”1984 International Symposium on Logic Programming, IEEE, Atlantic City, New Jersey, pp. 265–270, February, 1984.
Author information
Authors and Affiliations
About this article
Cite this article
Kusalik, A.J. Specification and initialization of a logic computer system. New Gener Comput 4, 189–209 (1986). https://doi.org/10.1007/BF03037441
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF03037441