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.
Notes for OSLC RM call, 10th August 2009

What is a requirement?

Textual description, possibily with attributes. Author, owner, date of modification?

What is the content model (e.g., XHTML, plain text, anything)? Is there a role for content negotiation here? Could state management deal with "unfaithful" representations?

Other attributes: last modification time, life-cycle state (read-only etc)

Attributes should be extensible. -- TorgeKummerow - 17 Aug 2009

Which attributes are mandatory, which optional, and what are their permitted values?

Can a PDF document be a requirement? What about a jpeg? If yes, can these content types be dealt with in the same way (attributes, links)?

Possible yes, but a textual description should be mandatory in this case -- TorgeKummerow - 17 Aug 2009

What is a link?

Between a requirement and something else? How is that indicated?

A link should be possible between any non link object. It should be either directed (source -> target) or undirected (end <-> end).

Group objects can be introduced to link multiple objects with each other:
Interlink Groups could say that each object in this group is linked to each other object in this group.
Side-to-Side Groups could be used to link all objects in one Group to all objects in the other Group (or a single object)

Links should not be linkable IMHO due to some unpleasant effects on the searchability of the graph without much gain. Instead there sould be extensible metadata attached to any link describing it.

-- TorgeKummerow - 17 Aug 2009

Can a link have further links (e.g., to a change request)?

A link itself should not in my opinion (see above). Instead the linked endpoints should be linked to the changerequest. (e.g. pre and post) -- TorgeKummerow - 17 Aug 2009

Is a link always valid? How would a user interrogate a link for validity? What other "state" does a link have?

A link is invalid if one of the sides is missing ofc. This can be prevented however by alwys deleting all links of a deleted object.

If extensible metadata is beeing used, there can be run consistency checks using this metadata leading to the states consistent and inconsistent.

-- TorgeKummerow - 17 Aug 2009

Is a link uniquely defined by its endpoints? Mutiplicity?

No, two object should have the possibility to have multiple links of different purposes between them.

-- TorgeKummerow - 17 Aug 2009

Attributes on links (author, created data etc.)?

Yes, at best extensible methadata with some predefined felds. -- TorgeKummerow - 17 Aug 2009

Link types - what are the permitted link types? Is this type system fixed and non-extensible or extensible? What link types do we want to support, and which are MUSTs, which are SHOULDs?

Link types should be extensible. For each domain (in our case RM) there should be a pre defined set of types. A link type may have a set of fixed metadata assosiated with it. Each metadata could be marked as manadotry or optional.

-- TorgeKummerow - 17 Aug 2009

Is a validation mechanism required to govern the creation/modification of links (types and/or properties)?
- Jim Conallen - 24-Aug

Is a link bi- or uni-directional? Is a link always unary or binary (what about a three-way link between a requirement, its decomposition, and a justification argument in the form of a UML model?)

See first qestion in this section -- TorgeKummerow - 17 Aug 2009

Is there a need to represent a grouping of links along dimensions other than type?

If grouping means filtering for overview purpose than I would suggest to filter by attribute/metadata as well.

-- TorgeKummerow - 17 Aug 2009

API

Does it make sense to expose links without exposing requirements?

Should the API require that a client know the state of a requirement in order to add/remove a link? What about attributes? Should state management support the creation/removal of a link against a requirement which is read-only.

I Would suggest that we construct the API as open as possible with little or no constraints. Unless it is protecting some important data integrity issues (i.e. preventing the deletion of an object without deleting the associated links). In my expierience a restricive API did always hinder its use in other systems, led to workarounds or use of other solutions.

-- TorgeKummerow - 17 Aug 2009

Use of ETags to help manage concurrency

Yes -- TorgeKummerow - 17 Aug 2009

Progressive disclosure - how much should a GET on a resource expose?

In my opinion a normal GET should retreive the targeted object, its links and the objects on the other side of the links. If the GET addresses a link it should retreive the link and all participating objects. I think in most cases this is a good compromise between too much data at once and too many GET´s

Optionally the server could support switches to only get exactly that object or to get N levels starting from the object in focus. But this could be introduced in a later version.

-- TorgeKummerow - 17 Aug 2009

To what extent can OSLC be compatible with existing resource models and REST interfaces? Can we use content negotiation to keep OSLC and non-OSLC resource models distinct, or should resource URLs differ?

Given a URI, how does a client discover the things that can be done to that resource? (Embed services in representation? Allow content negotiation to fetch the service documents?)

How do we strive for evolvability of the resource model? What will break when we move to v2.0 of our effort?

-- IanGreen - 10 Aug 2009

Topic revision: r3 - 24 Aug 2009 - 13:45:52 - JimConallen
 
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