| Commit message (Collapse) | Author | Age |
| |
|
| |
|
|
|
|
| |
Use a transient attribute instead of an adapter.
|
| |
|
|
|
|
| |
This reverts commit c6e70f5a01c877b560d4561f22a830c1ce1c6dbe.
|
|
|
|
|
| |
We never need to infer names for modules not added by import, because importing
a problem (i.e., a Resource manually added into the ResourceSet) is not allowed.
|
|
|
|
|
| |
Modules without an explicitly declared name get a name automatically inferred
from their path.
|
| |
|
|
|
|
|
|
| |
* Use fully qualified names starting with :: (as in C++) to unambiguously refer
to an element.
* Name shadowing within modules.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* New default file extension: .refinery (.problem is also supported).
* Add module keyword for self-contained modules.
* Rename indiv declarations to atom declaration.
* Add node and multi declarations for explicitly declared nodes and
multi-objects, respectively.
|
|
|
|
|
|
| |
IntelliJ can handle dependencies between test configurations going in the
reverse direction compared to dependencies between main configurations, but
Eclipse can't. Manually copy some code over to break the reverse dependency.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
We use a palette-based coloring strategy, where each class and enum gets a color
from
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Efficiently store cross references even if default ref(*, *): false.
Uses propagation rules instead of view queries to reason about type constraints
and multiplicity.
|
|
|
|
|
|
|
| |
Updates references to Eclipse in documentation (but IntelliJ is the preferred
editor now).
Also fixes incompatibilities with the Eclipse compiler.
|
|
|
|
| |
Also bumps other dependencies.
|
|
|
|
| |
We were spuriously counting lower multiplicity errors for non-existent objects.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Only show references that may plausibly appear in an opposite declaration.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Also moves model metadata into language-web, since we only use it on the
frontent.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|