This Article 
 Bibliographic References 
 Add to: 
The Design, Implementation, and Performance Evaluation of BERMUDA
February 1994 (vol. 6 no. 1)
pp. 38-56

We describe the design and implementation of BERMUDA, which is a loosely coupled system interfacing Prolog to the Britton-Lee Intelligent Database Machine (IDM-500). BERMUDA allows multiple concurrent Prolog processes, possibly running on different machines, to share a database. In addition, it preserves the semantics of Prolog programs and makes the use of the database system transparent to the user. We discuss several architectural issues faced by such systems and the approach adopted for each one in BERMUDA. We also present the performance results of a variety of experiments with the system. These include single-user benchmarks of BERMUDA against stand-alone Prolog and stand-alone IDM, detailed profiling of the costs of the modules of BERMUDA that shows the overhead imposed by the interface, and multiuser benchmarks of BERMUDA that show how the system behaves under heavier load. These experiments demonstrate the effectiveness of loosely coupled systems in general and of BERMUDA specifically. They also help in the identification of some aspects of the design and implementation of BERMUDA that could be improved.

[1] J. Boccaet al., "Some steps towards DBMS based KBMS," inInformation Processing 86. Amsterdam: North-Holland, Sept. 1986, pp. 1061-1067.
[2] M. M. Astrahanet al., "System R: Relational approach to database management,"Trans. Database Syst., vol. 1, no. 1, pp. 97-137, 1976.
[3] P. Selinger,et al., "Access path selection in a relational data base system," inProc. 1979 ACM-SIGMOD Int. Conf. Management of Data, Boston, MA, June 1979.
[4] R. Baronet al., "Mach: A new kernel foundation for UNIX development," inProc. Winter '86 USENIX, 1986, pp. 93-112.
[5] BIM,BIM Prolog, Version 2.5. 1989.
[6] D. Bitton, D. J. DeWitt, and C. Turbyfill, "Benchmarking database systems--A systematic approach," inProc. 1983 Very Large Data-base conf., Oct. 1983.
[7] J. Bocca, "On the evaluation strategy of EDUCE," inProc. ACM-SIGMOD Conf., Washington, DC, May 1986.
[8] J. Bocca, "EDUCE--a marriage of convenience: Prolog and a relational DBMS", inProc. 1986 Symp. Logic Programming. Salt Lake City, Sept. 1986, pp. 36-45.
[9] S. Ceri, G. Gottlob, and G. Wiederhold, "Interfacing relational databases and Prolog efficiently," inProc. 1st Int. Conf. Expert Database Systems, Charleston, SC, Apr. 1986, pp. 141-153.
[10] S. Ceri, G. Gottlob, and G. Wiederhold, "Efficient database access from Prolog,"IEEE Trans. Software Eng., vol. 15, no. 2, pp. 153-164, Feb. 1989.
[11] S. Ceri, G. Gottlob, and L. Tanca, "What you always wanted to know about Datalog (and never dared to ask),"IEEE Trans. Knowl. Data Eng., vol. 1, no. 1, pp. 146-166, Mar. 1989.
[12] C. L. Chang and A. Walker, "PROSQL: A Prolog programming interface with SQL/DS," inProc. 1st Int. Workshop on Expert Database Syst., L. Kerschberg, Ed., 1986, pp. 233-246.
[13] E. Denoel, D. Roelants, and M. Vauclair, "Query translation for coupling Prolog with a relational database management system," inProc. Workshop Integration of Logic Programming and Databases, Venice, Italy, Dec. 1986.
[14] R. P. Draves and E. C. Cooper, "C threads," Dept. of Computer Science, Carnegie Mellon Univ., Tech. Rep., 1987.
[15] S. Finkelstein, "Common expression analysis in database applications," inProc. 1982 ACM-SIGMOD Int. Conf. Management of Data, Orlando, FL, June 1982.
[16] H. Gallaire and J. Minker,Logic and Data Bases. New York: Plenum, 1978.
[17] S. Ghosh, C. C. Lin, and T. Sellis, "Implementation of a Prolog-INGRES interface,"ACM-SIGMOD Record, vol. 17, no. 2. pp. 77-88, June 1988.
[18] Y. E. Ioannidis, J. Chen, M. A. Freidman, and M. Tsangaris, "BERMUDA--an architectural perspective on interfacing Prolog to a database machine," inProc. 2nd Int. Conf. Expert Database Systems, Tysons Corner, VA, Apr. 1988, PP. 91-105.
[19] M. Jarke, J. Clifford, and Y. Vassiliou, "An optimizing prolog front-end to a relational query system," inProc. ACM-SIGMOD 1984 Int. Conf. Management of Data, Boston, MA, June 1984, pp. 296-306.
[20] Britton Lee, Inc.,IDM Program Interface Manual, Version 2.0, Los Gatos, CA, 1989.
[21] K. Morris, J. D. Ullman, and A. Van Gelder, "Design overview of the Nail! system," inProc. Int. Conf. Logic Programming, London, 1986.
[22] L. Naish and J. A. Thom, "The MU-Prolog deductive database," Computer Science Dept., Univ. of Melburne, Tech. Rep. 83/10, Nov. 1983.
[23] S. Naqvi and S. Tsur,A Logical Language for Data and Knowledge Bases. New York: Computer Sci. Press, 1989.
[24] J. M. Nicolas and K. Yazdanian, "An outline of BDGEN: A deductive DBMS," inInformation Processing 83, R. E. Mason, Ed. Amsterdam: North-Holland, 1983, pp. 711-717.
[25] D. M. Ritchie and K. Thompson, "The UNIX time-sharing system,"Bell Syst. Tech. J. 57. vol. 6, pp. 1905-1929, July-Aug. 1978.
[26] A. P. Sheth and A. B. O'Hare, "The architecture of BrAID: A system for efficient AI/DB integration," Bellcore, Tech. Memo. TM-STS-015544, Nov. 1989.
[27] A. P. Sheth and A. B. O'Hare, "The architecture of BrAID: A system for bridging AI/DB systems," inProc. 7th Int. Conf. Data Engineering, Kobe, Japan, Apr. 1991.
[28] M. Stonebraker, "Triggers and inference in data base systems," inProc. Islamorada Workshop on Large-Scale Knowledge Base and Reasoning Systems. Islamorada, FL, Feb. 1985.
[29] M. Ubell, "The intelligent database machine (IDM)," inQuery Processing in Database Systems, W. Kim, D. Reiner, and D. Batory, Eds. New York: Springer, 1984.
[30] R. Venken, "A Prolog meta-interpreter for partial evaluation and its applications to source to source transformation and query-optimization," inProc. ECCAI. T. O'Shea, Ed. Amsterdam: Elsevier, 1984. pp. 91-100.
[31] M. H. Williams, P. Massey, and J. Crammond, "Benchmarking Prolog for database applications," Heriot-Watt Univ., Edinburgh, Tech. Rep. No. 87/7,1987.

Index Terms:
performance evaluation; logic programming; deductive databases; PROLOG; software cost estimation; user interfaces; Unix; performance evaluation; BERMUDA; loosely coupled system; Prolog; Britton-Lee Intelligent Database Machine; IDM-500; multiple concurrent Prolog processes; Prolog program semantics; architectural issues; single-user benchmarks; stand-alone Prolog; stand-alone IDM; costs; interface; multiuser benchmarks; deductive database; logic programming; system integration; Unix
Y.E. Ioannidis, M.M. Tsangaris, "The Design, Implementation, and Performance Evaluation of BERMUDA," IEEE Transactions on Knowledge and Data Engineering, vol. 6, no. 1, pp. 38-56, Feb. 1994, doi:10.1109/69.273024
Usage of this product signifies your acceptance of the Terms of Use.