Use this URL to cite or link to this record in EThOS:
Title: Persistence and modularity in PROLOG
Author: Moffatt, D. S.
Awarding Body: University of Aberdeen
Current Institution: University of Aberdeen
Date of Award: 1988
Availability of Full Text:
Access from EThOS:
Persistence is a feature of computer systems that makes data movement between primary and secondary memory transparent, allowing dynamically created objects to persist on disk, maintaining their referential structure, and able to be accessed in subsequent sessions. The research entailed the design and development of a persistent Prolog and of evaluating the final system. The development of a module system adequate for persistent applications soon became an integral part of the research. There are three main aspects to the thesis - a review of the issues of modularity and a description of the module scheme implemented for Persistent Prolog; the database view of Prolog and how persistent databases are integrated into it; and finally, external call-outs from Prolog and how to best use the persistent programming language PS-algol. Modules partition the program name space but also provide scope for updates to Prolog's internal database which makes them suitable models of the persistent partitions of the file store. In order to support exploratory updates to the Prolog database, modules can be committed independently allowing selected changes to be preserved. An atom based model of visibility was chosen for the modules because it simplified meta-level programming, allowed hiding of local data and supported independent modular commitment through separate module representations. The interface to PS-algol is a backtrackable one that allows tight coupling to externally supported databases and to algorithmic applications. The system's performance is an order of magnitudeslower than complete reads of dumped states but because of its incremental, shared and secure access to databases, it can be used for problems that defy the use of monolithic images.
Supervisor: Not available Sponsor: Not available
Qualification Name: Thesis (Ph.D.) Qualification Level: Doctoral
EThOS ID:  DOI: Not available