archimatetool / archi

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

Visualizer considers both "read access relation" and "write access relation" as outgoing direction. #800

Closed JubinVaru closed 2 years ago

JubinVaru commented 2 years ago

Version of Archi

4.9.1 build 202110260902

Archi Plug-ins

Archi Collaboration

Operating System

Windows

Expected Behaviour

Visualizer should consider "read access relation" as incoming direction and "write access relation" as outgoing direction.

Actual Behaviour

Visualizer considers both "read access relation" and "write access relation" as outgoing direction.

Steps to Reproduce the Behaviour

  1. Create one application component (say App-1) and two different data object (say DO-in and DO-out)
  2. Create access relationship (say incoming-1) between App-1 and DO-in and change its property to read access.
  3. Create access relationship (say outgoing-1) between App-1 and DO-out and change its property to write access.
  4. Save the view and click on the App-1 and open visualizer to see an arrow between DO-in and App-1 and another arrow between App-1 and DO-out
  5. right click on empty space in visualizer and select the direction as "incoming" -- you will see DO-in and DO-out dissappeared. While one expects an arrow from DO-in to App-1.
  6. right click on empty space in visualizer and select the direction as "outgoing" -- you will see an arrow between DO-in and App-1 and another arrow between App-1 and DO-out. While one expects only one arrow from App-1 to DO-out.
Phillipus commented 2 years ago

The Visualiser, as well as the Navigator, regards the source and target concepts of a relation as incoming/outgoing regardless of read/write in the Access relation. No plans to change this right now, but if anyone wants to propose code changes, please do.

jbsarrodie commented 2 years ago

Hi, This is on purpose: from an ArchiMate standard point of view, both read/write access are always from the active/behavior elements to the passive element, so they are both always "incoming" from the point of view of the passive element (ie. data).

I personnaly see no reasons to change this and would instead suggest some custom jArchi script if you have a specific analysis use-case.

JubinVaru commented 2 years ago

Thanks for your response.