A generic persistence model for CLP systems (and two useful implementations)


Autoria(s): Correas Fernandez, Jesús; Gómez, J. M.; Carro Liñares, Manuel; Cabeza Gras, Daniel; Hermenegildo, Manuel V.
Data(s)

2004

Resumo

This paper describes a model of persistence in (C)LP languages and two different and practically very useful ways to implement this model in current systems. The fundamental idea is that persistence is a characteristic of certain dynamic predicates (Le., those which encapsulate state). The main effect of declaring a predicate persistent is that the dynamic changes made to such predicates persist from one execution to the next one. After proposing a syntax for declaring persistent predicates, a simple, file-based implementation of the concept is presented and some examples shown. An additional implementation is presented which stores persistent predicates in an external datábase. The abstraction of the concept of persistence from its implementation allows developing applications which can store their persistent predicates alternatively in files or databases with only a few simple changes to a declaration stating the location and modality used for persistent storage. The paper presents the model, the implementation approach in both the cases of using files and relational databases, a number of optimizations of the process (using information obtained from static global analysis and goal clustering), and performance results from an implementation of these ideas.

Formato

application/pdf

Identificador

http://oa.upm.es/14374/

Idioma(s)

eng

Publicador

Facultad de Informática (UPM)

Relação

http://oa.upm.es/14374/1/HERME_ARC_2004-5.pdf

http://link.springer.com/chapter/10.1007%2F978-3-540-24836-1_8?LI=true

Direitos

http://creativecommons.org/licenses/by-nc-nd/3.0/es/

info:eu-repo/semantics/openAccess

Fonte

Practical Aspects of Declarative Languages | 6th International Symposium, PADL 2004 | June 18-19, 2004 | Dallas, TX, USA

Palavras-Chave #Informática
Tipo

info:eu-repo/semantics/conferenceObject

Ponencia en Congreso o Jornada

PeerReviewed