Skip to content

Implement Constraint and Query DSL#136

Merged
sebinside merged 27 commits intomainfrom
query-dsl
Jul 10, 2024
Merged

Implement Constraint and Query DSL#136
sebinside merged 27 commits intomainfrom
query-dsl

Conversation

@Entenwilli
Copy link
Member

@Entenwilli Entenwilli commented Mar 12, 2024

This PR implements the DSL outlined in the ECSA 2023 post-proceedings paper and issue #11.
It implements the following:

  • Allow querying vertices with certain attributes via QueryDSL
  • Allow formulating constraints via ConstraintDSL
  • Basic selectors on node characteristics (withCharacteristics), data flow variables (withLabel) and vertex types (withType)
  • Allow negation of basic selectors
  • Allow Variables, denoted with $, in fields that normally require a string value
  • Evaluation of constraints containing variables
  • Add constraint violation results representation

@Entenwilli Entenwilli added enhancement New feature or request research Investigation or reserach related issue core Related to the core DFD/PCM data flow analysis labels Mar 12, 2024
@Entenwilli Entenwilli added this to the 3.0.0 milestone Mar 12, 2024
@Entenwilli Entenwilli self-assigned this Mar 12, 2024
@Entenwilli Entenwilli linked an issue Mar 12, 2024 that may be closed by this pull request
@sebinside sebinside modified the milestones: 4.0.0, 3.0.0 Jun 11, 2024
@Entenwilli Entenwilli marked this pull request as ready for review June 14, 2024 13:26
@Entenwilli
Copy link
Member Author

Entenwilli commented Jun 14, 2024

@sebinside @Nicolas-Boltz @uuqjz
This PR is functionally implemented now! 🎉
However, bear in mind, that I still want to refactor the added code and provide better feedback for DSL users.
If you want, you can tests it now

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.

This PR shows a great realization of our DSL concepts, I'm already really happy how this turned out and feels while using it. I have some comments which we should discuss here or in the next meeting. However, I would propose to only fix the small things and move the bigger things to another issue in order to speed up the merging of this PR. Ideally, this PR is merged in the next two weeks so that we can directly use the DSL in the practical course. Great work, again!

@sebinside
Copy link
Member

Perfect, looks like we only have minor discussion points. Let's put this on top of the agenda of the next meeting so you can quickly finalize the PR!

@sebinside
Copy link
Member

sebinside commented Jul 9, 2024

Result from the discussion:

  • issue for future work regarding the dsl (joint streams)
  • issue regarding renaming of label (4.0 or later)
  • Add transitive logic to fromNode
  • merge!

@Entenwilli Entenwilli requested a review from sebinside July 10, 2024 07:20
@Entenwilli
Copy link
Member Author

@sebinside @Nicolas-Boltz The requested changes as discussed yesterday are implemented!

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.

LGTM

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.

LGTM!!!!!11!!11elf

@sebinside sebinside merged commit 0e8dc2a into main Jul 10, 2024
@sebinside sebinside deleted the query-dsl branch July 10, 2024 09:03
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

Development

Successfully merging this pull request may close these issues.

Add Java-based internal DSL for formulating constraints

3 participants