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.
Requirements Structuring

Requirements

  • R1: Express ordered trees of requirements
  • R2: Express closure - that unless otherwise stated, no other resources are part of that structure
  • R3: Capture provider-specific "whole-structure" semantics such as subtree move.
  • R4: Cater for large structures without placing undesirable burden on consumer and/or provider
  • R4: The ETag of a requirement is not necessarily changed when it is used/unused in a structure

Possible requirements

  • R5: Notifications: when a requirement is modified in a structure, how do consumers of the structure detect that a requirement in it has been modified (should we care?)
  • R6: sub-structures should be resources in their own right. This to support use cases in which new structures are composed from existing sub-structures.

One of the features of structure resources is that they define an order over the resources so used - an ordered tree. RM 1.0 and 2.0 used RDF Containers to express similar semantics for RequirementCollection? resources; in the 1.0 specification rdf:Bag container was used, yet the wording in the specification indicates that these are in fact ordered. The V2 specificaiton loses this distinction - there is no RDF container and there is no mention of orderedness or otherwise. (We may want to address this as part of V2.1.)

RDF collections (RDF Collections) additionally express closure (by convention only), so the requirement on closure would suggest that RDF collections are part of the resource model for requirements structuring.

Vocabulary for structures (Interesting read here.) R4 suggests that adding a requirement to a structure (akin to adding it to a collection) is not an update on the requirement; rather, it is an update on some other resource(s).

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:oslc_rm="http://open-services.net/rm#">
<oslc_rm:RequirementStructure rdf:about="http://example.com/module/1">
  <oslc_rm:uses rdf:parseType="Collection">
    <rdf:Description rdf:about="http://example.com/req/1"/>
    <rdf:Description rdf:about="http://example.com/reqcoll/2"/>
    <rdf:Description rdf:about="http://example.com/reqcoll/3"/>
  </oslc_rm:uses>
</oslc_rm:RequirementStructure>

Inventing a new "tree-like" resource model may be more that we need for requirements structuring

Edit | Attach | Print version | History: r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r1 - 16 May 2011 - 10:52:34 - 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