Re: Ext/Vers terminology with generic/xml split

"David Orchard" <dorchard@bea.com> writes:
> I've updated the terminology section including diagrams to do the
> generic/xml split.

I like the improvements, and wonder if it is valuable to
separate the XML and Name examples even further?  So the
text starts off with generic definitions, followed by
discussions in the context of XML, followed by the Name
example.

---

> [Definition: A producer is an agent...
> [Definition: A consumer is an agent...

These are "is a" relationships.  So "producer" and "consumer" should
be modelled as subtypes of "agent" in the UML diagram.

Then "production" would appear as a method in the Producer class, and
"consume" a method in the Consumer class.  Right now, the UML seems
a bit strange, because processes appear as classes.

The "membership" class seems odd too, since it is a property
rather than an acutal object.  I think it should be
represented as a line between Instance and Language.

---

> Generally, a language has one or more vocabularies that each may
> have multiple terms.

The UML diagram shows a cardinality of zero or more (not
"one or more").

Change the "*" to "1..*".

---

> Formally, [Definition: a language is an identifiable set of
> vocabulary terms...

This text is correct, but the UML diagram does not represent
what the text says.

You want to allow for languages which uses a proper subset of terms
from a vocabulary (i.e. not all the terms from a vocabulary).

The UML diagram shows that a language is made up of vocabularies, and
those vocabularies are made up of terms.  The UML diagram implies that
if a language uses a vocabulary, it (potentially) uses all the terms
from it -- there is no way to identify specific terms from the
vocablary which are included/excluded from a particular language.

I think the arrow should go from Language to Term, not
from Language to Vocabulary.

---

> In general, the intended meaning of a vocabulary term is scoped by
> the language in which the term is found. However, there is some
> expectation that terms drawn from a given vocabulary will have a
> consistent meaning across all languages in which they are
> used. Confusion often arises when terms have inconsistent meaning
> across language. The Name terms might be used in other languages,
> but it is generally expected that they will still be "the same" in
> some meaningful sense.

Readers, who mistakenly believe that one XML namespace has only one
corresponding XML Schema, might find this text reinforcing their
beliefs (they could easily interpret "in general" to mean "in all cases").

How about rewording it as:

  It is recommended practice that ...(above text)...
  However, it is permitted for different languages
  to associate different constraints to the same term.

---

> [Definition: Text is a specific, discrete sequence of
> characters].

Perhaps "text" should be "data" to be more friendly to
instances which are not normally considered as text
(e.g. binary)?  I don't feel strongly either way about this.

---

> [Definition: An instance is a specific, discrete sequence of terms].

This definition should also include content as part of an instance.
As it stands, it sounds like only the terms (i.e. markup) makes up an
instance.

Are you using the word "discrete" to mean "completely separate and
unconnected" or in the mathematical sense of being "finite"?  If the
later, I suggest using the word "finite" to be more precise.

---

In the UML diagrams, add cardinalities to the link from Language to
Constraint.

Language has zero or more constraints.  Zero sounds a bit
strange, but I guess it should be permitted.

---

Will the other terms that are in the current Draft TAG Finding
(namely: "backward compatiable", "forward compatiable",
"closed system" and "open system") be in the new
Terminology section too?

Hoylen
-- 
____________________________________________________________
hoylen@hoylen.com                     http://www.hoylen.com/

Received on Saturday, 4 March 2006 06:54:26 UTC