[sc34wg3] Role and role type in the dRM

Steven R. Newcomb sc34wg3@isotopicmaps.org
06 Apr 2002 04:45:18 -0600


Steve Pepper <pepper@ontopia.net> writes:

> Wow! I'm impressed. This is very, very good
> indeed. Clear, succint, readable. Goes straight to
> the right points and gets them across very well. No
> trace left of "raw spewage" even :-) And very
> informative graphics. Kudos to one and all.

Many thanks!  Since you mention it, please be informed
that Vicky Newcomb's editing is at least partly
responsible for the absence of raw spewage.

> There is one point I would like to raise. It won't
> come as a surprise to Steve, because we've discussed
> it before, but I would like to have it out in the
> open so we can resolve it once and for all.

> It concerns the terminology relating to roles. The
> nodes at endpoints that the draft Reference Model
> (dRM) labels "C" (for Casting) are called "roles" (or
> "association roles") in 13250. Those at endpoints
> labelled "R" (for Role) are called "role types" (or
> "association role types") in 13250. Thus there is an
> inconsistency between 13250 and the dRM: The latter
> uses "role" instead of "role type", and calls "role"
> something else altogether.

> The usage in 13250 is standard and
> well-established. Also, "role/role type" fits neatly
> and intuitively with "topic/topic type",
> "association/association type", and
> "occurrence/occurrence type". Making apparently
> arbitrary changes like this (I call them arbitrary
> because they haven't been justified) will only
> confuse our constituency.

> Steve and Michel: I'm sure you feel you had good
> reasons for this particular change; please explain
> them. I will oppose them vehemently until you have
> convinced me that they are absolutely unavoidable!

I accept your challenge.  Here's my argument.

This problem arises because the HyTM syntax uses the
term "association role" (or "assocrl", or, informally,
"role") to mean pretty much the same thing that the
draft Reference Model calls "casting".  Here's a table:

HyTM      |  dRM
term      |  term
====================
role      |  casting
--------------------
role type |  role

Even in hindsight, it's easy to see how we made this
error in HyTM: we needed a name for the kind of
elements that would appear inside an <association>,
each of which would specify that a specific topic plays
a specific role.  At the time, it seemed perfectly
reasonable to call them "association roles", even
though that forced us to invent the term "role type" in
order to talk about the roles themselves.  Indeed,
there was, and still is, an appealing symmetry in the
fact that "role types" and "association types" both
end with "type" and both are treated as classes.

I think the thing we're disagreeing about may be the
question of whether what Bernard et compagnie call
"semantic lift" -- the notion of class as opposed to
instance -- is already built into the word "role" (my
position), or whether we should append the term "type"
to the term "role" in order to specify that semantic
lift is present (your position, I think).

I believe that, in ordinary English, the term "role"
implies semantic lift: it's already a type, so the term
"role type" is redundant and very likely befuddling for
people who would otherwise intuitively and perfectly
understand the simpler term "role".  The term "role"
invokes a theatrical metaphor; actors play roles in
plays.  The metaphor works best if we think of an
assertion type as being a play, and an assertion
instance as a particular performance of the play,
performed by particular actors -- role players.  The
roles of a play are not instances of
their performance; they are *types* of which any
performances of them are instances.  I don't know of
any English usage of the term "role" to mean "a
particular performance of a role", or "a particular
actor's playing of a role".

Moreover, it's completely normal to say, "Mel Gibson
played the *role* of Hamlet," but we would never say,
"Mel Gibson played the *role type* of Hamlet."  We all
intuitively know that the role of Hamlet is a type, and
that Mel Gibson's performance of that role is an
instance.  I think the Reference Model should leverage
that intuition, and not weaken it by insisting on using
the "role type" neologism, even if one of the Standard
Syntaxes of the Standard Application uses that
neologism.  Almost nobody knows what a "role type" is,
but practically everybody knows what a "role" is.

-- Steve

Steven R. Newcomb, Consultant
srn@coolheads.com

Coolheads Consulting
http://www.coolheads.com

voice: +1 972 359 8160
fax:   +1 972 359 0270

1527 Northaven Drive
Allen, Texas 75002-1648 USA