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