Archi Forum

Archi => General Archi Discussion => Topic started by: casacde on June 24, 2019, 11:48:43 AM

Title: Representation of an indirect relationship
Post by: casacde on June 24, 2019, 11:48:43 AM
Hello Archi-Community,

I use Archi in version 4.4 and wondered how to easily illustrate the relationship between technology and business processes. I have attached a very simple diagram to illustrate my problem. I would like to explain to the management which business processes depend directly on a (technology) component. I would prefer to hide the application and technology service level because it is far too complex for the management. I know that I was able to do that with an older version of Archi. How can I achieve this with the current version?
You could also describe my problem with the keyword "impact analysis".

Thanks for your help!
Title: Re: Representation of an indirect relationship
Post by: Phil Beauvoir on June 24, 2019, 13:13:12 PM
With an older version of Archi there was a "Show Structural Chains" features that highlighted structural connections from one element to the next, in order to show possible derived relations. Also, there was a "create derived relationship" feature which attempted to analyse the relationship chain from one element to another and would add the derived relationship as an additional relationship. Neither of these features worked particularly well and, with ArchiMate 3.0 and connection to connections complicating matters, it was decided to remove them.

Basically, what you have done by creating a relationship manually is what the old version would (might, if it was correct) have effectively done.
Title: Re: Representation of an indirect relationship
Post by: casacde on June 24, 2019, 13:30:47 PM
Many Thanks.
Do you know a tool that gives me this possibility? I therefore use a tool because I need quick overviews without first having to analyze all relationships myself.
To put it in a nutshell: then I could also use Visio or a piece of paper.
Title: Re: Representation of an indirect relationship
Post by: Phil Beauvoir on June 24, 2019, 13:34:01 PM
Quote from: casacde on June 24, 2019, 13:30:47 PM
Many Thanks.
Do you know a tool that gives me this possibility? I therefore use a tool because I need quick overviews without first having to analyze all relationships myself.
To put it in a nutshell: then I could also use Visio or a piece of paper.

No, I don't know of one.
Title: Re: Representation of an indirect relationship
Post by: casacde on June 24, 2019, 13:44:36 PM
That's too bad. Thank you very much.
Title: Re: Representation of an indirect relationship
Post by: Phil Beauvoir on June 24, 2019, 16:18:01 PM
Fortunately, we created jArchi the scripting language for Archi where such analysis is possible.

The algorithm might be something like.

From the selected element traverse all outgoing relationships (include Association incoming relationships)
Follow all traversed relationships storing the weakest "strength" of each relationship
Arrive at target element
Create a new relationship from the source element to the target element with the weakest strength

Perhaps someone from the "Archi-Community" might care to contribute a script? ;-)
Title: Re: Representation of an indirect relationship
Post by: Jean-Baptiste Sarrodie on June 24, 2019, 19:34:42 PM
Hi,

Quote from: casacde on June 24, 2019, 13:30:47 PM
Do you know a tool that gives me this possibility? I therefore use a tool because I need quick overviews without first having to analyze all relationships myself.
To put it in a nutshell: then I could also use Visio or a piece of paper.

No tool can do it by itself because there is no universal logical rule that can apply in all cases. ArchiMate derivation rules are no exception, and even if you could create derived relationship automatically, you would end up with really too many. So as Phil suggested, you have to define you own rules matching you modelling style (of course inspired by ArchiMate ones) and create some script to create additional ones.

BTW, Do you want those simplified diagrams to be automatically created or do simply want some kind of Excel export ?

Regards,

JB
Title: Re: Representation of an indirect relationship
Post by: casacde on June 25, 2019, 09:04:52 AM
Quote from: Jean-Baptiste Sarrodie on June 24, 2019, 19:34:42 PM

... and create some script to create additional ones.

BTW, Do you want those simplified diagrams to be automatically created or do simply want some kind of Excel export ?


Hi,

Alright. If it is a solution to write my own scripts to do the impact analysis -> then I have to learn Javascript. ;-)

My intention is this: I use Archi(-mate) to create a common language (or translator) for all stakeholders in the IT architecture. So I arrange all elements of the infrastructure at 5 levels. A CEO is not interested in which servers and which operating system (level 5) are used. He is only interested in business processes (level 1) and perhaps service contracts (level 2). However, when technicians plan to migrate a level 5 component, the CEO (and the technicians too) naturally want to know which of their business processes is affected. So I need a tool that helps to perform this analysis. This is absolutely impossible to do manually in a complex environment.

Whether this support consists of an automatically drawn relationship or an Excel export, I do not care about it. I just want to continue to use Archi for modeling - I think it's a great tool - unfortunately without impact analysis ... ;-)

Regards,
Carsten
Title: Re: Representation of an indirect relationship
Post by: Alberto on June 25, 2019, 14:37:07 PM
Archimate is a semantic language and thus perfect for graph engines like Neo4J, which is one of the dbms supported by the database plugin.  If you want to do Impact Analysis, Neo4J is the best tool for traversing relationships they way you are looking to do.

But this comes with many caveats 1) you will now have to learn an new query language. 2) you want to have a clean data structure (ontology?) and validation tools (SHACL?)

I believe all this is still experimental territory at the moment. As far as I know, the Archimate designers didn't have semantics be the point of the language, but it certainly fits the bill. 

Wouldn't it be great if you can put AI behind an Archimate model which you can chat and query in simple english (or whatever your language of preference is)  "Siri, if I turn off this node, what services would be affected?"
Title: Re: Representation of an indirect relationship
Post by: Jean-Baptiste Sarrodie on June 25, 2019, 14:46:48 PM
Hi,

Quote from: Alberto on June 25, 2019, 14:37:07 PM
Wouldn't it be great if you can put AI behind an Archimate model which you can chat and query in simple english (or whatever your language of preference is)  "Siri, if I turn off this node, what services would be affected?"

That was part of the presentation Phil and I gave at the Open Group Amsterdam event in 2017 (https://www.archimatetool.com/blog/2017/11/07/open-group-conference-amsterdam-2017/) ;-)

Regards,

JB
Title: Re: Representation of an indirect relationship
Post by: Alberto on June 25, 2019, 15:54:44 PM
Wow, the three amigos! Can't compete with that! When is your next presentation?

Title: Re: Representation of an indirect relationship
Post by: Jean-Baptiste Sarrodie on June 25, 2019, 16:34:12 PM
Hi,

Quote from: Alberto on June 25, 2019, 15:54:44 PM
When is your next presentation?

I'll do a presentation about ArchiMate and Architecture in an Agile context at The Open Group event that will take place in november, again in Amsterdam. Phil might be there too (@phil: you really should and we have to talk about it btw).

Regards,

JB
Title: Re: Representation of an indirect relationship
Post by: Phil Beauvoir on June 25, 2019, 16:37:42 PM
Quote from: Jean-Baptiste Sarrodie on June 25, 2019, 16:34:12 PM

Phil might be there too (@phil: you really should and we have to talk about it btw).


The last time I was in Amsterdam I got passively stoned just by walking through the streets and inhaling the local "fragrances". The next thing I knew I had this weird dream that I was giving a presentation to a room full of strangers about AI with this weird French guy...
Title: Re: Representation of an indirect relationship
Post by: Jean-Baptiste Sarrodie on June 25, 2019, 19:24:51 PM
Hi,

Quote from: Alberto on June 25, 2019, 14:37:07 PM
Archimate is a semantic language and thus perfect for graph engines like Neo4J, which is one of the dbms supported by the database plugin.  If you want to do Impact Analysis, Neo4J is the best tool for traversing relationships they way you are looking to do.

BTW, alasql, the in-browser DB engine use in the standard HTML export to provide SQL query capability can also be used as a graph DB engine. With some work (contribution welcome) it should be possible to use it as an impact analysis tool.

See https://github.com/agershun/alasql/wiki/GRAPH as a starting point.

Regards,

JB
Title: Re: Representation of an indirect relationship
Post by: casacde on June 29, 2019, 17:58:19 PM
I found an interesting blog post here that shows the interaction of Archi with Neo4j (https://lju-lazarevic.github.io/ArchiMateNeo4j1.html (https://lju-lazarevic.github.io/ArchiMateNeo4j1.html)). The author writes of an Archi database plugin, which makes the export to Neo4j possible. I did not find this. Has this plugin gone the same way as my beloved derived relationships?
Title: Re: Representation of an indirect relationship
Post by: Jean-Baptiste Sarrodie on June 29, 2019, 18:14:12 PM
Hi,

This is possible through Herve's database plugin which is still alive :-) https://github.com/archi-contribs/database-plugin

Regards,

JB
Title: Re: Representation of an indirect relationship
Post by: casacde on June 29, 2019, 18:24:52 PM
Ok. Found it. That looks like a lot of work ...

Thank you and have a nice weekend!  ;D
Title: Re: Representation of an indirect relationship
Post by: rchevallier on June 30, 2019, 20:45:44 PM
The plugin to export to a database, including graph db Neo4j is alive.
See http://archi-contribs.github.io/
a
Title: Re: Representation of an indirect relationship
Post by: rchevallier on June 30, 2019, 20:47:26 PM
the db expor/import plugin is fully alive (including Neo4j). See https://github.com/archi-contribs/database-plugin
(BTW look for non official plugins, but excellent ones there, particularly the ones from Hervé)
Title: Re: Representation of an indirect relationship
Post by: casacde on July 01, 2019, 07:26:29 AM
I played around with the DB plugin and neo4j and have to say: Absolutely great! That could be the answer to my question and the answer to many other yet unspoken questions. Thanks for the tip!