Copyright © 1994 Published by Elsevier Science B.V.
CoLan: A functional constraint language and its implementation
Received 19 November 1993;
References and further reading may be available for this article. To view references and further reading you must purchase this article.
Abstract
This paper is about the definition of CoLan, a high-level declarative Constraint Description Language, for use with an Object-Oriented Database (OODB). CoLan has features of both first-order logic and functional programming and is based on Daplex. CoLan expressions are translated into Prolog code that implements the operational semantics of the constraint. Pieces of generated code are cached inside the class descriptor of the ‘host’ class attached to appropriate slots. The pieces of code are retrieved along an inheritance path when an update on the database is attempted. If the update violates any of the retrieved constraints then it is rejected with an informative message. Thus constraints are expressed declaratively and they can even be retracted individually. However, they are implemented efficiently as code-generated methods, triggered selectively by an update. The implementation is described for the ADAM OODB, which uses meta-classes of the CoLan system to generate class descriptions.
Author Keywords: Semantic integrity constraints; Object-oriented databases; Functional data model; Constraint compilation; Incremental constraint checking; Numerical quantifiers






E-mail Article
Add to my Quick Links

Cited By in Scopus (13)






