aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects
Commit message (Collapse)AuthorAge
* feat(language): arity validationLibravatar Kristóf Marussy2023-11-19
|
* fix: upper and lower scopesLibravatar Kristóf Marussy2023-11-19
| | | | | | | | | Make sure the scope bound guides the best-first search and is always obeyed even if it can't be fully represented using the scoped partial model abstraction. For representable bounds (classes and unary predicate that are always fully knwon to be false or true in the initial model) this leads to duplicated computations.
* chore(deps): bump dependenciesLibravatar Kristóf Marussy2023-11-19
|
* fix: contains assertionsLibravatar Kristóf Marussy2023-11-17
|
* feat(language): opposite reference validationLibravatar Kristóf Marussy2023-11-17
|
* fix: scope upper boundsLibravatar Kristóf Marussy2023-11-17
|
* refactor(language): opposite content assistLibravatar Kristóf Marussy2023-11-17
| | | | Only show references that may plausibly appear in an opposite declaration.
* feat: predicates as reference typesLibravatar Kristóf Marussy2023-11-17
| | | | | | | | | | Now unary predicates may be used as types for cross-references. This might create circular references between predicate, but no differently than when the user manually creates predicates with circular references. The reference types of containment and container references still have to be classes, because we use the class hierarchy to encode contained types.
* feat(language-ide): content assist filteringLibravatar Kristóf Marussy2023-11-17
|
* feat(language): validate unique namesLibravatar Kristóf Marussy2023-11-17
|
* feat(langugage): detect ambiguous referencesLibravatar Kristóf Marussy2023-11-17
|
* build: prepare for Maven publicationLibravatar Kristóf Marussy2023-11-17
|
* refactor: smenatics and facadesLibravatar Kristóf Marussy2023-11-03
| | | | | Also moves model metadata into language-web, since we only use it on the frontent.
* refactor(langauge-web): use generator facadesLibravatar Kristóf Marussy2023-11-03
|
* feat: model semantics facadeLibravatar Kristóf Marussy2023-11-03
|
* feat: model generator facadeLibravatar Kristóf Marussy2023-11-03
|
* refactor(interpreter): aggreagator batchingLibravatar Kristóf Marussy2023-10-26
| | | | | | | | | | | | | Optimize calls to potentially costly aggregators by only extracting the value from a stateful aggregator when it is needed by subsequent RETE nodes. This optimization only works with timeless evaluation and delete-and-rederive evaluation disabled, i.e., only for queries without any recursion. Potentially, it could also be extended to other mailboxes if needed. We replace the BehaviorChangingMailbox of ColumnAggregatorNode with a DefaultMailbox to force update batching. Batched updates only extract the value from the aggregator when it has been already updated with all received tuples.
* chore(deps): bump dependenciesLibravatar Kristóf Marussy2023-10-19
|
* fix(frontend): contains contextual keywordLibravatar Kristóf Marussy2023-10-16
| | | | | | | Make sure contains is parsed as a contextual keyword whenever possible. The existing cut operator wasn't sufficient for this, so we also add dynamic precedence to the grammar rule.
* refactor(interpreter): communication tracker algorithmLibravatar Kristóf Marussy2023-10-15
| | | | | | | Use a faster algorithm to detect cycles in the RETE network. Only if cycles are detected fall back to the transitive closure algorithm to construct the SCCs and the reduced graph.
* refactor(interpreter): generify RepresentativeElectionAlgorithmLibravatar Kristóf Marussy2023-10-15
| | | | | Let representative election be used in places where IncSCCAlg was used with generic arguments other than Object.
* refactor(semantics): simple name creationLibravatar Kristóf Marussy2023-10-15
| | | | Use a simpler data structure for constructing simple names.
* refactor(interpreter-rete): recipe hashingLibravatar Kristóf Marussy2023-10-14
| | | | | | | | | | | | | | | | | | | | | | Use isomorphism-aware hashing to speed up RecipeRecognizer. Due to possibly cyclic (recursive) recipes, we can't recursively turn recipes into a canonical form. Recipes referring to already canonical (non-recurisve, or recursive and entirely canonicalized) recipes can be hashed, while recursive recipes in the middle of caninicalization still have to be compared more slowly by their contents. To keep the list of recipes compared by contents small, recipes are assigned a hash code whenever possible. We keep the equivalence class IDs for recipes, as there might be hash code clashes, as well as recursive recipes that only later get assigned a hash code. Also fixes a concurrency problem with equivalence class IDs by using an AtomicLong. Also reworks recipe instantiation, as now recipes might be canonicalized before they are instantiated.
* fix(query-interpreter): register Recipes packageLibravatar Kristóf Marussy2023-10-14
| | | | | Make sure we never fall back to reflective EObjectImpl instead of generated classes when comparing recipes, as the reflective version is much slower.
* feat(frontend): save in URL fragmentLibravatar Kristóf Marussy2023-09-26
|
* fix(query-interpreter): functional dependenciesLibravatar Kristóf Marussy2023-09-19
|
* fix(frontend): typo in EditorThemeLibravatar Kristóf Marussy2023-09-19
|
* fix(frontend): XState warningLibravatar Kristóf Marussy2023-09-17
| | | | Make sure we do not create conflicting transitions.
* fix(frontend): compilation on WindowsLibravatar Kristóf Marussy2023-09-17
|
* chore(deps): bump frontend dependenciesLibravatar Kristóf Marussy2023-09-17
|
* chore: remove VIATRA brandingLibravatar Kristóf Marussy2023-09-16
| | | | | | | | Rename VIATRA subprojects to Refinery Interpreter to avoid interfering with Eclipse Foundation trademarks. Uses refering to a specific (historical) version of VIATRA were kept to avoid ambiguity.
* build: fix Sonar quality gate issuesLibravatar Kristóf Marussy2023-09-16
| | | | | Removes VIATRA sources from coverage anaylsis, since those files are maintained by the VIATRA project.
* Merge remote-tracking branch 'upstream/main' into partial-interpretationLibravatar Kristóf Marussy2023-09-14
|\
| * SuppressWarnings for using pseudorandom number generator in non-security ↵Libravatar nagilooh2023-08-25
| | | | | | | | sensitive contexts
| * Add missing copyright headersLibravatar nagilooh2023-08-25
| |
| * Move equivalence checking to new methodLibravatar nagilooh2023-08-25
| | | | | | | | | | | | Also: - Rename Symbol to Variable - Make fire for InsertAction with low arity faster
| * Add delete action and additional tests for equalsLibravatar nagilooh2023-08-25
| |
| * Add new transformation rule actionsLibravatar nagilooh2023-08-24
| | | | | | | | | | - TransformationActions can be created after creating the model - equivalence of actions can be checked
* | feat: specify random seed for generationLibravatar Kristóf Marussy2023-09-14
| |
* | fix(frontend): keep live while model generationLibravatar Kristóf Marussy2023-09-13
| | | | | | | | | | Do not close the connection in a background tab if the model generation is still running, because closing the connection will immediately cancel generation.
* | refactor: do not construct uneeded interpretationLibravatar Kristóf Marussy2023-09-13
| | | | | | | | | | | | Model generation only has to extract the candidate interpretaion, partial intepretation queries are only needed if they appear in a rule, constraint, or objective.
* | fix: hide new node names in generated modelsLibravatar Kristóf Marussy2023-09-13
| |
* | fix: multiplicity error for non-existing objectsLibravatar Kristóf Marussy2023-09-13
| |
* | fix: example Statechart specificationLibravatar Kristóf Marussy2023-09-13
| | | | | | | | The default multiplicity is [0..1].
* | chore(deps): bump dependenciesLibravatar Kristóf Marussy2023-09-13
| |
* | refactor(frontend): generation appearance fixesLibravatar Kristóf Marussy2023-09-13
| | | | | | | | | | * Allow scrolling the tab bar. * Less prominent error text.
* | fix: multi-objects with lower bound of 1Libravatar Kristóf Marussy2023-09-13
| | | | | | | | | | If an object has a lower bound of 1, but it is still a multi-object, model generation can't be finished yet.
* | refactor(frontend): hide non-existent nodesLibravatar Kristóf Marussy2023-09-12
| |
* | fix: SVG clipping path in FirefoxLibravatar Kristóf Marussy2023-09-12
| | | | | | | | "#" should not appear in URI fragments, use "::" instead.
* | feat: connect model generator to UILibravatar Kristóf Marussy2023-09-12
| |