UML Nomenclature

It seems to me that a lot of the *'s are dubious.  According to Mike and
to the very useful Quick Reference he referred to
(http://www.holub.com/goodies/uml/index.html), * means "0 or more".  In
many or most cases I think you may really mean "1 or more", which is
"1..*".  For example, does a message without a receiver make sense?

It appears to me that Martin may have actually exchanged the meaning of
* and 1..*, since he uses "0,..*", which according to the reference is
the same as "*" and I see no instances of "1..*" 

Here is the list of cardinality nomenclature from that source.  Martin,
if this is not correct, perhaps you could provide a different source?
Otherwise, I suggest that we use this convention.  If it is too painful
to type all the 1..*'s, I suggest that we adopt the regular expression
convention of "+".  That is, add "+ (1 or more)" to the following list.

1 (usually ommitted if 1:1)
n (Unknown at compile time but bound) [Is this meaningful for us?]
0..1 (0..2 1..n)
1..* (1 or more)
*     (0 or more)

-----Original Message-----
From: Hugo Haas [mailto:hugo@w3.org] 
Sent: Thursday, June 12, 2003 5:19 AM
To: Martin Chapman
Cc: www-ws-arch@w3.org
Subject: Re: SOAP UML diagram



Hi Martin.

* Martin Chapman <martin.chapman@oracle.com> [2003-06-06 12:22-0700]
> updated diagram at:
>
> http://lists.w3.org/Archives/Public/www-archive/2003Jun/0011.html

It looks good to me. A couple of comments below.

- I don't see features linked to properties, or at least not directly.

[1] says that "[a] feature may be expressed through multiple properties"
and that "[p]roperties are named with URIs" and "property values SHOULD
have an XML Schema [XML Schema Part 1] [XML Schema Part 2] type listed
in the specification which introduces the property".

I don't think that those are shown in the diagram.

- My second comment is about ultimate receivers. I think that we need
  to make the distinction between roles and nodes.

A SOAP message has one sender, any number of intermediaries, and one
ultimate receiver _identified_. They are naturally identified with URIs,
and the ultimate receiver is:

  http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver

[2] reads: "a SOAP node is said to act in one or more SOAP roles, each
of which is identified by a URI known as the SOAP role name."

Now, the message could be multicasted to 5 different SOAP node, which
could each act in the role of the ultimate receiver.

You are saying that the path can have several ultimate receivers (as a
result of your discussion with Jean-Jacques, I think), however the
definition of path is:

| SOAP message path
| 
|  The set of SOAP nodes through which a single SOAP message passes.  
| This includes the initial SOAP sender, zero or more SOAP  
| intermediaries, and an ultimate SOAP receiver.

Basically, I think that just changing "*" next to "ultimate" by "1"
would do the trick, since I don't think that the diagram prevents the
message from being sent to several nodes, although it may not be
explicit.

Also, "initial", "intermediary" and "ultimate" should probably be
qualified as roles.

- Interesting question here to try and tie this to our other diagram:
  what is the relationship between a SOAP node and an agent?
  
I think that a SOAP node is an agent implementing the SOAP 1.2
specification.

Regards,

Hugo

  1. http://www.w3.org/TR/2003/PR-soap12-part2-20030507/#soapfeatspec
  2. http://www.w3.org/TR/2003/PR-soap12-part1-20030507/#soaproles
-- 
Hugo Haas - W3C
mailto:hugo@w3.org - http://www.w3.org/People/Hugo/

Received on Thursday, 12 June 2003 12:39:42 UTC