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

Add support for relation evaluation similar to expression evaluation #139

Open
eclipse-viatra-bot opened this issue Mar 12, 2024 · 7 comments
Labels
bugzilla Issues migrated from Eclipse bugzilla. Query Issues related to the query component of VIATRA, including runtime or pattern language issues.

Comments

@eclipse-viatra-bot
Copy link

| --- | --- |
| Bugzilla Link | 580745 |
| Status | UNCONFIRMED |
| Importance | P3 normal |
| Reported | Sep 16, 2022 06:49 EDT |
| Modified | Nov 29, 2022 06:58 EDT |
| Version | 2.8.0 |
| See also | Gerrit change 195861, Git commit 643edd93, Gerrit change 196456, Git commit 4c7f4ade, Gerrit change 196471, Git commit d3f7ea9a, Gerrit change 197358 |
| Reporter | Tamas Szabo |

Description

Viatra already supports the ExpressionEvaluation constraint which can be used to plug-in arbitrary Java code (meeting certain assumptions) that computes an output value given an input tuple. The ask here is to support this kind of extensibility on the relation level, as well. The idea is to add a relation evaluation constraint which can take an arbitrary number of input relations and produce a single output relation. High-level requirements are as follows:

  • The evaluation logic is arbitrary Java code that can be plugged in to the evaluator similar to how the expression evaluation does that.
  • The relation evaluator is envisioned as a non-incremental "island" in the computation network. It takes entire input relations and produces entire output relation. It is the computation network's responsibility to incrementalize the output by computing the output delta compared to the previously computed results.
  • Given that the relation evaluation takes entire input relations, it is infeasible to call it again and again every time the input relation changes by just one tuple. Ideally, the input changes shall be delayed until we can collect all input changes in the current update cycle and then send all of them in batch-style to the relation evaluator.
@eclipse-viatra-bot
Copy link
Author

Sep 16, 2022 07:06

New Gerrit change created: https://git.eclipse.org/r/c/viatra/org.eclipse.viatra/+/195861

@eclipse-viatra-bot eclipse-viatra-bot added bugzilla Issues migrated from Eclipse bugzilla. legacy Query Issues related to the query component of VIATRA, including runtime or pattern language issues. labels Mar 12, 2024
@eclipse-viatra-bot
Copy link
Author

@eclipse-viatra-bot
Copy link
Author

Oct 21, 2022 07:31

New Gerrit change created: https://git.eclipse.org/r/c/viatra/org.eclipse.viatra/+/196456

@eclipse-viatra-bot
Copy link
Author

@eclipse-viatra-bot
Copy link
Author

Oct 24, 2022 09:40

New Gerrit change created: https://git.eclipse.org/r/c/viatra/org.eclipse.viatra/+/196471

@eclipse-viatra-bot
Copy link
Author

@eclipse-viatra-bot
Copy link
Author

Nov 29, 2022 06:58

New Gerrit change created: https://git.eclipse.org/r/c/viatra/org.eclipse.viatra/+/197358

ujhelyiz pushed a commit that referenced this issue Mar 18, 2024
* The Rete recipe compiler is now extensible through the use of
ExternalQueryPlanProvider.
* JoinCandidate visibility is changed, so that
ExternalQueryPlanProviders can reuse the class.
* The communication tracker correctly considers the dependencies between
relation evaluator nodes, batching receivers, and the batching
receivers' transitive sources.
* Small performance improvement in RelationEvaluatorNode to guard
against spurious batchUpdateCompleted calls as much as possible.

Signed-off-by: Tamas Szabo <szabta89@github.com>
Change-Id: I948e80a3057f63416a78c072073107960678adeb
@ujhelyiz ujhelyiz removed the legacy label Mar 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bugzilla Issues migrated from Eclipse bugzilla. Query Issues related to the query component of VIATRA, including runtime or pattern language issues.
Projects
None yet
Development

No branches or pull requests

2 participants