Re: On UML as a presentation syntax for OWL

I have done some work with Sandpiper Software - www.sandsoft.com.
They have a set of ontology tools that are a UML plug in.
They also were found that UML associations left a lot to be desired when it
comes to ontology modeling. Some of the things that were problematic if they
used associations were the ones chris pointed out - also they of course wanted
subproperties with appropriate inheritance (and not just overloading).  They
found that associations in the current UML form were not enough for them in
their modeling of DAML+OIL so their tool suite uses classes as the underlying
model for roles/relations/properties and their tools essentially hide this
issue from the user while retaining the semantics of properties we have in
DAML+OIL.

deborah

Christopher Welty wrote:

> In my PhD. thesis which used Classic to represent a simply ontology of
> object-oriented program constructs, I pointed out three subtle but
> important differences in the way description logics and object-oriented
> languages structure and represent information.  While the semantics of UML
> is still not completely clear, the link to OO languages has set a de-facto
> semantics on the subclass relation (unfortunately called "inheritance" in
> that community).   Most of this de-facto semantics comes from the way UML
> tools generate code in OO languages such as Java and especially C++.
> Unfortunately, this semantics is not logical.
>
> The more obvious of the three differences is that there is no notion of
> "primitive" vs. "defined" classes as there is in DLs.  Generally,
> primitive classes state only-necessary conditions and defined classes
> state necessary and sufficient conditions for class membership.  In this
> sense, all OO classes are DL primitive-classes.  There is no notation in
> UML to make such a differentiation.
>
> The second difference is that "associations" in UML are not global.  They
> explicitly link two classes, thus defining both domain and range
> restrictions.  A more subtle point, however, is that in the negative case
> - that is the case in which an association is not present in a class - the
> association CAN NOT be present on instances of the class.  This may seem
> like an obvious extension of the previous point about domain/range
> restrictions, except in the presence of the final difference.
>
> The final difference is in the way the introduction of associations is
> treated in subclasses.  This is the most confusing point, and does not fit
> into any intuitive logical understanding of the subclass relation.
> Normally, we think of subclass to be, quite simply, if P is a subclass of
> Q, then, logically (using the KIF FOL serialization): (FORALL x (=> (P x)
> (Q x))).  So if we defined class Q such that all instances have an
> association R1, we implicitly define that all instances of P have the
> association R1.  HOWEVER: if we define class P (the subclass) such that
> all instances of P have an association R2, instances of Q that are not
> instances of P CAN NOT have the association R2.  So, "direct instances" of
> Q (the superclass) can not have the association R2.
>
> I will respond directly to Guus' article on UML as a presentation syntax
> later today.  My comments will be based on this one: if we use UML as a
> presentation syntax for OWL, then we must acknowledge the places where the
> semantics of UML and OWL do not match.
>
> -Chris
>
> Dr. Christopher A. Welty, Knowledge Structures Group
> IBM Watson Research Center, 19 Skyline Dr.
> Hawthorne, NY  10532     USA
> Voice: +1 914.784.7055,  IBM T/L: 863.7055
> Fax: +1 914.784.6078, Email: welty@us.ibm.com

--
 Deborah L. McGuinness
 Knowledge Systems Laboratory
 Gates Computer Science Building, 2A Room 241
 Stanford University, Stanford, CA 94305-9020
 email: dlm@ksl.stanford.edu
 URL: http://ksl.stanford.edu/people/dlm
 (voice) 650 723 9770    (stanford fax) 650 725 5850   (computer fax)  801 705
0941

Received on Thursday, 16 May 2002 02:25:30 UTC