An Analysis of the Hypertext Versioning Domain
Total Page:16
File Type:pdf, Size:1020Kb
UNIVERSITY OF CALIFORNIA, IRVINE An Analysis of the Hypertext Versioning Domain DISSERTATION submitted in partial satisfaction of the degree requirements for the degree of DOCTOR OF PHILOSOPHY in Information and Computer Science by Emmet James Whitehead, Jr. Dissertation Committee: Professor Richard N. Taylor, Chair Professor Mark S. Ackerman Professor David S. Rosenblum 2000 © 2000 Emmet James Whitehead, Jr. The dissertation of Emmet James Whitehead, Jr. is approved and is acceptable in quality and form for publication on microfilm: ___________________________________ ___________________________________ ___________________________________ Committee Chair University of California, Irvine 2000 ii Table of Contents List of Figures .............................................................................................................................................. vi List of Tables..............................................................................................................................................viii Acknowledgements ...................................................................................................................................... ix Curriculum Vitae......................................................................................................................................... xi Abstract of the Dissertation ....................................................................................................................... xv Chapter 1 – Introduction ............................................................................................................................. 1 1.1 Hypertext, and Hypertext Versioning .............................................................................................1 1.2 Domain Analysis............................................................................................................................. 7 1.3 Domain Analysis of Hypertext Versioning................................................................................... 11 Chapter 2 – Domain Terminology............................................................................................................. 16 2.1 General Terms............................................................................................................................... 16 2.2 Hypertext ...................................................................................................................................... 17 2.2.1 Work ..................................................................................................................................... 18 2.2.2 Anchor .................................................................................................................................. 27 2.2.3 Link....................................................................................................................................... 30 2.3 Version.......................................................................................................................................... 35 2.3.1 State-based and Change-based Versioning ........................................................................... 36 2.3.2 Variant .................................................................................................................................. 38 2.3.3 Versioned Object .................................................................................................................. 41 Chapter 3 – Taxonomy of Hypertext Versioning Systems ...................................................................... 44 3.1 Introduction................................................................................................................................... 44 3.2 Versioning for Reference Permanence ......................................................................................... 44 3.3 Versioned Data, Unversioned Structure........................................................................................ 45 3.4 Composite-based Systems ............................................................................................................ 46 3.4.1 PIE, a Change-Oriented Composite-Based System .............................................................. 47 3.5 Web Versioning ............................................................................................................................ 48 3.6 Versioning for Open Hypertext .................................................................................................... 49 Chapter 4 – Containment........................................................................................................................... 51 4.1 Introduction................................................................................................................................... 51 4.2 Basic Static Containment.............................................................................................................. 53 4.2.1 Independence of Mathematic Set Properties......................................................................... 58 4.2.2 Deletion Semantics ............................................................................................................... 59 4.3 Relationship Abstraction Layers................................................................................................... 61 4.4 Common Definitions of Inclusion and Reference Containment ................................................... 64 4.5 Links, Containment Relationships, and Containers ...................................................................... 65 4.6 Dynamic Containment .................................................................................................................. 66 4.7 Advanced Containment Semantics ............................................................................................... 67 Chapter 5 – Address and Name Spaces .................................................................................................... 68 5.1 Centralized Assignment and Resolution....................................................................................... 70 5.2 Decentralized Assignment and Resolution ................................................................................... 71 iii Chapter 6 – Modeling System Data Models ............................................................................................. 74 6.1 Modeling Primitives ..................................................................................................................... 77 6.1.1 Entities .................................................................................................................................. 77 6.1.2 Relationships......................................................................................................................... 78 6.2 Data Modeling Examples.............................................................................................................. 79 6.3 Relation of Versioning Scenarios to Data Model.......................................................................... 83 Chapter 7 – Domain Reference Requirements......................................................................................... 96 7.1 Data Versioning ............................................................................................................................ 96 7.1.1 The history of objects must be persistently stored. ............................................................... 96 7.1.2 Mutability of primary state and metadata for object revisions must be supported................ 98 7.1.3 Versioned and non-versioned objects can coexist................................................................. 99 7.1.4 All content types must be versionable ................................................................................ 100 7.1.5 A mechanism must exist for giving a human readable name to a single revision............... 101 7.1.6 Revisions and versioned objects can be removed. .............................................................. 101 7.2 Stability of References................................................................................................................ 102 7.3 Change Aggregation Support...................................................................................................... 102 7.4 Link and Structure Versioning.................................................................................................... 103 7.4.1 It must be possible to version links..................................................................................... 104 7.4.2 It must be possible to version structure............................................................................... 104 7.4.3 It must be possible to link to a specific revision. ................................................................ 105 7.5 Variant Support........................................................................................................................... 105 7.6 Collaboration Support................................................................................................................. 106 7.7 Navigation in the Versioned Space............................................................................................. 107 7.8 Searching .................................................................................................................................... 108