-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: OBIX 1.1 WD39
-
Fix Version/s: OBIX 1.1 WD43, OBIX 1.1 WD44, OBIX 1.1 XSD WD43
-
Component/s: OBIX 1.1 Specification
-
Labels:None
-
Environment:
William Cox Line 323
-
Proposal:
-
Resolution:
The UML diagram has a number of issues that need to be addressed to avoid misleading a UML knowledgeable reader.
(1) contract is shown as anyURI, however the text says that a Contract is a list of URIs. Is that list ordered? [this would raise questions such as "Does a different order mean that you have a different contract? Is there a canonical comparison? ")
Perhaps Contract should be a conformed string with space-separated anyURI values, or a list or something else?
(2)The use of obix:Nil suggests in the obix package that there is a contract that may be treated as a Nil value. Is that the null string? Is it a defined URI that has "Nil" as the last component? The answers to these questions will guide the correction of the UML diagram.
(3) Should a Sequence be used in the UML rather than a conformed string?
(4) Consider the accuracy of the definition of Contract in Table 1-1 line 116.
(5) Line 152 Table 1-4 talks about "long Contract Lists" but that apparently defined term is not elsewhere in the specification. Is it a list of Contracts? or the space-separated list of URIs that are included in a single Contract? Correct this.
(6) Line 183-184 "OBIX captures these concepts into Contracts. Contracts allow us to tag Objects with normalized semantics and structure." should say something more like "OBIX expresses these concepts as Contracts. OBIX Contracts allow us to tag Objects with normalized semantics and structure." (though I'm not sure what the last phrase means here)
(7) Section 3.6 line 276ff. I thought Contract was a list of URIs (apparently now URI references to Contracts, but the object itself is a subclass equivalent to "anyURI" in the UML). The apparent conflict between an object as a template and a URI referencing an object needs to be clearly resolved in both the Quick Start and section 3.6.
(8) Line 359 is nul the same as Nil? If not where is it defined?
(9) Line 357 says "the value of this attribute ["is"] MUST be a Contract List...Section 7.2" Of,Is, In,out all require Contract Lists which seems to be defined at line 1024. It's not a 4.3.2 "list" as pointed out on line 1032. Note should be earlier as well as on 1032.
(10) Line 1024 is a single Contract a reference to a contract, or a single element Contract List? This affects the UML model as the class name should probably be ContractList rather than Contract.
(11) Line 1035 is ContractList the same as "...a Contract List" on line 1034? How about line 1042?