Re: [OEP] minutes of 5/26 telecon

Chris Welty wrote:
>Evan or Natasha, can you point us to a decent description of "association 
>classes" in UML and what you think might be needed to translate something 
>in OWL to it?

I am not sure if this qualifies as "a decent description", but it is
defined in the UML 1.5 specification [1] starting on page 3-77 (477).  Of
course, since this just says an Association Class is "an Association that
has class properties..."  you will have to understand the UML interpretation
of both Association and Class as well.  You can look those up, but I
give you a brief summary of Association below.

A UML Association is a relation (a predicate, or subtype of UML:Classifier, 
not an instance) between classes.  These are typically binary relations, but 
they can be N-ary.  The place where the Association line contacts a Class
is called an Association End (sometimes referred to as a role).  This 
restricts the range for that role to the class (and its subclasses) 
contacted.  The Association End will also include Multiplicity (cardinality
constraint) for that role's participation in an instance of the relation, and 
it may include a Role Name.  There are other properties of Association End,
most of which don't map to KR languages.  One which is awkward to map to 
OWL DL, but might more easily map to other languages is Ordered.  The
default for that property is unordered.

A typical mapping to OWL for a binary UML Association would lead to:
- an ObjectProperty with domain and range restricted to the associated classes,
- another property which is the inverse of that property, and
- Property Restriction axioms for each cardinality constraint in the 
  description of the OWL classes corresponding to the UML classes 
  participating in the Association.

You mentioned naming in the telecon.  That can be a PITA when mapping from
UML because names are only required when there is ambiguity in the identity
of a model element in the context in which it is used.  The solution I used
in my mapping was to optionally include the context information in the name
used in the corresponding OWL ontology.  Very ugly.



Received on Thursday, 2 June 2005 18:51:59 UTC