- From: Deborah McGuinness <dlm@KSL.Stanford.EDU>
- Date: Wed, 15 May 2002 23:24:43 -0700
- To: Christopher Welty <welty@us.ibm.com>
- CC: www-webont-wg@w3.org
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