Skip to main content

Multi-threading Inside Prolog for Knowledge-Based Enterprise Applications

  • Conference paper
Book cover Declarative Programming for Knowledge Management (INAP 2005)

Abstract

A knowledge-based system is suitable for realizing advanced functions that require domain-specific expert knowledge in enterprise-mission-critical information systems (enterprise applications). This paper describes a newly implemented multi-threaded Prolog system that evolves single-threaded Inside Prolog. It is intended as a means to apply a knowledge-based system written in Prolog to an enterprise application. It realizes a high degree of parallelism on an SMP system by minimizing mutual exclusion for scalability essential in enterprise use. Also briefly introduced is the knowledge processing server which is a framework for operating a knowledge-based system written in Prolog with an enterprise application. Experimental results indicated that on an SMP system the multi-threaded Prolog could achieve a high degree of parallelism while the server could obtain scalability. The application of the server to clinical decision support in a hospital information system also demonstrated that the multi-threaded Prolog and the server were sufficiently robust for use in an enterprise application.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Kaplan, B.: Evaluating informatics applications – clinical decision support systems literature review. International Journal of Medical Informatics 64, 15–37 (2001)

    Article  Google Scholar 

  2. Toussaint, A.: Java rule engine api. JSR-94 (2003)

    Google Scholar 

  3. YASU Technologies, QuickRules (2005), http://yasutech.com/products/quickrulesse/index.htm

  4. ILOG, Inc. ILOG JRules (2006), http://www.ilog.com/products/jrules

  5. Drools Project. Drools (2006), http://drools.org

  6. Kobayashi, S.: Production system. Journal of Information Processing Society of Japan 26, 1487–1496 (1985)

    Google Scholar 

  7. Eskilson, J., Carlsson, M.: SICStus MT – A multithreaded execution environment for sICStus prolog. In: Palamidessi, C., Meinke, K., Glaser, H. (eds.) ALP 1998 and PLILP 1998. LNCS, vol. 1490, pp. 36–53. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  8. Carro, M., Hermenegildo, M.: Concurrency in prolog using threads and a shared database. In: International Conference on Logic Programming, pp. 320–334 (1999)

    Google Scholar 

  9. Wielemaker, J.: Native preemptive threads in SWI-prolog. In: Palamidessi, C. (ed.) ICLP 2003. LNCS, vol. 2916, pp. 331–345. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  10. Denti, E., Omicini, A., Ricci, A.: tuProlog: A light-weight prolog for internet applications and infrastructures. In: Ramakrishnan, I.V. (ed.) PADL 2001. LNCS, vol. 1990, pp. 184–198. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  11. Tarau, P.: Jinni: Intelligent mobile agent programming at the intersection of java and prolog. In: Proceedings of the Fourth International Conference on the Practical Applications of Intelligent Agents and Multi-agent Technology, pp. 109–124 (1999)

    Google Scholar 

  12. Katamine, K., Umeda, M., Nagasawa, I., Hashimoto, M.: Integrated development environment for knowledge-based systems and its practical application. IEICE Transactions on Information and Systems E87-D, 877–885 (2004)

    Google Scholar 

  13. Tegoshi, Y., Nagasawa, I., Maeda, J., Makino, M.: An information processing technique for a searching problem of an architectural design. Journal of Architecture, Planning and Environmental Engineering (1989)

    Google Scholar 

  14. Nagasawa, I., Maeda, J., Tegoshi, Y., Makino, M.: A programming technique for some combination problems in a design support system using the method of generate-and-test. Journal of Structural and Construction Engineering (1990)

    Google Scholar 

  15. Umeda, M., Nagasawa, I., Higuchi, T.: The elements of programming style in design calculations. In: Proceedings of the Ninth International Conference on Industrial and Engineering Applications of Artificial Intelligence and Expert Systems, pp. 77–86 (1996)

    Google Scholar 

  16. Furukawa, Y., Ueno, M., Nagasawa, I.: A health care support system. Japan Journal of Medical Informatics 10, 121–132 (1990)

    Google Scholar 

  17. Furukawa, Y., Nagasawa, I., Ueno, M.: HCS: A health care support system. Journal of Information Processing Society of Japan 34, 88–95 (1993)

    Google Scholar 

  18. Umeda, M., Nagasawa, I.: Project structure and development methodology toward the IT revolution – lesson from practice. In: Proceedings of the Fourth Joint Conference on Knowledge-Based Software Engineering, pp. 1–8 (2000)

    Google Scholar 

  19. ISO/IEC: 13211-1 Information technology – Programming Languages – Prolog – Part 1: General core (1995)

    Google Scholar 

  20. Umeda, M., Nagasawa, I., Ohno, K., Katamine, K., Takata, O.: Knowledge base development environment and J2EE-compliant inference engine for clinical decision support. In: The Proceedings of The 8th World Multi-Conference on Systemics, Cybernetics and Informatics, vol. 1, pp. 43–48 (2004)

    Google Scholar 

  21. Ohno, K., Umeda, M., Nagase, K., Nagasawa, I.: Knowledge base programming for medical decision support. In: The Proceedings of the 14th International Conference on Applications of Prolog, pp. 202–210 (2001)

    Google Scholar 

  22. Ohno, K., Nagasawa, I., Umeda, M., Nagase, K., Takada, A., Igarashi, T.: Development of medical knowledge base for clinical decision support. In: The Proceedings of The 8th World Multi-Conference on Systemics, Cybernetics and Informatics, vol. 7, pp. 193–198 (2004)

    Google Scholar 

  23. Nagase, K., Takada, A., Igarashi, T., Ouchi, T., Amino, T., Ohno, K.: Development and implementation of J2EE based physician order entry system with clinical decision support function. In: The Proceedings of the 23rd Joint Conference on Medical Informatics, 1–G–2–2 (2003)

    Google Scholar 

  24. Takada, A., Nagase, K., Ouchi, T., Amino, T., Igarashi, T.: Enhanced communication realized with UML utilization in the development of hospital information system. In: The Proceedings of the 23rd Joint Conference on Medical Informatics, O–3–2 (2003)

    Google Scholar 

  25. Ait-Kaci, H.: Warren’s Abstract Machine. The MIT Press, Cambridge (1991)

    Google Scholar 

  26. Neng-Fa, Z.: Global optimizations in a prolog compiler for the TOAM. J. Logic Programming, 265–294 (1993)

    Google Scholar 

  27. Katamine, K., Hirota, T., Zhou, N.F., Nagasawa, I.: On the translation of prolog program to c. Transactions of Information Processing Society of Japan 37, 1130–1137 (1996)

    Google Scholar 

  28. Li, X.: A new term representation method for prolog. The Journal of Logic Programming 34, 43–57 (1998)

    Article  MATH  Google Scholar 

  29. Umeda, M., Nagasawa, I., Ito, M.: Knowledge representation model for engineering information circulation of standard parts. Transactions of Information Processing Society of Japan 38, 1905–1918 (1997)

    Google Scholar 

  30. Clark, K., Robinson, P., Hagen, R.: Multi-threading and message communication in Qu-Prolog. Theory and Practice of Logic Programming 1, 283–301 (2001)

    Article  MATH  Google Scholar 

  31. IF Computer: MINERVA (2005), http://www.ifcomputer.co.jp/MINERVA

  32. Fukuda, A.: Parallel operating systems. Journal of Information Processing Society of Japan 34, 1139–1149 (1993)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Umeda, M., Katamine, K., Nagasawa, I., Hashimoto, M., Takata, O. (2006). Multi-threading Inside Prolog for Knowledge-Based Enterprise Applications. In: Umeda, M., Wolf, A., Bartenstein, O., Geske, U., Seipel, D., Takata, O. (eds) Declarative Programming for Knowledge Management. INAP 2005. Lecture Notes in Computer Science(), vol 4369. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11963578_16

Download citation

  • DOI: https://doi.org/10.1007/11963578_16

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-69233-1

  • Online ISBN: 978-3-540-69234-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics