DJess A Knowledge-Sharing Middleware to Deploy Distributed Inference Systems

In this paper DJess is presented, a novel distributed production system that provides an infrastructure for factual and procedural knowledge sharing. DJess is a Java package that provides programmers with a lightweight middleware by which inference systems implemented in Jess and running on different nodes of a network can communicate. Communication and coordination among inference systems (agents) is achieved through the ability of each agent to transparently and asynchronously reason on inferred knowledge (facts) that might be collected and asserted by other agents on the basis of inference code (rules) that might be either local or transmitted by any node to any other node.




References:
[1] Jess, the Java Expert System Shell, http://herzberg.ca.sandia.gov/jess/
[2] D. Gelernter, "Generative communication in Linda," ACM Trans. Program.
Lang. Syst., vol. 7, no. 1, pp. 80-112, 1985.
[3] N. Carriero and D. Gelernter, "Linda in context," Communications of
the ACM, vol. 32, no. 4, pp. 444-458, 1989.
[4] E. Friedman-Hill, Jess in Action - Java Rule-based Systems. Manning
Publications Co., 2003.
[5] M. Lindwer, D. Marculescu, T. Basten, R. Zimmermann, R. Marculescu,
S. Jung, and E. Cantatore, "Ambient intelligence visions and achievements:
Linking abstract ideas to real-world concepts." in Proceedings of
the conference on Design, Automation and Test in Europe (DATE -03),
2003, pp. 10-15.
[6] M. Weiser, "Some computer science issues in ubiquitous computing,"
Commun. ACM, vol. 36, no. 7, pp. 75-84, 1993.
[7] T. Ishida, "Parallel, distributed and multi-agent production systems
- A research foundation for distributed artificial intelligence," in
Proceedings of the First International Conference on Multi-Agent
Systems, V. Lesser, Ed. San Francisco, CA: MIT Press, 1995, pp.
416-422.
[8] A. S. Tanenbaum and M. van Steen, Distributed Systems: Principles and
Paradigms. Prentice Hall, 2002.
[9] T. Ishida, "Parallel rule firing in production systems," IEEE Transactions
on Knowledge and Data Engineering, vol. 3, no. 1, pp. 11-17, 1991.
[10] S. Kuo, "A parallel asynchronous message-driven production system,"
Ph.D. dissertation, University of Southern California, 1991.
[11] A. Fuggetta, G. P. Picco, and G. Vigna, "Understanding code mobility,"
IEEE Transactions on Software Engineering, vol. 24, no. 5, pp. 342-
361, May 1998.
[12] A. Acharya, "Eliminating redundant barrier synchronizations in rulebased
programs," in Proceedings of the 10th international conference
on Supercomputing. ACM Press, 1996, pp. 325-332.
[13] S. Tata, G. Canals, and C. Godart, "Specifying interactions in cooperative
applications," in In Eleventh International Conference on Software
Engineering and Knowledge Engineering, Kaiserslautern, Germany,
June 1999.
[14] J. Gray and A. Reuter, Transactions Processing: Techniques and Concepts,
M. Kaufmann, Ed., San Mateo, CA, USA, 1994.
[15] F. Amigoni, M. Somalvico, and D. Zanisi, "A theoretical framework for
the conception of agency," International Journal of Intelligent Systems,
vol. 14, no. 5, pp. 449-474, May 1999.