CoLan: A functional constraint language and its implementation
作者:
Highlights:
•
摘要
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.
论文关键词:Semantic integrity constraints,Object-oriented databases,Functional data model,Constraint compilation,Incremental constraint checking,Numerical quantifiers
论文评审过程:Received 19 November 1993, Revised 7 March 1994, Accepted 5 October 1994, Available online 22 December 1999.
论文官网地址:https://doi.org/10.1016/0169-023X(94)00028-D