Subject: Dead Path Elimination and Join Conditions
This is a question dealing with a pathological condition that the spec allows that I think we should disallow. I wanted to get some opinions before I raised it as a bug. Currently, it is legal to have a joinCondition which negates dead-path elimination. The simplest way to do this is to have an activity with one incoming link and whose joinCondition is not($incoming). A more detailed expression of this follows. Apologies if the syntax isn't quite right.
A flow from first to second to third. The transition from "first" to "second" has some condition. If it is false, "second" will not evaluate. Yet according to my reading of the spec this merely sets the link status of "second2third" to false, which in turn causes "third" to execute.
This is in contradiction with my understanding of dead-path elimination. I would prefer to disallow joinConditions whose expression does not require a true input in order that the join condition evaluate to true. Comments?