COLAN - A FUNCTIONAL CONSTRAINT LANGUAGE AND ITS IMPLEMENTATION

被引:22
作者
BASSILIADES, N [1 ]
GRAY, PMD [1 ]
机构
[1] UNIV ABERDEEN, KINGS COLL, DEPT COMP SCI, ABERDEEN AB9 2UE, SCOTLAND
关键词
SEMANTIC INTEGRITY CONSTRAINTS; OBJECT-ORIENTED DATABASES; FUNCTIONAL DATA MODEL; CONSTRAINT COMPILATION; INCREMENTAL CONSTRAINT CHECKING; NUMERICAL QUANTIFIERS;
D O I
10.1016/0169-023X(94)00028-D
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
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 constaints 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.
引用
收藏
页码:203 / 249
页数:47
相关论文
共 32 条
[1]  
[Anonymous], 1983, SMALLTALK 80 LANGUAG
[2]  
BASSILIADES N, 1994, IN PRESS 13TH INT C
[3]  
BASSILIADES N, 1992, THESIS U ABERDEEN
[4]  
BRACHMAN RJ, 1985, AI MAG, V6, P60
[5]  
BRY F, 1986, 12TH P INT C VER LAR
[6]  
CERI S, 1990, 16TH P INT C VER LAR, P566
[7]  
Chang C. L., 1978, Logic and data bases, P201
[8]  
DIAZ O, 1992, LECT NOTES COMPUT SC, V618, P227
[9]  
DIAZ O, 1991, 17 INT C VER LARG DA, P317
[10]  
DIAZ OG, 1991, THESIS U ABERDEEN