archimatetool / archi

Archi: ArchiMate Modelling Tool
https://www.archimatetool.com
MIT License
954 stars 268 forks source link

[Archi 5] Support ArchiMate 3.2 #875

Closed Phillipus closed 1 year ago

Phillipus commented 1 year ago

This is an umbrella issue for implementing the changes in Archi for ArchiMate 3.2.

Changes between 3.1 and 3.2 - https://pubs.opengroup.org/architecture/archimate32-doc/#_Toc112155137

Phillipus commented 1 year ago

New branch archimate32 created.

Things to do:

jbsarrodie commented 1 year ago

I'll take care of the relationship table and suggest to replace hints content by only the definition coming from the glossary. This should make it easier for people to translate Archi because they'll be able to reuse the official glossary's translation (and if none exist, they could create one and I'll manage to get it through the internal review process of the Open Group).

We should also anticipate a bit the fact that the ArchiMate Model Exchange File Format will change in the (hopefully) near future and make sure we can importe a file which claims to be from the new version (without changing the import code). This will make sure that people can at least import a model created with another tool that create "3.2" AMEFF files.

Phillipus commented 1 year ago

@jbsarrodie I've had a go at the new small icons and the new alternate figures (Work Package, Communication Network).

I failed at creating thought bubbles for the Meaning figure, so left it as it is.

My maths is terrible!

Phillipus commented 1 year ago

replace hints content by only the definition coming from the glossary.

I can't find the 3.2 glossary. Is it published?

jbsarrodie commented 1 year ago

I failed at creating thought bubbles for the Meaning figure, so left it as it is. My maths is terrible!

đŸ˜‚

I'll manage it. It might be better to either keep the current figure as the icon version or used a slight different one to maximize the avalable space for the text inside the bubble (e.g. having only one small bubble in the lower left corner).

I can't find the 3.2 glossary. Is it published?

No, but I can share it with you in private.

Phillipus commented 1 year ago

For the hints, the text is rather short. Should we also keep the Category and Examples parts?

For example:

A Business Actor represents a business entity that is capable of performing behavior.

Category: Business. Active Structure.

Examples: A Customer, Marketing & Communications department, Director of Finance, Secretary, Admissions Department, Product Development.

jbsarrodie commented 1 year ago

Should we also keep the Category and Examples parts?

Yes, that make sense and there's no changes on these parts

ModelDeveloper commented 1 year ago

@jbsarrodie @Phillipus I've had a go at the new small icons and the new alternate figures (Work Package, Communication Network).

I failed at creating thought bubbles for the Meaning figure, so left it as it is.

My maths is terrible!

Hello @jbsarrodie

I'm not sure if this is still an outstanding issue, but in case you are interested, I have created a 16x16 'Meaning' transparent PNG (the GitHub Issue editor does not allow me to include the .ICO file) that approximates the new ArchiMate 3.2 version (attached). 16x16 version: archi_moti_meaning3 2_16x16 32x32 version: archi_moti_meaning3 2_32x32 Regards,

Andrew Greff

Phillipus commented 1 year ago

HI Andrew, thanks for that. The palette and tree requires a 16x16 and a 32x32 version. The actual figures are created in Draw2d code (example here)

jbsarrodie commented 1 year ago

Here is the new relationship.xml file (created from the official Excel version of the table, thus the order of concepts and characters is a bit different): archi-relationships-32.zip

Phillipus commented 1 year ago

Here is the new relationship.xml file (created from the official Excel version of the table, thus the order of concepts and characters is a bit different):

Thanks for that! In order to get a readable diff between versions I need to put it all in alphabetical order. Can you think a way to do this? Maybe a jArchi script? ;-)

jbsarrodie commented 1 year ago

Thanks for that! In order to get a readable diff between versions I need to put it all in alphabetical order. Can you think a way to do this? Maybe a jArchi script? ;-)

I can easily do it for concepts' names (I just have to reorder some columns and rows), but that's another story for letter combinations depincting allowed relationships :-(

Phillipus commented 1 year ago

I'm working on a Java routine to do it...

Phillipus commented 1 year ago

This one is missing:

<target concept="Junction" relations="afnortv" />

Phillipus commented 1 year ago

I made a Java util to sort the table.

This is the diff:

https://github.com/archimatetool/archi/commit/67da77d5bbf4ebedd9b41b819746c49259520133

jbsarrodie commented 1 year ago

This one is missing:

<target concept="Junction" relations="afnortv" />

Yes, that's because things changes a bit:

But for us, maybe it still makes sense to add it to the xml file.

Phillipus commented 1 year ago

We have to add it to the xml file because of the way the code works. So should it be this?

<target concept="Junction" relations="acfginorstv" />

And this:

    <source concept="Junction">
        <target concept="ApplicationCollaboration" relations="acfginorstv" />
        ...more...
ModelDeveloper commented 1 year ago

Hi @Phillipus @jbsarrodie

HI Andrew, thanks for that. The palette and tree requires a 16x16 and a 32x32 version. The actual figures are created in Draw2d code (example here)

Wow, that 2d code for drawing 'Meaning' is a painful algorithm! :) Lucky that there are very few 'cloudy' shapes in the ArchiMate standard!

I wasn't sure from your comment & link to the 2d vector code as to whether the bitmap icons themselves are drawn using that code - but in case they are not, and if you don't yet have them, I've now included both 16x16 and 32x32 variants of the transparent PNGs. They look slightly different from each other because of having to squeeze the bubbles into 16x16 pixels. 16x16 version: archi_moti_meaning3 2_16x16

32x32 version: archi_moti_meaning3 2_32x32

Phillipus commented 1 year ago

@ModelDeveloper Thanks for that. The icons in the tree and palette are indeed pngs. See here. I tried your Meaning icons and I think it might work better with only one small bubble and more rounded main bubble.

For reference - https://github.com/archimatetool/archi/blob/master/com.archimatetool.editor/img/archimate/meaning%402x.png

jbsarrodie commented 1 year ago

So should it be this?

Yes, I'll re-generate the XML tomorrow.

Phillipus commented 1 year ago

Yes, I'll re-generate the XML tomorrow.

It's easier for me to manually edit it...

jbsarrodie commented 1 year ago

It's easier for me to manually edit it...

That's quite easy for me and I can re-order concepts at the same time ;-)

Phillipus commented 1 year ago

That's quite easy for me and I can re-order concepts at the same time ;-)

Noooooooooooooooooooooooooooo! ;-)

Edit: I mean that I have edited the xml file with a lot of manual changes for indentation and line breaks so that the git diff only shows the relevant changes. So it's better I continue to edit it.

Phillipus commented 1 year ago

Archi 5 is out!

fdh54 commented 1 year ago

@Phillipus Version 5 is updating all application component types in the model resulting in a massive files changing in the model. This happens I believe due to the default figure type changing from first position to second position. In xml files I can see type="1" added to objects.

Is there a way to use version 5 without modifying the default figure type positions?

Phillipus commented 1 year ago

@fdh54 The was changed because new figures were introduced in Archi 5.2 for each concept and the figure types had to be standardised. The Archi file format is internal and subject to change.