Migrating repository from SPARX tool to Essential backend

Post Reply
manikvijay
Posts: 20
Joined: 04 Apr 2011, 18:19

Hi,

I believe somebody might have been asked this before so apologize if i am asking it again.

Did anybody have tried migrating the repository from SPARX EA tool to Essential repository?

How hard it is? And is there any guidance on achieving it?

Thanks!
User avatar
jonathan.carter
Posts: 1087
Joined: 04 Feb 2009, 15:44

You can import content from Sparx by exporting the content that you wish to use in Essential using the XMI format.

It's worth scoping the export to the content that you need to use in Essential.

The Essential Integration tab is designed to import XML but you will need to define a transform stylesheet to perform the import.

You have 2 alternatives here:

1 - Transform the XMI to the Essential XML repository format and the use 'importEssentialInstances.xsl' transform that is supplied with the Integration Tab.

2 - Define your own transform to import your source XMI.

This article provides a technical overview of what is involved in defining a transform.

Whichever approach you take, the first thing you must do is create a semantic mapping between your source and the Essential Meta Model. We cannot map UML classes directly to Essential Meta Classes without understanding the semantics of the source UML models in Sparx.
For example, in the past we have used UML stereotypes for the Essential Meta Classes in UML tools. We can then use the stereotypes to guide us in creating the semantic mapping.

If your source models have consistent semantics, then having defined the mapping you can use this transform to import any content from your Sparx repository.

I hope that this helps and is not too abstract a description of what's involved. We would be happy to help with specific issues that you might encounter, e.g. in defining the semantic mapping or in defining the transforms.

Jonathan
Essential Project Team
manikvijay
Posts: 20
Joined: 04 Apr 2011, 18:19

Hi Jonathan,

Now i am currently in a position to migrate our data from SPARX tool to Essential Meta Model.

I am not sure which way would be quicker and easier either creating my own transform or convert the XMI to essential XML. Please let me know the best approach.

However i also need help in defining my semantic mapping.
User avatar
jonathan.carter
Posts: 1087
Joined: 04 Feb 2009, 15:44

I think the decision on which approach to take depends on what's in your SPARX model (e.g. how complex is it?) and the nature of the XMI.

Let me know what sort of content you've got in your SPARX model - in particular what sorts of relationships are defined between elements.

It may well be worth looking at transforming the XMI directly to the Essential XML but if things are complex - e.g. lots of references between elements that need to be defined - then it's more often easier to define an Essential integration transform for the specific XMI.

Perhaps you could post a clip of the XMI?

Jonathan
Essential Project Team
manikvijay
Posts: 20
Joined: 04 Apr 2011, 18:19

Here you go

This is just a sample (original is more than 1000 classes), it is completely based out of UML Class diagram and there are dependencies defined between classes, other than that there is not much info in here.



<?xml version="1.0" encoding="windows-1252"?>
<XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2011-07-14 13:27:47">
<XMI.header>
<XMI.documentation>
<XMI.exporter>Enterprise Architect</XMI.exporter>
<XMI.exporterVersion>2.5</XMI.exporterVersion>
</XMI.documentation>
</XMI.header>
<XMI.content>
<UML:Model name="EA Model" xmi.id="MX_EAID_92E55567_129C_49a1_B733_702202FF996A">
<UML:Namespace.ownedElement>
<UML:Class name="EARootClass" xmi.id="EAID_11111111_5487_4080_A7F4_41526CB0AA00" isRoot="true" isLeaf="false" isAbstract="false"/>
<UML:Package name="Allegiance" xmi.id="EAPK_92E55567_129C_49a1_B733_702202FF996A" isRoot="false" isLeaf="false" isAbstract="false" visibility="public">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="parent" value="EAPK_8ABD958E_A47F_4a9e_8232_FBBBB45719D7"/>
<UML:TaggedValue tag="created" value="2011-04-27 12:33:07"/>
<UML:TaggedValue tag="modified" value="2011-04-27 12:33:07"/>
<UML:TaggedValue tag="iscontrolled" value="0"/>
<UML:TaggedValue tag="version" value="1.0"/>
<UML:TaggedValue tag="isprotected" value="0"/>
<UML:TaggedValue tag="usedtd" value="0"/>
<UML:TaggedValue tag="logxml" value="0"/>
<UML:TaggedValue tag="packageFlags" value="CRC=0;"/>
<UML:TaggedValue tag="phase" value="1.0"/>
<UML:TaggedValue tag="status" value="Proposed"/>
<UML:TaggedValue tag="author" value="MNatarajan"/>
<UML:TaggedValue tag="complexity" value="1"/>
<UML:TaggedValue tag="ea_stype" value="Public"/>
<UML:TaggedValue tag="tpos" value="0"/>
<UML:TaggedValue tag="gentype" value="Java"/>
</UML:ModelElement.taggedValue>
<UML:Namespace.ownedElement>
<UML:Class name="Market Metrics Interface" xmi.id="EAID_40B3FD04_6378_45a0_84F9_CD334E9B82DA" visibility="public" namespace="EAPK_92E55567_129C_49a1_B733_702202FF996A" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="isSpecification" value="false"/>
<UML:TaggedValue tag="ea_stype" value="Class"/>
<UML:TaggedValue tag="ea_ntype" value="0"/>
<UML:TaggedValue tag="version" value="1.0"/>
<UML:TaggedValue tag="package" value="EAPK_92E55567_129C_49a1_B733_702202FF996A"/>
<UML:TaggedValue tag="date_created" value="2011-04-27 12:39:29"/>
<UML:TaggedValue tag="date_modified" value="2011-04-27 12:39:29"/>
<UML:TaggedValue tag="gentype" value="Java"/>
<UML:TaggedValue tag="tagged" value="0"/>
<UML:TaggedValue tag="package_name" value="Allegiance"/>
<UML:TaggedValue tag="phase" value="1.0"/>
<UML:TaggedValue tag="author" value="MNatarajan"/>
<UML:TaggedValue tag="complexity" value="1"/>
<UML:TaggedValue tag="status" value="Proposed"/>
<UML:TaggedValue tag="tpos" value="0"/>
<UML:TaggedValue tag="ea_localid" value="8222"/>
<UML:TaggedValue tag="ea_eleType" value="element"/>
<UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=1;HSwimLanes=1;BorderStyle=0;"/>
</UML:ModelElement.taggedValue>
</UML:Class>
<UML:Association xmi.id="EAID_07A6872D_F9B7_43a6_9DDA_91B29BDFDC1C" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="style" value="3"/>
<UML:TaggedValue tag="ea_type" value="Association"/>
<UML:TaggedValue tag="direction" value="Unspecified"/>
<UML:TaggedValue tag="linemode" value="3"/>
<UML:TaggedValue tag="linecolor" value="-1"/>
<UML:TaggedValue tag="linewidth" value="0"/>
<UML:TaggedValue tag="seqno" value="0"/>
<UML:TaggedValue tag="headStyle" value="0"/>
<UML:TaggedValue tag="lineStyle" value="0"/>
<UML:TaggedValue tag="ea_localid" value="4446"/>
<UML:TaggedValue tag="ea_sourceName" value="Market Metrics"/>
<UML:TaggedValue tag="ea_targetName" value="Market Metrics Interface"/>
<UML:TaggedValue tag="ea_sourceType" value="Class"/>
<UML:TaggedValue tag="ea_targetType" value="Class"/>
<UML:TaggedValue tag="ea_sourceID" value="2336"/>
<UML:TaggedValue tag="ea_targetID" value="8222"/>
<UML:TaggedValue tag="virtualInheritance" value="0"/>
</UML:ModelElement.taggedValue>
</UML:ModelElement.taggedValue>
</UML:AssociationEnd>
</UML:Association.connection>
</UML:Association>
<UML:Association xmi.id="EAID_130C8BCB_5721_4b7a_BCB2_32DE81811625" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="style" value="3"/>
<UML:TaggedValue tag="ea_type" value="Association"/>
<UML:TaggedValue tag="direction" value="Unspecified"/>
<UML:TaggedValue tag="linemode" value="3"/>
<UML:TaggedValue tag="linecolor" value="-1"/>
<UML:TaggedValue tag="linewidth" value="0"/>
<UML:TaggedValue tag="seqno" value="0"/>
<UML:TaggedValue tag="headStyle" value="0"/>
<UML:TaggedValue tag="lineStyle" value="0"/>
<UML:TaggedValue tag="ea_localid" value="4475"/>
<UML:TaggedValue tag="ea_sourceName" value="FTP"/>
<UML:TaggedValue tag="ea_targetName" value="NPS Database (P37)"/>
<UML:TaggedValue tag="ea_sourceType" value="Class"/>
<UML:TaggedValue tag="ea_targetType" value="Class"/>
<UML:TaggedValue tag="ea_sourceID" value="8225"/>
<UML:TaggedValue tag="ea_targetID" value="7939"/>
<UML:TaggedValue tag="virtualInheritance" value="0"/>
</UML:ModelElement.taggedValue>
<UML:Association.connection>
<UML:AssociationEnd visibility="public" aggregation="none" isOrdered="false" targetScope="instance" changeable="none" isNavigable="true" type="EAID_6756609C_1EEB_4865_AD5B_CF077D5195AA">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="containment" value="Unspecified"/>
<UML:TaggedValue tag="sourcestyle" value="Union=0;Derived=0;AllowDuplicates=0;Owned=0;Navigable=Unspecified;"/>
<UML:TaggedValue tag="ea_end" value="source"/>
</UML:ModelElement.taggedValue>
</UML:AssociationEnd>
<UML:AssociationEnd visibility="public" aggregation="none" isOrdered="false" targetScope="instance" changeable="none" isNavigable="true" type="EAID_8870D5F4_47F2_4b99_80A0_E067FB1402EC">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="containment" value="Unspecified"/>
<UML:TaggedValue tag="deststyle" value="Union=0;Derived=0;AllowDuplicates=0;Owned=0;Navigable=Unspecified;"/>
<UML:TaggedValue tag="ea_end" value="target"/>
</UML:ModelElement.taggedValue>
</UML:AssociationEnd>
</UML:Association.connection>
</UML:Association>
<UML:Association xmi.id="EAID_D3780AFD_BDB5_4faf_A351_3548F2995476" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="style" value="3"/>
<UML:TaggedValue tag="ea_type" value="Association"/>
<UML:TaggedValue tag="direction" value="Unspecified"/>
<UML:TaggedValue tag="linemode" value="3"/>
<UML:TaggedValue tag="linecolor" value="-1"/>
<UML:TaggedValue tag="linewidth" value="0"/>
<UML:TaggedValue tag="seqno" value="0"/>
<UML:TaggedValue tag="headStyle" value="0"/>
<UML:TaggedValue tag="lineStyle" value="0"/>
<UML:TaggedValue tag="ea_localid" value="4474"/>
<UML:TaggedValue tag="ea_sourceName" value="CSS Data Warehouse"/>
<UML:TaggedValue tag="ea_targetName" value="FTP"/>
aggregation="none" isOrdered="false" targetScope="instance" changeable="none" isNavigable="true" type="EAID_867757C9_FFC9_40bc_AC8A_BF1EA575B709">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="containment" value="Unspecified"/>
<UML:TaggedValue tag="sourcestyle" value="Union=0;Derived=0;AllowDuplicates=0;Owned=0;Navigable=Unspecified;"/>
<UML:TaggedValue tag="ea_end" value="source"/>
</UML:ModelElement.taggedValue>
</UML:AssociationEnd>
<UML:AssociationEnd visibility="public" aggregation="none" isOrdered="false" targetScope="instance" changeable="none" isNavigable="true" type="EAID_6756609C_1EEB_4865_AD5B_CF077D5195AA">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="containment" value="Unspecified"/>
<UML:TaggedValue tag="deststyle" value="Union=0;Derived=0;AllowDuplicates=0;Owned=0;Navigable=Unspecified;"/>
<UML:TaggedValue tag="ea_end" value="target"/>
</UML:ModelElement.taggedValue>
</UML:AssociationEnd>
</UML:Association.connection>
</UML:Association>
<UML:Class name="BPMart" xmi.id="EAID_90417F45_AD1B_4e9d_A2BC_AC8D3C9F653E" visibility="public" namespace="EAPK_92E55567_129C_49a1_B733_702202FF996A" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="isSpecification" value="false"/>
<UML:TaggedValue tag="ea_stype" value="Class"/>
<UML:TaggedValue tag="ea_ntype" value="0"/>
<UML:TaggedValue tag="version" value="1.0"/>
<UML:TaggedValue tag="package" value="EAPK_92E55567_129C_49a1_B733_702202FF996A"/>
<UML:TaggedValue tag="date_created" value="2011-04-27 12:38:50"/>
<UML:TaggedValue tag="date_modified" value="2011-04-27 12:38:50"/>
<UML:TaggedValue tag="gentype" value="Java"/>
<UML:TaggedValue tag="tagged" value="0"/>
<UML:TaggedValue tag="package_name" value="Allegiance"/>
<UML:TaggedValue tag="phase" value="1.0"/>
<UML:TaggedValue tag="author" value="MNatarajan"/>
<UML:TaggedValue tag="complexity" value="1"/>
<UML:TaggedValue tag="status" value="Proposed"/>
<UML:TaggedValue tag="tpos" value="0"/>
<UML:TaggedValue tag="ea_localid" value="8221"/>
<UML:TaggedValue tag="ea_eleType" value="element"/>
<UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=1;HSwimLanes=1;BorderStyle=0;"/>
</UML:ModelElement.taggedValue>
</UML:Class>
<UML:Collaboration xmi.id="EAID_92E55567_129C_49a1_B733_702202FF996A_Collaboration" name="Collaborations">
<UML:Namespace.ownedElement>
<UML:ClassifierRole name="Phase I" xmi.id="EAID_96694613_33CD_4729_9938_9C64422597BD" visibility="public" base="EAID_11111111_5487_4080_A7F4_41526CB0AA00">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="isAbstract" value="false"/>
<UML:TaggedValue tag="isSpecification" value="false"/>
<UML:TaggedValue tag="ea_stype" value="Package"/>
<UML:TaggedValue tag="ea_ntype" value="0"/>
<UML:TaggedValue tag="version" value="1.0"/>
<UML:TaggedValue tag="package" value="EAPK_92E55567_129C_49a1_B733_702202FF996A"/>
<UML:TaggedValue tag="date_created" value="2011-04-27 17:15:35"/>
<UML:TaggedValue tag="date_modified" value="2011-04-27 17:15:35"/>
<UML:TaggedValue tag="gentype" value="Java"/>
<UML:TaggedValue tag="tagged" value="0"/>
<UML:TaggedValue tag="package2" value="EAID_96694613_33CD_4729_9938_9C64422597BD"/>
<UML:TaggedValue tag="package_name" value="Allegiance"/>
<UML:TaggedValue tag="phase" value="1.0"/>
<UML:TaggedValue tag="author" value="MNatarajan"/>
<UML:TaggedValue tag="complexity" value="1"/>
<UML:TaggedValue tag="status" value="Proposed"/>
<UML:TaggedValue tag="tpos" value="0"/>
<UML:TaggedValue tag="ea_localid" value="1257"/>
<UML:TaggedValue tag="ea_eleType" value="package"/>
<UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=1;HSwimLanes=1;BorderStyle=0;"/>
</UML:ModelElement.taggedValue>
</UML:ClassifierRole>
</UML:Namespace.ownedElement>
<UML:Collaboration.interaction/>
</UML:Collaboration>
<UML:Class name="Customer ODS" xmi.id="EAID_9D69B723_0547_428e_818A_C95AFFE03ADE" visibility="public" namespace="EAPK_92E55567_129C_49a1_B733_702202FF996A" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="isSpecification" value="false"/>
<UML:TaggedValue tag="ea_stype" value="Class"/>
<UML:TaggedValue tag="ea_ntype" value="0"/>
<UML:TaggedValue tag="version" value="1.0"/>
<UML:TaggedValue tag="package" value="EAPK_92E55567_129C_49a1_B733_702202FF996A"/>
<UML:TaggedValue tag="date_created" value="2011-04-27 12:35:32"/>
<UML:TaggedValue tag="date_modified" value="2011-04-27 12:35:33"/>
<UML:TaggedValue tag="gentype" value="Java"/>
<UML:TaggedValue tag="tagged" value="0"/>
<UML:TaggedValue tag="package_name" value="Allegiance"/>
<UML:TaggedValue tag="phase" value="1.0"/>
<UML:TaggedValue tag="author" value="MNatarajan"/>
<UML:TaggedValue tag="complexity" value="1"/>
<UML:TaggedValue tag="status" value="Proposed"/>
<UML:TaggedValue tag="tpos" value="0"/>
<UML:TaggedValue tag="ea_localid" value="8219"/>
<UML:TaggedValue tag="ea_eleType" value="element"/>
<UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=1;HSwimLanes=1;BorderStyle=0;"/>
</UML:ModelElement.taggedValue>
</UML:Class>
<UML:Class name="KANA" xmi.id="EAID_A285710F_4449_4f53_BE51_60F0023E828B" visibility="public" namespace="EAPK_92E55567_129C_49a1_B733_702202FF996A" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="isSpecification" value="false"/>
<UML:TaggedValue tag="ea_stype" value="Class"/>
<UML:TaggedValue tag="ea_ntype" value="0"/>
<UML:TaggedValue tag="version" value="1.0"/>
<UML:TaggedValue tag="package" value="EAPK_92E55567_129C_49a1_B733_702202FF996A"/>
<UML:TaggedValue tag="date_created" value="2011-04-27 12:37:37"/>
<UML:TaggedValue tag="date_modified" value="2011-04-27 12:37:37"/>
<UML:TaggedValue tag="gentype" value="Java"/>
<UML:TaggedValue tag="tagged" value="0"/>
<UML:TaggedValue tag="package_name" value="Allegiance"/>
<UML:TaggedValue tag="phase" value="1.0"/>
<UML:TaggedValue tag="author" value="MNatarajan"/>
<UML:TaggedValue tag="complexity" value="1"/>
<UML:TaggedValue tag="status" value="Proposed"/>
<UML:TaggedValue tag="tpos" value="0"/>
<UML:TaggedValue tag="ea_localid" value="8220"/>
<UML:TaggedValue tag="ea_eleType" value="element"/>
<UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=1;HSwimLanes=1;BorderStyle=0;"/>
</UML:ModelElement.taggedValue>
</UML:Class>
<UML:Association xmi.id="EAID_76CC1670_E760_4989_8A0C_AF29649A8D70" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="style" value="3"/>
<UML:TaggedValue tag="ea_type" value="Association"/>
<UML:TaggedValue tag="direction" value="Unspecified"/>
<UML:TaggedValue tag="linemode" value="3"/>
<UML:TaggedValue tag="linecolor" value="-1"/>
<UML:TaggedValue tag="linewidth" value="0"/>
<UML:TaggedValue tag="seqno" value="0"/>
<UML:TaggedValue tag="headStyle" value="0"/>
User avatar
jonathan.carter
Posts: 1087
Joined: 04 Feb 2009, 15:44

Thanks for this.

Obviously, this is just a snippet but the main thing that I notice is that for each of the class definitions, there's nothing in the XMI that tells us what type of thing Market Metrics Interface or KANA actually are.

This is important because the first step of any import is to define the semantic mapping from the source (in this case the Sparx XMI) and the target (Essential Repository). We need to understand how to map these classes to instances of classes in Essential and to do that we need to understand what the contents of the model means. This can be tricky with UML as the available meta classes were originally defined to describe software components rather than elements of an enterprise architecture!
Potentially, the 'gentype' attribute could be used but I'm not sure what 'Java' means in your source model. Is this the runtime / development platform for running these components or does this 'Java' mean that these are Java-based integration solutions / adapters. We need to have these clear mappings defined before we can migrate the content.

If we can establish reliable things in the XMI that define WHAT each CLASS, ASSOCIATION etc. means (at the EA level, not UML meta model level), then we can use those, e.g. we have used stereotypes in UML to represent the Essential meta classes in very early versions of the Essential Meta Model.

However, if we cannot find such tags in the XMI, we must define what each of those CLASS elements means by hand as part of the migration adapter. I would point out that this is not a technical problem - in terms of format, pre-built adapters etc. - but a semantic problem. That is, we need to encode what the source content means before we can import it.

To help move us forward, perhaps you can describe how the semantics for each class in your Sparx model are defined? e.g. How does the Sparx model know WHAT 'Market Metrics Interface' is?

Thanks

Jonathan
Essential Project Team
manikvijay
Posts: 20
Joined: 04 Apr 2011, 18:19

Hi Jonathan,

So each of this classes are UML bases "class" types. I have not declared any stereotype for these classes. The only thing i have so far in my diagram is bunch of classes with association properties declared between them.

So what is association equivalent in "Essential" or Protege?

I can the example XSL came from integration server to move things in to essential but the only issue is how to get the association itself.

And "Java" means the class is "Java" language type.
jason.powell
Posts: 32
Joined: 04 Feb 2009, 15:01

Hi,

I believe that the challenge is that in UML and consequently XMI, a "Class" could be describing any type of EA element (e.g. an Application Service, a Data Object, a Technology Product).

Therefore, when importing XMI from Sparx, one has to do one of the following:
  1. Explicitly define the EA element type for each Class in the model (e.g. by defining stereotypes , as suggest by Jonathan) which would in most cases simplify the XSL transform required and also provide a degree of rigour to the models being imported.
  2. Infer the type of EA element being represented by a UML Class and hard-code this into the XSL transform (e.g. based on prior knowledge of the EA model captured in Sparx, or the name of the package that the Class belongs to). In this case, using your example, if i know that the "Allegiance" package contains a list of applications and their dependencies, then in the XSL I can hard-code the fact that the attribute "name" on a "Class" element in the XMI will be the "name" of an Application_Provider in Essential. Similarly, under an "Association" XMI element, the "value" attributes on "TaggedValue" elements with names "ea_sourceName" and "ea_targetName" would be used to create Application_Provider_Usages that would populate the :TO and :FROM slots on a ":APU-TO-APU-STATIC-RELATION" in Essential (this is a relationship class that is used to represent application dependencies in a Static_Application_Provider_Architecture).

Option 1 is usually the more reliable approach, particularly if you are looking to round trip your EA content on an ongoing basis. However, the obvious drawback is that, if you have not explicitly defined the EA element type for your classes in Sparx, doing so after the fact could be somewhat tedious.

If, however, this is a one-off import and you are reasonably confident about the quality and consistency of how your EA has been modelled in Sparx, then Option 2 is a perfectly acceptable approach and one which we have used on a number of occasions, particularly when importing from tools that were not explicitly designed to capture EA content (e.g. taxonomy tools, spreadsheets, CMDBs etc).

Thanks

Jason
Essential Project Team
manikvijay
Posts: 20
Joined: 04 Apr 2011, 18:19

Hi Jason,

Thanks for the explanation, i believe the second approach would work better for me. Can you give me an example for the XSL to do an association between application to application? That would a great help.
jason.powell
Posts: 32
Joined: 04 Feb 2009, 15:01

Hi,

as per your request, I was looking into describing the XSL to capture the associations when I noticed that some of the relationships represent containment (e.g. Market Metrics contains Market Metrics Interface).

As I have not seen the original model in Sparx, I just wanted to check whether the model you have exported is actually showing application dependencies (e.g. App A sends info/data to App B), the composition of your applications (e.g. App A consists of App B, App C and App D), or both. The reason for asking is that these relationships have very different semantics and would be modelled differently in Essential.

Thanks Jason
Essential Project Team
Post Reply