Sparx Systems Forum

Enterprise Architect => General Board => Topic started by: michielper on July 22, 2019, 11:44:48 pm

Title: Ignoring invalid ArchiMate 2 element
Post by: michielper on July 22, 2019, 11:44:48 pm
I am trying to export an Archimate model into the Archimate exchange format in Sparx EA version 13. (context->extensions->Archimate2->Generate Model Exchange file.
But the result is missing many elements and the export log contains many lines like
  * Ignoring invalid ArchiMate 2 element : <name of element>
I have tried to change the stereotype of these elements but I have not yet found a reliable way to have these ignored elements included in the export.

Has anyone suggestions?   


Title: Re: Ignoring invalid ArchiMate 2 element
Post by: Glassboy on July 23, 2019, 08:48:04 am
Log a support request.
Title: Re: Ignoring invalid ArchiMate 2 element
Post by: Geert Bellekens on July 23, 2019, 02:40:12 pm
Check the stereotypes of the elements that it complains about.
Are those really ArchiMate2 stereotypes? Maybe they are Archimate version 1 stereotypes?

Geert
Title: Re: Ignoring invalid ArchiMate 2 element
Post by: KP on July 23, 2019, 04:17:22 pm
I have tried to change the stereotype of these elements but I have not yet found a reliable way to have these ignored elements included in the export.

Has anyone suggestions?


How are you changing the stereotype? Try removing the old stereotype from the element then drop the new stereotype from the correct toolbox onto the element on the diagram.
Title: Re: Ignoring invalid ArchiMate 2 element
Post by: michielper on July 23, 2019, 11:31:29 pm
I have tried to change the stereotype of these elements but I have not yet found a reliable way to have these ignored elements included in the export.

Has anyone suggestions?


How are you changing the stereotype? Try removing the old stereotype from the element then drop the new stereotype from the correct toolbox onto the element on the diagram.

Actually, the situation is even worse (and weird!). When I create a new Archimate element in Sparx 13, the "Generate Model Exchange File" process refuses the new element because it apparently is an Archimate 3 element while the Exchange file process supports ONLY version 2, very strange indeed. And it is completely unnecessary to differentiate between two versions of the standard that are very similar.
Title: Re: Ignoring invalid ArchiMate 2 element
Post by: Glassboy on July 24, 2019, 08:13:28 am
Actually, the situation is even worse (and weird!). When I create a new Archimate element in Sparx 13, the "Generate Model Exchange File" process refuses the new element because it apparently is an Archimate 3 element while the Exchange file process supports ONLY version 2, very strange indeed. And it is completely unnecessary to differentiate between two versions of the standard that are very similar.

I'm using 13.0.1310.  I created a Package with an ArchiMate 1 diagram in it.  It contained only ArchiMate 1 stereotyped elements.  I did the same with ArchiMate 2 and ArchiMate 3 and they only contained their respective versions.

Are you sure you're using the right toolboxes when creating your diagrams?
Title: Re: Ignoring invalid ArchiMate 2 element
Post by: Rich Anderson on July 24, 2019, 11:35:54 am
I've had similar problems and I found that EA was getting confused between multiple versions of the Archimate MDG.  Try this:  just move the other Archimate MDGs  from the MDG file under program files and have only Archimate 2 (I'm assuming that is the one you want).   Restart EA and sure that your EA has only Archimate2 MDG selected as a technology.   Then try it again.  It's worth a shot.  In general, I model with Archimate 3 only and found that if I had Archimate 2 available, it would sometimes create an element as the wrong MDG type.  Removing the other technologies fixed that, but your results may vary. 
Title: Re: Ignoring invalid ArchiMate 2 element
Post by: Paolo F Cantoni on July 24, 2019, 03:24:32 pm
I've had similar problems and I found that EA was getting confused between multiple versions of the Archimate MDG.  Try this:  just move the other Archimate MDGs  from the MDG file under program files and have only Archimate 2 (I'm assuming that is the one you want).   Restart EA and sure that your EA has only Archimate2 MDG selected as a technology.   Then try it again.  It's worth a shot.  In general, I model with Archimate 3 only and found that if I had Archimate 2 available, it would sometimes create an element as the wrong MDG type.  Removing the other technologies fixed that, but your results may vary.
Hi Rich,

I suspect that reason EA gets confused is that NOW (v14+), even though you disable a Technology it's still loaded (to potentially support technologies in the re[posiotry but no longer used - as I understand it).

It's possible that some pointers are getting incorrectly located and point to the wrong technology.

It should be possible to have TWO checkboxes, [enable[ and [load].  If you don't load, you can't enable (and you may not be able to open the repository until you load the technology externally).

My AU$0.05
PAolo
Title: Re: Ignoring invalid ArchiMate 2 element
Post by: Rich Anderson on July 27, 2019, 07:35:34 am
Yes, that may be it.   Just to be sure, I just move the Architmate and Archimate2 MDG files out of the EA/MDGTechnologies folder to somewhere else so they cannot be selected or included.  That may be overkill, but when I did that, the problems stopped. 
Title: Re: Ignoring invalid ArchiMate 2 element
Post by: qwerty on July 27, 2019, 08:18:45 am
I'm usually just moving ALL MDGs to another folder since NOBODY should see them and enable them in the playtime between breakfast and lunch. That's what happens usually. And people start using elements they never should have used. I don't get it why an EA installation start with all those MDGs available. And even the possibility given by EA to turn on ALL MDGs is the greatest madness of all. I mean, who wants to have BPMN 1.0, 2.0 along with all Archimate versions, ArcGis and heaven knows enabled?

q.
Title: Re: Ignoring invalid ArchiMate 2 element
Post by: michielper on July 30, 2019, 11:21:56 pm
I've had similar problems and I found that EA was getting confused between multiple versions of the Archimate MDG.  Try this:  just move the other Archimate MDGs  from the MDG file under program files and have only Archimate 2 (I'm assuming that is the one you want).   Restart EA and sure that your EA has only Archimate2 MDG selected as a technology.   Then try it again.  It's worth a shot.  In general, I model with Archimate 3 only and found that if I had Archimate 2 available, it would sometimes create an element as the wrong MDG type.  Removing the other technologies fixed that, but your results may vary.

Actually I use Archimate 3 but my models historically still contain some Archimate 2 elements. So I want elements of all versions of Archimate to be exported. For some strange and annoying reason, the export process only exports the Archimate 2 elements. Very user unfriendly and very unnecessary since the differences between the two versions are minimal.

Regarding the switching off of some MDG's, that seems like a good idea but I cannot do this by moving files because I work on a shared SQL Server repository. I suppose there is no way to do this then?

And finally, is the Archimate Exchange process executed by a script that I can perhaps edit? Any idea?
Title: Re: Ignoring invalid ArchiMate 2 element
Post by: Modesto Vega on July 31, 2019, 02:23:27 am
It sounds to me that you are trying to export an model with ArchiMate 3 elements to ArchiMate 2 and you could be having a backward compatibility problem.

I am not too familiar with the Generate Model Exchange extension but your original post clearly states
(context->extensions->Archimate2->Generate Model Exchange file.
and your last post states
Actually I use Archimate 3 but my models historically still contain some Archimate 2 elements

Have you consider that your Archimate 3 elements are not backward compatible? Have you considered upgrading all elements to Archimate 3 stereotypes and exporting an Archimate 3 exchange file? Alternatively, you could downgrade all elements to Archimate 2.

I would not recommend mixing Archimate 2 and 3 elements, it is likely to give you a headache.
Title: Re: Ignoring invalid ArchiMate 2 element
Post by: qwerty on July 31, 2019, 08:11:46 am
I would not recommend mixing Archimate 2 and 3 elements, it is likely to give you a headache.
What I said...

q.
Title: Re: Ignoring invalid ArchiMate 2 element
Post by: Glassboy on July 31, 2019, 08:18:30 am
I would not recommend mixing Archimate 2 and 3 elements, it is likely to give you a headache.

More importantly there is the possibility that what you are modelling is no longer semantically correct.
Title: Archimate FLOW relationships do not export!
Post by: michielper on August 01, 2019, 01:02:20 am
Thanks for all the help and suggestions so far. I have the practical situation that it is hard to avoid having some old Archimate 2 elements in my Archimate 3 models.

But currently there is another pressing issue:  Archimate Flow relationships do not export at all via Model Export facility. Neiter flows between application components neither flows between application functions! They just do not show up in the model exchange file (Archimate 3 nor Archimate 2). This seems a bug.....

Title: Re: Ignoring invalid ArchiMate 2 element
Post by: Modesto Vega on August 01, 2019, 05:50:41 am
Is this happening with a pure ArchiMate 3 (or 2 model) or with a mixed model?

If it is happening with a pure, and, therefore, semantically correct model it could be a bug.

But if it is happening with a mixed model, I suggest you upgrade everything to version 3 or downgrade everything to version 2.

The ArchiMate 3 specification indicates that changes were made to the Flow relationship.
Title: Re: Ignoring invalid ArchiMate 2 element
Post by: michielper on August 15, 2019, 06:06:07 pm
It sounds to me that you are trying to export an model with ArchiMate 3 elements to ArchiMate 2 and you could be having a backward compatibility problem.

I am not too familiar with the Generate Model Exchange extension but your original post clearly states
(context->extensions->Archimate2->Generate Model Exchange file.
and your last post states
Actually I use Archimate 3 but my models historically still contain some Archimate 2 elements

Have you consider that your Archimate 3 elements are not backward compatible? Have you considered upgrading all elements to Archimate 3 stereotypes and exporting an Archimate 3 exchange file? Alternatively, you could downgrade all elements to Archimate 2.

I would not recommend mixing Archimate 2 and 3 elements, it is likely to give you a headache.

An issue is that Sparx EA version 13 only allows exports in an Archimate 2 exchange file, not Archimate 3. So one option would be to downgrade everything to ArchiMate 2, but I don't know how. Manually, element by element, is no option.  I am sure it is possible to create a script for this but I have no idea what exactly must be done by this script. Also of course, this might break a thing or two.....
Title: Re: Ignoring invalid ArchiMate 2 element
Post by: Modesto Vega on August 16, 2019, 04:18:37 am
Are you sure that version 13 only allows you to export ArchiMate 2? It sounds odd, as it does support ArchiMate 3, but it is not impossible with Sparx.

There are a number of other ways: export/import and tools, such as hoTools, to bulk change stereotypes. Just take some precautions like backing the model up before bulk changing it.
Title: Re: Ignoring invalid ArchiMate 2 element
Post by: Eve on August 16, 2019, 09:24:48 am
Are you sure that version 13 only allows you to export ArchiMate 2? It sounds odd, as it does support ArchiMate 3, but it is not impossible with Sparx.

The open group released the ArchiMate 3 specification before finalizing the exchange format for ArchiMate 3.