SICStus MT—A multithreaded execution environment for SICStus Prolog
Purchase on Springer.com
$29.95 / €24.95 / £19.95*
* Final gross prices may vary according to local VAT.
The development of intelligent software agents and other complex applications which continuously interact with their environments has been one of the reasons why explicit concurrency has become a necessity in a modern Prolog system today. Such applications need to perform several tasks which may be very different with respect to how they are implemented in Prolog. Performing these tasks simultaneously is very tedious without language support.
This paper describes the design, implementation and evaluation of a prototype multithreaded execution environment for SICStus Prolog. The threads are dynamically managed using a small and compact set of Prolog primitives implemented in a portable way, requiring almost no support from the underlying operating system.
- Joe Armstrong, Robert Virding, Claes Wiström, and Mike Williams. Concurrent Programming In Erlang. Prentice Hall, second edition, 1996.
- Hassan AÏt-Kaci. Warren's Abstract Machine—A Tutorial Reconstruction. MIT Press, 1991.
- Kent Boortz. SICStus maskinkodskompilering. SICS Technical Report T91:13, Swedish Institute of Computer Science, August 1991.
- K. De Bosschere and J.-M. Jacquet. Multi-Prolog: Definition, Operational Semantics and Implementation. In D. S. Warren, editor, Proceedings of the ICLP'93 conference, pages 299–313, Budapest, Hungary, June 1993. The MIT Press.
- Koen De Bosschere. Process-based parallel logic programming: A survey of the basic issues. In Bosschere et al. .
- Koen De Bosschere, Jean-Marie Jacquet, and Antonio Brogi, editors. ICLP94 Post-Conference Workshop on Process-Based Parallel Logic Programming, June 1994.
- Mats Carlsson, Johan Widén, Johan Andersson, Stefan Andersson, Kent Boortz, Hans Nilsson, and Thomas Sjöland. SICStus Prolog User's Manual. SICS Technical Report T91:15, Swedish Institute of Computer Science, June 1995. Release 3 #0.
- Takashi Chikayama, Tetsuro Fujise, and Hiroshi Yashiro. A portable and reasonably efficient implementation of KL1. In Warren , page 833.
- Randy Chow and Theodore Johnson. Distributed Operating Systems & Algorithms. Addison-Wesley, March 1997.
- Damian Chu. I.C. Prolog II: a Multi-threaded Prolog System. In Evan Tick and Giancarlo Succi, editors, ICLP-Workshops on Implementations of Logic Programming Systems, pages 17–34. Kluwer Academic Publishers, 1993.
- J. Conery. The AND/OR Process Model for Parallel Interpretation of Logic Programs. PhD thesis, University of California at Irvine, 1983.
- George Coulouris, Jean Dollimore, and Tim Kindberg. Distributed Systems—Concepts And Design. Addison-Wesley, second edition, 1994.
- J. A. Feldman. High Level Programming for Distributed Computing. Communications of the ACM, 22(6):353–368, 1979. CrossRef
- David Flanagan. Java in a Nutshell. O'Reilly & Associates, second edition, 1997.
- Iván Futó. Prolog with communicating processes: From T-Prolog to CSR-Prolog. In Warren , pages 3–17.
- D. Gelernter. Generative communication in linda. ACM Transactions on Programming Languages and Systems, 7(1):80–112, January 1989. CrossRef
- D. I. Good, R. M. Cohen, and J. Keeton-Williams. Principles of Proving Concurrent Programs in Gypsy. In Proceedings of the Sixth ACM Symposium on Principles of Programming Languages, pages 42–52, 1979.
- Samuel P. Harbison and Guy L. Steele Jr. C, A Reference Manual. Prentice Hall, third edition, 1991.
- R. C. Haygood. Native code compilation in SICStus Prolog. In Proceedings of the Eleventh International Conference of Logic Programming. The MIT Press, 1994.
- John Horton. Computer Recreations. Scientific American, March 1984.
- B. W. Lampson. A scheduling philosophy for multiprocessing systems. Communications of the ACM, 11(5):347–360, May 1968. CrossRef
- Bill Lewis and Daniel J. Berg. Threads Primer—A Guide To Multithreaded Programming. Prentice Hall, 1996.
- Ewing Lusk, Ralph Butler, Terrence Disz, Robert Olson, Ross Overbeek, Rick Stevens, David H. D. Warren, Alan Calderwood, Péter Szeredi, Seif Haridi, Per Brand, Mats Carlsson, Andrzej Ciepielewski, and Bogumil Hausman. The Aurora or-parallel Prolog system. New Generation Computing, 7(2,3):243–271, 1990. CrossRef
- ML Consulting and Computing Ltd, Applied Logic Laboratory, Budapest, Hungary. CS-Prolog Professional User's Manual, Version 1.1, 1997.
- Bradford Nichols, Dick Buttlar, and Jacqueline Proulx Farrell. Pthreads Programming. O'Reilly & Associates, 1996.
- R. Ramesh, I.V. Ramakrishnan, and D.S. Warren. Automata-Driven Indexing of Prolog Clauses. In Proceedings of the Principles of Programming Languages, 1990.
- John H. Reppy. Asynchronous Signals in Standard ML. Technical Report 90-1144, Department of Computer Science, Cornell University, Ithaca, NY 14853, 1990.
- D. G. Schwartz. Cooperating Heterogenous Systems: A Blackboard-based Meta Approach. PhD thesis, Department of Computer Engineering and Science, Case Western Reserve University, 1993.
- Abraham Silberschatz and Peter B. Galvin. Operating Systems Concepts. Addison-Wesley, fourth edition, 1994.
- Gert Smolka. The Oz programming model. In Jan van Leeuwen, editor, Computer Science Today, Lecture Notes in Computer Science, vol. 1000, pages 324–343. Springer-Verlag, Berlin, 1995.
- Gert Smolka. Problem solving with constraints and programming. ACM Computing Surveys, 28(4es), December 1996. Electronic Section.
- Péter Szeredi, Katalin Molnár, and Rob Scott. Serving multiple HTML clients from a Prolog application. In Paul Tarau, Andrew Davison, Koen de Bosschere, and Manuel Hermenegildo, editors, Proceedings of the 1st Workshop on Logic Programming Tools for INTERNET Applications, in conjunction with JICSLP'96, Bonn, Germany, pages 81–90. COMPULOG-NET, September 1996. Available from: http://clement.info.umoncton.ca/~lpnet/lp-internet/archive.html.
- Andrew S. Tanenbaum. Modern Operating Systems. Prentice-Hall, 1992.
- Hamish Taylor. Design of a resolution multiprocessor for the parallel virtual machine. In Bosschere et al. .
- David S. Warren, editor. Proceedings of the Tenth International Conference on Logic Programming, Budapest, Hungary, 1993. The MIT Press.
- SICStus MT—A multithreaded execution environment for SICStus Prolog
- Book Title
- Principles of Declarative Programming
- Book Subtitle
- 10th International Symposium, PLILP’98 Held Jointly with the 6th International Conference, ALP’98 Pisa, Italy, September 16–18, 1998 Proceedings
- pp 36-53
- Print ISBN
- Online ISBN
- Series Title
- Lecture Notes in Computer Science
- Series Volume
- Series ISSN
- Springer Berlin Heidelberg
- Copyright Holder
- Additional Links
- logic programming
- abstract machines
- Industry Sectors
- eBook Packages
To view the rest of this content please follow the download PDF link above.