Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » Incomplete EMF conversion to UML2 MModel
icon5.gif  Incomplete EMF conversion to UML2 MModel [message #551983] Tue, 10 August 2010 12:12 Go to next message
Cedric Gava is currently offline Cedric GavaFriend
Messages: 53
Registered: July 2009
Member
Hello

My final Goal is to use state-machine model exported from a tool called BouML in M2M transformations, but my question here is about EMF converter.

The model, as quoted below, is compliant with http://schema.omg.org/spec/UML/2.1, which is not registered in my EMF models registry. When I open the file with "UML model editor", it succeeds in viewing this model correctly.

So, I try to convert it to EMF, that create an .uml file, compliant with http://www.eclipse.org/uml2/3.0.0/UML...
that seemed to be correct, the file has been detected to be a UML2 model.

But I only see the packages, the <State Machine> node, and it's children are not present. Why ?
Is there a way to setup the conversion so it succeed ?
Why the URI is ULM2/3.0.0 whereas the original was UML2/2.1.0 ?

Thenk you for your help
Regards

PS : As it seems the EMFT forums is quite inactive, I've posted my topic here. Please tell me If I shall post it on another newsgroup

<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="2.1" xmlns:uml="http://schema.omg.org/spec/UML/2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1">
	<!-- <xmi:Documentation exporter="Bouml" exporterVersion="1.12.1"/> -->
	<uml:Model xmi:type="uml:Model" xmi:id="themodel" name="Bouml_SGDMA">
		<packagedElement xmi:type="uml:Package" xmi:id="BOUML_0x81_22" name ="Bouml_SGDMA">
			<packagedElement xmi:type="uml:Package" xmi:id="BOUML_0x44402_22" name ="SGDMA">
				<packagedElement xmi:type="uml:StateMachine" xmi:id="BOUML_0x1f402_23" name="DescriptorProcessing">
					<region xmi:type="uml:Region" xmi:id="BOUML_IMPLICIT_REGION_0x1f402_23" name="Bouml_Implicit_Region">
						<subvertex xmi:type="uml:Pseudostate" xmi:id="BOUML_0x1f402_28" kind="initial">
						</subvertex>
						<subvertex xmi:type="uml:State" xmi:id="BOUML_0x20d82_23" name="run">
							<region xmi:type="uml:Region" xmi:id="BOUML_IMPLICIT_REGION_0x20d82_23" name="Bouml_Implicit_Region">
								<subvertex xmi:type="uml:State" xmi:id="BOUML_0x20e02_23" name="descriptorRead">
									<incoming xmi:idref="BOUML_0x22802_24"/>
									<incoming xmi:idref="BOUML_0x20e02_24"/>
									<region xmi:type="uml:Region" xmi:id="BOUML_IMPLICIT_REGION_0x20e02_23" name="Bouml_Implicit_Region">
										<outgoing xmi:idref="BOUML_0x22882_24"/>
									</region>
								</subvertex>
								<subvertex xmi:type="uml:State" xmi:id="BOUML_0x20f02_23" name="dataTransfer">
									<incoming xmi:idref="BOUML_0x22882_24"/>
									<region xmi:type="uml:Region" xmi:id="BOUML_IMPLICIT_REGION_0x20f02_23" name="Bouml_Implicit_Region">
										<outgoing xmi:idref="BOUML_0x22902_24"/>
									</region>
								</subvertex>
								<subvertex xmi:type="uml:State" xmi:id="BOUML_0x22982_23" name="descriptorUpdate">
									<incoming xmi:idref="BOUML_0x22902_24"/>
									<region xmi:type="uml:Region" xmi:id="BOUML_IMPLICIT_REGION_0x22982_23" name="Bouml_Implicit_Region">
										<outgoing xmi:idref="BOUML_0x22982_24"/>
									</region>
								</subvertex>
								<subvertex xmi:type="uml:Pseudostate" xmi:id="BOUML_0x22702_36" kind="choice">
									<incoming xmi:idref="BOUML_0x22982_24"/>
									<outgoing xmi:idref="BOUML_0x22802_24"/>
									<outgoing xmi:idref="BOUML_0x22b02_24"/>
								</subvertex>
								<outgoing xmi:idref="BOUML_0x22a02_24"/>
							</region>
							<transition xmi:type="uml:Transition" xmi:id="BOUML_0x22882_24" source="BOUML_0x20e02_23" target="BOUML_0x20f02_23">
							</transition>
							<transition xmi:type="uml:Transition" xmi:id="BOUML_0x22902_24" source="BOUML_0x20f02_23" target="BOUML_0x22982_23">
							</transition>
							<transition xmi:type="uml:Transition" xmi:id="BOUML_0x22982_24" source="BOUML_0x22982_23" target="BOUML_0x22702_36">
							</transition>
							<transition xmi:type="uml:Transition" xmi:id="BOUML_0x22802_24" source="BOUML_0x22702_36" target="BOUML_0x20e02_23">
								<guard xmi:type="uml:Constraint" xmi:id="BOUML_GUARD_0x22802_24">
									<specification xmi:type="uml:OpaqueExpression" xmi:id="BOUML_GUARD_EXPR_0x22802_24">
										<body>else</body>
									</specification>
								</guard>
							</transition>
							<transition xmi:type="uml:Transition" xmi:id="BOUML_0x22b02_24" source="BOUML_0x22702_36" target="BOUML_0x20e82_23">
								<guard xmi:type="uml:Constraint" xmi:id="BOUML_GUARD_0x22b02_24">
									<specification xmi:type="uml:OpaqueExpression" xmi:id="BOUML_GUARD_EXPR_0x22b02_24">
										<body>OWNED_BY_HW bit = 0</body>
									</specification>
								</guard>
							</transition>
						</subvertex>
						<subvertex xmi:type="uml:Pseudostate" xmi:id="BOUML_0x20d82_29" name="active entry" kind="entryPoint">
							<outgoing xmi:idref="BOUML_0x20d82_24"/>
						</subvertex>
						<subvertex xmi:type="uml:State" xmi:id="BOUML_0x20e82_23" name="off">
							<incoming xmi:idref="BOUML_0x22b02_24"/>
							<incoming xmi:idref="BOUML_0x20d82_24"/>
							<incoming xmi:idref="BOUML_0x22a82_24"/>
							<region xmi:type="uml:Region" xmi:id="BOUML_IMPLICIT_REGION_0x20e82_23" name="Bouml_Implicit_Region">
								<outgoing xmi:idref="BOUML_0x20e02_24"/>
							</region>
						</subvertex>
						<subvertex xmi:type="uml:State" xmi:id="BOUML_0x22a02_23" name="signalError">
							<incoming xmi:idref="BOUML_0x22a02_24"/>
							<region xmi:type="uml:Region" xmi:id="BOUML_IMPLICIT_REGION_0x22a02_23" name="Bouml_Implicit_Region">
								<outgoing xmi:idref="BOUML_0x22a82_24"/>
							</region>
						</subvertex>
					</region>
					<transition xmi:type="uml:Transition" xmi:id="BOUML_0x22a02_24" source="BOUML_0x20d82_23" target="BOUML_0x22a02_23">
						<trigger xmi:type="uml:Trigger" xmi:id="BOUML_TRIGGER_0x22a02_24" name="Error"/>
						<guard xmi:type="uml:Constraint" xmi:id="BOUML_GUARD_0x22a02_24">
							<specification xmi:type="uml:OpaqueExpression" xmi:id="BOUML_GUARD_EXPR_0x22a02_24">
								<body>STOP_DMA_ER = 1</body>
							</specification>
						</guard>
					</transition>
					<transition xmi:type="uml:Transition" xmi:id="BOUML_0x20d82_24" source="BOUML_0x20d82_29" target="BOUML_0x20e82_23">
					</transition>
					<transition xmi:type="uml:Transition" xmi:id="BOUML_0x20e02_24" source="BOUML_0x20e82_23" target="BOUML_0x20e02_23">
						<guard xmi:type="uml:Constraint" xmi:id="BOUML_GUARD_0x20e02_24">
							<specification xmi:type="uml:OpaqueExpression" xmi:id="BOUML_GUARD_EXPR_0x20e02_24">
								<body>RUN bit = true</body>
							</specification>
						</guard>
					</transition>
					<transition xmi:type="uml:Transition" xmi:id="BOUML_0x22a82_24" source="BOUML_0x22a02_23" target="BOUML_0x20e82_23">
					</transition>
				</packagedElement>
			</packagedElement>
		</packagedElement>
	</uml:Model>
</xmi:XMI>


sooo lonely friends of eclipse on forum
http://www.eclipse.org/donate/images/friendslogo160.jpg
Re: Incomplete EMF conversion to UML2 MModel [message #552024 is a reply to message #551983] Tue, 10 August 2010 14:08 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33137
Registered: July 2009
Senior Member
Cedric,



Cedric Gava wrote:
> Hello
>
> My final Goal is to use state-machine model exported from a tool
> called BouML in M2M transformations, but my question here is about EMF
> converter.
>
> The model, as quoted below, is compliant with
> http://schema.omg.org/spec/UML/2.1, which is not registered in my EMF
> models registry. When I open the file with "UML model editor", it
> succeeds in viewing this model correctly.
>
> So, I try to convert it to EMF, that create an .uml file, compliant
> with http://www.eclipse.org/uml2/3.0.0/UML.. that seemed to be
> correct, the file has been detected to be a UML2 model.
>
> But I only see the packages, the <State Machine> node, and it's
> children are not present. Why ?
I'm pretty sure only the class hierarchy is converted.
> Is there a way to setup the conversion so it succeed ?
> Why the URI is ULM2/3.0.0 whereas the original was UML2/2.1.0 ?
These are UML2 questions better asked on the UML2 newsgroup. As I
understand it, the UML specification at the OMG evolves, sometimes in
API breaking ways. At that point the UML2 implementation must adapt its
serialization and increment main version numbers according to Eclipse's
versioning guidelines.
>
> Thenk you for your help
> Regards
>
> PS : As it seems the EMFT forums is quite inactive, I've posted my
> topic here.
I don't see your posting there.
> Please tell me If I shall post it on another newsgroup
UML2 has a specialized newsgroup.
news://new.eclipse.org/eclipse.modeling.mdt.uml2
>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xmi:XMI xmi:version="2.1"
> xmlns:uml="http://schema.omg.org/spec/UML/2.1"
> xmlns:xmi="http://schema.omg.org/spec/XMI/2.1">
> <!-- <xmi:Documentation exporter="Bouml"
> exporterVersion="1.12.1"/> -->
> <uml:Model xmi:type="uml:Model" xmi:id="themodel" name="Bouml_SGDMA">
> <packagedElement xmi:type="uml:Package" xmi:id="BOUML_0x81_22"
> name ="Bouml_SGDMA">
> <packagedElement xmi:type="uml:Package"
> xmi:id="BOUML_0x44402_22" name ="SGDMA">
> <packagedElement xmi:type="uml:StateMachine"
> xmi:id="BOUML_0x1f402_23" name="DescriptorProcessing">
> <region xmi:type="uml:Region"
> xmi:id="BOUML_IMPLICIT_REGION_0x1f402_23" name="Bouml_Implicit_Region">
> <subvertex xmi:type="uml:Pseudostate"
> xmi:id="BOUML_0x1f402_28" kind="initial">
> </subvertex>
> <subvertex xmi:type="uml:State"
> xmi:id="BOUML_0x20d82_23" name="run">
> <region xmi:type="uml:Region"
> xmi:id="BOUML_IMPLICIT_REGION_0x20d82_23" name="Bouml_Implicit_Region">
> <subvertex xmi:type="uml:State"
> xmi:id="BOUML_0x20e02_23" name="descriptorRead">
> <incoming
> xmi:idref="BOUML_0x22802_24"/>
> <incoming
> xmi:idref="BOUML_0x20e02_24"/>
> <region xmi:type="uml:Region"
> xmi:id="BOUML_IMPLICIT_REGION_0x20e02_23" name="Bouml_Implicit_Region">
> <outgoing
> xmi:idref="BOUML_0x22882_24"/>
> </region>
> </subvertex>
> <subvertex xmi:type="uml:State"
> xmi:id="BOUML_0x20f02_23" name="dataTransfer">
> <incoming
> xmi:idref="BOUML_0x22882_24"/>
> <region xmi:type="uml:Region"
> xmi:id="BOUML_IMPLICIT_REGION_0x20f02_23" name="Bouml_Implicit_Region">
> <outgoing
> xmi:idref="BOUML_0x22902_24"/>
> </region>
> </subvertex>
> <subvertex xmi:type="uml:State"
> xmi:id="BOUML_0x22982_23" name="descriptorUpdate">
> <incoming
> xmi:idref="BOUML_0x22902_24"/>
> <region xmi:type="uml:Region"
> xmi:id="BOUML_IMPLICIT_REGION_0x22982_23" name="Bouml_Implicit_Region">
> <outgoing
> xmi:idref="BOUML_0x22982_24"/>
> </region>
> </subvertex>
> <subvertex xmi:type="uml:Pseudostate"
> xmi:id="BOUML_0x22702_36" kind="choice">
> <incoming
> xmi:idref="BOUML_0x22982_24"/>
> <outgoing
> xmi:idref="BOUML_0x22802_24"/>
> <outgoing
> xmi:idref="BOUML_0x22b02_24"/>
> </subvertex>
> <outgoing xmi:idref="BOUML_0x22a02_24"/>
> </region>
> <transition xmi:type="uml:Transition"
> xmi:id="BOUML_0x22882_24" source="BOUML_0x20e02_23"
> target="BOUML_0x20f02_23">
> </transition>
> <transition xmi:type="uml:Transition"
> xmi:id="BOUML_0x22902_24" source="BOUML_0x20f02_23"
> target="BOUML_0x22982_23">
> </transition>
> <transition xmi:type="uml:Transition"
> xmi:id="BOUML_0x22982_24" source="BOUML_0x22982_23"
> target="BOUML_0x22702_36">
> </transition>
> <transition xmi:type="uml:Transition"
> xmi:id="BOUML_0x22802_24" source="BOUML_0x22702_36"
> target="BOUML_0x20e02_23">
> <guard xmi:type="uml:Constraint"
> xmi:id="BOUML_GUARD_0x22802_24">
> <specification
> xmi:type="uml:OpaqueExpression" xmi:id="BOUML_GUARD_EXPR_0x22802_24">
> <body>else</body>
> </specification>
> </guard>
> </transition>
> <transition xmi:type="uml:Transition"
> xmi:id="BOUML_0x22b02_24" source="BOUML_0x22702_36"
> target="BOUML_0x20e82_23">
> <guard xmi:type="uml:Constraint"
> xmi:id="BOUML_GUARD_0x22b02_24">
> <specification
> xmi:type="uml:OpaqueExpression" xmi:id="BOUML_GUARD_EXPR_0x22b02_24">
> <body>OWNED_BY_HW bit = 0</body>
> </specification>
> </guard>
> </transition>
> </subvertex>
> <subvertex xmi:type="uml:Pseudostate"
> xmi:id="BOUML_0x20d82_29" name="active entry" kind="entryPoint">
> <outgoing xmi:idref="BOUML_0x20d82_24"/>
> </subvertex>
> <subvertex xmi:type="uml:State"
> xmi:id="BOUML_0x20e82_23" name="off">
> <incoming xmi:idref="BOUML_0x22b02_24"/>
> <incoming xmi:idref="BOUML_0x20d82_24"/>
> <incoming xmi:idref="BOUML_0x22a82_24"/>
> <region xmi:type="uml:Region"
> xmi:id="BOUML_IMPLICIT_REGION_0x20e82_23" name="Bouml_Implicit_Region">
> <outgoing xmi:idref="BOUML_0x20e02_24"/>
> </region>
> </subvertex>
> <subvertex xmi:type="uml:State"
> xmi:id="BOUML_0x22a02_23" name="signalError">
> <incoming xmi:idref="BOUML_0x22a02_24"/>
> <region xmi:type="uml:Region"
> xmi:id="BOUML_IMPLICIT_REGION_0x22a02_23" name="Bouml_Implicit_Region">
> <outgoing xmi:idref="BOUML_0x22a82_24"/>
> </region>
> </subvertex>
> </region>
> <transition xmi:type="uml:Transition"
> xmi:id="BOUML_0x22a02_24" source="BOUML_0x20d82_23"
> target="BOUML_0x22a02_23">
> <trigger xmi:type="uml:Trigger"
> xmi:id="BOUML_TRIGGER_0x22a02_24" name="Error"/>
> <guard xmi:type="uml:Constraint"
> xmi:id="BOUML_GUARD_0x22a02_24">
> <specification
> xmi:type="uml:OpaqueExpression" xmi:id="BOUML_GUARD_EXPR_0x22a02_24">
> <body>STOP_DMA_ER = 1</body>
> </specification>
> </guard>
> </transition>
> <transition xmi:type="uml:Transition"
> xmi:id="BOUML_0x20d82_24" source="BOUML_0x20d82_29"
> target="BOUML_0x20e82_23">
> </transition>
> <transition xmi:type="uml:Transition"
> xmi:id="BOUML_0x20e02_24" source="BOUML_0x20e82_23"
> target="BOUML_0x20e02_23">
> <guard xmi:type="uml:Constraint"
> xmi:id="BOUML_GUARD_0x20e02_24">
> <specification
> xmi:type="uml:OpaqueExpression" xmi:id="BOUML_GUARD_EXPR_0x20e02_24">
> <body>RUN bit = true</body>
> </specification>
> </guard>
> </transition>
> <transition xmi:type="uml:Transition"
> xmi:id="BOUML_0x22a82_24" source="BOUML_0x22a02_23"
> target="BOUML_0x20e82_23">
> </transition>
> </packagedElement>
> </packagedElement>
> </packagedElement>
> </uml:Model>
> </xmi:XMI>
>


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: Incomplete EMF conversion to UML2 MModel [message #552026 is a reply to message #552024] Tue, 10 August 2010 14:47 Go to previous messageGo to next message
Cedric Gava is currently offline Cedric GavaFriend
Messages: 53
Registered: July 2009
Member
Thank you for your answer.

I've posted the question on UML2 about why It can actually reads correctly the model file, without any EMF conversion.

Is EMF converter part of UML2 project or EMF Project ?


sooo lonely friends of eclipse on forum
http://www.eclipse.org/donate/images/friendslogo160.jpg
Re: Incomplete EMF conversion to UML2 MModel [message #552061 is a reply to message #552026] Tue, 10 August 2010 16:19 Go to previous message
Ed Merks is currently offline Ed MerksFriend
Messages: 33137
Registered: July 2009
Senior Member
Cedric,

The UML2 to Ecore converter is provided by the UML project as are any
resource implementations used to read the various flavors and formats of
UML serialization.


Cedric Gava wrote:
> Thank you for your answer.
>
> I've posted the question on UML2 about why It can actually reads
> correctly the model file, without any EMF conversion.
>
> Is EMF converter part of UML2 project or EMF Project ?
>


Ed Merks
Professional Support: https://www.macromodeling.com/
Previous Topic:multiple files for XSD emf models
Next Topic:EMF Serialization/Loading question
Goto Forum:
  


Current Time: Fri Apr 19 08:16:57 GMT 2024

Powered by FUDForum. Page generated in 0.01964 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top