OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

obix message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: New UML diagram based on WD31 schema - for Sept 25 TC meeting - meeting dropped


Sorry, don't try to get back in.

Follow up in email.

Thanks!

bill
--
William Cox
Email: wtcox@CoxSoftwareArchitects.com
Web: http://www.CoxSoftwareArchitects.com
+1 862 485 3696 mobile

On 9/25/14 10:46 AM, William Cox wrote:
All --

Copying the list - this is for the agenda for today.

Since sending the email below (and the attached diagram) I realized several things:

(a) All attributes in XSD are optional; the Enterprise Architect UML tooling I use doesn't get this right on import.
(b) Are attributes 0..1 or 0..*?  Clearly 0 (optional) is the lower bound.
(c) If there are no attributes expressed, there's still an Obj instance. Is this right? Are there needed constraints?
(d) Optionality and emptiness: if there's no ts attribute, there's no tagspace applied. If there is, should ts be initialized?
(e) What's the difference between the absence of (say) "writable" and having "writable" exist and initialized to false?
(f) UML basic types should be used in UML; the mix of XSD and UML types is a bit strained. Key places are the dateTime/etc areas - I've solved this in the UML for the WS-Calendar PIM by conformed strings, so they're all of type String. In XSD they're specific types.
(g) The places where an attribute is required AND initialized (see Str - val: String = "" as initial value) seem odd; in what sense does initialization apply, and what does it mean during the transition from "nothingness to being"?

Talk to you at the meeting shortly.

Thanks!

bill
--
William Cox
Email: wtcox@CoxSoftwareArchitects.com
Web: http://www.CoxSoftwareArchitects.com
+1 862 485 3696 mobile

On 9/24/14 11:46 PM, William Cox wrote:
Craig and Toby --

I've attached the WD31 UML diagram as a 400dpi PNG. Scale as needed to fit in the spec.

I used the obix-v1_1_WD31.xsd Toby uploaded to produce this. The beautification attempt cannot be blamed on the schema.

There are some modeling issues:

(1) The XSD types are embedded in the earlier diagram; I've done the following:
  • Used the UML primitive types for Boolean, String, Integer, Real instead of boolean, string, int, and double
  • Used the XSD NMTOKEN and anyURI (these should probably both be conformed Strings)
  • Left the XSD dateTime and date and time types - I could define those as in the WS-Calendar PIM as conformed strings; that's what they are, but I don't think that level of persnicketiness (sp?) is useful
  • obix:Nil is used only as a literal default/initial value and seems otherwise undefined. Not sure whether this is an issue in the XSD
  • obix:obj is used in the same way; same issues - but it's a defined element of type Obj. Confused. It's a default for contract. It's also an xs:any in a different namespace with lax process Contents.  Huh? "contract" is an alias for "anyURI" so how come it's xs:any in several places??

(2) I note that several classes have additional attributes and there are some related issues.

  • Should ts have a default value of "" (the empty string)?
  • Enum has "range" added
  • Int has added "unit"

So this diagram is pretty close to valid UML; the gaps are dateTime, date, time, etc (easy to fix if it needs to be fixed). The use of obix:obj and Nil need discussion.  And perhaps (since the xsd is the basis) I should go back from the UML types to the XSD types for boolean, int, etc.

Thanks!

bill

--
William Cox
Email: wtcox@CoxSoftwareArchitects.com
Web: http://www.CoxSoftwareArchitects.com
+1 862 485 3696 mobile




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]