spacer spacer spacer
spacer spacer spacer
spacer
NASA Jet Propulsion Laboratory, California Institute of Technology + View the NASA Portal

+ NASA en Español

+ Contact NASA
Search the API    

Requirements

This document covers the use cases for Catalog and Archive Management and the requirements derived from those use cases. The following are definitions for terms used in the use cases and requirements:

  • Repository
    A place where products are stored and cataloged. A term used to represent the Catalog and Archive Service (CAS).
  • Product
    All files, references and metadata associated with a registered object in the CAS.
  • Metadata
    Structured data that contains a definition or description of a product.
  • Register
    The process of storing and cataloging a product in the repository.

Use Cases

The following are definitions for the actors referenced in the use cases:

  • Client
    Any entity requesting access to the service via the Application Program Interface (API). The entity may be a user accessing the web-based interface or another application accessing the API directly.
  • Service
    The CAS server application responding to events based on defined policy.
  • Operator
    A person assigned to maintenance and operations of the service.

Service Access

  1. Client requests access to the CAS.
  2. Service prompts user for identifying information. (UI)
  3. Client provides identifying information.
  4. Service authenticates user.
  5. Service determines authorized access.
  6. Service grants user requested access.

Alternative: Authentication Failure
At step 4, authentication fails.

  1. Allow client to re-enter identifying information and re-try.

Alternative: User Not Authorized
At step 5, the client is not authorized to access the service.

  1. The requested action is not allowed.

Product Access

  1. Client requests access to a product.
  2. Service determines authorized access.
  3. Service grants client requested access.

Alternative: User Not Authorized
At step 2, the client is not authorized to access the specified product.

  1. The requested action is not allowed.

Policy Definition

  1. Follow steps 1 through 6 from the Service Access use case.
  2. Service prompts client for product type information. (UI)
  3. Client provides product type information. (This includes name, a data element list and any tasks and rules to be associated with the product type. This will also include access rights and on-line retention policy.)
  4. Service adds the product type to the catalog.

Alternative: Policy Modification
At step 4, product type already exists in the catalog.

  1. The product type policy is updated in the catalog.

Metadata Validation

  1. Service validates metadata content syntactically. (This includes structure and mandatory elements.)
  2. Service validates metadata content semantically. (This includes valid domain values.)

Alternative: Syntactic Validation Failure
At step 1, syntactic validation fails.

  1. Allow client to re-enter metadata and re-try. (UI)

Alternative: Semantic Validation Failure
At step 2, semantic validation fails.

  1. Allow client to re-enter metadata and re-try. (UI)

Product Registration

  1. Follow steps 1 through 6 from the Service Access use case.
  2. Service prompts client for product information. (UI)
  3. Client provides product information. (This includes product type, product name, metadata and product specification.)
  4. Follow steps 1 through 2 from the Metadata Validation use case.
  5. Service copies product files into on-line storage.
  6. Service registers product in the catalog with initial version.

Alternative: New Version
At step 6, the next available version number for the given product name is assigned.

Product Registration with Task Execution

  1. Follow steps 1 through 6 from the Product Registration use case.
  2. Service determines the tasks to execute.
  3. Service executes and evaluates all rules associated with a task.
  4. Service executes each task assuming all associated rules are satisfied.

Alternative: Rule Not Satisfied
At step 3, a rule is not satisfied.

  1. Service moves the associated task into the queue to be executed later after a predetermined wait-time has expired.

Monitor Task Execution

  1. Follow steps 1 through 6 from the Service Access use case.
  2. Service prompts client for a date/time range. (UI)
  3. Client provides a date/time range.
  4. Service returns task information that matches the date/time range.

Move Product to Off-line Storage

  1. Service determines whether a product is a candidate for moving to off-line storage based on access history and defined policies.
  2. Service notifies the operator to move the product from on-line storage to off-line storage.
  3. Operator moves the product from on-line storage to off-line storage.
  4. Operator updates the product reference in the catalog to reflect the new location.

Product Query

  1. Follow steps 1 through 6 from the Service Access use case.
  2. Service prompts client for product identifying information. (UI)
  3. Client provides product identifying information. (This could include product type and/or metadata.)
  4. Service returns product references that match the product identifying information. (This would include product name and version.)

Product Retrieval

  1. Follow steps 1 through 4 from the Product Query use case.
  2. Client provides product identifying information. (This would include product name and version.)
  3. Service prompts client for product staging location. (U I)
  4. Client provides product staging location.
  5. Service copies product from on-line storage to specified product staging location.

Product Retrieval

  1. Follow steps 1 through 4 from the Product Query use case.
  2. Client provides product identifying information. (This would include product name and version.)
  3. Follow steps 1 through 3 from the Product Access use case.
  4. Service determines product accessibility. (The product may be stored in on-line, near-line or off-line storage.)
  5. Service prompts client for product staging location. (UI)
  6. Client provides product staging location.
  7. Service copies product from on-line or near-line storage to specified product staging location.

Alternative: Product is Off-line, Move On-line
At step 4, the product is determined to be in off-line storage.

  1. Service notifies the client that the requested product is in off-line storage.
  2. Service notifies the operator to move the product from off-line storage to on-line storage.
  3. Operator moves the product from off-line storage to on-line storage.
  4. Operator updates the product reference in the catalog to reflect the new location.
  5. Operator notifies the client that the requested product is now available in on- line storage.
  6. Return to primary scenario at step 1.

Alternative: Product is Off-line, Stage
At step 4, the product is determined to be in off-line storage.

  1. Service notifies the client that the requested product is in off-line storage.
  2. Service notifies the operator to copy the product from off-line storage to a staging area.
  3. Operator copies the product from off-line storage to a staging area.
  4. Operator notifies the client that the requested product is now available in a staging area for some period of time.
  5. Client copies the product from the staging area.
  6. Operator removes the product from the staging area after the period of time has expired.

Product Removal

  1. Follow steps 1 through 4 from the Product Query use case.
  2. Client provides product identifying information. (This would include product name and version.)
  3. Follow steps 1 through 3 from the Product Access use case.
  4. Service removes all references to the product from the catalog.

Product Metadata Modification

  1. Follow steps 1 through 4 from the Product Query use case.
  2. Client prov ides product identifying information. (This would include product name and version.)
  3. Follow steps 1 through 3 from the Product Access use case.
  4. Service prompts client for metadata modifications. (UI)
  5. Client provides metadata modifications.
  6. Follow steps 1 through 2 from the Metadata Validation use case.
  7. Service updates metadata in the catalog for the specified product.

Product Access Rights Modification

  1. Follow steps 1 through 4 from the Product Query use case.
  2. Client provides product identifying information. (This would include product name and version.)
  3. Follow steps 1 through 3 from the Product Access use case.
  4. Service prompts client for access rights modifications. (UI)
  5. Client provides access rights modifications.
  6. Service updates access rights in the catalog for the specified product.

Use Case/Functional Requirements Mapping

The following table maps the use cases specified above to the functional requirements specified below.

Use Case Functional Requirements
Service Access 12, 13, 19, 20
Product Access
Policy Definition 1, 2, 3, 19, 20
Metadata Validation 7
Product Registration 4, 5, 6, 8, 9, 19, 20
Product Registration with Task Execution 14, 15, 16, 17, 19, 20
Monitor Task Execution 18, 19, 20
Move Product to Off-line Storage
Product Query 10, 19, 20
Product Retrieval 11, 19, 20
Product Removal
Product Metadata Modification
Product Access Rights Modification

Functional Requirements

The following functional requirements have been specified:

CAS.1 - The Catalog and Archive Service shall maintain a repository of products for a period of time determined by the policies of the controlling authority.

CAS.2 - The Catalog and Archive Service shall allow definition of policy applicable to the repository.

CAS.3 - The Catalog and Archive Service shall maintain policy for the repository.

CAS.4 - The Catalog and Archive Service shall register products in the repository.

CAS.5 - The Catalog and Archive Service shall allow products to consist of one or more items.

CAS.6 - The Catalog and Archive Service shall catalog metadata for a registered product.

CAS.7 - The Catalog and Archive Service shall validate metadata during product registration.

CAS.8 - The Catalog and Archive Service shall allow multiple versions of a product to be registered.

CAS.9 - The Ca talog and Archive Service shall store products on on-line storage media.

CAS.10 - The Catalog and Archive Service shall query products from the repository.

CAS.11 - The Catalog and Archive Service shall retrieve products from the repository.

CAS.12 - The Catalog and Archive Service shall authenticate all accesses to the repository.

CAS.13 - The Catalog and Archive Service shall log all accesses to the repository.

CAS.14 - The Catalog and Archive Service shall execute client defined tasks triggered by an event.

CAS.15 - The Catalog and Archive Service shall specify the interface for client defined tasks.

CAS.16 - The Catalog and Archive Service shall execute client defined rules as a prerequisite to a task execution.

CAS.17 - The Catalog and Archive Service shall specify the interface for client defined rules.

CAS.18 - The Catalog and Archive Service shall manage task execution.

CAS.19 - The Catalog and Archive Service shall provide an Application Program Interface (API) for accessing the service.

CAS.20 - The Catalog and Archive Service shall run in a distributed environment allowing a client to access the service remotely.

CAS.21 - The Catalog and Archive Service shall store products on near-line storage media.

CAS.22 - The Catalog and Archive Service shall store products on off-line storage media.

CAS.23 - The Catalog and Archive Service shall remove products from the repository.

CAS.24 - The Catalog and Archive Service shall modify product metadata in the repository .

CAS.25 - The Catalog and Archive Service shall authorize all accesses to the repository.

CAS.26 - The Catalog and Archive Service shall grant access to products in the repository for which a client is authorized.

CAS.27 - The Catalog and Archive Service shall restrict access to products in the repository for which a client is not authorized.

CAS.28 - The Catalog and Archive Service shall grant access to policy in the repository for which a client is authorized.

CAS.29 - The Catalog and Archive Service shall restrict access to policy in the repository for which a client is not authorized.

CAS.30 - The Catalog and Archive Service shall allow the product owner to assign access rights for a product.

CAS.31 - The Catalog and Archive Service shall record all accesses to products in the repository.

FirstGov - Your First Click to the US Governmnet

+ Freedom of Information Act

+ NASA Privacy Statement, Disclaimer,

and Accessibility Certification


+ Freedom to Manage
NASA

Editor: Sean Kelly

NASA Official: Dan Crichton

Last Published: 08 December 2005

+ Contact NASA
spacer
spacer spacer spacer
spacer spacer spacer