Book a Demo

Author Topic: XMI Import  (Read 4586 times)

brettonwoods

  • EA User
  • **
  • Posts: 22
  • Karma: +0/-0
    • View Profile
XMI Import
« on: October 11, 2004, 10:19:00 am »
Hi,

XMI files imported into EA that were generated by Poseidon CE loose a lot of information. Class diagrams loose all of the layout information, activity diagrams do better on layout but still miss a lot of detail. For example object flows are imported as activity flows and constraint information is lost. The lost information is in the Poseidon XMI file but is not making it to the UA model.

Is xmi import a work in progress?

Tom

KP

  • EA Administrator
  • EA Expert
  • *****
  • Posts: 2919
  • Karma: +55/-3
    • View Profile
Re: XMI Import
« Reply #1 on: October 11, 2004, 03:46:24 pm »
Quote
Is xmi import a work in progress?


Yes, we're currently giving the importation of Poseidon XMI a thorough overhaul trying to track down any information that we're not importing. If you have examples of anything that we're missing, could you drop me an e-mail at [email protected] and mark it for my attention please and I'll make sure it gets included.

Many thanks.

Neil
The Sparx Team
[email protected]

mcoletti

  • EA User
  • **
  • Posts: 45
  • Karma: +0/-0
    • View Profile
Re: XMI Import
« Reply #2 on: October 20, 2004, 09:08:09 am »
Hi,

I also have some problems in importing XMI.

I have an XMI file generated by a python tool (I am trying to reverse-engineer some python classes).
Looking at the file, everything seems ok, but after the (successful) import, all the classes methods appears under a single class, the last one. ("magic merge").

The problem disappears if the XMI file contains only one class.

Here is the XMI file:

<?xml version="1.0"  encoding="UTF-8"?>
<XMI xmi.version="1.0" timestamp="2004-10-20 17:04:16">
  <XMI.header>
     <XMI.documentation>
        <XMI.exporter>Enterprise Architect</XMI.exporter>

        <XMI.exporterVersion>3.1</XMI.exporterVersion>
     </XMI.documentation>

     <XMI.metamodel xmi.name="UML" xmi.version="1.3" />
  </XMI.header>

  <XMI.content>
     <Model_Management.Model xmi.id="MX_EAID_277CECBB_7D7B_40a7_B18F_5171CB984D2C">
        <Foundation.Core.ModelElement.name>EA Model</Foundation.Core.ModelElement.name>

        <Foundation.Core.ModelElement.visibility xmi.value="private" />

        <Foundation.Core.ModelElement.isSpecification xmi.value="false" />

        <Foundation.Core.GeneralizableElement.isRoot xmi.value="false" />

        <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false" />

        <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false" />

        <Foundation.Core.Namespace.ownedElement>

<Model_Management.Package xmi.id='000000ffb7164360000a00000000004d4905' xmi.uuid='000000ffb7164360000a00000000004d4905'>
<Foundation.Core.ModelElement.name>Extensions</Foundation.Core.ModelElement.name>
<Foundation.Core.Namespace.ownedElement>
<Model_Management.Package xmi.id='000000ffb7164360000a00000000004daa1a' xmi.uuid='000000ffb7164360000a00000000004daa1a'>
<Foundation.Core.ModelElement.name>Install</Foundation.Core.ModelElement.name>
<Foundation.Core.Namespace.ownedElement>
<Foundation.Core.Class xml.id='000000ffb716436f000a00000000004d68e9' xml.uuid='000000ffb716436f000a00000000004d68e9'>
<Foundation.Core.ModelElement.name>ModInstall</Foundation.Core.ModelElement.name>
<Foundation.Core.ModelElement.visibility xmi.value='public' />
<Foundation.Core.GeneralizableElement.isRoot xmi.value='false' />
<Foundation.Core.GeneralizableElement.isLeaf xmi.value='false' />
<Foundation.Core.GeneralizableElement.isAbstract xmi.value='false' />
<Foundation.Core.Class.isActive xmi.value='false' />
<Foundation.Core.ModelElement.taggedValue>
<Foundation.Extension_Mechanisms.TaggedValue xmi.id='000000ffb716437f000a00000000004d26cf'>
<Foundation.Core.ModelElement.name>documentation</Foundation.Core.ModelElement.name>
<Foundation.Extension_Mechanisms.TaggedValue.tag>documentation</Foundation.Extension_Mechanisms.TaggedValue.tag>
<Foundation.Extension_Mechanisms.TaggedValue.value>tbd</Foundation.Extension_Mechanisms.TaggedValue.value>
</Foundation.Extension_Mechanisms.TaggedValue>
</Foundation.Core.ModelElement.taggedValue>
<Foundation.Core.Classifier.feature>
<Foundation.Core.Operation xmi.id='000000ffb716436f000a00000000004dec8d'>
<Foundation.Core.ModelElement.name>install_tools</Foundation.Core.ModelElement.name>
<Foundation.Core.ModelElement.visibility xmi.value='public' />
<Foundation.Core.BehavioralFeature.parameter>
<Foundation.Core.Parameter xmi.id='000000ffb716436f000a00000000004d03ef' xmi.uuid='000000ffb716436f000a00000000004d03ef'>
<Foundation.Core.ModelElement.name>self</Foundation.Core.ModelElement.name>
</Foundation.Core.Parameter>
<Foundation.Core.Parameter xmi.id='000000ffb716436f000a00000000004d09d2' xmi.uuid='000000ffb716436f000a00000000004d09d2'>
<Foundation.Core.ModelElement.name>out</Foundation.Core.ModelElement.name>
</Foundation.Core.Parameter>
</Foundation.Core.BehavioralFeature.parameter>
</Foundation.Core.Operation>
<Foundation.Core.Operation xmi.id='000000ffb716436f000a00000000004d7365'>
<Foundation.Core.ModelElement.name>install_actions</Foundation.Core.ModelElement.name>
<Foundation.Core.ModelElement.visibility xmi.value='public' />
<Foundation.Core.BehavioralFeature.parameter>
<Foundation.Core.Parameter xmi.id='000000ffb716436f000a00000000004dfe0c' xmi.uuid='000000ffb716436f000a00000000004dfe0c'>
<Foundation.Core.ModelElement.name>self</Foundation.Core.ModelElement.name>
</Foundation.Core.Parameter>
<Foundation.Core.Parameter xmi.id='000000ffb716436f000a00000000004d8a51' xmi.uuid='000000ffb716436f000a00000000004d8a51'>
<Foundation.Core.ModelElement.name>out</Foundation.Core.ModelElement.name>
</Foundation.Core.Parameter>
</Foundation.Core.BehavioralFeature.parameter>
</Foundation.Core.Operation>
<Foundation.Core.Operation xmi.id='000000ffb716436f000a00000000004d9558'>
<Foundation.Core.ModelElement.name>install_subskin</Foundation.Core.ModelElement.name>
<Foundation.Core.ModelElement.visibility xmi.value='public' />
<Foundation.Core.BehavioralFeature.parameter>
<Foundation.Core.Parameter xmi.id='000000ffb716436f000a00000000004d388e' xmi.uuid='000000ffb716436f000a00000000004d388e'>
<Foundation.Core.ModelElement.name>self</Foundation.Core.ModelElement.name>
</Foundation.Core.Parameter>
<Foundation.Core.Parameter xmi.id='000000ffb716436f000a00000000004d9a39' xmi.uuid='000000ffb716436f000a00000000004d9a39'>
<Foundation.Core.ModelElement.name>out</Foundation.Core.ModelElement.name>
</Foundation.Core.Parameter>
<Foundation.Core.Parameter xmi.id='000000ffb716436f000a00000000004d5f0e' xmi.uuid='000000ffb716436f000a00000000004d5f0e'>
<Foundation.Core.ModelElement.name>skin_name</Foundation.Core.ModelElement.name>
<Foundation.Core.Parameter.defaultValue>
<Foundation.Data_Types.Expression>
<Foundation.Data_Types.Expression.body>SKIN_NAME</Foundation.Data_Types.Expression.body>
</Foundation.Data_Types.Expression>
</Foundation.Core.Parameter.defaultValue>
</Foundation.Core.Parameter>
<Foundation.Core.Parameter xmi.id='000000ffb716436f000a00000000004d012a' xmi.uuid='000000ffb716436f000a00000000004d012a'>
<Foundation.Core.ModelElement.name>globals</Foundation.Core.ModelElement.name>
<Foundation.Core.Parameter.defaultValue>
<Foundation.Data_Types.Expression>
<Foundation.Data_Types.Expression.body>my_globals</Foundation.Data_Types.Expression.body>
</Foundation.Data_Types.Expression>
</Foundation.Core.Parameter.defaultValue>
</Foundation.Core.Parameter>
</Foundation.Core.BehavioralFeature.parameter>
</Foundation.Core.Operation>
<Foundation.Core.Operation xmi.id='000000ffb716437f000a00000000004d96c2'>
<Foundation.Core.ModelElement.name>install</Foundation.Core.ModelElement.name>
<Foundation.Core.ModelElement.visibility xmi.value='public' />
<Foundation.Core.BehavioralFeature.parameter>
<Foundation.Core.Parameter xmi.id='000000ffb716437f000a00000000004dff4f' xmi.uuid='000000ffb716437f000a00000000004dff4f'>
<Foundation.Core.ModelElement.name>self</Foundation.Core.ModelElement.name>
</Foundation.Core.Parameter>
</Foundation.Core.BehavioralFeature.parameter>
</Foundation.Core.Operation>
</Foundation.Core.Classifier.feature>
<Foundation.Core.ModelElement.stereotype>
</Foundation.Core.ModelElement.stereotype>
</Foundation.Core.Class>
</Foundation.Core.Namespace.ownedElement>
</Model_Management.Package>
<Model_Management.Package xmi.id='000000ffb716437f000a00000000004d4b3a' xmi.uuid='000000ffb716437f000a00000000004d4b3a'>
<Foundation.Core.ModelElement.name>__init__</Foundation.Core.ModelElement.name>
<Foundation.Core.Namespace.ownedElement>
<Foundation.Core.Class xml.id='000000ffb716437f000a00000000004dea07' xml.uuid='000000ffb716437f000a00000000004dea07'>
<Foundation.Core.ModelElement.name>Mod__init__</Foundation.Core.ModelElement.name>
<Foundation.Core.ModelElement.visibility xmi.value='public' />
<Foundation.Core.GeneralizableElement.isRoot xmi.value='false' />
<Foundation.Core.GeneralizableElement.isLeaf xmi.value='false' />
<Foundation.Core.GeneralizableElement.isAbstract xmi.value='false' />
<Foundation.Core.Class.isActive xmi.value='false' />
<Foundation.Core.ModelElement.taggedValue>
<Foundation.Extension_Mechanisms.TaggedValue xmi.id='000000ffb716437f000a00000000004d469f'>
<Foundation.Core.ModelElement.name>documentation</Foundation.Core.ModelElement.name>
<Foundation.Extension_Mechanisms.TaggedValue.tag>documentation</Foundation.Extension_Mechanisms.TaggedValue.tag>
<Foundation.Extension_Mechanisms.TaggedValue.value>tbd</Foundation.Extension_Mechanisms.TaggedValue.value>
</Foundation.Extension_Mechanisms.TaggedValue>
</Foundation.Core.ModelElement.taggedValue>
<Foundation.Core.Classifier.feature>
</Foundation.Core.Classifier.feature>
<Foundation.Core.ModelElement.stereotype>
</Foundation.Core.ModelElement.stereotype>
</Foundation.Core.Class>
</Foundation.Core.Namespace.ownedElement>
</Model_Management.Package>
</Foundation.Core.Namespace.ownedElement>
</Model_Management.Package>

        </Foundation.Core.Namespace.ownedElement>
     </Model_Management.Model>
  </XMI.content>

</XMI>


« Last Edit: October 20, 2004, 09:09:49 am by mcoletti »

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
Re: XMI Import
« Reply #3 on: November 24, 2004, 07:00:15 pm »
Hi,

Have a look at http://www.sparxsystems.com.au/mdg_technologies.htm for Python reverse engineering support within EA. (Requires EA 4.5)

Simon