Issue 7647: Translation between EMOF and CMOF in MOF 2.0 (mu2i-ftf) Source: (, ) Nature: Uncategorized Issue Severity: Summary: I am reading the "Meta Object Facility (MOF) 2.0 Core Specification" document ptc/03-10-04. In the section about EMOF, there is the statement "The value of Essential MOF is that it provides a straightforward framework for mapping MOF models to implementations such as JMI and XMI for simple metamodels." From that statement, I inferred that the reason that EMOF exists is largely to define XMI 2.0 and (hypothetically) JMI 2.0. In particular, it seemed from reading the EMOF introduction that the XMI 2.0 and JMI 2.0 specifications would depend only on EMOF (and NOT depend on CMOF). However, when I read the XMI 2.0 spec., it specifically provides mappings for features in CMOF that aren't in EMOF, so implementing/understanding EMOF is not enough to implement/understand XMI 2.0. There is no JMI 2.0 specification yet, but it seems likely that the case would be the same as with XMI 2.0. Therefore, it is not clear to me what the purpose of EMOF is. When is using EMOF more appropriate than using CMOF? Are there any examples of complete EMOF models? In particular, does anybody have the EMOF model defined as an instance of itself, as an XMI document? I could only find the EMOF model defined as an instance of CMOF. And finally, is it possible to represent the (merged) CMOF model as an instance of the EMOF model (useful for bootstrapping)? Finally, is there a well-defined mapping between EMOF and CMOF? That is, how can I convert an instance of the EMOF model to an instance of the CMOF model, and vice versa? Resolution: Revised Text: Actions taken: August 13, 2004: received issue Discussion: End of Annotations:===== te: Fri, 13 Aug 2004 10:43:55 +0200 From: Martin Matula Subject: [Fwd: Translation between EMOF and CMOF in MOF 2.0] To: mu2i-ftf@omg.org X-Accept-Language: en-us, en User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1) Gecko/20031114 Anybody want's to reply? Return-path: Received: from conversion-daemon.bohemia2-mail1.czech.sun.com by bohemia2-mail1.czech.sun.com (iPlanet Messaging Server 5.2 HotFix 1.24 (built Dec 19 2003)) id <0I2900801WYLQ9@bohemia2-mail1.czech.sun.com> (original mail from owner-jmi-interest@JAVA.SUN.COM) for mm109185@bohemia2-mail1.Czech.Sun.COM; Wed, 11 Aug 2004 10:33:34 +0200 (CEST) Received: from sunpraha.Czech.Sun.COM (sunpraha [129.156.75.4]) by bohemia2-mail1.czech.sun.com (iPlanet Messaging Server 5.2 HotFix 1.24 (built Dec 19 2003)) with ESMTP id <0I290001YX3YXZ@bohemia2-mail1.czech.sun.com> for mm109185@bohemia2-mail1.Czech.Sun.COM (ORCPT martin.matula@SUN.COM); Wed, 11 Aug 2004 10:33:34 +0200 (CEST) Received: from sunmail3.sfbay.sun.com (sunmail3.SFBay.Sun.COM [129.149.247.180]) by sunpraha.Czech.Sun.COM (8.11.7p1+Sun/8.11.7/ENSMAIL,v2.2) with ESMTP id i7B8XXn08649 for ; Wed, 11 Aug 2004 10:33:33 +0200 (CEST) Received: from brmea-mail-2.sun.com (brmea-mail-2.Central.Sun.COM [129.147.5.43]) by sunmail3.sfbay.sun.com (8.11.7p1+Sun/8.11.7/ENSMAIL,v2.2) with ESMTP id i7B8VqV07805; Wed, 11 Aug 2004 01:33:08 -0700 (PDT) Received: from relay3.sun.com (relay3.sun.com [150.143.103.54] (may be forged)) by brmea-mail-2.sun.com (8.12.10/8.12.9) with ESMTP id i7B8Vot7000211; Wed, 11 Aug 2004 02:31:51 -0600 (MDT) Received: from mms05es.sun.com ([150.143.104.110] [150.143.104.110]) by relay3i.sun.com with ESMTP; Wed, 11 Aug 2004 08:31:50 +0000 (Z) Received: from mms03bas.mms.us.syntegra.com (mms03bas.mms.us.syntegra.com [150.143.103.50]) by mms06es.sun.com with ESMTP; Wed, 11 Aug 2004 08:31:49 +0000 (Z) Received: from swjscmail2.java.sun.com (swjscmail2.java.sun.com [192.18.99.108]) by relay3.sun.com with ESMTP; Wed, 11 Aug 2004 08:31:49 +0000 (Z) Received: from swjscmail1 (swjscmail1.Sun.COM [192.18.99.107]) by swjscmail2.java.sun.com (Postfix) with ESMTP id C7EEB2308A; Wed, 11 Aug 2004 02:25:12 -0600 (MDT) Received: from JAVA.SUN.COM by JAVA.SUN.COM (LISTSERV-TCP/IP release 1.8e) with spool id 37525229 for JMI-INTEREST@JAVA.SUN.COM; Wed, 11 Aug 2004 02:20:31 -0600 Received: from night.its.uiowa.edu (night.its.uiowa.edu [128.255.56.106]) by swjscmail1.java.sun.com (Postfix) with ESMTP id 0C8964868 for ; Wed, 11 Aug 2004 02:20:31 -0600 (MDT) Received: from [129.255.176.248] (host176-248.uihc.uiowa.edu [129.255.176.248]) by night.its.uiowa.edu (8.12.10/8.12.9/ns-mx-1.16) with ESMTP id i7B8VkSi017938 for ; Wed, 11 Aug 2004 03:31:47 -0500 Date: Wed, 11 Aug 2004 03:31:46 -0500 From: Brian Smith Subject: Translation between EMOF and CMOF in MOF 2.0 Sender: Discussion list for Java Metadata Interface To: JMI-INTEREST@JAVA.SUN.COM Reply-to: Discussion list for Java Metadata Interface Message-id: <4119D972.1040407@uiowa.edu> MIME-version: 1.0 Content-type: text/plain; charset=us-ascii; format=flowed Content-transfer-encoding: 7BIT X-Accept-Language: en-us, en Precedence: list Delivered-to: JMI-INTEREST@JAVA.SUN.COM User-Agent: Mozilla Thunderbird 0.7 (Windows/20040616) X-Original-To: JMI-INTEREST@JAVA.SUN.COM Original-recipient: rfc822;martin.matula@SUN.COM I am reading the "Meta Object Facility (MOF) 2.0 Core Specification" document ptc/03-10-04. In the section about EMOF, there is the statement "The value of Essential MOF is that it provides a straightforward framework for mapping MOF models to implementations such as JMI and XMI for simple metamodels." From that statement, I inferred that the reason that EMOF exists is largely to define XMI 2.0 and (hypothetically) JMI 2.0. In particular, it seemed from reading the EMOF introduction that the XMI 2.0 and JMI 2.0 specifications would depend only on EMOF (and NOT depend on CMOF). However, when I read the XMI 2.0 spec., it specifically provides mappings for features in CMOF that aren't in EMOF, so implementing/understanding EMOF is not enough to implement/understand XMI 2.0. There is no JMI 2.0 specification yet, but it seems likely that the case would be the same as with XMI 2.0. Therefore, it is not clear to me what the purpose of EMOF is. When is using EMOF more appropriate than using CMOF? Are there any examples of complete EMOF models? In particular, does anybody have the EMOF model defined as an instance of itself, as an XMI document? I could only find the EMOF model defined as an instance of CMOF. And finally, is it possible to represent the (merged) CMOF model as an instance of the EMOF model (useful for bootstrapping)? Finally, is there a well-defined mapping between EMOF and CMOF? That is, how can I convert an instance of the EMOF model to an instance of the CMOF model, and vice versa? Thanks, Brian Date: Tue, 24 Aug 2004 16:47:54 +0200 From: Martin Matula Subject: Re: issue 7647 -- MOF 2/UML Infrastructure FTF issue To: Jim Amsden Cc: Juergen Boldt , mu2i-ftf@omg.org X-Accept-Language: en-us, en User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1) Gecko/20031114 Jim, may I forward your reply to Brian Smith? He is the original sender of this issue (Jurgen just recorded it) and he is not an FTF member so he cannot read your reply... Thanks, Martin Jim Amsden wrote: Juergen, I will try to address your concerns below. Juergen Boldt wrote on 08/21/2004 07:19:52 PM: > This is issue # 7647 > > Translation between EMOF and CMOF in MOF 2.0 > > I am reading the "Meta Object Facility (MOF) 2.0 Core Specification" > document ptc/03-10-04. In the section about EMOF, there is the statement > "The value of Essential MOF is that it provides a straightforward > framework for mapping MOF models to > implementations such as JMI and XMI for simple metamodels." From that > statement, I inferred that the reason that EMOF exists is largely to > define XMI 2.0 and (hypothetically) JMI 2.0. In particular, it seemed > from reading the EMOF introduction that the XMI 2.0 and JMI 2.0 > specifications would depend only on EMOF (and NOT depend on CMOF). > > > However, when I read the XMI 2.0 spec., it specifically provides > mappings for features in CMOF that aren't in EMOF, so > implementing/understanding EMOF is not enough to implement/understand > XMI 2.0. There is no JMI 2.0 specification yet, but it seems likely that > the case would be the same as with XMI 2.0. Therefore, it is not clear > to me what the purpose of EMOF is. When is using EMOF more appropriate > than using CMOF? > The choice between EMOF and CMOF is the same as the choice one would make between UML compliance levels. It is often useful to pick the simplest metamodel/tool that does what you need because its often cheaper, simpler to use, and may have fewer problems (just becuase there are less things that can go wrong). EMOF has well-understood, well-practiced modeling concepts for capturing structural models. It is extremely simple, but very powerful. It was intended to provide facilities that are readily and efficiently implementable. > > Are there any examples of complete EMOF models? In particular, does > anybody have the EMOF model defined as an instance of itself, as an XMI > document? I could only find the EMOF model defined as an instance of > CMOF. And finally, is it possible to represent the (merged) CMOF model > as an instance of the EMOF model (useful for bootstrapping)? > See www.eclipse.org, the EMF project. It is IBM's implementation of EMOF. We use EMF for almost all our development tool models including Java, J2EE, XSD, WSDL, BPEL, relational schema, etc. Many other tool vendors use EMF as the foundation of their tools too. The EMOF model in the MOF2 spec is in EMOF, except for the package merges that are used to combine the MOF2 capabilities with InfrastructureLibrary Basic to produce EMOF. I have a merged implementation of EMOF that I use to create XMI documents for UML2. > > Finally, is there a well-defined mapping between EMOF and CMOF? That is, > how can I convert an instance of the EMOF model to an instance of the > CMOF model, and vice versa? > I have a mapping from CMOF to EMOF that is part of the XMI generation tools. It is not a complete mapping, but rather focuses on those parts of CMOF that are actually used in the UML2 spec. In general, a complete mapping is not possible without using Tags in the EMOF because there are modeling constructs such as constraints, redefinitions and associations (that have labels and/or multiplicity on non-navigable ends) that cannot be expressed in EMOF without extensions. > > > ================================= > Jürgen Boldt > Director, Member Services > > Object Management Group > 250 First Avenue, Suite 100 > Needham, MA 02494 > > Tel. +1 781 444 0404 ext. 132 > Fax: +1 781 444 0320 > email: juergen@omg.org > www www.omg.org > > ================================ > Subject: RE: issue 7647 -- MOF 2/UML Infrastructure FTF issue Date: Tue, 24 Aug 2004 13:54:44 -0400 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: issue 7647 -- MOF 2/UML Infrastructure FTF issue Thread-Index: AcSJ6tB0ZsY7u+9/TM2NUizLn1rnjQAFUs9g From: "Pete Rivett" To: "Martin Matula" , "Jim Amsden" Cc: "Juergen Boldt" , , "Brian Smith" X-Virus-Scanned: by amavisd-new at sentraliant.com X-MIME-Autoconverted: from quoted-printable to 8bit by amethyst.omg.org id i7OHw41U026525 Note that Jim's reply is not the formal resolution to the issue - which needs to be properly formulated and voted on by the task force. In particular a number of his points refer to work carried out by IBM and that is not part of the formal standard; and I'm not sure that EMF is a completely compliant implementation of EMOF. As a general rule, and as FTF chair, I'm happy to cc Brian on the discussion threads related to his issues - and also to forward on to the FTF any further responses he makes. Pete Rivett (mailto:pete.rivett@adaptive.com) Chief Scientist, Adaptive Inc. Dean Park House, 8-10 Dean Park Crescent, Bournemouth, BH1 1HL, UK Tel: +44 (0)1202 449419 Fax: +44 (0)1202 449448 http://www.adaptive.com > -----Original Message----- > From: Martin Matula [mailto:Martin.Matula@Sun.COM] > Sent: Tuesday, August 24, 2004 10:48 AM > To: Jim Amsden > Cc: Juergen Boldt; mu2i-ftf@omg.org > Subject: Re: issue 7647 -- MOF 2/UML Infrastructure FTF issue > > Jim, > may I forward your reply to Brian Smith? He is the original sender of > this issue (Jurgen just recorded it) and he is not an FTF > member so he > cannot read your reply... > Thanks, > Martin > > Jim Amsden wrote: > > > > > Juergen, > > I will try to address your concerns below. > > > > Juergen Boldt wrote on 08/21/2004 07:19:52 PM: > > > > > This is issue # 7647 > > > > > > Translation between EMOF and CMOF in MOF 2.0 > > > > > > I am reading the "Meta Object Facility (MOF) 2.0 Core > Specification" > > > document ptc/03-10-04. In the section about EMOF, there > is the statement > > > "The value of Essential MOF is that it provides a straightforward > > > framework for mapping MOF models to > > > implementations such as JMI and XMI for simple > metamodels." From that > > > statement, I inferred that the reason that EMOF exists is > largely to > > > define XMI 2.0 and (hypothetically) JMI 2.0. In > particular, it seemed > > > from reading the EMOF introduction that the XMI 2.0 and JMI 2.0 > > > specifications would depend only on EMOF (and NOT depend on CMOF). > > > > > > > > > However, when I read the XMI 2.0 spec., it specifically provides > > > mappings for features in CMOF that aren't in EMOF, so > > > implementing/understanding EMOF is not enough to > implement/understand > > > XMI 2.0. There is no JMI 2.0 specification yet, but it > seems likely that > > > the case would be the same as with XMI 2.0. Therefore, it > is not clear > > > to me what the purpose of EMOF is. When is using EMOF > more appropriate > > > than using CMOF? > > > > > The choice between EMOF and CMOF is the same as the choice > one would > > make between UML compliance levels. It is often useful to pick the > > simplest metamodel/tool that does what you need because its often > > cheaper, simpler to use, and may have fewer problems (just becuase > > there are less things that can go wrong). EMOF has well-understood, > > well-practiced modeling concepts for capturing structural > models. It > > is extremely simple, but very powerful. It was intended to provide > > facilities that are readily and efficiently implementable. > > > > > > > > Are there any examples of complete EMOF models? In > particular, does > > > anybody have the EMOF model defined as an instance of > itself, as an XMI > > > document? I could only find the EMOF model defined as an > instance of > > > CMOF. And finally, is it possible to represent the > (merged) CMOF model > > > as an instance of the EMOF model (useful for bootstrapping)? > > > > > See www.eclipse.org, the EMF project. It is IBM's implementation of > > EMOF. We use EMF for almost all our development tool models > including > > Java, J2EE, XSD, WSDL, BPEL, relational schema, etc. Many > other tool > > vendors use EMF as the foundation of their tools too. > > > > The EMOF model in the MOF2 spec is in EMOF, except for the package > > merges that are used to combine the MOF2 capabilities with > > InfrastructureLibrary Basic to produce EMOF. I have a merged > > implementation of EMOF that I use to create XMI documents for UML2. > > > > > > > > Finally, is there a well-defined mapping between EMOF and > CMOF? That is, > > > how can I convert an instance of the EMOF model to an > instance of the > > > CMOF model, and vice versa? > > > > > I have a mapping from CMOF to EMOF that is part of the XMI > generation > > tools. It is not a complete mapping, but rather focuses on > those parts > > of CMOF that are actually used in the UML2 spec. In general, a > > complete mapping is not possible without using Tags in the EMOF > > because there are modeling constructs such as constraints, > > redefinitions and associations (that have labels and/or > multiplicity > > on non-navigable ends) that cannot be expressed in EMOF without > > extensions. > > > > > > > > > ================================= > > > Jürgen Boldt > > > Director, Member Services > > > > > > Object Management Group > > > 250 First Avenue, Suite 100 > > > Needham, MA 02494 > > > > > > Tel. +1 781 444 0404 ext. 132 > > > Fax: +1 781 444 0320 > > > email: juergen@omg.org > > > www www.omg.org > > > > > > ================================ > > > > > >