BERMUDA - An Architectural Perspective on Interfacing Prolog to a Database Machine
We describe the design and implementation of BERMUDA, which is a system interfacing Prolog to the Britton-Lee Intelligent Database Machine (IDM). We discuss several architectural issues faced by such systems, and we present the solutions adopted in BERMUDA. In BERMUDA, rules are stored in Prolog, and facts are primarily stored in a database. BERMUDA has been designed and implemented so that multiple concurrent Prolog processes, possibly running on different machines, can share a database. Moreover, the semantics of Prolog programs remain unchanged and the use of a database system is transparent to the user. Finally, BERMUDA has achieved a certain level of portability by using the given Prolog interpreter and database system (almost) unchanged. BERMUDA also employs several novel techniques to make the interface of Prolog to the database efficient.