Code Generation for Integrity Constraint Check in Objectivity/C++

Objectivity/C++에서 무결성 제약조건 확인을 위한 코드 생성

  • Kim, In-Tae (Dept.of Computer Science Engineering, Inha University) ;
  • Kim, Gi-Chang (Dept.of Computer Science Engineering, Inha University) ;
  • Yu, Sang-Bong (Dept.of Operation Engineering, Inha University) ;
  • Cha, Sang-Gyun (Dept.of Electronics Engineering, Seoul National University)
  • 김인태 (인하대학교 전자계산공학과) ;
  • 김기창 (인하대학교 전자계산공학과) ;
  • 유상봉 (인하대학교 자동화공학과) ;
  • 차상균 (서울대학교 전기공학부)
  • Published : 1999.08.01

Abstract

복잡한 무결성 제약 조건을 효율적으로 확인하기 위해 제약 조건들을 룰 베이스(rule base)에 저장하고 별도의 룰 관리 시스템과 제약 조건 관리 시스템을 통해 제약 조건을 확인하는 기법이 많은 연구자들에 의해 연구되고 발표되었다. 그러나 제약 조건 관리 시스템이 실행시간에 응용 프로그램을 항상 모니터링하고 있다가 데이타의 수정이 요청될 때마다 개입하여 프로세스를 중단시키고 관련 제약 조건을 확인하는 기존의 방법들은 처리 시간의 지연을 피할 수 없다. 본 논문은 컴파일 시간에 제약 조건 확인 코드를 응용 프로그램에 미리 삽입할 것을 제안한다. 응용 프로그램 자체 내에 제약 조건 확인 코드가 삽입되기 때문에 실행 시간에 다른 시스템의 제어를 받지 않고 직접 제약 조건의 확인 및 데이타베이스의 접근이 가능해져서 처리 시간의 지연을 피할 수 있을 것이다. 이를 위해 어떤 구문이 제약 조건의 확인을 유발하는 지를 추적하였고, 컴파일러가 그러한 구문을 어떻게 전처리 과정에서 검색하는지 그리고 그러한 구문마다 어떻게 해당 제약 조건 확인 코드를 삽입할 수 있는 지를 객체지향1) 데이타베이스 언어인 Objectivity/C++에 대해 gcc의 YACC 코드를 변경함으로써 보여 주었다.Abstract To cope with the complexity of handling integrity constraints, numerous researchers have suggested to use a rule-based system, where integrity constraints are expressed as rules and stored in a rule base. A rule manager and an integrity constraint manager cooperate to check the integrity constraints efficiently. In this approach, however, the integrity constraint manager has to monitor the activity of an application program constantly to catch any database operation. For each database operation, it has to check relevant rules with the help of the rule manager, resulting in considerable delays in database access. We propose to insert the constraints checking code in the application program directly at compile time. With constraints checking code inserted, the application program can check integrity constraints by itself without the intervention of the integrity constraint manager. We investigate what kind of statements require the checking of constraints, show how the compiler can detect those statements, and show how constraints checking code can be inserted into the program, by modifying the GCC YACC file for Objectivity/C++, an object-oriented database programming language.

Keywords

References

  1. IEEE Transactions on Software Engineering v.14 no.7 The POSTGRES rule manager M.Stonebraker;E.N.Hanson;S.Potamianos
  2. Technical Report XAIT-89-02 HiPAC: A research project in active,time-constrained database management S.Chakravarthy;B.Blaustein;A.P.Buchmann;M.carey;U.Dayal;D.Goldhirsch;M.Hsu;R.Jauhari;R.Ladin;M.Livny;D.McCarthy;R.McKee;A.Rosenthal
  3. IEEE Transactions on Knowledge and Data Engineering v.2 no.1 Starburst mid-flight: As the dust clears L.M.Haas;W.Chang;G.M.Lohman;L.McPherson;P.F.Wilms;G.Lapis;B.Lindsay;H.Pirahesh;M.Carey;E.Shekita
  4. Proceedings of the ACM SIGMOD International Conference on Management of Data Rule condition testing and action execution in Ariel E.N.Hanson
  5. Proceedings of the Twentieth International Conference on Very Large Data Bases Composite events for active database: Semantics, contexts, and detection S.Chakravarthy;V.Krishnaprasad;E.Anwar;S.K.Kim
  6. IEEE Transactions on Knowledge and Data Engineering v.10 no.1 OSAM KBMS/P: A Parallel, Active, Object-Oriented Knowledge Base Server S.Y.W. Su;P. Cherikuri;Q. Li;R. Nartey
  7. Proceedings of the ACM SICGMOD International Conference on Management of Data Ode(Object database and environment): The language and the data model R.Agrawal;N.Gehani
  8. Proceedings of the Eighteenth International Conference on Very Large Data Bases Implementing high level active rules on top of a relational DBMS E.Simon;J.Kiernan;C.de Maindreville
  9. Proceedings of the Twentieth International Conference on Very Large Data Bases NAOS efficient and modular reactive capabilities in an object-oriented database system C. Collet;T. Coupaye;T. Svensen
  10. IEEE Data Engineering Bulletin," Special Issue on Active Databases v.15 no.4 SAMOS:An active object-oriented database system S. Gatziu;K.R. Dittrich
  11. Pro. 11th Int'l Conf. Data Eng Building and Integrated Active OODBMS: Requirements, Architecture, and Design Decesions A.P.Buchmann;J.Zimmermann;J.A.Blakeley;D.L.Wells
  12. IEEE Transactions on Knowledge and Data Engineering v.3 no.3 Incremental recomputation of active relational expression X.Qian;G.Wiederhold
  13. Proceedings of the Eighth International Conference on Data Engineering A performance comparison of the Rete and TREAT algorithms for testing database rule conditions Y.W.Wang;E.N.Hanson
  14. Proceedings of the Nineteenth International Conference on Very Large Data Bases An adaptive algorithm for incremental evaluation of production rules in databases F.Fabret;M.Regnier;E.Simon
  15. Tech. Report, Database Systems Research and Development Center Graph-Based Parallel Query Processing and Optimization in Object-Oriented Databases SY.W.Su;Y.Huang;N.Akaboshi
  16. Proceedings of the Fourth International Workshop on Research Issues in Data Engineering Detecting composite events in active database systems using petir nets S.Gatziu;K.R.Dittrich
  17. IEEE Transactions on Knowledge and Data Engineering v.4 no.5 The integration of rule systems and database systems M.Stonebraker
  18. Active Database Systems J.Widom;S.Ceri
  19. ICDE99 An Agent-Based Approach to Extending the Native Active Capability of Relational Database Systems L.Li;S.Chakravarthy
  20. Proc. Of the 10th Innovative Applications of AI Conference ANSWER:Network Monitoring Using Object-Oriented Rules G.Weiss;J.Ros;A.Signhal