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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Kaplan, B.: Evaluating informatics applications – clinical decision support systems literature review. International Journal of Medical Informatics 64, 15–37 (2001)
Toussaint, A.: Java rule engine api. JSR-94 (2003)
YASU Technologies, QuickRules (2005), http://yasutech.com/products/quickrulesse/index.htm
ILOG, Inc. ILOG JRules (2006), http://www.ilog.com/products/jrules
Drools Project. Drools (2006), http://drools.org
Kobayashi, S.: Production system. Journal of Information Processing Society of Japan 26, 1487–1496 (1985)
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)
Carro, M., Hermenegildo, M.: Concurrency in prolog using threads and a shared database. In: International Conference on Logic Programming, pp. 320–334 (1999)
Wielemaker, J.: Native preemptive threads in SWI-prolog. In: Palamidessi, C. (ed.) ICLP 2003. LNCS, vol. 2916, pp. 331–345. Springer, Heidelberg (2003)
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)
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)
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)
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)
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)
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)
Furukawa, Y., Ueno, M., Nagasawa, I.: A health care support system. Japan Journal of Medical Informatics 10, 121–132 (1990)
Furukawa, Y., Nagasawa, I., Ueno, M.: HCS: A health care support system. Journal of Information Processing Society of Japan 34, 88–95 (1993)
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)
ISO/IEC: 13211-1 Information technology – Programming Languages – Prolog – Part 1: General core (1995)
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)
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)
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)
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)
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)
Ait-Kaci, H.: Warren’s Abstract Machine. The MIT Press, Cambridge (1991)
Neng-Fa, Z.: Global optimizations in a prolog compiler for the TOAM. J. Logic Programming, 265–294 (1993)
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)
Li, X.: A new term representation method for prolog. The Journal of Logic Programming 34, 43–57 (1998)
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)
Clark, K., Robinson, P., Hagen, R.: Multi-threading and message communication in Qu-Prolog. Theory and Practice of Logic Programming 1, 283–301 (2001)
IF Computer: MINERVA (2005), http://www.ifcomputer.co.jp/MINERVA
Fukuda, A.: Parallel operating systems. Journal of Information Processing Society of Japan 34, 1139–1149 (1993)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)