Issue 9466: Multiple classifiers for an instance in MOF and RDF as defined in ODM (mof2core-rtf) Source: Model Driven Solutions (Mr. Cory B. Casanave, cory-c@modeldriven.com cbc@enterprisecomponent.com cory-c@enterprisecomponent.com) Nature: Uncategorized Issue Severity: Summary: This is a question involving ODM as well as MOF XMI and Life-cycle. In ODM we have RDF and OWL defined as MOF meta models, the assumption being, of course, that you can have MOF instances of RDF graphs. But can you? In RDF & OWL an instance (at any M level) can have (and frequently does have) multiple types – it is classified by more than one class. While this is perfectly legal in UML and even in the MOF meta model, I don’t think the concept is supported in XMI or the current life-cycle. So, can you actually represent RDF in MOF? If not, the ODM models are not valid – I hope I am wrong about this. The ability for an instance to be classified by more than one class is a major advantage of RDF and of ontology languages, the C++ heritage in MOF of an instance statically being a member of a single class puts MOF at a disadvantage in relation to these other technologies. It makes it very difficult to represent different aspects of an instance, as can be seen from the package merge complexities - which would not have been required is we had multiple classification in MOF. If this is actually a semantic mis-match between MOF and ODM, is may make more sense to add the capability to MOF since the MOF meta model does not preclude this capability – it is only a restriction of the MOF-PSM (XMI). Resolution: Revised Text: Actions taken: March 22, 2006: 010306 Discussion: End of Annotations:===== m: "Cory Casanave" To: , Subject: Multiple classifiers for an instance in MOF and RDF as defined in ODM Date: Tue, 3 Jan 2006 23:11:42 -0500 X-Mailer: Microsoft Office Outlook 11 Thread-Index: AcYQ5PM8x8wmoKDkScKg49Vh+9FT1Q== X-OriginalArrivalTime: 04 Jan 2006 04:11:45.0443 (UTC) FILETIME=[F9B22F30:01C610E4] This is a question involving ODM as well as MOF XMI and Life-cycle. In ODM we have RDF and OWL defined as MOF meta models, the assumption being, of course, that you can have MOF instances of RDF graphs. But can you? In RDF & OWL an instance (at any M level) can have (and frequently does have) multiple types . it is classified by more than one class. While this is perfectly legal in UML and even in the MOF meta model, I don.t think the concept is supported in XMI or the current life-cycle. So, can you actually represent RDF in MOF? If not, the ODM models are not valid . I hope I am wrong about this. The ability for an instance to be classified by more than one class is a major advantage of RDF and of ontology languages, the C++ heritage in MOF of an instance statically being a member of a single class puts MOF at a disadvantage in relation to these other technologies. It makes it very difficult to represent different aspects of an instance, as can be seen from the package merge complexities - which would not have been required is we had multiple classification in MOF. If this is actually a semantic mis-match between MOF and ODM, is may make more sense to add the capability to MOF since the MOF meta model does not preclude this capability . it is only a restriction of the MOF-PSM (XMI). Subject: RE: Multiple classifiers for an instance in MOF and RDF as defined in ODM Date: Wed, 4 Jan 2006 09:27:05 -0600 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Multiple classifiers for an instance in MOF and RDF as defined in ODM Thread-Index: AcYQ5PM8x8wmoKDkScKg49Vh+9FT1QAW/CEQ From: "Cummins, Fred A" To: "Cory Casanave" , , X-OriginalArrivalTime: 04 Jan 2006 15:27:19.0793 (UTC) FILETIME=[5A0D2610:01C61143] Cory, This is a meta-discussion, so my explanation may not be the best, but I'll give it a try. I believe we are mixing two different meta-meta-models here. There is the MOF meta meta model that can be used to represent (i.e., implement) other languages. A represented language may have its own meta-meta-model. The MOF implementation represents all meta levels as simply MOF classes and instances. The classic example is a manfacturing application. There are parts (instances), and there are part specifications (classes), but a manufacturing application should not create an OO class for each part specification. Both the part and the specification are instances of OO classes. As we get into more sophisticated modeling languages, they will be reflective--capable of describing themselves. To do this they have their own meta-concepts. From a MOF standpoint, these are just more concepts that have IsA relationships between types and instances of the specified language. I don't believe MOF needs to be, or should be extended. Fred -------------------------------------------------------------------------------- From: Cory Casanave [mailto:cbc@enterprisecomponent.com] Sent: Tuesday, January 03, 2006 11:12 PM To: ontology@omg.org; adtf@omg.org Subject: Multiple classifiers for an instance in MOF and RDF as defined in ODM This is a question involving ODM as well as MOF XMI and Life-cycle. In ODM we have RDF and OWL defined as MOF meta models, the assumption being, of course, that you can have MOF instances of RDF graphs. But can you? In RDF & OWL an instance (at any M level) can have (and frequently does have) multiple types . it is classified by more than one class. While this is perfectly legal in UML and even in the MOF meta model, I don.t think the concept is supported in XMI or the current life-cycle. So, can you actually represent RDF in MOF? If not, the ODM models are not valid . I hope I am wrong about this. The ability for an instance to be classified by more than one class is a major advantage of RDF and of ontology languages, the C++ heritage in MOF of an instance statically being a member of a single class puts MOF at a disadvantage in relation to these other technologies. It makes it very difficult to represent different aspects of an instance, as can be seen from the package merge complexities - which would not have been required is we had multiple classification in MOF. If this is actually a semantic mis-match between MOF and ODM, is may make more sense to add the capability to MOF since the MOF meta model does not preclude this capability . it is only a restriction of the MOF-PSM (XMI). X-IronPort-AV: i="3.99,330,1131339600"; d="scan'208"; a="191369648:sNHT32660364" Date: Wed, 04 Jan 2006 11:27:10 -0500 From: "Manfred R. Koethe" User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716) X-Accept-Language: en-us, en To: Cory Casanave CC: ontology@omg.org, adtf@omg.org Subject: Re: Multiple classifiers for an instance in MOF and RDF as defined in ODM Cory, You are correct that the MOF metamodel has dynamic typing capabilities built in, they just have to be utilized... However, I like to correct you in one thing: You wrote in your last sentence "... the MOF-PSM (XMI)". Here is my take on that: 1. There is no such thing as *THE* PSM for a PIM. Any PIM may be mapped to an infinite number of PSMs, and there is no guarantee that any of these PSMs is a *complete* representation of the PIM. 2. XMI is *NOT* "THE" MOF PSM. It is actually a model transport representation, allowing the *transportation* of a model (on whatsoever M-level) from one MOF implementation to another MOF implementation and allowing a rebuilding of a (hopefully) semantically complete replication of the model in the target MOF implementation. 3. As I said, XMI is a *transportation* technology. It is restricted by the capabilities of its underlying technology (XML Schema). It was never intended as a *runtime* representation, any use of XMI as a runtime format is (IMHO) a regretful and serious mistake. XMI is a compromise to make model exchange (and archiving) possible for a wide community. It lives from techniques of *rebuilding* a runtime model out of its transport representation. Btw., the thing you are bringing up here is nothing new (just the names are different...). ISO 10303 (STEP) is dealing with the very same issue since more than 15 years.... [what we can learn from history is that we don't learn from history...] Kind regards, Manfred Cory Casanave wrote: This is a question involving ODM as well as MOF XMI and Life-cycle. In ODM we have RDF and OWL defined as MOF meta models, the assumption being, of course, that you can have MOF instances of RDF graphs. But can you? In RDF & OWL an instance (at any M level) can have (and frequently does have) multiple types ­ it is classified by more than one class. While this is perfectly legal in UML and even in the MOF meta model, I don.t think the concept is supported in XMI or the current life-cycle. So, can you actually represent RDF in MOF? If not, the ODM models are not valid ­ I hope I am wrong about this. The ability for an instance to be classified by more than one class is a major advantage of RDF and of ontology languages, the C++ heritage in MOF of an instance statically being a member of a single class puts MOF at a disadvantage in relation to these other technologies. It makes it very difficult to represent different aspects of an instance, as can be seen from the package merge complexities - which would not have been required is we had multiple classification in MOF. If this is actually a semantic mis-match between MOF and ODM, is may make more sense to add the capability to MOF since the MOF meta model does not preclude this capability ­ it is only a restriction of the MOF-PSM (XMI). -- ___________________ / Manfred R. Koethe \_____________________________________ 88solutions Corp. E-Mail: koethe@88solutions.com 37 Mague Avenue Tel: +1 (617) 848 0525 Newton, MA 02465-1553 FAX: +1 (617) 848 8819 U.S.A. _____________________________"We make your business flow"_ From: "Larry L. Johnson" To: "'Manfred R. Koethe'" Cc: , Subject: RE: Multiple classifiers for an instance in MOF and RDF as defined in ODM Date: Wed, 4 Jan 2006 12:05:47 -0500 X-Mailer: Microsoft Outlook, Build 10.0.6626 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - capricorn.lunarpages.com X-AntiAbuse: Original Domain - omg.org X-AntiAbuse: Originator/Caller UID/GID - [0 0] / [47 12] X-AntiAbuse: Sender Address Domain - TethersEnd.com X-Source: X-Source-Args: X-Source-Dir: Hi Manfred, I.ll ignore the red herring PIM/PSM stuff & leave it that I know what Cory meant. (He didn.t even imply there is only one PSM per PIM... whatever PIM & PSM mean). The key issue in Cory.s memo is an instance being of multiple types, not necessarily through transitive type casting up an .is-a. tree. To what degree does the MOF dynamic typing support this? ISO 10303 does allow an instance to be of multiple types, but only of multiple subtypes of some common supertype (categorical as opposed to partitioning subtyping). Though if you disagree, I defer without further argument to your deeper knowledge of EXPRESS. Regards, Larry -----Original Message----- From: Manfred R. Koethe [mailto:koethe@88solutions.com] Sent: Wednesday, January 04, 2006 11:27 AM To: Cory Casanave Cc: ontology@omg.org; adtf@omg.org Subject: Re: Multiple classifiers for an instance in MOF and RDF as defined in ODM Cory, You are correct that the MOF metamodel has dynamic typing capabilities built in, they just have to be utilized... However, I like to correct you in one thing: You wrote in your last sentence "... the MOF-PSM (XMI)". Here is my take on that: 1. There is no such thing as *THE* PSM for a PIM. Any PIM may be mapped to an infinite number of PSMs, and there is no guarantee that any of these PSMs is a *complete* representation of the PIM. 2. XMI is *NOT* "THE" MOF PSM. It is actually a model transport representation, allowing the *transportation* of a model (on whatsoever M-level) from one MOF implementation to another MOF implementation and allowing a rebuilding of a (hopefully) semantically complete replication of the model in the target MOF implementation. 3. As I said, XMI is a *transportation* technology. It is restricted by the capabilities of its underlying technology (XML Schema). It was never intended as a *runtime* representation, any use of XMI as a runtime format is (IMHO) a regretful and serious mistake. XMI is a compromise to make model exchange (and archiving) possible for a wide community. It lives from techniques of *rebuilding* a runtime model out of its transport representation. Btw., the thing you are bringing up here is nothing new (just the names are different...). ISO 10303 (STEP) is dealing with the very same issue since more than 15 years.... [what we can learn from history is that we don't learn from history...] Kind regards, Manfred Cory Casanave wrote: > This is a question involving ODM as well as MOF XMI and Life-cycle. > > > > In ODM we have RDF and OWL defined as MOF meta models, the assumption > being, of course, that you can have MOF instances of RDF graphs. But > can you? In RDF & OWL an instance (at any M level) can have (and > frequently does have) multiple types . it is classified by more than one > class. While this is perfectly legal in UML and even in the MOF meta > model, I don.t think the concept is supported in XMI or the current > life-cycle. So, can you actually represent RDF in MOF? If not, the ODM > models are not valid . I hope I am wrong about this. > > The ability for an instance to be classified by more than one class is a > major advantage of RDF and of ontology languages, the C++ heritage in > MOF of an instance statically being a member of a single class puts MOF > at a disadvantage in relation to these other technologies. It makes it > very difficult to represent different aspects of an instance, as can be > seen from the package merge complexities - which would not have been > required is we had multiple classification in MOF. > > If this is actually a semantic mis-match between MOF and ODM, is may > make more sense to add the capability to MOF since the MOF meta model > does not preclude this capability . it is only a restriction of the > MOF-PSM (XMI). > -- ___________________ / Manfred R. Koethe \_____________________________________ 88solutions Corp. E-Mail: koethe@88solutions.com 37 Mague Avenue Tel: +1 (617) 848 0525 Newton, MA 02465-1553 FAX: +1 (617) 848 8819 U.S.A. _____________________________"We make your business flow"_ From: "Cory Casanave" To: "'Cummins, Fred A'" , , Subject: RE: Multiple classifiers for an instance in MOF and RDF as defined in ODM Date: Wed, 4 Jan 2006 12:37:07 -0500 X-Mailer: Microsoft Office Outlook 11 Thread-Index: AcYQ5PM8x8wmoKDkScKg49Vh+9FT1QAW/CEQAATmHLA= X-OriginalArrivalTime: 04 Jan 2006 17:37:11.0029 (UTC) FILETIME=[7DFD6A50:01C61155] Fred, Perhaps but I don.t think so. There is no restriction in RDF as to what meta level it supports, I can have .instances. of multiple meta classes or classes. In addition Ontologies can contain instances. So I think we need to test this and see if arbitrary Ontologies (with multiple typs) can be imported into MOF and represented in the full suite of MOF technologies . including XMI and supported by MOF life-cycle. If you can.t represent an ontology in XMI I don.t see the spec as very useful. Again- perhaps I am wrong but lets not leave it to opinion . lets know. -Cory -------------------------------------------------------------------------------- From: Cummins, Fred A [mailto:fred.cummins@eds.com] Sent: Wednesday, January 04, 2006 10:27 AM To: Cory Casanave; ontology@omg.org; adtf@omg.org Subject: RE: Multiple classifiers for an instance in MOF and RDF as defined in ODM Cory, This is a meta-discussion, so my explanation may not be the best, but I'll give it a try. I believe we are mixing two different meta-meta-models here. There is the MOF meta meta model that can be used to represent (i.e., implement) other languages. A represented language may have its own meta-meta-model. The MOF implementation represents all meta levels as simply MOF classes and instances. The classic example is a manfacturing application. There are parts (instances), and there are part specifications (classes), but a manufacturing application should not create an OO class for each part specification. Both the part and the specification are instances of OO classes. As we get into more sophisticated modeling languages, they will be reflective--capable of describing themselves. To do this they have their own meta-concepts. From a MOF standpoint, these are just more concepts that have IsA relationships between types and instances of the specified language. I don't believe MOF needs to be, or should be extended. Fred -------------------------------------------------------------------------------- From: Cory Casanave [mailto:cbc@enterprisecomponent.com] Sent: Tuesday, January 03, 2006 11:12 PM To: ontology@omg.org; adtf@omg.org Subject: Multiple classifiers for an instance in MOF and RDF as defined in ODM This is a question involving ODM as well as MOF XMI and Life-cycle. In ODM we have RDF and OWL defined as MOF meta models, the assumption being, of course, that you can have MOF instances of RDF graphs. But can you? In RDF & OWL an instance (at any M level) can have (and frequently does have) multiple types . it is classified by more than one class. While this is perfectly legal in UML and even in the MOF meta model, I don.t think the concept is supported in XMI or the current life-cycle. So, can you actually represent RDF in MOF? If not, the ODM models are not valid . I hope I am wrong about this. The ability for an instance to be classified by more than one class is a major advantage of RDF and of ontology languages, the C++ heritage in MOF of an instance statically being a member of a single class puts MOF at a disadvantage in relation to these other technologies. It makes it very difficult to represent different aspects of an instance, as can be seen from the package merge complexities - which would not have been required is we had multiple classification in MOF. If this is actually a semantic mis-match between MOF and ODM, is may make more sense to add the capability to MOF since the MOF meta model does not preclude this capability . it is only a restriction of the MOF-PSM (XMI). Reply-To: From: "John C. Butler" To: "'Larry L. Johnson'" , "'Manfred R. Koethe'" , Cc: , Subject: RE: Multiple classifiers for an instance in MOF and RDF as defined in ODM Date: Wed, 4 Jan 2006 14:33:06 -0500 Organization: Everware X-Mailer: Microsoft Office Outlook, Build 11.0.5510 Thread-Index: AcYRUZ4m7hKycvRoTKOUL3SgfoQB2gAEnwpg Hi Cory et al, My understanding of the MOF (though not as extensive as others on this thread) is that InstanceSpecification (I.m assuming this is what you mean by your use of Instance below) can have multiple Classifiers at the same time. Since Classifiers are specializations of Type it seems as though the issue you raise is not a problem for MOF. I must say that I don.t know enough about XMI to determine whether it can handle this or not though it would be silly if it didn.t. There is one point of confusion for me, however. There is a metaclass called TypedElement that can be related to at most one Type. InstanceSpecification is not a kind of TypedElement. Can someone explain that to me? I.d have thought that InstanceSpecification would be a specialization thereof and that the .classifier. association on it would be a specialization of the .type. association on TypedElement but apparently that.s not the case. Regards, - jb -------------------------------------------------------------------------------- From: Larry L. Johnson [mailto:Larry.Johnson@TethersEnd.com] Sent: Wednesday, January 04, 2006 12:06 PM To: 'Manfred R. Koethe' Cc: ontology@omg.org; adtf@omg.org Subject: RE: Multiple classifiers for an instance in MOF and RDF as defined in ODM Hi Manfred, I.ll ignore the red herring PIM/PSM stuff & leave it that I know what Cory meant. (He didn.t even imply there is only one PSM per PIM... whatever PIM & PSM mean). The key issue in Cory.s memo is an instance being of multiple types, not necessarily through transitive type casting up an .is-a. tree. To what degree does the MOF dynamic typing support this? ISO 10303 does allow an instance to be of multiple types, but only of multiple subtypes of some common supertype (categorical as opposed to partitioning subtyping). Though if you disagree, I defer without further argument to your deeper knowledge of EXPRESS. Regards, Larry -----Original Message----- From: Manfred R. Koethe [mailto:koethe@88solutions.com] Sent: Wednesday, January 04, 2006 11:27 AM To: Cory Casanave Cc: ontology@omg.org; adtf@omg.org Subject: Re: Multiple classifiers for an instance in MOF and RDF as defined in ODM Cory, You are correct that the MOF metamodel has dynamic typing capabilities built in, they just have to be utilized... However, I like to correct you in one thing: You wrote in your last sentence "... the MOF-PSM (XMI)". Here is my take on that: 1. There is no such thing as *THE* PSM for a PIM. Any PIM may be mapped to an infinite number of PSMs, and there is no guarantee that any of these PSMs is a *complete* representation of the PIM. 2. XMI is *NOT* "THE" MOF PSM. It is actually a model transport representation, allowing the *transportation* of a model (on whatsoever M-level) from one MOF implementation to another MOF implementation and allowing a rebuilding of a (hopefully) semantically complete replication of the model in the target MOF implementation. 3. As I said, XMI is a *transportation* technology. It is restricted by the capabilities of its underlying technology (XML Schema). It was never intended as a *runtime* representation, any use of XMI as a runtime format is (IMHO) a regretful and serious mistake. XMI is a compromise to make model exchange (and archiving) possible for a wide community. It lives from techniques of *rebuilding* a runtime model out of its transport representation. Btw., the thing you are bringing up here is nothing new (just the names are different...). ISO 10303 (STEP) is dealing with the very same issue since more than 15 years.... [what we can learn from history is that we don't learn from history...] Kind regards, Manfred Cory Casanave wrote: > This is a question involving ODM as well as MOF XMI and Life-cycle. > > > > In ODM we have RDF and OWL defined as MOF meta models, the assumption > being, of course, that you can have MOF instances of RDF graphs. But > can you? In RDF & OWL an instance (at any M level) can have (and > frequently does have) multiple types . it is classified by more than one > class. While this is perfectly legal in UML and even in the MOF meta > model, I don.t think the concept is supported in XMI or the current > life-cycle. So, can you actually represent RDF in MOF? If not, the ODM > models are not valid . I hope I am wrong about this. > > The ability for an instance to be classified by more than one class is a > major advantage of RDF and of ontology languages, the C++ heritage in > MOF of an instance statically being a member of a single class puts MOF > at a disadvantage in relation to these other technologies. It makes it > very difficult to represent different aspects of an instance, as can be > seen from the package merge complexities - which would not have been > required is we had multiple classification in MOF. > > If this is actually a semantic mis-match between MOF and ODM, is may > make more sense to add the capability to MOF since the MOF meta model > does not preclude this capability . it is only a restriction of the > MOF-PSM (XMI). > -- ___________________ / Manfred R. Koethe \_____________________________________ 88solutions Corp. E-Mail: koethe@88solutions.com 37 Mague Avenue Tel: +1 (617) 848 0525 Newton, MA 02465-1553 FAX: +1 (617) 848 8819 U.S.A. _____________________________"We make your business flow"_ From: "Ed Seidewitz" To: , "'Larry L. Johnson'" , "'Manfred R. Koethe'" , Cc: , Subject: RE: Multiple classifiers for an instance in MOF and RDF as defined in ODM Date: Wed, 4 Jan 2006 14:49:32 -0500 Organization: Data Access Technologies X-Mailer: Microsoft Office Outlook, Build 11.0.6353 Thread-Index: AcYRUZ4m7hKycvRoTKOUL3SgfoQB2gAEnwpgAADPA+A= X-OriginalArrivalTime: 04 Jan 2006 19:49:37.0656 (UTC) FILETIME=[FE8C7780:01C61167] John -- TypedElement is generally used for "container" sorts of things that can "hold" values, like attributes and parameters. These always have a single type to which their contents must conform. An InstanceSpecification, on the other hand, is a model of an instance, which is one of the things that can be held by TypedElements. UML allows instances to be multiply classified. A TypedElement can hold an instance for which any of its classifiers conforms to the type of the TypedElement. (UML minutiae I can answer about. Cory's question I am still trying to understand...) -- Ed -------------------------------------------------------------------------------- From: John C. Butler [mailto:jbutler@everware.com] Sent: Wednesday, January 04, 2006 2:33 PM To: 'Larry L. Johnson'; 'Manfred R. Koethe'; cory-c@enterprisecomponent.com Cc: ontology@omg.org; adtf@omg.org Subject: RE: Multiple classifiers for an instance in MOF and RDF as defined in ODM Hi Cory et al, My understanding of the MOF (though not as extensive as others on this thread) is that InstanceSpecification (I.m assuming this is what you mean by your use of Instance below) can have multiple Classifiers at the same time. Since Classifiers are specializations of Type it seems as though the issue you raise is not a problem for MOF. I must say that I don.t know enough about XMI to determine whether it can handle this or not though it would be silly if it didn.t. There is one point of confusion for me, however. There is a metaclass called TypedElement that can be related to at most one Type. InstanceSpecification is not a kind of TypedElement. Can someone explain that to me? I.d have thought that InstanceSpecification would be a specialization thereof and that the .classifier. association on it would be a specialization of the .type. association on TypedElement but apparently that.s not the case. Regards, - jb -------------------------------------------------------------------------------- From: Larry L. Johnson [mailto:Larry.Johnson@TethersEnd.com] Sent: Wednesday, January 04, 2006 12:06 PM To: 'Manfred R. Koethe' Cc: ontology@omg.org; adtf@omg.org Subject: RE: Multiple classifiers for an instance in MOF and RDF as defined in ODM Hi Manfred, I.ll ignore the red herring PIM/PSM stuff & leave it that I know what Cory meant. (He didn.t even imply there is only one PSM per PIM... whatever PIM & PSM mean). The key issue in Cory.s memo is an instance being of multiple types, not necessarily through transitive type casting up an .is-a. tree. To what degree does the MOF dynamic typing support this? ISO 10303 does allow an instance to be of multiple types, but only of multiple subtypes of some common supertype (categorical as opposed to partitioning subtyping). Though if you disagree, I defer without further argument to your deeper knowledge of EXPRESS. Regards, Larry -----Original Message----- From: Manfred R. Koethe [mailto:koethe@88solutions.com] Sent: Wednesday, January 04, 2006 11:27 AM To: Cory Casanave Cc: ontology@omg.org; adtf@omg.org Subject: Re: Multiple classifiers for an instance in MOF and RDF as defined in ODM Cory, You are correct that the MOF metamodel has dynamic typing capabilities built in, they just have to be utilized... However, I like to correct you in one thing: You wrote in your last sentence "... the MOF-PSM (XMI)". Here is my take on that: 1. There is no such thing as *THE* PSM for a PIM. Any PIM may be mapped to an infinite number of PSMs, and there is no guarantee that any of these PSMs is a *complete* representation of the PIM. 2. XMI is *NOT* "THE" MOF PSM. It is actually a model transport representation, allowing the *transportation* of a model (on whatsoever M-level) from one MOF implementation to another MOF implementation and allowing a rebuilding of a (hopefully) semantically complete replication of the model in the target MOF implementation. 3. As I said, XMI is a *transportation* technology. It is restricted by the capabilities of its underlying technology (XML Schema). It was never intended as a *runtime* representation, any use of XMI as a runtime format is (IMHO) a regretful and serious mistake. XMI is a compromise to make model exchange (and archiving) possible for a wide community. It lives from techniques of *rebuilding* a runtime model out of its transport representation. Btw., the thing you are bringing up here is nothing new (just the names are different...). ISO 10303 (STEP) is dealing with the very same issue since more than 15 years.... [what we can learn from history is that we don't learn from history...] Kind regards, Manfred Cory Casanave wrote: > This is a question involving ODM as well as MOF XMI and Life-cycle. > > > > In ODM we have RDF and OWL defined as MOF meta models, the assumption > being, of course, that you can have MOF instances of RDF graphs. But > can you? In RDF & OWL an instance (at any M level) can have (and > frequently does have) multiple types . it is classified by more than one > class. While this is perfectly legal in UML and even in the MOF meta > model, I don.t think the concept is supported in XMI or the current > life-cycle. So, can you actually represent RDF in MOF? If not, the ODM > models are not valid . I hope I am wrong about this. > > The ability for an instance to be classified by more than one class is a > major advantage of RDF and of ontology languages, the C++ heritage in > MOF of an instance statically being a member of a single class puts MOF > at a disadvantage in relation to these other technologies. It makes it > very difficult to represent different aspects of an instance, as can be > seen from the package merge complexities - which would not have been > required is we had multiple classification in MOF. > > If this is actually a semantic mis-match between MOF and ODM, is may > make more sense to add the capability to MOF since the MOF meta model > does not preclude this capability . it is only a restriction of the > MOF-PSM (XMI). > -- ___________________ / Manfred R. Koethe \_____________________________________ 88solutions Corp. E-Mail: koethe@88solutions.com 37 Mague Avenue Tel: +1 (617) 848 0525 Newton, MA 02465-1553 FAX: +1 (617) 848 8819 U.S.A. _____________________________"We make your business flow"_ To: Cc: adtf@omg.org, cory-c@enterprisecomponent.com, "'Manfred R. Koethe'" , "'Larry L. Johnson'" , ontology@omg.org Subject: RE: Multiple classifiers for an instance in MOF and RDF as defined in ODM X-Mailer: Lotus Notes Release 6.0.1CF1 March 04, 2003 From: Branislav Selic Date: Wed, 4 Jan 2006 15:26:25 -0500 X-MIMETrack: Serialize by Router on D25ML01/25/M/IBM(Release 6.5.4|March 27, 2005) at 01/04/2006 15:26:29, Serialize complete at 01/04/2006 15:26:29 John, > There is one point of confusion for me, however. There is a > metaclass called TypedElement that can be related to at most one > Type. InstanceSpecification is not a kind of TypedElement. Can > someone explain that to me? I.d have thought that > InstanceSpecification would be a specialization thereof and that the > .classifier. association on it would be a specialization of the > .type. association on TypedElement but apparently that.s not the case. TypedElement was intended for things that appear in specifications such as a Class, Interface, or a DataType. Therefore, there is a certain level of formal rigour intended in this concept (since specifications are supposed to provide some general rules). InstanceSpecification, OTOH, is meant to be used for illustrative purposes, such as depicting examples of run-time instances in some specific situation. Since these were merely illustrative examples that did not define any general rules, it seemed useful to make this facility highly flexible, that is, not to force them to conform to the same strict rules that governed typed elements. Perhaps the real question is why is the multiplicity of the type on TypedElements [0..1] Cheers....Bran Selic From: "Stan Hendryx" To: "'Ed Seidewitz'" , , "'Larry L. Johnson'" , "'Manfred R. Koethe'" , Cc: , Subject: RE: Multiple classifiers for an instance in MOF and RDF as defined in ODM Date: Wed, 4 Jan 2006 15:40:06 -0800 X-Mailer: Microsoft Office Outlook 11 Thread-index: AcYRUZ4m7hKycvRoTKOUL3SgfoQB2gAEnwpgAADPA+AAAszvIA== Ed, Manfred, Could Cory's concern and question have anything to do with a limitation of the meta language, wherein each object is required to be an instance of exactly one class, with no ability to change its class over the lifetime of the object? What does UML say about this? I am puzzled by your remark, Manfred, that "the MOF metamodel has dynamic typing capabilities built in". Can you please point out these capabilities in the MOF specification? The word 'dynamic' appears only twice in the MOF 2.0 Available Specification, ptc/04-10-15, both times in section 11 in relation to the use of tags to dynamically annotate model elements. The MOF Semantic Domain Model for Constructs, Fig. 18, shows that each Instance has exactly one Class, Association, or DataType that is its classifier. In the Reflection Package, Fig. 2, Element (a subtype of Object) has a single-valued function getMetaClass():Class that returns the Class that describes the Element. The MOF Factory metaclass has a create(metaClass:Class):Element operation that takes a single Class as an argument and returns one new Element. MOF Factory has no operation to change the type of an object; neither does Element. It appears to me that a MOF object has exactly one type and that it is immutable. What am I missing? Are you referring to the possibility of specifying the type of an object as a Property? That is similar to the approach we have taken with SBVR. We encountered the need for dynamic typing in SBVR, and solved the need by using predication to designate the (possibly multiple and dynamic) types of an object, which in SBVR is called a thing. Each type of a thing can be stated explicitly as an instance of the fact type, 'concept has instance', where an instance is a thing that is in the extension of a concept (type). Alternatively, the types of a thing are implicitly specified when the thing assumes a role in a fact that is an instance of a fact type, wherein the type of things in each role is always specified by the fact type. In the MOF model of SBVR, each Thing class instance is conceptualized as an undifferentiated thing of which anything can be predicated, including multiple types. With this model, SBVR is able to interchange an ontology in the form of a SBVR vocabulary and rule set, using MOF and XMI. See the adopted SBVR specification, bei/2005-08-01, section 2.7 Vocabulary Driven Interchange using MOF and XMI and Figure 2.2.3-1, The Essential SBVR Package. Stan -------------------------------------------------------------------------------- From: Ed Seidewitz [mailto:ed-s@enterprisecomponent.com] Sent: Wednesday, January 04, 2006 11:50 AM To: jbutler@everware.com; 'Larry L. Johnson'; 'Manfred R. Koethe'; cory-c@enterprisecomponent.com Cc: ontology@omg.org; adtf@omg.org Subject: RE: Multiple classifiers for an instance in MOF and RDF as defined in ODM John -- TypedElement is generally used for "container" sorts of things that can "hold" values, like attributes and parameters. These always have a single type to which their contents must conform. An InstanceSpecification, on the other hand, is a model of an instance, which is one of the things that can be held by TypedElements. UML allows instances to be multiply classified. A TypedElement can hold an instance for which any of its classifiers conforms to the type of the TypedElement. (UML minutiae I can answer about. Cory's question I am still trying to understand...) -- Ed -------------------------------------------------------------------------------- From: John C. Butler [mailto:jbutler@everware.com] Sent: Wednesday, January 04, 2006 2:33 PM To: 'Larry L. Johnson'; 'Manfred R. Koethe'; cory-c@enterprisecomponent.com Cc: ontology@omg.org; adtf@omg.org Subject: RE: Multiple classifiers for an instance in MOF and RDF as defined in ODM Hi Cory et al, My understanding of the MOF (though not as extensive as others on this thread) is that InstanceSpecification (I.m assuming this is what you mean by your use of Instance below) can have multiple Classifiers at the same time. Since Classifiers are specializations of Type it seems as though the issue you raise is not a problem for MOF. I must say that I don.t know enough about XMI to determine whether it can handle this or not though it would be silly if it didn.t. There is one point of confusion for me, however. There is a metaclass called TypedElement that can be related to at most one Type. InstanceSpecification is not a kind of TypedElement. Can someone explain that to me? I.d have thought that InstanceSpecification would be a specialization thereof and that the .classifier. association on it would be a specialization of the .type. association on TypedElement but apparently that.s not the case. Regards, - jb -------------------------------------------------------------------------------- From: Larry L. Johnson [mailto:Larry.Johnson@TethersEnd.com] Sent: Wednesday, January 04, 2006 12:06 PM To: 'Manfred R. Koethe' Cc: ontology@omg.org; adtf@omg.org Subject: RE: Multiple classifiers for an instance in MOF and RDF as defined in ODM Hi Manfred, I.ll ignore the red herring PIM/PSM stuff & leave it that I know what Cory meant. (He didn.t even imply there is only one PSM per PIM... whatever PIM & PSM mean). The key issue in Cory.s memo is an instance being of multiple types, not necessarily through transitive type casting up an .is-a. tree. To what degree does the MOF dynamic typing support this? ISO 10303 does allow an instance to be of multiple types, but only of multiple subtypes of some common supertype (categorical as opposed to partitioning subtyping). Though if you disagree, I defer without further argument to your deeper knowledge of EXPRESS. Regards, Larry -----Original Message----- From: Manfred R. Koethe [mailto:koethe@88solutions.com] Sent: Wednesday, January 04, 2006 11:27 AM To: Cory Casanave Cc: ontology@omg.org; adtf@omg.org Subject: Re: Multiple classifiers for an instance in MOF and RDF as defined in ODM Cory, You are correct that the MOF metamodel has dynamic typing capabilities built in, they just have to be utilized... However, I like to correct you in one thing: You wrote in your last sentence "... the MOF-PSM (XMI)". Here is my take on that: 1. There is no such thing as *THE* PSM for a PIM. Any PIM may be mapped to an infinite number of PSMs, and there is no guarantee that any of these PSMs is a *complete* representation of the PIM. 2. XMI is *NOT* "THE" MOF PSM. It is actually a model transport representation, allowing the *transportation* of a model (on whatsoever M-level) from one MOF implementation to another MOF implementation and allowing a rebuilding of a (hopefully) semantically complete replication of the model in the target MOF implementation. 3. As I said, XMI is a *transportation* technology. It is restricted by the capabilities of its underlying technology (XML Schema). It was never intended as a *runtime* representation, any use of XMI as a runtime format is (IMHO) a regretful and serious mistake. XMI is a compromise to make model exchange (and archiving) possible for a wide community. It lives from techniques of *rebuilding* a runtime model out of its transport representation. Btw., the thing you are bringing up here is nothing new (just the names are different...). ISO 10303 (STEP) is dealing with the very same issue since more than 15 years.... [what we can learn from history is that we don't learn from history...] Kind regards, Manfred Cory Casanave wrote: > This is a question involving ODM as well as MOF XMI and Life-cycle. > > > > In ODM we have RDF and OWL defined as MOF meta models, the assumption > being, of course, that you can have MOF instances of RDF graphs. But > can you? In RDF & OWL an instance (at any M level) can have (and > frequently does have) multiple types . it is classified by more than one > class. While this is perfectly legal in UML and even in the MOF meta > model, I don.t think the concept is supported in XMI or the current > life-cycle. So, can you actually represent RDF in MOF? If not, the ODM > models are not valid . I hope I am wrong about this. > > The ability for an instance to be classified by more than one class is a > major advantage of RDF and of ontology languages, the C++ heritage in > MOF of an instance statically being a member of a single class puts MOF > at a disadvantage in relation to these other technologies. It makes it > very difficult to represent different aspects of an instance, as can be > seen from the package merge complexities - which would not have been > required is we had multiple classification in MOF. > > If this is actually a semantic mis-match between MOF and ODM, is may > make more sense to add the capability to MOF since the MOF meta model > does not preclude this capability . it is only a restriction of the > MOF-PSM (XMI). > -- ___________________ / Manfred R. Koethe \_____________________________________ 88solutions Corp. E-Mail: koethe@88solutions.com 37 Mague Avenue Tel: +1 (617) 848 0525 Newton, MA 02465-1553 FAX: +1 (617) 848 8819 U.S.A. _____________________________"We make your business flow"_ Date: Wed, 04 Jan 2006 19:08:52 -0500 From: Ed Barkmeyer Reply-To: edbark@nist.gov Organization: NIST User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax) X-Accept-Language: en, fr, de, pdf, it, nl, sv, es, ru To: Cory Casanave CC: ontology@omg.org, adtf@omg.org Subject: Re: Multiple classifiers for an instance in MOF and RDF as defined in ODM Cory Casanave wrote: In ODM we have RDF and OWL defined as MOF meta models, the assumption being, of course, that you can have MOF instances of RDF graphs. But can you? In RDF & OWL an instance (at any M level) can have (and frequently does have) multiple types - it is classified by more than one class. While this is perfectly legal in UML and even in the MOF meta model, I don't think the concept is supported in XMI or the current life-cycle. So, can you actually represent RDF in MOF? If not, the ODM models are not valid - I hope I am wrong about this. I think Fred was very close here. This question seems to me to mix meta-levels. A MOF model of RDF may well contain MOF Classes called RDF:Class and RDF:Instance and define a many-to-many MOF Association RDF:InstanceOfClass between them as RDF:Class.members and RDF:Instance.memberOf. And it is necessary to define another MOF Association (0..1 to 0..1) from RDF:Class to RDF:Instance as RDF:Class.isInstance, because an RDFClass can be an RDFInstance as well. Now this MOF *meta*-model enables us to capture whatever a given RDF model actually contains. It does *not* enable us to use MOF Class/Instance concepts to reason about RDF Class/Instance concepts, except superficially. As far as MOF technology itself is concerned, RDF:Class and RDF:Instance and ElementarySchool:Class and STEP:ProductDefinition and Oinology:Wine have exactly the same semantics -- they are MOF Classes, full stop. As near as I can tell, in the XMI representation of the M1 level objects, an actual RDF instance, e.g. URI://cme.nist.gov/shopfloordata#hmill04, will be an instance of RDF:Instance. And there may be many instances of the Association RDF:InstanceOfClass, for which the .member association-end is (the XMI.idref for) URI://cme.nist.gov/shopfloordata#hmill04 and each .memberOf association-end is a different (MOF/XMI) instance of RDF:Class. Note also that when the RDF Class is also used as an RDF Instance, you will get *two* distinct MOF/XMI objects, one of which is the RDF:Class instance, and one of which is the RDF:Instance instance, and an instance of the RDF:Class.isInstance association between them. This may appear to be an inelegant way to represent the RDF concepts, but it is elegant with respect to the use of MOF technologies for the purpose. In general, you can't expect the MOF engine to interpret the semantics of the captured model beyond the MOF repository operations. The fact that we do something incestuous for MOF/UML is *not* a pattern for any other use of MOF! Put another way, the MOF engine is not expected to internally understand any ShopFloorData concepts, like Machine or CuttingPath. Why should it internally understand any RDF concepts like RDF:Class and RDF:Instance? Now if Cory is trying to *map* the ODM RDF M2 model into the MOF/UML Infrastructure M2 model, so that RDF:Class maps to MOF:Class, that is "quite another thing entirely". The RDF metamodel only enables the MOF to *capture* the RDF model. The mapping attempts to use the MOF internal understanding to *interpret* the RDF model. Such a mapping will both gain and lose information, because the two languages have somewhat different classification semantics. -Ed -- Edward J. Barkmeyer Email: edbark@nist.gov National Institute of Standards & Technology Manufacturing Systems Integration Division 100 Bureau Drive, Stop 8263 Tel: +1 301-975-3528 Gaithersburg, MD 20899-8263 FAX: +1 301-975-4482 "The opinions expressed above do not reflect consensus of NIST, and have not been reviewed by any Government authority." Subject: RE: Multiple classifiers for an instance in MOF and RDF as defined in ODM Date: Thu, 5 Jan 2006 03:21:48 -0800 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Multiple classifiers for an instance in MOF and RDF as defined in ODM Thread-Index: AcYQ5PM8x8wmoKDkScKg49Vh+9FT1QAZfbbQ From: "Pete Rivett" To: "Cory Casanave" , , > In ODM we have RDF and OWL defined as MOF meta models, the assumption being, of course, that you can have MOF instances of RDF graphs. ..... > So, can you actually represent RDF in MOF? If not, the ODM models are not valid . I hope I am wrong about this. Cory, ODM provides a way of representing RDF Schemas (also OWL Ontologies, Topic Maps etc) as instances of a MOF metamodel (ODM itself). RDF Schemas can also be represented in RDF, but also (in theory) in a number of other ways - as rows in a set of relational tables designed for the purpose, in Prolog etc. The point is that the ability to represent a model (in this case an RDF Schema) in a certain technology does not require the ability to also represent instances of that model in the same technology. A good example of this is the language used for representing DTDs - it cannot also be used to represent XML documents that are instances of the DTD. Also, consider a hypothetical UML metamodel without support for instance diagrams - it would support the majority of UML models but not be able to represent their instances. So MOF can be quite adequate for the needs of ODM - representing RDF Schemas - without requiring the ability to represent arbitrary RDF documents. Actually it is possible to represent RDF documents in MOF, though in a 'non-native' manner - indeed the ODM draft specification does just this - there is a MOF metaclass RDFSResource with a multivalued reference RDFType to RDFSClass. Whether it would be a good idea for MOF to support multiple classification of instances is a separate question. At the moment it does not (nothing to do with XMI): since the operation Reflection::Element::getMetaClass() is single valued. I'm personally inclined to agree with you, but that is a major change that would need a new RFP. Happy New Year to everyone Pete Pete Rivett (mailto:pete.rivett@adaptive.com) CTO, Adaptive Inc. Hello House, 135 Somerford Road, Christchurch, BH23 3PY, UK Tel: +44 (0)1202 491243 Fax: +44 (0)1202 491241 http://www.adaptive.com -------------------------------------------------------------------------------- From: Cory Casanave [mailto:cbc@enterprisecomponent.com] Sent: Wednesday, January 04, 2006 4:12 AM To: ontology@omg.org; adtf@omg.org Subject: Multiple classifiers for an instance in MOF and RDF as defined in ODM This is a question involving ODM as well as MOF XMI and Life-cycle. In ODM we have RDF and OWL defined as MOF meta models, the assumption being, of course, that you can have MOF instances of RDF graphs. But can you? In RDF & OWL an instance (at any M level) can have (and frequently does have) multiple types . it is classified by more than one class. While this is perfectly legal in UML and even in the MOF meta model, I don.t think the concept is supported in XMI or the current life-cycle. So, can you actually represent RDF in MOF? If not, the ODM models are not valid . I hope I am wrong about this. The ability for an instance to be classified by more than one class is a major advantage of RDF and of ontology languages, the C++ heritage in MOF of an instance statically being a member of a single class puts MOF at a disadvantage in relation to these other technologies. It makes it very difficult to represent different aspects of an instance, as can be seen from the package merge complexities - which would not have been required is we had multiple classification in MOF. If this is actually a semantic mis-match between MOF and ODM, is may make more sense to add the capability to MOF since the MOF meta model does not preclude this capability . it is only a restriction of the MOF-PSM (XMI). X-IronPort-AV: i="3.99,335,1131339600"; d="scan'208"; a="191815415:sNHT36203440" Date: Thu, 05 Jan 2006 15:55:43 -0500 From: "Manfred R. Koethe" User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716) X-Accept-Language: en-us, en To: Stan Hendryx CC: ontology@omg.org, adtf@omg.org Subject: Re: Multiple classifiers for an instance in MOF and RDF as defined in ODM Stan, you caught me on the fact that I had forgotten to submit an issue for a correction I put already in our implementation.... The return from getMetaClass() and the argument for create() and createElement() should be a ReflectiveSequence holding an ordered set of all metaclasses. (I have filed the issue by now). Dynamic typing is a complicated issue in the context of MOF. It is not too complicated if you apply this to a "terminal" class in the meta-hierarchy, a class which just produces instances and is not used either as a superclass or as a metaclass to define something else. In the latter two cases, the freedom of type changes is very limited to avoid complicated ripple effects down the respective hierarchy. ISO 10303-11 EXPRESS provides an interesting construct (IMHO) usable as a base for limited dynamic typing: ANDOR inheritance. This means: You have for example three classes A, B and C. Class C inherits from A and B using the ANDOR constraint. Typewise C could then be an "A", a "B", an "AB", or a "BA". It would be legal to dynamically select within the bounds of this resulting type set. Since the effects are predictable and bound by the transitive closure of multiple inheritance, this scheme is (with some tricks) implementable in MOF. The changes listed at the top of this message are helpful for that. But since the relationship between a class and its superclasses is an Association with multiplicity 0..* on the superclass end, and therefore just a fan of links in the MOF repository, you could still implement this even with the defective methods in Element and Factory. The implementability actually depends more on the flexibility of the underlying repository. In our case, where the repository is somehow similar to an RDF Triplestore, this dynamic typing scheme can be accommodated. Kind regards, Manfred Stan Hendryx wrote: Ed, Manfred, I am puzzled by your remark, Manfred, that "the MOF metamodel has dynamic typing capabilities built in". Can you please point out these capabilities in the MOF specification? The word 'dynamic' appears only twice in the MOF 2.0 Available Specification, ptc/04-10-15, both times in section 11 in relation to the use of tags to dynamically annotate model elements. The MOF Semantic Domain Model for Constructs, Fig. 18, shows that each Instance has exactly one Class, Association, or DataType that is its classifier. In the Reflection Package, Fig. 2, /Element/ (a subtype of Object) has a single-valued function getMetaClass():Class that returns the Class that describes the Element. The MOF Factory metaclass has a create(metaClass:Class):Element operation that takes a single Class as an argument and returns one new Element. MOF Factory has no operation to change the type of an object; neither does /Element/. It appears to me that a MOF object has exactly one type and that it is immutable. What am I missing? Are you referring to the possibility of specifying the type of an object as a Property? That is similar to the approach we have taken with SBVR. We encountered the need for dynamic typing in SBVR, and solved the need by using predication to designate the (possibly multiple and dynamic) types of an object, which in SBVR is called a _thing_. Each type of a thing can be stated explicitly as an instance of the fact type, '_concept_ has _instance_', where an _instance_ is a _thing_ that is in the extension of a _concept_ (type). Alternatively, the types of a thing are implicitly specified when the thing assumes a _role_ in a fact that is an instance of a _fact type_, wherein the type of things in each role is always specified by the fact type. In the MOF model of SBVR, each Thing class instance is conceptualized as an undifferentiated thing of which anything can be predicated, including multiple types. With this model, SBVR is able to interchange an ontology in the form of a SBVR vocabulary and rule set, using MOF and XMI. See the adopted SBVR specification, bei/2005-08-01, section 2.7 Vocabulary Driven Interchange using MOF and XMI and Figure 2.2.3-1, The Essential SBVR Package. Stan ------------------------------------------------------------------------ *From:* Ed Seidewitz [mailto:ed-s@enterprisecomponent.com] *Sent:* Wednesday, January 04, 2006 11:50 AM *To:* jbutler@everware.com; 'Larry L. Johnson'; 'Manfred R. Koethe'; cory-c@enterprisecomponent.com *Cc:* ontology@omg.org; adtf@omg.org *Subject:* RE: Multiple classifiers for an instance in MOF and RDF as defined in ODM John -- TypedElement is generally used for "container" sorts of things that can "hold" values, like attributes and parameters. These always have a single type to which their contents must conform. An InstanceSpecification, on the other hand, is a model of an instance, which is one of the things that can /be/ held by TypedElements. UML allows instances to be multiply classified. A TypedElement can hold an instance for which any of its classifiers conforms to the type of the TypedElement. (UML minutiae I can answer about. Cory's question I am still trying to understand...) -- Ed ------------------------------------------------------------------------ *From:* John C. Butler [mailto:jbutler@everware.com] *Sent:* Wednesday, January 04, 2006 2:33 PM *To:* 'Larry L. Johnson'; 'Manfred R. Koethe'; cory-c@enterprisecomponent.com *Cc:* ontology@omg.org; adtf@omg.org *Subject:* RE: Multiple classifiers for an instance in MOF and RDF as defined in ODM Hi Cory et al, My understanding of the MOF (though not as extensive as others on this thread) is that InstanceSpecification (I.m assuming this is what you mean by your use of Instance below) can have multiple Classifiers at the same time. Since Classifiers are specializations of Type it seems as though the issue you raise is not a problem for MOF. I must say that I don.t know enough about XMI to determine whether it can handle this or not though it would be silly if it didn.t. There is one point of confusion for me, however. There is a metaclass called TypedElement that can be related to at most one Type. InstanceSpecification is not a kind of TypedElement. Can someone explain that to me? I.d have thought that InstanceSpecification would be a specialization thereof and that the .classifier. association on it would be a specialization of the .type. association on TypedElement but apparently that.s not the case. Regards, - jb ------------------------------------------------------------------------ *From:* Larry L. Johnson [mailto:Larry.Johnson@TethersEnd.com] *Sent:* Wednesday, January 04, 2006 12:06 PM *To:* 'Manfred R. Koethe' *Cc:* ontology@omg.org; adtf@omg.org *Subject:* RE: Multiple classifiers for an instance in MOF and RDF as defined in ODM Hi Manfred, I.ll ignore the red herring PIM/PSM stuff & leave it that I know what Cory meant. (He didn.t even imply there is only one PSM per PIM... whatever PIM & PSM mean). The key issue in Cory.s memo is an instance being of multiple types, not necessarily through transitive type casting up an .is-a. tree. To what degree does the MOF dynamic typing support this? ISO 10303 does allow an instance to be of multiple types, but only of multiple subtypes of some common supertype (categorical as opposed to partitioning subtyping). Though if you disagree, I defer without further argument to your deeper knowledge of EXPRESS. Regards, Larry -----Original Message----- From: Manfred R. Koethe [mailto:koethe@88solutions.com] Sent: Wednesday, January 04, 2006 11:27 AM To: Cory Casanave Cc: ontology@omg.org; adtf@omg.org Subject: Re: Multiple classifiers for an instance in MOF and RDF as defined in ODM Cory, You are correct that the MOF metamodel has dynamic typing capabilities built in, they just have to be utilized... However, I like to correct you in one thing: You wrote in your last sentence "... the MOF-PSM (XMI)". Here is my take on that: 1. There is no such thing as *THE* PSM for a PIM. Any PIM may be mapped to an infinite number of PSMs, and there is no guarantee that any of these PSMs is a *complete* representation of the PIM. 2. XMI is *NOT* "THE" MOF PSM. It is actually a model transport representation, allowing the *transportation* of a model (on whatsoever M-level) from one MOF implementation to another MOF implementation and allowing a rebuilding of a (hopefully) semantically complete replication of the model in the target MOF implementation. 3. As I said, XMI is a *transportation* technology. It is restricted by the capabilities of its underlying technology (XML Schema). It was never intended as a *runtime* representation, any use of XMI as a runtime format is (IMHO) a regretful and serious mistake. XMI is a compromise to make model exchange (and archiving) possible for a wide community. It lives from techniques of *rebuilding* a runtime model out of its transport representation. Btw., the thing you are bringing up here is nothing new (just the names are different...). ISO 10303 (STEP) is dealing with the very same issue since more than 15 years.... [what we can learn from history is that we don't learn from history...] Kind regards, Manfred Cory Casanave wrote: This is a question involving ODM as well as MOF XMI and Life-cycle. In ODM we have RDF and OWL defined as MOF meta models, the assumption being, of course, that you can have MOF instances of RDF graphs. But can you? In RDF & OWL an instance (at any M level) can have (and frequently does have) multiple types ­ it is classified by more than one class. While this is perfectly legal in UML and even in the MOF meta model, I don.t think the concept is supported in XMI or the current life-cycle. So, can you actually represent RDF in MOF? If not, the ODM models are not valid ­ I hope I am wrong about this. The ability for an instance to be classified by more than one class is a major advantage of RDF and of ontology languages, the C++ heritage in MOF of an instance statically being a member of a single class puts MOF at a disadvantage in relation to these other technologies. It makes it very difficult to represent different aspects of an instance, as can be seen from the package merge complexities - which would not have been required is we had multiple classification in MOF. If this is actually a semantic mis-match between MOF and ODM, is may make more sense to add the capability to MOF since the MOF meta model does not preclude this capability ­ it is only a restriction of the MOF-PSM (XMI). -- ___________________ / Manfred R. Koethe \_____________________________________ 88solutions Corp. E-Mail: koethe@88solutions.com 37 Mague Avenue Tel: +1 (617) 848 0525 Newton, MA 02465-1553 FAX: +1 (617) 848 8819 U.S.A. _____________________________"We make your business flow"_ -- ___________________ / Manfred R. Koethe \_____________________________________ 88solutions Corp. E-Mail: koethe@88solutions.com 37 Mague Avenue Tel: +1 (617) 848 0525 Newton, MA 02465-1553 FAX: +1 (617) 848 8819 U.S.A. _____________________________"We make your business flow"_ Date: Fri, 06 Jan 2006 13:02:49 -0500 From: Jishnu Mukerji Organization: HP Software AMOC/ATG User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.3) Gecko/20040910 X-Accept-Language: en-us, en To: Cory Casanave Cc: "'Pete Rivett'" , ontology@omg.org, adtf@omg.org Subject: Re: Multiple classifiers for an instance in MOF and RDF as defined in ODM And here I was under the impression that Manfred thought that MOF would support multiple typing after the issue that he forgot to file is addressed in an RTF or some such. Am I confused or what? Jishnu. Cory Casanave wrote: Pete (Etc), Perhaps you are right and I am having meta-mind block (it has to happen to everyone sometime). Just to be sure we have prepared a valid OWL-Full ontology (Enclosed) . perhaps someone with ODM implemented could import it and show the corresponding XMI to prove it? Note that both .ProductCatagory. and .LineItem. have multiple types. It is interesting that Manfred thinks MOF does support multiple typing, but I am not sure how or if any other MOF would understand it. It could, perhaps, be supported under the current API if more than one object could have the same UUID? -Cory -------------------------------------------------------------------------------- From: Pete Rivett [mailto:pete.rivett@adaptive.com] Sent: Thursday, January 05, 2006 6:22 AM To: Cory Casanave; ontology@omg.org; adtf@omg.org Subject: RE: Multiple classifiers for an instance in MOF and RDF as defined in ODM > In ODM we have RDF and OWL defined as MOF meta models, the assumption being, of course, that you can have MOF instances of RDF graphs. ..... > So, can you actually represent RDF in MOF? If not, the ODM models are not valid . I hope I am wrong about this. Cory, ODM provides a way of representing RDF Schemas (also OWL Ontologies, Topic Maps etc) as instances of a MOF metamodel (ODM itself). RDF Schemas can also be represented in RDF, but also (in theory) in a number of other ways - as rows in a set of relational tables designed for the purpose, in Prolog etc. The point is that the ability to represent a model (in this case an RDF Schema) in a certain technology does not require the ability to also represent instances of that model in the same technology. A good example of this is the language used for representing DTDs - it cannot also be used to represent XML documents that are instances of the DTD. Also, consider a hypothetical UML metamodel without support for instance diagrams - it would support the majority of UML models but not be able to represent their instances. So MOF can be quite adequate for the needs of ODM - representing RDF Schemas - without requiring the ability to represent arbitrary RDF documents. Actually it is possible to represent RDF documents in MOF, though in a 'non-native' manner - indeed the ODM draft specification does just this - there is a MOF metaclass RDFSResource with a multivalued reference RDFType to RDFSClass. Whether it would be a good idea for MOF to support multiple classification of instances is a separate question. At the moment it does not (nothing to do with XMI): since the operation Reflection::Element::getMetaClass() is single valued. I'm personally inclined to agree with you, but that is a major change that would need a new RFP. Happy New Year to everyone Pete Pete Rivett (mailto:pete.rivett@adaptive.com) CTO, Adaptive Inc. Hello House, 135 Somerford Road, Christchurch, BH23 3PY, UK Tel: +44 (0)1202 491243 Fax: +44 (0)1202 491241 http://www.adaptive.com -------------------------------------------------------------------------------- From: Cory Casanave [mailto:cbc@enterprisecomponent.com] Sent: Wednesday, January 04, 2006 4:12 AM To: ontology@omg.org; adtf@omg.org Subject: Multiple classifiers for an instance in MOF and RDF as defined in ODM This is a question involving ODM as well as MOF XMI and Life-cycle. In ODM we have RDF and OWL defined as MOF meta models, the assumption being, of course, that you can have MOF instances of RDF graphs. But can you? In RDF & OWL an instance (at any M level) can have (and frequently does have) multiple types . it is classified by more than one class. While this is perfectly legal in UML and even in the MOF meta model, I don.t think the concept is supported in XMI or the current life-cycle. So, can you actually represent RDF in MOF? If not, the ODM models are not valid . I hope I am wrong about this. The ability for an instance to be classified by more than one class is a major advantage of RDF and of ontology languages, the C++ heritage in MOF of an instance statically being a member of a single class puts MOF at a disadvantage in relation to these other technologies. It makes it very difficult to represent different aspects of an instance, as can be seen from the package merge complexities - which would not have been required is we had multiple classification in MOF. If this is actually a semantic mis-match between MOF and ODM, is may make more sense to add the capability to MOF since the MOF meta model does not preclude this capability . it is only a restriction of the MOF-PSM (XMI). smime1.p7s From: "Cory Casanave" To: "'Manfred R. Koethe'" , "'Stan Hendryx'" Cc: , Subject: RE: Multiple classifiers for an instance in MOF and RDF as defined in ODM Date: Fri, 6 Jan 2006 13:28:33 -0500 X-Mailer: Microsoft Office Outlook 11 Thread-Index: AcYSPb/95PGU6ONHREG9aGFVQQaskwAsE/8g X-OriginalArrivalTime: 06 Jan 2006 18:28:39.0358 (UTC) FILETIME=[039A85E0:01C612EF] Manfred, While I very much support the intent, I'm not sure this is as minor an issue as you suggest. It is doubtful others would want to change the API for a capability they probably can't support. Unfortunately I don't think the spec says that it does or does not support the capability. There are 2 other ways I could see to skin this without API changes; 1. API Addition - methods to add or remove a metaclass. 2. Allow multiple classes to represent the same instance by sharing identity (The spec does not make this illegal - does it?) So while I would love to "drop in" the capability, there needs to be more consensuses. Since the spec does not say you may be able to make a case for this as an RTF issue, but would probably loose the case. As for the ODM issue - we have submitted a test case so should have it proven. -Cory -----Original Message----- From: Manfred R. Koethe [mailto:koethe@88solutions.com] Sent: Thursday, January 05, 2006 3:56 PM To: Stan Hendryx Cc: ontology@omg.org; adtf@omg.org Subject: Re: Multiple classifiers for an instance in MOF and RDF as defined in ODM Stan, you caught me on the fact that I had forgotten to submit an issue for a correction I put already in our implementation.... The return from getMetaClass() and the argument for create() and createElement() should be a ReflectiveSequence holding an ordered set of all metaclasses. (I have filed the issue by now). Dynamic typing is a complicated issue in the context of MOF. It is not too complicated if you apply this to a "terminal" class in the meta-hierarchy, a class which just produces instances and is not used either as a superclass or as a metaclass to define something else. In the latter two cases, the freedom of type changes is very limited to avoid complicated ripple effects down the respective hierarchy. ISO 10303-11 EXPRESS provides an interesting construct (IMHO) usable as a base for limited dynamic typing: ANDOR inheritance. This means: You have for example three classes A, B and C. Class C inherits from A and B using the ANDOR constraint. Typewise C could then be an "A", a "B", an "AB", or a "BA". It would be legal to dynamically select within the bounds of this resulting type set. Since the effects are predictable and bound by the transitive closure of multiple inheritance, this scheme is (with some tricks) implementable in MOF. The changes listed at the top of this message are helpful for that. But since the relationship between a class and its superclasses is an Association with multiplicity 0..* on the superclass end, and therefore just a fan of links in the MOF repository, you could still implement this even with the defective methods in Element and Factory. The implementability actually depends more on the flexibility of the underlying repository. In our case, where the repository is somehow similar to an RDF Triplestore, this dynamic typing scheme can be accommodated. Kind regards, Manfred Stan Hendryx wrote: > Ed, Manfred, > > > I am puzzled by your remark, Manfred, that "the MOF metamodel has > dynamic typing capabilities built in". Can you please point out these > capabilities in the MOF specification? The word 'dynamic' appears only > twice in the MOF 2.0 Available Specification, ptc/04-10-15, both times > in section 11 in relation to the use of tags to dynamically annotate > model elements. The MOF Semantic Domain Model for Constructs, Fig. 18, > shows that each Instance has exactly one Class, Association, or DataType > that is its classifier. In the Reflection Package, Fig. 2, /Element/ (a > subtype of Object) has a single-valued function getMetaClass():Class > that returns the Class that describes the Element. The MOF Factory > metaclass has a create(metaClass:Class):Element operation that takes a > single Class as an argument and returns one new Element. MOF Factory has > no operation to change the type of an object; neither does /Element/. It > appears to me that a MOF object has exactly one type and that it is > immutable. What am I missing? Are you referring to the possibility of > specifying the type of an object as a Property? That is similar to the > approach we have taken with SBVR. > > We encountered the need for dynamic typing in SBVR, and solved the need > by using predication to designate the (possibly multiple and dynamic) > types of an object, which in SBVR is called a _thing_. Each type of a > thing can be stated explicitly as an instance of the fact type, > '_concept_ has _instance_', where an _instance_ is a _thing_ that is in > the extension of a _concept_ (type). Alternatively, the types of a thing > are implicitly specified when the thing assumes a _role_ in a fact that > is an instance of a _fact type_, wherein the type of things in each role > is always specified by the fact type. In the MOF model of SBVR, each > Thing class instance is conceptualized as an undifferentiated thing of > which anything can be predicated, including multiple types. With this > model, SBVR is able to interchange an ontology in the form of a SBVR > vocabulary and rule set, using MOF and XMI. See the adopted SBVR > specification, bei/2005-08-01, section 2.7 Vocabulary Driven Interchange > using MOF and XMI and Figure 2.2.3-1, The Essential SBVR Package. > > Stan > > > ------------------------------------------------------------------------ > *From:* Ed Seidewitz [mailto:ed-s@enterprisecomponent.com] > *Sent:* Wednesday, January 04, 2006 11:50 AM > *To:* jbutler@everware.com; 'Larry L. Johnson'; 'Manfred R. Koethe'; > cory-c@enterprisecomponent.com > *Cc:* ontology@omg.org; adtf@omg.org > *Subject:* RE: Multiple classifiers for an instance in MOF and RDF > as defined in ODM > > John -- > > TypedElement is generally used for "container" sorts of things that > can "hold" values, like attributes and parameters. These always have > a single type to which their contents must conform. > > An InstanceSpecification, on the other hand, is a model of an > instance, which is one of the things that can /be/ held by > TypedElements. UML allows instances to be multiply classified. A > TypedElement can hold an instance for which any of its classifiers > conforms to the type of the TypedElement. > > (UML minutiae I can answer about. Cory's question I am still trying > to understand...) > > -- Ed > > ------------------------------------------------------------------------ > *From:* John C. Butler [mailto:jbutler@everware.com] > *Sent:* Wednesday, January 04, 2006 2:33 PM > *To:* 'Larry L. Johnson'; 'Manfred R. Koethe'; > cory-c@enterprisecomponent.com > *Cc:* ontology@omg.org; adtf@omg.org > *Subject:* RE: Multiple classifiers for an instance in MOF and > RDF as defined in ODM > > Hi Cory et al, > > My understanding of the MOF (though not as extensive as others > on this thread) is that InstanceSpecification (I'm assuming this > is what you mean by your use of Instance below) can have > multiple Classifiers at the same time. Since Classifiers are > specializations of Type it seems as though the issue you raise > is not a problem for MOF. I must say that I don't know enough > about XMI to determine whether it can handle this or not though > it would be silly if it didn't. > > There is one point of confusion for me, however. There is a > metaclass called TypedElement that can be related to at most one > Type. InstanceSpecification is not a kind of TypedElement. Can > someone explain that to me? I'd have thought that > InstanceSpecification would be a specialization thereof and that > the "classifier" association on it would be a specialization of > the "type" association on TypedElement but apparently that's not > the case. > > Regards, > - jb > > > > > ------------------------------------------------------------------------ > > *From:* Larry L. Johnson [mailto:Larry.Johnson@TethersEnd.com] > *Sent:* Wednesday, January 04, 2006 12:06 PM > *To:* 'Manfred R. Koethe' > *Cc:* ontology@omg.org; adtf@omg.org > *Subject:* RE: Multiple classifiers for an instance in MOF and > RDF as defined in ODM > > > > Hi Manfred, > > I'll ignore the red herring PIM/PSM stuff & leave it that I know > what Cory meant. (He didn't even imply there is only one PSM per > PIM... whatever PIM & PSM mean). > > The key issue in Cory's memo is an instance being of multiple > types, not necessarily through transitive type casting up an > "is-a" tree. To what degree does the MOF dynamic typing support > this? > > ISO 10303 does allow an instance to be of multiple types, but > only of multiple subtypes of some common supertype (categorical > as opposed to partitioning subtyping). Though if you disagree, I > defer without further argument to your deeper knowledge of EXPRESS. > > Regards, > Larry > > > > -----Original Message----- > From: Manfred R. Koethe [mailto:koethe@88solutions.com] > Sent: Wednesday, January 04, 2006 11:27 AM > To: Cory Casanave > Cc: ontology@omg.org; adtf@omg.org > Subject: Re: Multiple classifiers for an instance in MOF and RDF > as defined in ODM > > > > Cory, > > > > You are correct that the MOF metamodel has dynamic typing > capabilities > > built in, they just have to be utilized... > > > > However, I like to correct you in one thing: You wrote in your last > > sentence "... the MOF-PSM (XMI)". Here is my take on that: > > > > 1. There is no such thing as *THE* PSM for a PIM. Any PIM may be > > mapped to an infinite number of PSMs, and there is no guarantee > > that any of these PSMs is a *complete* representation of the > PIM. > > > > 2. XMI is *NOT* "THE" MOF PSM. It is actually a model transport > > representation, allowing the *transportation* of a model (on > > whatsoever M-level) from one MOF implementation to another MOF > > implementation and allowing a rebuilding of a (hopefully) > > semantically complete replication of the model in the target > > MOF implementation. > > > > 3. As I said, XMI is a *transportation* technology. It is restricted > > by the capabilities of its underlying technology (XML > Schema). It > > was never intended as a *runtime* representation, any use of XMI > > as a runtime format is (IMHO) a regretful and serious mistake. > > XMI is a compromise to make model exchange (and archiving) > possible > > for a wide community. It lives from techniques of *rebuilding* a > > runtime model out of its transport representation. > > > > Btw., the thing you are bringing up here is nothing new (just the > > names are different...). ISO 10303 (STEP) is dealing with the > very same > > issue since more than 15 years.... > > > > [what we can learn from history is that we don't learn from > history...] > > > > Kind regards, > > > > Manfred > > > > > > Cory Casanave wrote: > >> This is a question involving ODM as well as MOF XMI and > Life-cycle. > >> > >> > >> > >> In ODM we have RDF and OWL defined as MOF meta models, the > assumption > >> being, of course, that you can have MOF instances of RDF > graphs. But > >> can you? In RDF & OWL an instance (at any M level) can have (and > >> frequently does have) multiple types - it is classified by > more than one > >> class. While this is perfectly legal in UML and even in the > MOF meta > >> model, I don't think the concept is supported in XMI or the > current > >> life-cycle. So, can you actually represent RDF in MOF? If > not, the ODM > >> models are not valid - I hope I am wrong about this. > >> > >> The ability for an instance to be classified by more than one > class is a > >> major advantage of RDF and of ontology languages, the C++ > heritage in > >> MOF of an instance statically being a member of a single class > puts MOF > >> at a disadvantage in relation to these other technologies. It > makes it > >> very difficult to represent different aspects of an instance, > as can be > >> seen from the package merge complexities - which would not > have been > >> required is we had multiple classification in MOF. > >> > >> If this is actually a semantic mis-match between MOF and ODM, > is may > >> make more sense to add the capability to MOF since the MOF > meta model > >> does not preclude this capability - it is only a restriction > of the > >> MOF-PSM (XMI). > >> > > > > -- > > ___________________ > > / Manfred R. Koethe \_____________________________________ > > 88solutions Corp. E-Mail: koethe@88solutions.com > > 37 Mague Avenue Tel: +1 (617) 848 0525 > > Newton, MA 02465-1553 FAX: +1 (617) 848 8819 > > U.S.A. > > _____________________________"We make your business flow"_ > > > > > -- ___________________ / Manfred R. Koethe \_____________________________________ 88solutions Corp. E-Mail: koethe@88solutions.com 37 Mague Avenue Tel: +1 (617) 848 0525 Newton, MA 02465-1553 FAX: +1 (617) 848 8819 U.S.A. _____________________________"We make your business flow"_ From: "Ed Seidewitz" To: "'Cory Casanave'" Cc: , Subject: RE: Multiple classifiers for an instance in MOF and RDF as defined in ODM Date: Fri, 6 Jan 2006 14:01:28 -0500 Organization: Data Access Technologies X-Mailer: Microsoft Office Outlook, Build 11.0.6353 Thread-Index: AcYSPb/95PGU6ONHREG9aGFVQQaskwAsE/8gAAE15vA= X-OriginalArrivalTime: 06 Jan 2006 19:01:30.0379 (UTC) FILETIME=[9A6C75B0:01C612F3] Cory -- The UML Infrastructure spec does not cover instance modeling, so the issue of multiple classification is left open there. However, the MOF spec seems pretty clear to me. Not only does the spec specifically call for the getMetaClass operation to return a single class, but in the MOF Instances Model given in the "CMOF Abstract Semantics" chapter, an instance has only one classifier. So the current spec calls for an MOF repository to record only a single classifier for each instance. -- Ed > -----Original Message----- > From: Cory Casanave [mailto:cbc@enterprisecomponent.com] > Sent: Friday, January 06, 2006 1:29 PM > To: 'Manfred R. Koethe'; 'Stan Hendryx' > Cc: ontology@omg.org; adtf@omg.org > Subject: RE: Multiple classifiers for an instance in MOF and > RDF as defined in ODM > > Manfred, > While I very much support the intent, I'm not sure this is as > minor an issue as you suggest. It is doubtful others would > want to change the API for a capability they probably can't > support. Unfortunately I don't think the spec says that it > does or does not support the capability. > There are 2 other ways I could see to skin this without API > changes; 1. API Addition - methods to add or remove a metaclass. > 2. Allow multiple classes to represent the same instance by > sharing identity (The spec does not make this illegal - does it?) > > So while I would love to "drop in" the capability, there > needs to be more consensuses. Since the spec does not say > you may be able to make a case for this as an RTF issue, but > would probably loose the case. > As for the ODM issue - we have submitted a test case so > should have it proven. > -Cory > -----Original Message----- > From: Manfred R. Koethe [mailto:koethe@88solutions.com] > Sent: Thursday, January 05, 2006 3:56 PM > To: Stan Hendryx > Cc: ontology@omg.org; adtf@omg.org > Subject: Re: Multiple classifiers for an instance in MOF and > RDF as defined in ODM > > Stan, > > you caught me on the fact that I had forgotten to submit an > issue for a correction I put already in our > implementation.... The return from getMetaClass() and the > argument for create() and createElement() should be a > ReflectiveSequence holding an ordered set of all metaclasses. > (I have filed the issue by now). > > Dynamic typing is a complicated issue in the context of MOF. > It is not too complicated if you apply this to a "terminal" > class in the meta-hierarchy, a class which just produces > instances and is not used either as a superclass or as a > metaclass to define something else. In the latter two cases, > the freedom of type changes is very limited to avoid > complicated ripple effects down the respective hierarchy. > > ISO 10303-11 EXPRESS provides an interesting construct (IMHO) > usable as a base for limited dynamic typing: ANDOR > inheritance. This means: > > You have for example three classes A, B and C. > Class C inherits from A and B using the ANDOR constraint. > > Typewise C could then be an "A", a "B", an "AB", or a "BA". > > It would be legal to dynamically select within the bounds of > this resulting type set. Since the effects are predictable > and bound by the transitive closure of multiple inheritance, > this scheme is (with some tricks) implementable in MOF. The > changes listed at the top of this message are helpful for > that. But since the relationship between a class and its > superclasses is an Association with multiplicity 0..* on the > superclass end, and therefore just a fan of links in the MOF > repository, you could still implement this even with the > defective methods in Element and Factory. The > implementability actually depends more on the flexibility of > the underlying repository. In our case, where the repository > is somehow similar to an RDF Triplestore, this dynamic typing > scheme can be accommodated. > > Kind regards, > > Manfred > > > Stan Hendryx wrote: > > Ed, Manfred, > > > > > > I am puzzled by your remark, Manfred, that "the MOF metamodel has > > dynamic typing capabilities built in". Can you please point > out these > > capabilities in the MOF specification? The word 'dynamic' > appears only > > twice in the MOF 2.0 Available Specification, ptc/04-10-15, > both times > > in section 11 in relation to the use of tags to dynamically > annotate > > model elements. The MOF Semantic Domain Model for > Constructs, Fig. 18, > > shows that each Instance has exactly one Class, Association, or > > DataType that is its classifier. In the Reflection Package, Fig. 2, > > /Element/ (a subtype of Object) has a single-valued function > > getMetaClass():Class that returns the Class that describes the > > Element. The MOF Factory metaclass has a > > create(metaClass:Class):Element operation that takes a > single Class as > > an argument and returns one new Element. MOF Factory has no > operation > > to change the type of an object; neither does /Element/. It > appears to > > me that a MOF object has exactly one type and that it is immutable. > > What am I missing? Are you referring to the possibility of > specifying > > the type of an object as a Property? That is similar to the > approach we have taken with SBVR. > > > > We encountered the need for dynamic typing in SBVR, and solved the > > need by using predication to designate the (possibly multiple and > > dynamic) types of an object, which in SBVR is called a > _thing_. Each > > type of a thing can be stated explicitly as an instance of the fact > > type, '_concept_ has _instance_', where an _instance_ is a _thing_ > > that is in the extension of a _concept_ (type). Alternatively, the > > types of a thing are implicitly specified when the thing assumes a > > _role_ in a fact that is an instance of a _fact type_, wherein the > > type of things in each role is always specified by the fact > type. In > > the MOF model of SBVR, each Thing class instance is > conceptualized as > > an undifferentiated thing of which anything can be predicated, > > including multiple types. With this model, SBVR is able to > interchange > > an ontology in the form of a SBVR vocabulary and rule set, > using MOF > > and XMI. See the adopted SBVR specification, > bei/2005-08-01, section > > 2.7 Vocabulary Driven Interchange using MOF and XMI and > Figure 2.2.3-1, The Essential SBVR Package. > > > > Stan > > > > > > > -------------------------------------------------------------- > ---------- > > *From:* Ed Seidewitz [mailto:ed-s@enterprisecomponent.com] > > *Sent:* Wednesday, January 04, 2006 11:50 AM > > *To:* jbutler@everware.com; 'Larry L. Johnson'; > 'Manfred R. Koethe'; > > cory-c@enterprisecomponent.com > > *Cc:* ontology@omg.org; adtf@omg.org > > *Subject:* RE: Multiple classifiers for an instance in > MOF and RDF > > as defined in ODM > > > > John -- > > > > TypedElement is generally used for "container" sorts of > things that > > can "hold" values, like attributes and parameters. > These always have > > a single type to which their contents must conform. > > > > An InstanceSpecification, on the other hand, is a model of an > > instance, which is one of the things that can /be/ held by > > TypedElements. UML allows instances to be multiply classified. A > > TypedElement can hold an instance for which any of its > classifiers > > conforms to the type of the TypedElement. > > > > (UML minutiae I can answer about. Cory's question I am > still trying > > to understand...) > > > > -- Ed > > > > > -------------------------------------------------------------- > ---------- > > *From:* John C. Butler [mailto:jbutler@everware.com] > > *Sent:* Wednesday, January 04, 2006 2:33 PM > > *To:* 'Larry L. Johnson'; 'Manfred R. Koethe'; > > cory-c@enterprisecomponent.com > > *Cc:* ontology@omg.org; adtf@omg.org > > *Subject:* RE: Multiple classifiers for an instance > in MOF and > > RDF as defined in ODM > > > > Hi Cory et al, > > > > My understanding of the MOF (though not as > extensive as others > > on this thread) is that InstanceSpecification (I'm > assuming this > > is what you mean by your use of Instance below) can have > > multiple Classifiers at the same time. Since > Classifiers are > > specializations of Type it seems as though the > issue you raise > > is not a problem for MOF. I must say that I don't > know enough > > about XMI to determine whether it can handle this > or not though > > it would be silly if it didn't. > > > > There is one point of confusion for me, however. There is a > > metaclass called TypedElement that can be related > to at most one > > Type. InstanceSpecification is not a kind of > TypedElement. Can > > someone explain that to me? I'd have thought that > > InstanceSpecification would be a specialization > thereof and that > > the "classifier" association on it would be a > specialization of > > the "type" association on TypedElement but > apparently that's not > > the case. > > > > Regards, > > - jb > > > > > > > > > > > > -------------------------------------------------------------- > ---------- > > > > *From:* Larry L. Johnson > [mailto:Larry.Johnson@TethersEnd.com] > > *Sent:* Wednesday, January 04, 2006 12:06 PM > > *To:* 'Manfred R. Koethe' > > *Cc:* ontology@omg.org; adtf@omg.org > > *Subject:* RE: Multiple classifiers for an instance > in MOF and > > RDF as defined in ODM > > > > > > > > Hi Manfred, > > > > I'll ignore the red herring PIM/PSM stuff & leave > it that I know > > what Cory meant. (He didn't even imply there is > only one PSM per > > PIM... whatever PIM & PSM mean). > > > > The key issue in Cory's memo is an instance being > of multiple > > types, not necessarily through transitive type casting up an > > "is-a" tree. To what degree does the MOF dynamic > typing support > > this? > > > > ISO 10303 does allow an instance to be of multiple > types, but > > only of multiple subtypes of some common supertype > (categorical > > as opposed to partitioning subtyping). Though if > you disagree, I > > defer without further argument to your deeper knowledge of > EXPRESS. > > > > Regards, > > Larry > > > > > > > > -----Original Message----- > > From: Manfred R. Koethe [mailto:koethe@88solutions.com] > > Sent: Wednesday, January 04, 2006 11:27 AM > > To: Cory Casanave > > Cc: ontology@omg.org; adtf@omg.org > > Subject: Re: Multiple classifiers for an instance > in MOF and RDF > > as defined in ODM > > > > > > > > Cory, > > > > > > > > You are correct that the MOF metamodel has dynamic typing > > capabilities > > > > built in, they just have to be utilized... > > > > > > > > However, I like to correct you in one thing: You > wrote in your > last > > > > sentence "... the MOF-PSM (XMI)". Here is my take on that: > > > > > > > > 1. There is no such thing as *THE* PSM for a PIM. > Any PIM may > > be > > > > mapped to an infinite number of PSMs, and there is no > guarantee > > > > that any of these PSMs is a *complete* > representation of the > > PIM. > > > > > > > > 2. XMI is *NOT* "THE" MOF PSM. It is actually a model > > transport > > > > representation, allowing the *transportation* > of a model > > (on > > > > whatsoever M-level) from one MOF implementation > to another > > MOF > > > > implementation and allowing a rebuilding of a > (hopefully) > > > > semantically complete replication of the model in the > > target > > > > MOF implementation. > > > > > > > > 3. As I said, XMI is a *transportation* technology. It is > restricted > > > > by the capabilities of its underlying technology (XML > > Schema). It > > > > was never intended as a *runtime* > representation, any use > > of > XMI > > > > as a runtime format is (IMHO) a regretful and > serious mistake. > > > > XMI is a compromise to make model exchange (and > archiving) > > possible > > > > for a wide community. It lives from techniques of > > *rebuilding* > a > > > > runtime model out of its transport representation. > > > > > > > > Btw., the thing you are bringing up here is nothing > new (just > > the > > > > names are different...). ISO 10303 (STEP) is > dealing with the > > very same > > > > issue since more than 15 years.... > > > > > > > > [what we can learn from history is that we don't learn from > > history...] > > > > > > > > Kind regards, > > > > > > > > Manfred > > > > > > > > > > > > Cory Casanave wrote: > > > >> This is a question involving ODM as well as MOF XMI and > > Life-cycle. > > > >> > > > >> > > > >> > > > >> In ODM we have RDF and OWL defined as MOF meta models, the > > assumption > > > >> being, of course, that you can have MOF instances of RDF > > graphs. But > > > >> can you? In RDF & OWL an instance (at any M level) can have (and > > > >> frequently does have) multiple types - it is classified by > > more than one > > > >> class. While this is perfectly legal in UML and even in the > > MOF meta > > > >> model, I don't think the concept is supported in XMI or the > > current > > > >> life-cycle. So, can you actually represent RDF in MOF? If > > not, the ODM > > > >> models are not valid - I hope I am wrong about this. > > > >> > > > >> The ability for an instance to be classified by more than one > > class is a > > > >> major advantage of RDF and of ontology languages, the C++ > > heritage in > > > >> MOF of an instance statically being a member of a single class > > puts MOF > > > >> at a disadvantage in relation to these other technologies. It > > makes it > > > >> very difficult to represent different aspects of an instance, > > as can be > > > >> seen from the package merge complexities - which would not > > have been > > > >> required is we had multiple classification in MOF. > > > >> > > > >> If this is actually a semantic mis-match between MOF and ODM, > > is may > > > >> make more sense to add the capability to MOF since the MOF > > meta model > > > >> does not preclude this capability - it is only a restriction > > of the > > > >> MOF-PSM (XMI). > > > >> > > > > > > > > -- > > > > ___________________ > > > > / Manfred R. Koethe \_____________________________________ > > > > 88solutions Corp. E-Mail: koethe@88solutions.com > > > > 37 Mague Avenue Tel: +1 (617) 848 0525 > > > > Newton, MA 02465-1553 FAX: +1 (617) 848 8819 > > > > U.S.A. > > > > _____________________________"We make your business flow"_ > > > > > > > > > > > > -- > ___________________ > / Manfred R. Koethe \_____________________________________ > 88solutions Corp. E-Mail: koethe@88solutions.com > 37 Mague Avenue Tel: +1 (617) 848 0525 > Newton, MA 02465-1553 FAX: +1 (617) 848 8819 > U.S.A. > _____________________________"We make your business flow"_ > Date: Fri, 6 Jan 2006 19:03:56 +0001 From: Laurence Tratt To: ontology@omg.org, adtf@omg.org Subject: Re: Multiple classifiers for an instance in MOF and RDF as defined in ODM User-Agent: mutt I haven't followed all of this discussion, but if people are really asking for an object to have multiple meta-classes, then I'd strongly suggest thinking carefully before going far down this path. Saying "oh, yeah, an object can have multiple meta-classes" is easy. But that statement hides a potential world of implementation pain that I doubt many people will be willing to stomach. The best possible (or, perhaps more accurately, least worst) scenario is for technologies where meta-classes are constraints determining what a valid instance is, but which is not capable of directly creating such instances. In this instance, one would expect to have a similar level of pain to multiple inheritance in programming languages - and don't forget that an awful lot of modern programming languages have explicitly dropped this concept because of this level of pain. The corner cases (what happens if two different meta-classes have an attribute with the same name but different type etc etc) are numerous and notoriously tricky. The real problem will be for technologies where meta-classes can actually construct instances. In those cases I have no idea what it would mean to have multiple meta-classes - practically speaking it's going to be all but impossible to work out what such a technology should do. In summary: rather you than me. Laurie -- http://tratt.net/laurie/ -- Personal http://convergepl.org/ -- The Converge programming language http://sosym.dcs.kcl.ac.uk/ -- Software and Systems Modelling Team Subject: RE: Multiple classifiers for an instance in MOF and RDF as defined in ODM Date: Fri, 6 Jan 2006 11:23:34 -0800 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Multiple classifiers for an instance in MOF and RDF as defined in ODM Thread-Index: AcYS62xuzolpidzpSaan7HasW6lSdgACxU7w From: "Pete Rivett" To: "Jishnu Mukerji" , "Cory Casanave" Cc: , As I said in a previous email I think the issue(s) Manfred has in mind represent major structural changes that are IMHO way beyond what an RTF can take on. Pete -------------------------------------------------------------------------------- From: Jishnu Mukerji [mailto:jishnu@hp.com] Sent: Friday, January 06, 2006 6:03 PM To: Cory Casanave Cc: Pete Rivett; ontology@omg.org; adtf@omg.org Subject: Re: Multiple classifiers for an instance in MOF and RDF as defined in ODM And here I was under the impression that Manfred thought that MOF would support multiple typing after the issue that he forgot to file is addressed in an RTF or some such. Am I confused or what? Jishnu. Cory Casanave wrote: Pete (Etc), Perhaps you are right and I am having meta-mind block (it has to happen to everyone sometime). Just to be sure we have prepared a valid OWL-Full ontology (Enclosed) . perhaps someone with ODM implemented could import it and show the corresponding XMI to prove it? Note that both .ProductCatagory. and .LineItem. have multiple types. It is interesting that Manfred thinks MOF does support multiple typing, but I am not sure how or if any other MOF would understand it. It could, perhaps, be supported under the current API if more than one object could have the same UUID? -Cory -------------------------------------------------------------------------------- From: Pete Rivett [mailto:pete.rivett@adaptive.com] Sent: Thursday, January 05, 2006 6:22 AM To: Cory Casanave; ontology@omg.org; adtf@omg.org Subject: RE: Multiple classifiers for an instance in MOF and RDF as defined in ODM > In ODM we have RDF and OWL defined as MOF meta models, the assumption being, of course, that you can have MOF instances of RDF graphs. ..... > So, can you actually represent RDF in MOF? If not, the ODM models are not valid . I hope I am wrong about this. Cory, ODM provides a way of representing RDF Schemas (also OWL Ontologies, Topic Maps etc) as instances of a MOF metamodel (ODM itself). RDF Schemas can also be represented in RDF, but also (in theory) in a number of other ways - as rows in a set of relational tables designed for the purpose, in Prolog etc. The point is that the ability to represent a model (in this case an RDF Schema) in a certain technology does not require the ability to also represent instances of that model in the same technology. A good example of this is the language used for representing DTDs - it cannot also be used to represent XML documents that are instances of the DTD. Also, consider a hypothetical UML metamodel without support for instance diagrams - it would support the majority of UML models but not be able to represent their instances. So MOF can be quite adequate for the needs of ODM - representing RDF Schemas - without requiring the ability to represent arbitrary RDF documents. Actually it is possible to represent RDF documents in MOF, though in a 'non-native' manner - indeed the ODM draft specification does just this - there is a MOF metaclass RDFSResource with a multivalued reference RDFType to RDFSClass. Whether it would be a good idea for MOF to support multiple classification of instances is a separate question. At the moment it does not (nothing to do with XMI): since the operation Reflection::Element::getMetaClass() is single valued. I'm personally inclined to agree with you, but that is a major change that would need a new RFP. Happy New Year to everyone Pete Pete Rivett (mailto:pete.rivett@adaptive.com) CTO, Adaptive Inc. Hello House, 135 Somerford Road, Christchurch, BH23 3PY, UK Tel: +44 (0)1202 491243 Fax: +44 (0)1202 491241 http://www.adaptive.com -------------------------------------------------------------------------------- From: Cory Casanave [mailto:cbc@enterprisecomponent.com] Sent: Wednesday, January 04, 2006 4:12 AM To: ontology@omg.org; adtf@omg.org Subject: Multiple classifiers for an instance in MOF and RDF as defined in ODM This is a question involving ODM as well as MOF XMI and Life-cycle. In ODM we have RDF and OWL defined as MOF meta models, the assumption being, of course, that you can have MOF instances of RDF graphs. But can you? In RDF & OWL an instance (at any M level) can have (and frequently does have) multiple types . it is classified by more than one class. While this is perfectly legal in UML and even in the MOF meta model, I don.t think the concept is supported in XMI or the current life-cycle. So, can you actually represent RDF in MOF? If not, the ODM models are not valid . I hope I am wrong about this. The ability for an instance to be classified by more than one class is a major advantage of RDF and of ontology languages, the C++ heritage in MOF of an instance statically being a member of a single class puts MOF at a disadvantage in relation to these other technologies. It makes it very difficult to represent different aspects of an instance, as can be seen from the package merge complexities - which would not have been required is we had multiple classification in MOF. If this is actually a semantic mis-match between MOF and ODM, is may make more sense to add the capability to MOF since the MOF meta model does not preclude this capability . it is only a restriction of the MOF-PSM (XMI). Date: Fri, 06 Jan 2006 14:43:21 -0500 From: Jishnu Mukerji Organization: HP Software AMOC/ATG User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.3) Gecko/20040910 X-Accept-Language: en-us, en To: Pete Rivett Cc: Cory Casanave , ontology@omg.org, adtf@omg.org Subject: Re: Multiple classifiers for an instance in MOF and RDF as defined in ODM I agree. I was merely stating the facts as I saw them fly by in various email messages without passing any judgment on the prudence or sanity of some of them. Jishnu. Pete Rivett wrote: As I said in a previous email I think the issue(s) Manfred has in mind represent major structural changes that are IMHO way beyond what an RTF can take on. Pete -------------------------------------------------------------------------------- From: Jishnu Mukerji [mailto:jishnu@hp.com] Sent: Friday, January 06, 2006 6:03 PM To: Cory Casanave Cc: Pete Rivett; ontology@omg.org; adtf@omg.org Subject: Re: Multiple classifiers for an instance in MOF and RDF as defined in ODM And here I was under the impression that Manfred thought that MOF would support multiple typing after the issue that he forgot to file is addressed in an RTF or some such. Am I confused or what? Jishnu. Cory Casanave wrote: Pete (Etc), Perhaps you are right and I am having meta-mind block (it has to happen to everyone sometime). Just to be sure we have prepared a valid OWL-Full ontology (Enclosed) . perhaps someone with ODM implemented could import it and show the corresponding XMI to prove it? Note that both .ProductCatagory. and .LineItem. have multiple types. It is interesting that Manfred thinks MOF does support multiple typing, but I am not sure how or if any other MOF would understand it. It could, perhaps, be supported under the current API if more than one object could have the same UUID? -Cory -------------------------------------------------------------------------------- From: Pete Rivett [mailto:pete.rivett@adaptive.com] Sent: Thursday, January 05, 2006 6:22 AM To: Cory Casanave; ontology@omg.org; adtf@omg.org Subject: RE: Multiple classifiers for an instance in MOF and RDF as defined in ODM > In ODM we have RDF and OWL defined as MOF meta models, the assumption being, of course, that you can have MOF instances of RDF graphs. ..... > So, can you actually represent RDF in MOF? If not, the ODM models are not valid . I hope I am wrong about this. Cory, ODM provides a way of representing RDF Schemas (also OWL Ontologies, Topic Maps etc) as instances of a MOF metamodel (ODM itself). RDF Schemas can also be represented in RDF, but also (in theory) in a number of other ways - as rows in a set of relational tables designed for the purpose, in Prolog etc. The point is that the ability to represent a model (in this case an RDF Schema) in a certain technology does not require the ability to also represent instances of that model in the same technology. A good example of this is the language used for representing DTDs - it cannot also be used to represent XML documents that are instances of the DTD. Also, consider a hypothetical UML metamodel without support for instance diagrams - it would support the majority of UML models but not be able to represent their instances. So MOF can be quite adequate for the needs of ODM - representing RDF Schemas - without requiring the ability to represent arbitrary RDF documents. Actually it is possible to represent RDF documents in MOF, though in a 'non-native' manner - indeed the ODM draft specification does just this - there is a MOF metaclass RDFSResource with a multivalued reference RDFType to RDFSClass. Whether it would be a good idea for MOF to support multiple classification of instances is a separate question. At the moment it does not (nothing to do with XMI): since the operation Reflection::Element::getMetaClass() is single valued. I'm personally inclined to agree with you, but that is a major change that would need a new RFP. Happy New Year to everyone Pete Pete Rivett (mailto:pete.rivett@adaptive.com) CTO, Adaptive Inc. Hello House, 135 Somerford Road, Christchurch, BH23 3PY, UK Tel: +44 (0)1202 491243 Fax: +44 (0)1202 491241 http://www.adaptive.com -------------------------------------------------------------------------------- From: Cory Casanave [mailto:cbc@enterprisecomponent.com] Sent: Wednesday, January 04, 2006 4:12 AM To: ontology@omg.org; adtf@omg.org Subject: Multiple classifiers for an instance in MOF and RDF as defined in ODM This is a question involving ODM as well as MOF XMI and Life-cycle. In ODM we have RDF and OWL defined as MOF meta models, the assumption being, of course, that you can have MOF instances of RDF graphs. But can you? In RDF & OWL an instance (at any M level) can have (and frequently does have) multiple types . it is classified by more than one class. While this is perfectly legal in UML and even in the MOF meta model, I don.t think the concept is supported in XMI or the current life-cycle. So, can you actually represent RDF in MOF? If not, the ODM models are not valid . I hope I am wrong about this. The ability for an instance to be classified by more than one class is a major advantage of RDF and of ontology languages, the C++ heritage in MOF of an instance statically being a member of a single class puts MOF at a disadvantage in relation to these other technologies. It makes it very difficult to represent different aspects of an instance, as can be seen from the package merge complexities - which would not have been required is we had multiple classification in MOF. If this is actually a semantic mis-match between MOF and ODM, is may make more sense to add the capability to MOF since the MOF meta model does not preclude this capability . it is only a restriction of the MOF-PSM (XMI). smime2.p7s Date: Fri, 06 Jan 2006 14:56:08 -0500 From: Ed Barkmeyer Reply-To: edbark@nist.gov Organization: NIST User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax) X-Accept-Language: en, fr, de, pdf, it, nl, sv, es, ru To: Pete Rivett CC: ontology@omg.org, adtf@omg.org Subject: Re: Multiple classifiers for an instance in MOF and RDF as defined in ODM Pete Rivett wrote: As I said in a previous email I think the issue(s) Manfred has in mind represent major structural changes that are IMHO way beyond what an RTF can take on. Pete +1 -Ed -- Edward J. Barkmeyer Email: edbark@nist.gov National Institute of Standards & Technology Manufacturing Systems Integration Division 100 Bureau Drive, Stop 8263 Tel: +1 301-975-3528 Gaithersburg, MD 20899-8263 FAX: +1 301-975-4482 "The opinions expressed above do not reflect consensus of NIST, and have not been reviewed by any Government authority." Date: Fri, 06 Jan 2006 12:45:49 -0800 From: "Elisa F. Kendall" Organization: Sandpiper Software, Inc. User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax;nscd1) X-Accept-Language: en-us, en To: Cory Casanave CC: "'Pete Rivett'" , ontology@omg.org, adtf@omg.org Subject: Re: Multiple classifiers for an instance in MOF and RDF as defined in ODM Cory, We'll take a look at this, though XMI generation is not yet automated in our environment. I'm not sure whether Gordon can do so -- will ask him (IBM China Research), as their implementation, last time I checked, did not reflect the current metamodel. I'll also run the ontology through our checking paces for you (we use several reasoners, as few support exactly the same set of features, only FOL reasoners support OWL Full, etc.), and let you know what we find. By the way, the "meta mind block" has affected many, many folk we've talked with -- you're in good company. There are clear distinctions between the model of the abstract syntax of RDF and OWL, the model of an RDF-compatible repository such as a triple store, a repository model (MOF or otherwise) for ontology asset management that supports navigation in directions that the language does not (for example, finding all of the properties that a particular class is the domain of), a repository model for a deductive knowledge base, and any application model you might think of. I believe our current metamodels for RDF and OWL accurately reflect the abstract syntax of the respective languages, with perhaps one or two minor hiccups remaining that we are uncovering through QVT testing. Best regards, Elisa Cory Casanave wrote: Pete (Etc), Perhaps you are right and I am having meta-mind block (it has to happen to everyone sometime). Just to be sure we have prepared a valid OWL-Full ontology (Enclosed) . perhaps someone with ODM implemented could import it and show the corresponding XMI to prove it? Note that both .ProductCatagory. and .LineItem. have multiple types. It is interesting that Manfred thinks MOF does support multiple typing, but I am not sure how or if any other MOF would understand it. It could, perhaps, be supported under the current API if more than one object could have the same UUID? -Cory -------------------------------------------------------------------------------- From: Pete Rivett [mailto:pete.rivett@adaptive.com] Sent: Thursday, January 05, 2006 6:22 AM To: Cory Casanave; ontology@omg.org; adtf@omg.org Subject: RE: Multiple classifiers for an instance in MOF and RDF as defined in ODM > In ODM we have RDF and OWL defined as MOF meta models, the assumption being, of course, that you can have MOF instances of RDF graphs. ..... > So, can you actually represent RDF in MOF? If not, the ODM models are not valid . I hope I am wrong about this. Cory, ODM provides a way of representing RDF Schemas (also OWL Ontologies, Topic Maps etc) as instances of a MOF metamodel (ODM itself). RDF Schemas can also be represented in RDF, but also (in theory) in a number of other ways - as rows in a set of relational tables designed for the purpose, in Prolog etc. The point is that the ability to represent a model (in this case an RDF Schema) in a certain technology does not require the ability to also represent instances of that model in the same technology. A good example of this is the language used for representing DTDs - it cannot also be used to represent XML documents that are instances of the DTD. Also, consider a hypothetical UML metamodel without support for instance diagrams - it would support the majority of UML models but not be able to represent their instances. So MOF can be quite adequate for the needs of ODM - representing RDF Schemas - without requiring the ability to represent arbitrary RDF documents. Actually it is possible to represent RDF documents in MOF, though in a 'non-native' manner - indeed the ODM draft specification does just this - there is a MOF metaclass RDFSResource with a multivalued reference RDFType to RDFSClass. Whether it would be a good idea for MOF to support multiple classification of instances is a separate question. At the moment it does not (nothing to do with XMI): since the operation Reflection::Element::getMetaClass() is single valued. I'm personally inclined to agree with you, but that is a major change that would need a new RFP. Happy New Year to everyone Pete Pete Rivett (mailto:pete.rivett@adaptive.com) CTO, Adaptive Inc. Hello House, 135 Somerford Road, Christchurch, BH23 3PY, UK Tel: +44 (0)1202 491243 Fax: +44 (0)1202 491241 http://www.adaptive.com -------------------------------------------------------------------------------- From: Cory Casanave [mailto:cbc@enterprisecomponent.com] Sent: Wednesday, January 04, 2006 4:12 AM To: ontology@omg.org; adtf@omg.org Subject: Multiple classifiers for an instance in MOF and RDF as defined in ODM This is a question involving ODM as well as MOF XMI and Life-cycle. In ODM we have RDF and OWL defined as MOF meta models, the assumption being, of course, that you can have MOF instances of RDF graphs. But can you? In RDF & OWL an instance (at any M level) can have (and frequently does have) multiple types . it is classified by more than one class. While this is perfectly legal in UML and even in the MOF meta model, I don.t think the concept is supported in XMI or the current life-cycle. So, can you actually represent RDF in MOF? If not, the ODM models are not valid . I hope I am wrong about this. The ability for an instance to be classified by more than one class is a major advantage of RDF and of ontology languages, the C++ heritage in MOF of an instance statically being a member of a single class puts MOF at a disadvantage in relation to these other technologies. It makes it very difficult to represent different aspects of an instance, as can be seen from the package merge complexities - which would not have been required is we had multiple classification in MOF. If this is actually a semantic mis-match between MOF and ODM, is may make more sense to add the capability to MOF since the MOF meta model does not preclude this capability . it is only a restriction of the MOF-PSM (XMI). Date: Fri, 06 Jan 2006 12:45:49 -0800 From: "Elisa F. Kendall" Organization: Sandpiper Software, Inc. User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax;nscd1) X-Accept-Language: en-us, en To: Cory Casanave CC: "'Pete Rivett'" , ontology@omg.org, adtf@omg.org Subject: Re: Multiple classifiers for an instance in MOF and RDF as defined in ODM Cory, We'll take a look at this, though XMI generation is not yet automated in our environment. I'm not sure whether Gordon can do so -- will ask him (IBM China Research), as their implementation, last time I checked, did not reflect the current metamodel. I'll also run the ontology through our checking paces for you (we use several reasoners, as few support exactly the same set of features, only FOL reasoners support OWL Full, etc.), and let you know what we find. By the way, the "meta mind block" has affected many, many folk we've talked with -- you're in good company. There are clear distinctions between the model of the abstract syntax of RDF and OWL, the model of an RDF-compatible repository such as a triple store, a repository model (MOF or otherwise) for ontology asset management that supports navigation in directions that the language does not (for example, finding all of the properties that a particular class is the domain of), a repository model for a deductive knowledge base, and any application model you might think of. I believe our current metamodels for RDF and OWL accurately reflect the abstract syntax of the respective languages, with perhaps one or two minor hiccups remaining that we are uncovering through QVT testing. Best regards, Elisa Cory Casanave wrote: Pete (Etc), Perhaps you are right and I am having meta-mind block (it has to happen to everyone sometime). Just to be sure we have prepared a valid OWL-Full ontology (Enclosed) . perhaps someone with ODM implemented could import it and show the corresponding XMI to prove it? Note that both .ProductCatagory. and .LineItem. have multiple types. It is interesting that Manfred thinks MOF does support multiple typing, but I am not sure how or if any other MOF would understand it. It could, perhaps, be supported under the current API if more than one object could have the same UUID? -Cory -------------------------------------------------------------------------------- From: Pete Rivett [mailto:pete.rivett@adaptive.com] Sent: Thursday, January 05, 2006 6:22 AM To: Cory Casanave; ontology@omg.org; adtf@omg.org Subject: RE: Multiple classifiers for an instance in MOF and RDF as defined in ODM > In ODM we have RDF and OWL defined as MOF meta models, the assumption being, of course, that you can have MOF instances of RDF graphs. ..... > So, can you actually represent RDF in MOF? If not, the ODM models are not valid . I hope I am wrong about this. Cory, ODM provides a way of representing RDF Schemas (also OWL Ontologies, Topic Maps etc) as instances of a MOF metamodel (ODM itself). RDF Schemas can also be represented in RDF, but also (in theory) in a number of other ways - as rows in a set of relational tables designed for the purpose, in Prolog etc. The point is that the ability to represent a model (in this case an RDF Schema) in a certain technology does not require the ability to also represent instances of that model in the same technology. A good example of this is the language used for representing DTDs - it cannot also be used to represent XML documents that are instances of the DTD. Also, consider a hypothetical UML metamodel without support for instance diagrams - it would support the majority of UML models but not be able to represent their instances. So MOF can be quite adequate for the needs of ODM - representing RDF Schemas - without requiring the ability to represent arbitrary RDF documents. Actually it is possible to represent RDF documents in MOF, though in a 'non-native' manner - indeed the ODM draft specification does just this - there is a MOF metaclass RDFSResource with a multivalued reference RDFType to RDFSClass. Whether it would be a good idea for MOF to support multiple classification of instances is a separate question. At the moment it does not (nothing to do with XMI): since the operation Reflection::Element::getMetaClass() is single valued. I'm personally inclined to agree with you, but that is a major change that would need a new RFP. Happy New Year to everyone Pete Pete Rivett (mailto:pete.rivett@adaptive.com) CTO, Adaptive Inc. Hello House, 135 Somerford Road, Christchurch, BH23 3PY, UK Tel: +44 (0)1202 491243 Fax: +44 (0)1202 491241 http://www.adaptive.com -------------------------------------------------------------------------------- From: Cory Casanave [mailto:cbc@enterprisecomponent.com] Sent: Wednesday, January 04, 2006 4:12 AM To: ontology@omg.org; adtf@omg.org Subject: Multiple classifiers for an instance in MOF and RDF as defined in ODM This is a question involving ODM as well as MOF XMI and Life-cycle. In ODM we have RDF and OWL defined as MOF meta models, the assumption being, of course, that you can have MOF instances of RDF graphs. But can you? In RDF & OWL an instance (at any M level) can have (and frequently does have) multiple types . it is classified by more than one class. While this is perfectly legal in UML and even in the MOF meta model, I don.t think the concept is supported in XMI or the current life-cycle. So, can you actually represent RDF in MOF? If not, the ODM models are not valid . I hope I am wrong about this. The ability for an instance to be classified by more than one class is a major advantage of RDF and of ontology languages, the C++ heritage in MOF of an instance statically being a member of a single class puts MOF at a disadvantage in relation to these other technologies. It makes it very difficult to represent different aspects of an instance, as can be seen from the package merge complexities - which would not have been required is we had multiple classification in MOF. If this is actually a semantic mis-match between MOF and ODM, is may make more sense to add the capability to MOF since the MOF meta model does not preclude this capability . it is only a restriction of the MOF-PSM (XMI). Date: Fri, 06 Jan 2006 17:21:06 -0500 From: Ed Barkmeyer Reply-To: edbark@nist.gov Organization: NIST User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax) X-Accept-Language: en, fr, de, pdf, it, nl, sv, es, ru To: Laurence Tratt CC: ontology@omg.org, adtf@omg.org Subject: Re: Multiple classifiers for an instance in MOF and RDF as defined in ODM Laurie's email sent me off on a thread I decided to burden you all with. Laurie Tratt wrote: The best possible (or, perhaps more accurately, least worst) scenario is for technologies where meta-classes are constraints determining what a valid instance is, bu