Advertisement

Multi-threading Inside Prolog for Knowledge-Based Enterprise Applications

  • Masanobu Umeda
  • Keiichi Katamine
  • Isao Nagasawa
  • Masaaki Hashimoto
  • Osamu Takata
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4369)

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.

Keywords

Inference Rule Clinical Decision Support Inference Engine Clinical Decision Support System Hospital Information System 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Kaplan, B.: Evaluating informatics applications – clinical decision support systems literature review. International Journal of Medical Informatics 64, 15–37 (2001)CrossRefGoogle Scholar
  2. 2.
    Toussaint, A.: Java rule engine api. JSR-94 (2003)Google Scholar
  3. 3.
    YASU Technologies, QuickRules (2005), http://yasutech.com/products/quickrulesse/index.htm
  4. 4.
    ILOG, Inc. ILOG JRules (2006), http://www.ilog.com/products/jrules
  5. 5.
    Drools Project. Drools (2006), http://drools.org
  6. 6.
    Kobayashi, S.: Production system. Journal of Information Processing Society of Japan 26, 1487–1496 (1985)Google Scholar
  7. 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)CrossRefGoogle Scholar
  8. 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. 9.
    Wielemaker, J.: Native preemptive threads in SWI-prolog. In: Palamidessi, C. (ed.) ICLP 2003. LNCS, vol. 2916, pp. 331–345. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  10. 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)CrossRefGoogle Scholar
  11. 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. 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. 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. 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. 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. 16.
    Furukawa, Y., Ueno, M., Nagasawa, I.: A health care support system. Japan Journal of Medical Informatics 10, 121–132 (1990)Google Scholar
  17. 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. 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. 19.
    ISO/IEC: 13211-1 Information technology – Programming Languages – Prolog – Part 1: General core (1995)Google Scholar
  20. 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. 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. 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. 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. 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. 25.
    Ait-Kaci, H.: Warren’s Abstract Machine. The MIT Press, Cambridge (1991)Google Scholar
  26. 26.
    Neng-Fa, Z.: Global optimizations in a prolog compiler for the TOAM. J. Logic Programming, 265–294 (1993)Google Scholar
  27. 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. 28.
    Li, X.: A new term representation method for prolog. The Journal of Logic Programming 34, 43–57 (1998)MATHCrossRefGoogle Scholar
  29. 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. 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)MATHCrossRefGoogle Scholar
  31. 31.
    IF Computer: MINERVA (2005), http://www.ifcomputer.co.jp/MINERVA
  32. 32.
    Fukuda, A.: Parallel operating systems. Journal of Information Processing Society of Japan 34, 1139–1149 (1993)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Masanobu Umeda
    • 1
  • Keiichi Katamine
    • 1
  • Isao Nagasawa
    • 1
  • Masaaki Hashimoto
    • 1
  • Osamu Takata
    • 1
  1. 1.Graduate School of Computer Science and Systems EngineeringKyushu Institute of TechnologyIizuka, FukuokaJapan

Personalised recommendations