| Commit message (Collapse) | Author | Age |
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Since we don't do pre-matching for multi-objects, there's no way to fire a
decision rule with multiple focus arguments without creating a new concrete
object for each focus argument, even if they match the same multi-object.
To be more consistent with the multi-object case, we also don't allow the same
concrete object to appear as two distict focus arguments.
|
|
|
|
|
| |
We must mark any predicate definition in a rule action as mutable so that we can
collect assertions created by rules during model generation.
|
| |
|
|
|
|
|
| |
References marked as partial are not concretized during model generation. The
should be managed by the user manually using propagation rules instead.
|
|
|
|
|
| |
Make sure we appropriate quantify over the existence of objects in negative and
transitive calls in rule preconditions.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Require all abstract domain elements to implement the AbstractValue interface.
|
| |
|
|
|
|
|
|
| |
* Customizable operator overloads.
* Customizable aggregation operators.
* Simplify ProblemQualifiedNameProvider.
|
|
|
|
|
| |
Also changes ReferenceDeclaration to declare attributes, since reference and
attributes can only be distinguished at linking time.
|
|
|
|
|
|
|
|
| |
Make sure it is impossible to create clashing fully qualified names when
renaming a module by forbidding modules from referring to their own elements
with fully qualified names. Therefore, serializing a solution will not create
clashing fully qualified names (which would prevent serialization from
succeeding).
|
| |
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Efficiently store cross references even if default ref(*, *): false.
Uses propagation rules instead of view queries to reason about type constraints
and multiplicity.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
Use a simpler data structure for constructing simple names.
|
| |
|
|
|
|
| |
"#" should not appear in URI fragments, use "::" instead.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Use a simplified name invalidContainer, since this pattern may match even if
there is a sufficient number of ERROR containers.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Also makes model seeds cancellable to reduce server load during semantic
analysis.
|
|
|
|
|
| |
Decision trees can only handle relations with 1 level and up, so we use a
special case for nullary relations.
|
| |
|
|
|
|
|
| |
A new object should not be an instance of any subclasses.
Also, it should be possible cleare a node without any other type.
|
| |
|
|
|
|
|
| |
Also simplifies attributes and flags for now, as we don't translate them to
abstractions.
|
|
|
|
| |
Shorthad syntax for the most commonly used symbol types.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make sure we obey the REUSE (https://reuse.software) specification and the
origin, copyright owner, and license of all files are clearly marked.
The whole project is under the EPL-2.0, except for trivial files where copyright
is not applicable that are marked with the CC0-1.0 license. Moreover, code
included from third parties is also available under the respective license.
chore: add CONTRIBUTORS.md
List all authors and supporting organizations in accordance with the REUSE
specification.
|
|
|
|
| |
Use Adapters to simplify API usage.
|
|
|
|
|
|
| |
Prefers sealed non-generic interfaces over wildcard types to avoid
confusion about method return types, especially in collections
(see SonarQube rule java:S1452).
|
| |
|