Events in an Active Object-Relational Database .Events in an Active Object-Relational Database...

download Events in an Active Object-Relational Database .Events in an Active Object-Relational Database System

of 75

  • date post

    16-Sep-2018
  • Category

    Documents

  • view

    212
  • download

    0

Embed Size (px)

Transcript of Events in an Active Object-Relational Database .Events in an Active Object-Relational Database...

  • Events in anActive Object-Relational Database System

    by

    Salah-Eddine Machani

    Linkping Studies in Science and TechnologyMasters Thesis No: LiTH-IDA-Ex-9634

    September 1996

    Abstract

    This report presents syntax, semantics and implementation of rule definitions in an ObjectRelational Active Database Management System, AMOS. Both, event-based and condition-based rules are considered. However, the main focus is on the event component of rules. Thedefinition, the deletion, and the management of rule events are investigated. Events can be sim-ple or composite and might be specified as updates on stored or derived functions. The rulesare implemented based on the concept of function monitoring; events are compiled to activefunctions and an incremental change monitoring technique is used to detect changes.

    Rsum

    Ce rapport prsente une syntaxe de dfinition de rgles actives ainsi que sa smantique et sonimplementation dans un Systme de Gestion de Bases de Donnes Active Objet Relationnel,AMOS. Les rgles sont soit base dvnements ou base de conditions. Cependant, un plusgrand intrt est port sur la partie vnement des rgles. La dfinition, la dtection et la ges-tion des vnements sont discuts en details. Les vnements peuvent tre simples ou com-poss et peuvent tre spcifis comme des mises jours sur des functions de bases ou sur desfonctions derives. Limplementation des rgles est base sur le concept de gestion de fonc-tions; les vnements sont compils en fonctions actives et une technique de monitoring duchangement incrementale est utilise pour la dtection des changements.

    This work has been done as a collaboration between the University of Versailles andLinkping University as a part of ERASMUS program of the ACT-NET research network onactive databases group and partially financed by the University of Pierre et Marie Curie(Paris 6).

    Laboratoire PRiSM - Universit de Versailles45, avenue des Etats-Unis78035 Versailles Cedex

    France

    Department of Computer and Information ScienceLinkping UniversityS-584 83 Linkping

    Sweden

  • Events in an Object Relational Database System iii

    Summary in French 5

    Preface 11

    CHAPTER 1 Introduction 131.1 Object relational model 131.2 Active Databases 141.3 AMOS System 151.4 Motivation and Summary of Contributions 191.5 Related Work 20

    CHAPTER 2 The AMOS Data Model 252.1 Data model 252.2 Rule language 28

    2.2.1 Rule definition 282.2.2 Rule deletion 302.2.3 Rule activation and deactivation 30

    2.3 Example 30

    CHAPTER 3 Event Specification Language 333.1 Simple events 343.2 Composite events 373.3 Condition specification 383.4 Action specification 39

    Contents

  • Contents

    iv Events in an Object Relational Database System

    CHAPTER 4 Event Monitoring 414.1 Delta relations 414.2 Stored functions 424.3 Derived functions 454.4 Event functions 47

    4.4.1 Simple events 484.4.2 Composite events 524.4.3 CA-rules 53

    CHAPTER 5 Implementation issues 555.1 Rule Processing Algorithm 555.2 Creation of a rule 56

    5.2.1 Delta relations 565.2.2 Event functions 575.2.3 Condition functions 575.2.4 Action procedure 58

    5.3 Propagation network 585.4 Activation/Deactivation of a rule 605.5 Data modification 625.6 Check phase 62

    5.6.1 Propagation Algorithm 635.6.2 Rule triggering and conflict resolution 665.6.3 Condition evaluation and rule execution 665.6.4 Termination 67

    CHAPTER 6 Conclusions and Future Work 69

    References 73

  • Events in an Object Relational Database System 5

    Summary in French

    Ce rapport prsente un travail de recherche dune dure de 6 mois effectudans le Laboratoire de Gnie Systmes de Bases de Donnes (EDSLab1,Engineering Database System Laboratory) lUniversit de Linkping enSude. Ce travail a t ralis dans le cadre des exigences ncessaires pourlobtention du Diplme dEtudes Approfondies en Mthodes InformatiquesAppliques aux systmes Industrielles (DEA MISI) au laboratoire deRecherche en Informatique, PRiSM2 lUniversit de Versailles- France.

    Le travail consiste dans un premier temps dfinir une syntaxe conviviale etsa smantique pour la spcification des rgles Evnement-Condition-Action(rgles ECA) dans un Systme de Gestion de Base de Donnes (SGBD)Active Objet relationnel, nomm AMOS[FRS93] et dans un deuxieme tempsdimplmenter des algorithmes efficaces pour la gestion et la detection desvnements spcifis et lvaluation des conditions.AMOS (Active Mediators Object system) [FRS93] est un prototype derecherche, class dans la catgorie des SGBD Objets relationnels (OR). Son

    1. Pour plus dinformation sur EDSLab, utilisez lURL:

    http://www.ida.liu.se/labs/edslab

    2. Pour plus dinformation sur PRiSM, utilisez lURL:

    http://www.prism.uvsq.fr

  • 6 Events in an Object Relational Database System

    architecture permet de localiser, chercher, combiner, et contrler des don-nes dans les systmes dinformation avec plusieurs stations connectesentre elles en utilisant des rseaux de communication rapides. Cette archi-tecture utilise lapproche des mdiateurs qui introduisent un niveau delogiciel intermdiaire entre les bases de donnes et leur utilisation dans desapplications et par des utilisateurs. Ces mdiateurs sont actifs puisquilssupportent les facilits des bases de donnes actives. Un prototype dAMOSa t developp a partir de la version WS-Iris mmoire principale deIRIS[FA+89]. Lelement central dAMOS est AMOSQL, un language derequtes objet-relationnel qui offre une interface de requtes declarative per-mettant de dfinir, charger et manipuler la base de donnes. AMOSQL estdriv de OSQL[Lyn91] qui est un langage fonctionnel, ayant ces racinesdans DAPLEX[Shi81]. Le language de requte AMOSQL est en plus influ-enc par les efforts de standarisation comme SQL3[Mel95] et OQL[Cat94].Comme dans OSQL, les requtes AMOSQL sont compiles des plansdexcution dans un langage logique OO appell Object-Log[LR92].AMOSQL tend OSQL principalement avec des rgles actives et un sys-tme plus riche en types et en fonctionalits de base de donnes multi-ples[FaR97].

    Dans sa premiere version le langage de rgles dans AMOS ne supporte quedes rgles de type CA (Condition-Action) o les vnements entrans sontcalculs partir des Conditions par le compilateur de rgles. Ces rgles sontdclenches implicitement quand des donnes sont modifies et les nouv-elles donnes satisfont la Condition de la rgle. Ce type de rgles est gn-ralement considr plus dclaratif et peut tre facilement programm. Laspcification des vnements dclencheurs de rgles comme une partie de ladfinition des rgles permet de spcifier des actions diffrentes quand unecondition donne est satisfaite, dpendament de lvnement soulev.Lintgration des vnements dans AMOS a t lobjet du travail presentdans ce rapport. Cette intgration ncessite la dfinition dun langage despcification de rgles conforme aux fonctions dAMOSQL et lutilisationdes mthodes efficaces pour la dtection des vnements et lvaluation desconditions. Une nouvelle syntaxe permettant de dfinir des rgles ECA(Evenement-Condition-Action) a t ainsi implmente. La smantique decette syntaxe est Quand lEvnement spcifi dans la dfintion de la rgleest detect, value la Condition. Si la Condition est vraie excute lAction.Cette syntaxe permet en outre de dfinir une variation de type de rgles.Lomission de la partie Condition dfinit une rgle de type Evenement-Action (rgles EA), dans cette classe de rgles, la Condition est considrecoome tant toujours vraie et lAction est excute suite la dtection de

  • Summary in French

    Events in an Object Relational Database System 7

    lvnement. Lomission de la partie Evenement cre une rgle de type CA,celle-ci a la mme smantique que les rgles CA dans la version prcdentedAMOS.

    Le modle de donnes dAMOS est un modle objet relationnel. Dans cemodle tout est objet, y compris les fonctions, les types et les rgles. Ainsiles rgles peuvent tre cres et supprimes comme tout autre objet. Deuxautres commandes sont utilises pour activer ou desactiver une rgle. Lesvnements peuvent tre simples ou composs et seuls les vnements lis lexcution des oprations de mise--jour sont considres. Les vnementsutilisateurs et les vnements temporels seront considrs dans un futur tra-vail. Un vnement dans AMOS peut tre dfini comme Un changementdtat de la base de donnes un instant donn (linstant de loccurence delvnement est enrigistr pour faciliter lintgration des vnements tem-porels). Les types dvnements pris en compte sont la cration ou la sup-pression dun objet, linsertion dune valeur dans une fonction, lasuppression dune valeur dune fonction, la mise jour de la valeur dunefonction, et les combinaisons logiques des ces vnements. Une syntaxeconviviale a t dfinie pour exprimer ces types dvnements. Les vne-ments composs sont dfinis par les formes logiques de conjonction(lordre des vnements nest pas pris en compte) et de disjonction dans cepremier temps. Linclusion de la forme de ngation et lordonnancement desvnements seront a considrer dans un travail futur.Les rgles ECA integres dans AMOS sont bases sur le concept de gestionde fonctions. LEvnement spcifi est transfom en une fonctionAMOSQL qui peut contenir des conjonctions et des disjonctions dans le casdes vnements composes. La partie Condition est compile en unerequte AMOSQL qui peut contenir son tour des conjonctions, des dis-jonctions ou des ngations. La condition est vraie si le rsultat de la requteest non vide. LAction est transfome en une procdure AMOSQL qui peutcontenir nimporte quelle expression AMOSQL sauf commit. Les donnespeuvent tre passes de lvnement la condition et de la condition laction de chaque rgle par lutilisation des variables de requttes par-tages. Lexcution de la fonction vnement renvoie les donnes entranes.Ces donnes seront passes la fonction condition comme parametres enarguments, ainsi la requte d