University of Alb erta Typ e System for an Ob jectOriented Database Programming Language by Yuri Leontiev Technical Rep ort TR Octob er DEPARTMENT OF COMPUTING SCIENCE University of Alb erta Edmonton Alb erta Canada University of Alb erta Type System for an ObjectOriented Database Programming Language by Yuri Leontiev A thesis submitted to the Faculty of Graduate Studies and Research in partial fulllment of the requirements for the degree of Do ctor of Philosophy Department of Computing Science Edmonton Alb erta Fall Tomy parents Vladimir Vasilievitch Leontiev and Alla Davidovna Leontieva Abstract The concept of an ob jectoriented database programming language OODBPL is app ealing b ecause it has the p otential of combining the advantages of ob ject orientation and database programming to yield a p owerful and universal programming language design A uniform and consistent combination of ob ject orientation and database programming how ever is not straightforward Since one of the main comp onents of an ob jectoriented programming language is its typ e system one of the rst problems that arise during an OODBPL design is related to the development of a uniform consistent and theoretically sound typ e system that is suciently expressive to satisfy the combined needs of ob ject orientation and database programming This dissertation presents the design of a typ e system suitable for ob jectoriented database programmingThetyp e system has a unique combination of uniformity expressibilityveriability and theoretically proven soundness It also p ossesses features that make it suitable for database programming such as seamless integration of imp erativetyp es and features precise query typing via union and intersection typ es separation among three abstraction layers providing a high degree of co de reuse parametric p olymorphism extensibility and dynamic typ e analysis capabilities In the pro cess of typ e system development a theoretical framework for dealing with typ e systems that combine parametric and inclusion p olymorphism is established Due to its mo dular construc tion this framework can b e easily extended and used b eyond the scop e of this dissertation Another contribution of this work is an extensive analysis of existing and prop osed typ e systems from the p oint of view of the set of requirements related to ob ject orientation and database programming This research leads to the development of a uniform and theoretically sound OODBPL that can successfully utilize the p ower inherent in b oth ob ject orientation and database programming paradigms This will eventually lead to the development and implementation of a uniform ob ject oriented database system that will use the OODBPL as its main programming and query engine Acknowledgements Iwould like to express my sincere thanks to my sup ervisors Dr Tamer Ozsu and Dr Duane Szafron for their invaluable input constant supp ort and understanding This dissertation would not have b een p ossible without their guidance I am also grateful to the memb ers of my committee Dr Malcolm Atkinson Dr William Arm strong and Dr Witold Pedrycz for manyvaluable comments and suggestions Sp ecial thanks go to my Russian sup ervisor Vladimir Lvovitch Arlazarovandmy colleagues Alexander Merkov and Marina Ionova Without their guidance and supp ort this work would not have b een p ossible as I would not have had an opp ortunity to come to study at the Universityof Alb erta I would also like to thank Dr Tony Marsland who help ed me come to this University Thanks also go to the database research group and in particular to Boman Irani Iqbal Goralwalla Kaladhar Voruganti Paul Iglinski and Wade Holst for manyinteresting helpful and insightful discussions Thanks to the University of Alb erta Department of Computing Science and the Killam Fund for their nancial supp ort My sup ervisors at Intuit Canada Ltd Andrew Smith and Drew LaHaie haveprovided me with an opp ortunitytocontinue my studies while working fulltime for this company Many thanks to my friends Igor Kolo dkin Igor Voronkov Oleg Verevka and Victoria Lohvin Alexandr and Alina Litvak Andrey Zelnikov IlyaVodopyanov Andrey Maximov Vlad Alexiev and Dolya Alexieva Anna Zolotova Ewgenii Gawrilow and Tatyana Gawrilowa Grigoriy Andronov Dmitriy Makarov and Natalya Makarova Maxim Potashev Maria Schigoleva Dmitriy Khabirov and Olga Chernova Evgenia Kashina and Kirill Oseledets Their friendship has supp orted me throughout these years I am grateful to my wife Marina for her love encouragement and understanding It is her supp ort that gave me the strength to complete this work I am indebted to my parents Vladimir Vasilievitch Leontiev and Alla Davidovna Leontieva for their love and supp ort during this work and throughout myentire life This thesis is for them Contents Intro duction Overview Scop e and contributions Organization Requirements and Typ e System Survey Terminology Essential features of a typ e system Ob jectoriented programming language requirements Database programming language requirements Ob jectoriented database system requirements Summary of requirements Related work Typ e systems review Conclusions The Typ e System Design Typ es and b ehaviors The notion of a type Subtyping Interface sp ecication and pro duct types Behavior typ es Mutable typ es Parametric typ es and b ehaviors sp ecication Parametricity and subtyping Parametricity and interface sp ecication Union and intersection typ es Constrained sp ecications Subtyping and inheritance Conclusions Classesandfunctions Classes Sub classing and class extension Ob ject creation and extent maintenance Functions and asso ciations Dispatch Closures and typeif Implementation typ es Threelayer design Advantages and applications The basic typesystem Ob ject typ es Atomic types Collection typ es Conclusions The Language and Typ echecking Syntax and translation The target language The translation Consistency Notation Lo cal monotonicity Simplicity and the user typegraph Typ e expansion Constraint consistency Global b ehavior consistency Functional consistency Dispatchconsistency Entailment Conclusions The Typ e System Theory Decidability Finite evolution Termination of expansion algorithm Termination of attening algorithm Termination of entailment algorithm Typ es Regulartrees Subtyping Entailment Prop erties of entailment and attening algorithms Constrained typ es Subjectreduction Static subsumption Natural semantics Execution state typing Dispatch correctness Sub ject reduction Imp erativetypes Extensions Errors nulls and exceptions Lo cal variables and dynamic scoping Nonlo cal returns Handling ob ject creation Discussion Extensibility Typ e system evolution Engineering tradeos Summary Conclusions Summary and contributions Future research Bibliography A The Basic TIGUKATTyp e System A Commonbehaviors A Pro duct types A Functional typ es A Ob ject typ es A Sp ecial typ es A Atomic types A Collection typ es A Imp erativetypes A Metatypes A Class typ es and the metaclasses B Implementation Notes B Ob ject identiers B Multiple dispatch B Implementation typ es and functions B Adding p ersistence C Mo dule System C Information hiding and sharing C Exportandimport C Inner mo dules C Name search C Adding p ersistence List of Tables Typesystemindex Typ e system features Typ e system expressibility Typ e system tests Variance combination List of Figures Typ e system layers Person typ e hierarchy Stream types Comparable types Class typ e hierarchy Shap e typ e hierarchy TIGUKATtypes TIGUKAT ob ject types TIGUKAT atomic typ es TIGUKAT collection types Example user typ e graph G Typing rules for the target language Natural semantics of the target language Typing rules for rtob jects C Mo dule data structures.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages247 Page
-
File Size-