Skip to main content

Prolog und Datenbanken: Ein Schema für die externe Verwaltung von Prolog-Programmen

  • Conference paper
Datenbanksysteme in Büro, Technik und Wissenschaft

Part of the book series: Informatik-Fachberichte ((INFORMATIK,volume 204))

  • 39 Accesses

Zusammenfassung

Standard-Prolog-Interpreter verwalten Prolog-Programme zur Laufzeit im Hauptspeicher. Dieses führt bei großen Programmsystemen zu hohem Speicherplatzbedarf. Ferner entstehen durch Programm-Manipulationen unterschiedliche Versionen dieser Programme im Hauptspeicher und in den externen Dateien. Eine datenbankgestützte Prolog-Programmierumgebung vermeidet diese Nachteile dadurch, daß nur die für eine aktuelle Abfrage relevanten Teile der Prolog-Programme im Hauptspeicher vorgehalten und Veränderungen an den Programmen sofort in der Programmdatenbank nachgehalten werden.

In diesem Aufsatz wird das Schema einer datenbankgestützten, externen Programmverwaltung anhand des DBProlog-Systems diskutiert. Ausgehend von einem Standard-Prolog-Interpreter mit interner Programmverwaltung werden dessen für die hauptspeicherresidente Programmverwaltung benutzten Datenstrukturen so verändert, daß eine direkte (minimale) Übersetzung von extern gespeicherten Klauseln in die für die Prolog-Unifikation benötigten Strukturen möglich wird. Durch die Definition von zusätzlichen Zugriffsstrukturen wird eine gute Selektivität auf die mit einem Teilziel unifizierbaren Klauseln erreicht. Für die externe Programmverwaltung wird ein abstraktes Schema vorgestellt. Dieses soll sowohl für das relationale DB-System ORACLE als auch für das GridFile-System implementiert werden.

Abstract

Standard Prolog interpreters store the programs in main memory at run time. This results in a huge amount of main memory that is necessary for interpreting large programs. Furthermore, manipulating programs with built-in predicates leads to different versions of these programs in main memory and on external files. These deficiencies will be overcome by using a database for the management of Prolog programs. Firstly, only necessary parts of a program must be stored in main memory. Secondly, changes to programs in main memory will be mirrored on the external program management

In this paper the schema used in the DBProlog system for externally storing Prolog programs will be discussed. Starting from an existing Prolog interpreter we will change the datastructures of the internal database into new structures being more suitable for the management of externally stored clauses. As a result, there is a simple translation of the externally stored clauses into the representation used for the unification. Additional datastructures will allow for efficient access of unifyable clauses to some goal. In this paper we will provide a schema for the external program management of the DBProlog system. It will be implemented for both, the relational database management system ORACLE as well as the GridFile system.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 54.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Literatur

  1. Appelrath, H.-J.: “Von Datenbanken zu Expertensystemen”, Informatik Fachberichte Nr. 102, Springer Verlag, 1985.

    MATH  Google Scholar 

  2. Appelrath, H.-J.: “PROTOS- Prolog Tools for Building Expert Systems”, in “GI-Kongress 1987, Wissensbasierte Systeme”, Informatik Fachberichte Nr. 155, Springer Verlag, 1987.

    Google Scholar 

  3. Bocca, J.: “On the Evaluation Strategy of EDUCE”, in ACM SIGMOD ’86, 1986.

    Google Scholar 

  4. Clocksin, W. F.; Mellish, C. S.: “Programming in Prolog”, 3rd edition, Springer Verlag, 1987.

    MATH  Google Scholar 

  5. Kerschberg, L. (ed.): “Expert Database Systems”, proceedings of the 1st intern, workshop on Expert Database Systems, Addison Wesley, 1986

    Google Scholar 

  6. Kerschberg, L. (ed.): “Expert Database Systems”, proceedings of the 1st intern, conference on Expert Database Systems, Benjamin/Cummings Publ. Inc., 1986.

    Google Scholar 

  7. Kerschberg, L. (ed.): “Expert Database Systems”, proceedings of the 2nd intern, conf. on Expert Database Systems, George Mason Univ., Fairfax, Virginia, 1988.

    Google Scholar 

  8. Jasper, H.: “Interfacing Prolog and External Data Management Systems: A Model”, in GWAI-87, Proc. of the 11th German Workshop on Artificial Intelligence, Geseke, 1987.

    Google Scholar 

  9. Kluzniak et.al.’85 Kluzniak, F.; Szpakowicz, S.; Bien J.S.: “Prolog for Programmers”, Academic Press, London, 1985.

    MATH  Google Scholar 

  10. Proceedings of the “Workshop on Integration of Logic Programming and Data Bases”, Commission of the Europ. Com., Esprit Project 530, Venice, December 1986.

    Google Scholar 

  11. Muller, C: “A Prolog Front End To The GridFile”, Diplomarbeit, ETH Zürich, 1984.

    Google Scholar 

  12. Nievergelt, J.; Hinterberger, H.; Sevik, K.C.: “The GridFile: An Adaptable, Symmetric Multikey File Structure”, ACM TODS, Vol. 9, No. 1, pp. 38 — 71, 1984.

    Google Scholar 

  13. Nussbaum, M.: “Delayed Evaluation in Logic Programming: An Inference Mechanism for Large Knowledge Bases”, Dissertation 8542, ETH Zürich, 1988.

    MATH  Google Scholar 

  14. Rothermel, K.: “An Effective Method for Storing and Retrieving PROLOG Clauses from a Relational Database”, 3rd Int. Conf. on Data and Konwledge Bases, Jerusalem, 1988.

    Google Scholar 

  15. Venken, R.: “A Prolog Meta-Interpreter for Partial Evaluation and its Application to Source to Source Transformation and Query-Optimization”, in proceedings ECAI ’84, “Advances in Artificial Intelligence”, T. O’Shea (ed.), North-Holland, 1984.

    Google Scholar 

  16. Zehnder, CA.: “Informationssysteme und Datenbanken”, Teubner, Stuttgart, 1987.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1989 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Jasper, H. (1989). Prolog und Datenbanken: Ein Schema für die externe Verwaltung von Prolog-Programmen. In: Härder, T. (eds) Datenbanksysteme in Büro, Technik und Wissenschaft. Informatik-Fachberichte, vol 204. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-74571-3_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-74571-3_17

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-50894-6

  • Online ISBN: 978-3-642-74571-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics