Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bidirectional data flow has unidirectional arrow #94

Open
srcnuzn opened this issue Aug 27, 2024 · 4 comments
Open

Bidirectional data flow has unidirectional arrow #94

srcnuzn opened this issue Aug 27, 2024 · 4 comments

Comments

@srcnuzn
Copy link

srcnuzn commented Aug 27, 2024

Version
Version: 1.0.0 (20240730113903)

Steps to reproduce

Have technical assets with communication link where data assets are sent and received.

    communication_links:
      Compile Model:
        target: my-server
        description: Server processing stuff...
        protocol: https
        . . .
        data_assets_sent:
          - some-asset
        data_assets_received:
          - some-other-asset

Expected:

If I define data_assets_sent and data_assets_receive, I expect a bidirectional arrow.

Actual:

Arrow is unidirectional.

image

@srcnuzn
Copy link
Author

srcnuzn commented Sep 11, 2024

Any thought on whether or not my expectation is valid?

@ezavgorodniy
Copy link
Collaborator

I'd say your expectation sounds valid and I'd personally vote to the implementation of bidirectional arrow.
Hasn't had a chance to dig into details of implementation of generating data flow diagram and whether those comment is actual:

https://github.com/Threagile/threagile/blob/master/pkg/report/graphviz.go#L223

https://github.com/Threagile/threagile/blob/master/pkg/report/graphviz.go#L33-L56

@srcnuzn
Copy link
Author

srcnuzn commented Sep 12, 2024

The comments are definitely a good hint for implementation. If the bug in the comment still persists and is difficult to resolve, we could at least enable bidirectional flows for other layouts than ortho.

@cjj884
Copy link

cjj884 commented Sep 27, 2024

I would recommend leaving the convention as it is which includes the notion of a 'target' found in model definition. Once the arrows become drawn as bidirectional in DFD there will not be a means to know who initiated the communication or on which technical asset to find the communication link definition.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants