Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[] OCL recursive operation


I am trying to set up a recursive operation in OCL so that I get all
objects that are associated to a certain one (and only those). The
context is a BPMN2 process graph and I wish to get a collection with all
connectors (i.e. sequence flows) that are successors of a certain node)

My constraint looks like this:

context FlowNode

def:	getOutgoingSF(FN : FlowNode) : Set(SequenceFlow)

FN.outgoing.targetRef gets the direct successor node(s) of the current node.

As such an operation is not really testable with the OCL Interactive
Console (my current choice for trying out constraints) I am using
Dresden OCL ( to
evaluate my constraints.

Alas, the syntax checker complains that he can neither resolve the
second getOutgoingSF nor (what is strange) the predefined operations
asSet() and union().

Now, I am unsure if my recursive code is wrong or if there is some issue
with Dresden OCL. Or if there is anything else that i did not think of
(maybe also a simpler way to achieve my goal).

Any help would be greatly appreciated and already thanks for reading this.


Back to the top