Archi validator - unnecessary information messages or bug?

Started by andrew.davies, January 03, 2018, 12:39:51 PM

Previous topic - Next topic


I'm using Archi 4.1.1 on Windows 8.1 Enterprise.

I have created an empty model and into the view I add a capability and a business process. I create a Realization relationship from the process to the capability i.e. the process realizes the capability.

I run the validator, result is "Everything is OK".

If I now drag and drop the process into the capability so it is nested (the Realization relationship is still there, I've not deleted it) and revalidate I get validator "advice" that " 'Business Process' should not be nested in 'Capability' unless there is a valid relationship." The Hints panel explains this as follows:

"An element in a View is nested inside of another element. However, this is only visual as the two elements do not have a semantic relationship in the model"

However there clearly is a valid semantic relationship and Archi knows it exists. Why doesn't the validator recognise that there is a valid semantic relationship and suppress the message? Nesting is a useful way of simplifying diagrams and this message seems unnecessary clutter when all is good (genuine clutter in my real model which has several hundred objects and relationships and which I am trying to get a clean validation for).

Is this a bug? I noticed this in version 4.0.3 as well and have just upgraded to see if it changed anything, which it didn't. I've checked the ArchiMate relationships table and they are correctly set for these two objects; I wouldn't have been able to create the relationship if that weren't the case.

Jean-Baptiste Sarrodie


Archi is right on this (even though I would suggest to have a way to accept such things as an option).

In ArchiMate specifications, nesting is an alternative notation for some relationships (structural, access and specialization) but in a specific "direction". For all but specialization, the "source" element contains the "target" element. For specialization this is the way around.

In your case, the business process is the source of the realization relationship and should then contain the capability, but you've done it the opposite.

In fact the bug in Archi is that in your case the relationship should not be hidden, but as I stated in this GitHub issue this could be made optional in ARM setting. Another suggestion would be to "bind" Validator and ARM settings (see this issue).

FWIW: I do appreciate this non-standard nesting in some cases too (SystemSoftware inside realized Technology Service).


If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.