Skip to content

Implement Flow Graphs#123

Merged
sebinside merged 139 commits intomainfrom
graph
Mar 4, 2024
Merged

Implement Flow Graphs#123
sebinside merged 139 commits intomainfrom
graph

Conversation

@Entenwilli
Copy link
Member

@Entenwilli Entenwilli commented Jan 29, 2024

This PR implements flow graphs for the data flow analysis. It contains the following:

  • Replacement of action sequences with FlowGraph, PartialFlowGraph and Vertex
    • PCM
    • DFD
  • Implementation of joined streams
  • Refactoring of the PCM Sequence Finder
  • Refactoring of DataCharacteristics and VertexCharacteristics Calculators
  • First attempt at code formatting with Spotless
  • Remove previousElements from AbstractVertex and add to DFD and PCM Variant
  • Add method for getting succeeding element for a vertex
  • Add equals method for referenced elements (e.g. Calling/Returning for PCM Elements)

This PR closes #17, #60, #67, #93 and #100

Copy link
Member

@Nicolas-Boltz Nicolas-Boltz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some minor things. I really like this implementation and version we are currently getting to!

Copy link
Member

@sebinside sebinside left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for this joint effort and the great implementation of FlowGraphs! I like the result very much and only have minor comments that should be easy to fix. Regarding the functionality, the implementation is exactly what we had in mind, and the complexity is greatly reduced while unifying the approach for both DFD and PCM. Thank you!

Maybe as final questions: If I retrieve two FlowGraphs via findFlowGraph, I can evaluate them completely on their own without interference, right? And the same even applies to partial flow graphs, so that I could e.g., alter or clone them prior to the evaluation without interference?

@sebinside
Copy link
Member

@Entenwilli @01Parzival10 The reviews are in and the good news: Only minor things. Now it's on you again, let's try to merge this PR next week!

@Entenwilli
Copy link
Member Author

The requested changes are now implemented. I've left two conversations open for some feedback
@sebinside @Nicolas-Boltz

@sebinside
Copy link
Member

Looks promising, I think the remaining points can be discussed independently from this PR. I will have a final look and merge this PR tomorrow!

@sebinside sebinside removed the request for review from Nicolas-Boltz March 4, 2024 10:49
@sebinside sebinside merged commit 4c28450 into main Mar 4, 2024
@sebinside sebinside deleted the graph branch March 4, 2024 10:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core Related to the core DFD/PCM data flow analysis enhancement New feature or request research Investigation or reserach related issue

Projects

None yet

4 participants