This wiki is locked. Future workgroup activity and specification development must take place at our new wiki. For more information, see this blog post about the new governance model and this post about changes to the website.

OSLC Requirements Management V2.0 Specification DRAFT

2.0 CONVERGENCE - Issues to be recorded at RmSpecificationV2Issues.

*NOTE*: Sections indented like this, a blockquote section, is in an early development state. Actually, the whoe thing is in a development state.

Introduction

Notation and Conventions

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" and "OPTIONAL" in this document are to be interpreted as described in RFC2119.

Terminology

Requirement Resource - Some statement of need.

Service Provider - an implementation of the OSLC Requirements Management specification. OSLC RM clients consume these services.

Unless explicitly qualified otherwise, OSLC RM in this document refers to OSLC RM V2.0 specification.

Examples Resources

Illustrative examples will not be included in this document, but instead may be found in separate documents. This document will link to relevant examples.

Base Requirements

Compliance

This specification is based on OSLC Core Specification. OSLC RM consumers and service providers MUST be compliant with both the core specification and this RM specification in order to claim OSLC RM V2.0 compliance.

Specification Versioning

See OSLC Core Specification Versioning section.

Service providers that support the resource formats and services in this specification MUST support the use of HTTP request and HTTP response headers "OSLC-Core-Version" with a value of "2.0".

This specification reserves the header "OSLC-RM-Version" for future use. OSLC RM 2.0 service providers MUST NOT use the "OSLC-RM-Version" header.

Namespaces

In addition to the namespace URIs and namespace prefixes defined in the OSLC Core specification, OSLC RM defines the following namespace and prefix:

  • Namespace URI: http://open-services.net/ns/rm#
  • Prefix: oslc_rm

Resource Formats

OSLC RM describes the use of RDF/XML resource formats (with media-type "application/rdf+xml", as specified by the OSLC Core - see OSLC Resource Formats). Other resource formats are not prohibited by this specification and OSLC RM providers MAY offer additional formats if required. The meaning of such representations is outwith the scope of this specification.

OSLC RM service providers SHOULD support the retrieval of a user interface (UI) preview for OSLC defined resources as defined by OSLC UI Preview? .

Authentication

See OSLC Core Authentication section. OSLC RM places no additional constraints on authentication.

Error Responses

See OSLC Core Error Responses section. OSLC RM puts no additional constraints on error responses.

Partial Update

Providers MAY support the partial update of resources using OSLCCorePartialUpdate? . Providers doing so should indicate this capability in the s

RM Resource Definitions

Use of rdf:type

There is a need to distiguish between different types of requirement - for example a "user requirement" and a "system requirement" are different - see the scenario on RmScenarioElaboration? .

Resource Requirement

The requirement resource properties are not limited to the ones defined in this specification. Properties defined by providers which lie outwith this specification MUST belong to non-OSLC-defined namespaces.

  • Name: Requirement
  • Type URI http://open-services.net/ns/rm#Requirement

Prefixed Name Occurs Read-only Value-type Represen-tation Range Description
OSLC Core: Common Properties
dcterms:title exactly-one unspecified XMLLiteral n/a n/a Title (reference: Dublin Core) of the resource represented as rich text in XHTML content. SHOULD include only content that is valid inside an XHTML <span> element.
dcterms:description at-most-one unspecified XMLLiteral n/a n/a Descriptive text (reference: Dublin Core) about resource represented as rich text in XHTML content. SHOULD include only content that is valid and suitable inside an XHTML <div> element.
dcterms:identifier at-most-one True String n/a n/a An identifier for a resource. This identifier may be unique with a scope that is defined by the RM provider. Assigned by the service provider when a resource is created. Not intended for end-user display.
dcterms:name at-most-one unspecified XMLLiteral n/a n/a Short name identifying a resource, often used as an abbreviated identifier for presentation to end-users. SHOULD include only content that is valid inside an XHTML <span> element.
dcterms:subject zero-or-many False String n/a n/a Tag or keyword for a resource. Each occurrence of a dcterms:subject property denotes an additional tag for the resource.
dcterms:creator zero-or-many unspecified Resource Either foaf:Person Creator of resource (reference: Dublin Core).
dcterms:contributor zero-or-many unspecified Resource Either foaf:Person Contributor to resource (reference: Dublin Core).
dcterms:created at-most-one True DateTime n/a n/a Timestamp of resource creation (reference: Dublin Core).
dcterms:modified at-most-one True DateTime n/a n/a Timestamp last latest resource modification (reference: Dublin Core).
rdf:type zero-or-many unspecified Resource Reference n/a The resource type URIs.
oslc:serviceProvider zero-or-many unspecified Resource Reference oslc:ServiceProvider The scope of a resource is a URI for the resource's OSLC Service Provider.
oslc:instanceShape at-most-one unspecified Resource Reference oslc:ResourceShape Resource Shape that provides hints as to resource property value-types and allowed values.
oslc:discussion at-most-one unspecified Resource Reference oslc:Discussion A sequence of notes and discussions about this requirement.
Prefixed Name Occurs Read-only Value-type Represen-tation Range Description
OSLC RM: Start of additional properties
NONE            
Prefixed Name Occurs Read-only Value-type Represen-tation Range Description
Relationship properties: This grouping of properties are used to identify relationships between resources managed by other OSLC Service Providers
oslc_rm:relatedTo zero-or-more False Resource Reference n/a Requirement is related to other resource.
oslc_rm:elaboratedBy zero-or-more False Resource Reference n/a Resource which elaborates this requirement.
oslc_rm:specifiedBy zero-or-more False Resource Reference n/a Resource which specifies this requirement.
oslc_rm:affectedBy zero-or-more False Resource Reference oslc_cm:ChangeRequest Requirement is affected by a reported defect.
oslc_rm:trackedBy zero-or-more False Resource Reference oslc_cm:ChangeRequest Change requests which track this requirement.
oslc_rm:implementedBy zero-or-more False Resource Reference oslc_cm:ChangeRequest Implemented by associated ChangeRequest? .
oslc_rm:validatedBy zero-or-more False Resource Reference QM resource QM resource which validates this requirement.

Resource Requirement Collection

The requirement collection resource properties are not limited to the ones defined in this specification. Properties defined by providers which lie outwith this specification MUST belong to non-OSLC-defined namespaces.

  • Name: RequirementCollection
  • Type URI http://open-services.net/ns/rm#RequirementCollection

Prefixed Name Occurs Read-only Value-type Represen-tation Range Description
OSLC Core: Common Properties
dcterms:title exactly-one unspecified XMLLiteral n/a n/a Title (reference: Dublin Core) of the resource represented as rich text in XHTML content. SHOULD include only content that is valid inside an XHTML <span> element.
dcterms:description at-most-one unspecified XMLLiteral n/a n/a Descriptive text (reference: Dublin Core) about resource represented as rich text in XHTML content. SHOULD include only content that is valid and suitable inside an XHTML <div> element.
dcterms:identifier at-most-one True String n/a n/a An identifier for a resource. This identifier may be unique with a scope that is defined by the RM provider. Assigned by the service provider when a resource is created. Not intended for end-user display.
dcterms:name at-most-one unspecified XMLLiteral n/a n/a Short name identifying a resource, often used as an abbreviated identifier for presentation to end-users. SHOULD include only content that is valid inside an XHTML <span> element.
dcterms:subject zero-or-many False String n/a n/a Tag or keyword for a resource. Each occurrence of a dcterms:subject property denotes an additional tag for the resource.
dcterms:creator zero-or-many unspecified Resource Either foaf:Person Creator of resource (reference: Dublin Core).
dcterms:contributor zero-or-many unspecified Resource Either foaf:Person Contributor to resource (reference: Dublin Core).
dcterms:created at-most-one True DateTime n/a n/a Timestamp of resource creation (reference: Dublin Core).
dcterms:modified at-most-one True DateTime n/a n/a Timestamp last latest resource modification (reference: Dublin Core).
rdf:type zero-or-many unspecified Resource Reference n/a The resource type URIs.
oslc:serviceProvider zero-or-many unspecified Resource Reference oslc:ServiceProvider The scope of a resource is a URI for the resource's OSLC Service Provider.
oslc:instanceShape at-most-one unspecified Resource Reference oslc:ResourceShape Resource Shape that provides hints as to resource property value-types and allowed values.
oslc:discussion zero-or-more unspecified Resource Reference oslc:Discussion A sequence of notes and discussions about this requirement collection.
Prefixed Name Occurs Read-only Value-type Represen-tation Range Description
OSLC RM: Start of additional properties
dcterms:type zero-or-more unspecified String n/a n/a A short string representation for the type, example 'Stakeholder Requirements'.
oslc_rm:uses zero-or-more unspecified Resource Reference n/a A collection uses a requirement - the assocaited requirement is in the requirement collection.
Prefixed Name Occurs Read-only Value-type Represen-tation Range Description
Relationship properties: This grouping of properties are used to identify relationships between resources managed by other OSLC Service Providers
oslc_rm:relatedTo zero-or-more False Resource Reference n/a Related resource.
oslc_rm:elaboratedBy zero-or-more False Resource Reference n/a Resource which elaborates this requirement collection.
oslc_rm:specifiedBy zero-or-more False Resource Reference n/a Resource which specifies this requirement collection.
oslc_rm:affectedBy zero-or-more False Resource Reference oslc_cm:ChangeRequest Requirement Collection is affected by a reported defect.
oslc_rm:trackedBy zero-or-more False Resource Reference oslc_cm:ChangeRequest Change requests which track this requirement collection.
oslc_rm:implementedBy zero-or-more False Resource Reference oslc_cm:ChangeRequest Implemented by associated ChangeRequest? .
oslc_rm:validatedBy zero-or-more False Resource Reference QM resource QM resource which validates this requirement collection.

RM Service Provider Capabilities

Service Discovery and Description

Resource Shapes

OSLC RM service providers SHOULD support Resource Shapes as defined in OSLC Core Specification

Service Provider Resource

OSLC RM service providers MUST provide a Service Provider Resource that can be retrieved at a implementation dependent URI.

OSLC RM service providers MAY provide a Service Provider Catalog Resource that can be retrieved at a implementation dependent URI.

OSLC RM service providers MUST provide an oslc:serviceProvider property for their defined resources that will be the URI to a Service Provider Resource.

Creation Factories

OSLC RM service provider SHOULD support the creation of requirement resources and requirement collection resources (that is, SHOULD be at least one Creation Factories entry in the Services definition).

Query Capabilities

OSLC RM service provider SHOULD support OSLC query (that is, SHOULD be at least one [OSLCCoreSpecDRAFT#Query_Capabilities][Query Capabilities]] entry in the Services definition).

The Query Capability SHOULD at least support these parameters:
* oslc:where
* oslc:select

Delegated UIs

If an OSLC RM service provider supports the selection and creation of resources by delegated web-based user interface dialogs, there MUST be at least one Delegated UIs entry in the Services definition.

OSLC RM service provider SHOULD support the pre-filling of creation dialogs based on the definition at Delegated UIs.

Miscellaneous

Version Compatibility with 1.0 Specifications

It is recommended that service providers carefully consider existing deployments and client needs when deciding on which combinations of OSLC RM protocols to support. The OSLC RM 1.0 and 2.0 specifications are not interchangeable, though providers can provide 1.0 and 2.0 services simultaneously.

Media Types

RM 1.0 and 2.0 media types are not interchangeable. All RM 2.0 media types are those described in this specification.

Appendix A: Samples

Appendix B: Notices and References

Authors and Contact Information

Authors of the OSLC RM 2.0 Specification:

Reporting Issues on the Specification

The working group participants who author and maintain this working draft specification, monitor a distribution list where issues or questions can be raised, see Requirements Management Mailing List

Issues found with this specification and their resolution may be found at RmSpecificationV2Issues.

Intellectual Property Covenant

The members of the Working Group (or as appropriate, their employers) have documented a Patent Non-Assertion Covenant for implementations of the RM 2.0 Specification, as described in the open-services.net Terms of Use. Details of the Covenant may be found here.

References

References

Topic revision: r1 - 09 Aug 2010 - 21:53:43 - IanGreen
 
This site is powered by the TWiki collaboration platform Copyright � by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Contributions are governed by our Terms of Use
Ideas, requests, problems regarding this site? Send feedback