Skip to content

Set operations not yet supported for instance flows #18

@modelint

Description

@modelint

Scrall doesn't parse the desired expression:

flots ..= a/R1/Flot + b/R2/R3/Flot

or even

flots ..= x + y

Both operations are intended to produce the union of two instance reference sets which assumes they are both defined by the same modeled class.

This is because the ..= symbol cause sthe expression to be processed as an instance assignment which operates only on instance sets. But an instance set is a thing like a path or a selection. There is no provision in the grammar to represent an instance computation as we have in a scalar assignment / expression.

Workaround:

User can either do the magic in a select expression, possibly more awkward, or cast members to relation (table) flows, apply the union operator + and then cast back to instance references. Like this:

flot table #= x + y // use table union operator to produce a table output flow
flots ..= flot table // cast that table flow back

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions