CDD/Repository Architecture Manual

*HyperReader

  CONTENTS

  Title Page

  Copyright Page

  Preface

  1      Overview

  1.1     Data Dictionary

  1.2     Object Oriented Information Model

  1.3     Project Support

  1.4     Transaction Processing
    1.4.1      Transactions
    1.4.2      Journaled File Operations

  1.5     Distributed Access

  1.6     Security

  1.7     Utility Routines

  2      Object Oriented Data Model

  2.1     Elements, Properties, and Methods
    2.1.1      Elements and Project Support Environments
    2.1.2      Access to Elements
    2.1.3      Properties
    2.1.4      Messages and Methods
    2.1.5      Inheritance

  2.2     Defining and Extending the Repository

  3      Element Names

  3.1     Name Syntax
    3.1.1      Repository Specification
    3.1.2      Directory Path Specification
    3.1.3      Element Specification
    3.1.4      Case Sensitivity
    3.1.5      Name Properties

  3.2     Requirements for Unique Names

  3.3     Element Name Defaults
    3.3.1      Repository and Directory Defaults
    3.3.2      Branch and Version Defaults
    3.3.3      Special Rules for Metadata Elements

  3.4     Wildcards

  4      Data Integration and Repository Extension

  4.1     Objects

  4.2     Data Associated with Objects
    4.2.1      Inherent Object Data
    4.2.2      Computed Object Data
    4.2.3      Data Integrity
    4.2.4      Data Type

  4.3     Relations with Other Objects
    4.3.1      Relation Characteristics
    4.3.2      Relation Property Definitions
    4.3.3      Relation Characteristics Implementation
    4.3.4      Property Definitions for Relationships

  4.4     Operations on Objects
    4.4.1      Messages and Operations
    4.4.2      Operation Arguments
    4.4.3      New Operations
    4.4.4      Operation Implementation

  4.5     Type Hierarchy
    4.5.1      Elements
    4.5.2      Named Elements
    4.5.3      Contexts, Partitions, and Persistent Processes
    4.5.4      Versioned Elements
    4.5.5      Binary
    4.5.6      Composites and Collections
    4.5.7      Types
    4.5.8      Relations

  5      Schema Definition and Modification

  5.1     Metadata Collection

  5.2     Element Type Definition

  5.3     Property and Method Definitions

  5.4     Relation Definitions

  6      Properties

  6.1     Property Data Types

  6.2     Property Access Types

  6.3     Property Definitions
    6.3.1      Normal Property Definitions
    6.3.2      Computed Property Definitions
    6.3.3      Relation Property Definitions
      6.3.3.1      Relation Property Specification
      6.3.3.2      Closure Property Specification
      6.3.3.3      Example:  The Value of hasChildren
      6.3.3.4      Relation Property Inheritance

  7      Messages and Methods

  7.1     Method Invocation

  7.2     Message Arguments
    7.2.1      Dispatch List Format and Use
    7.2.2      Message Argument Implementation

  7.3     METHOD Elements and Method Functions
    7.3.1      External Code Methods
    7.3.2      External Programs
    7.3.3      Null Functions
    7.3.4      Superop Functions
    7.3.5      Illegal Functions

  7.4     Method Refinement

  7.5     Preambles and Postambles

  7.6     Methods and Version Control

  8      Relations and Relationships

  8.1     Relationship Versus Relation

  8.2     Relationship Characteristics

  8.3     Relationship Traversal

  8.4     Relation Definitions
    8.4.1      Relation Type Hierarchy
    8.4.2      Relation Type Inheritance

  8.5     Dependency Relationships

  8.6     Operations on Relationships
    8.6.1      Implicit Relationship Manipulation
    8.6.2      Explicit Relationship Manipulation

  9      Configuration Management

  9.1     Version Management
    9.1.1      Versions
    9.1.2      Branches
    9.1.3      Merging
    9.1.4      Version Management Properties and Messages
      9.1.4.1      Version Management Properties
      9.1.4.2      Version Management Messages

  9.2     Modeling Configurations
    9.2.1      Modeling Complex Configurations
    9.2.2      Reserving and Replacing in a Collection
    9.2.3      Collection-Related Properties and Methods
      9.2.3.1      Properties on Collections
      9.2.3.2      Properties on Versions
      9.2.3.3      Collection-Related Methods

  9.3     Contexts and Persistent Processes
    9.3.1      Contexts
      9.3.1.1      Properties on Contexts
      9.3.1.2      Context-Dependent Properties on Version
      9.3.1.3      Methods on Contexts
      9.3.1.4      Contexts with Multiple System Views
    9.3.2      Persistent Processes
      9.3.2.1      Properties on Persistent Processes
      9.3.2.2      Methods on Persistent Processes
    9.3.3      Persistent Processes and Contexts

  9.4     Partitions
    9.4.1      Visibility Control
    9.4.2      Promotion
    9.4.3      Reserve-Replace-Promote Cycle
    9.4.4      Partitions and Dependency Relationships
    9.4.5      Intercomponent Relationship Support
    9.4.6      Support for Uncontrolled Change
    9.4.7      Properties Related to Partitions

  9.5     File Management
    9.5.1      Internal-Storage Files
      9.5.1.1      Directory Structure
      9.5.1.2      Context and Collection Directories
      9.5.1.3      File-Related Properties
    9.5.2      External-Storage Files
    9.5.3      Importing and Exporting Files
    9.5.4      Example

  10     Modeling Dependencies

  10.1    Dependency Relationships

  10.2    Modeling Build Dependencies
    10.2.1     Association of Source and Derived Versions
    10.2.2     Representation of Process Information

  FIGURES

  1 CDD/Repository Documentation Chart

  2-1        How Property Values Distinguish Elements

  3-1        Name Properties

  4-1        Element Type Hierarchy

  5-1 ELEMENT_TYPE Elements In the Repository (Partial)

  6-1        The Value of the propDef Property

  6-2        Defining a Normal Property

  6-3        Defining a Computed Property

  6-4        Modification of a Computed Property by a Subtype

  6-5        Composite Subschema: Specifying a Property

  6-6        Composite Subschema:  Adding Another Property

  6-7        Composite Subschema:  Adding a Closure Property

  6-8        Inheriting hasChildren Without Constraints

  6-9        Inheriting hasChildren with Constraints

  7-1        Method Selection

  7-2        Method Selection and Inheritance

  7-3        Associating Messages with Message Arguments

  8-1        Relation and Relationship Instantiation

  8-2        A Collection Implemented by Relationships

  8-3        Relationship Traversal Direction

  8-4        Collection Subschema: Specifying the Relationship

  9-1        Elemental Operations on Versions

  9-2        Multiple Branching

  9-3        Merging

  9-4        Version Control Properties

  9-5        Collection Properties

  9-6        Context Management Overview

  9-7        Using Persistent Processes and Contexts

  9-8        A Sample Visibility Control System

  9-9        Promotion in the Sample Visibility Control System

  9-10       Reserve-Replace-Promote Cycle

  9-11       Reserving Versions from a Configuration

  9-12       Creating a New Configuration

  9-13       Directory Structure for Internal-Storage Files

  9-14       File System Example:  Initial State

  9-15       File System Example:  Setting top

  9-16       File System Example:  Opening a BINARY Element

  9-17       File System Example:  Reserving BINARY Elements

  9-18       File System Example:  Replacing BINARY Elements

  TABLES

  1 Documentation Conventions

  4-1        Implementing Data Integrity Requirements

  6-1        CDD/Repository Data Types

  6-2        Property Access Types

  6-3        Property Implementation Types