コンディショナルノード
コンディショナルノード(conditional node)
コンディショナルノードは複数の節(clause)から構成される。
それぞれの節は、テスト:ボディの形式をしていて、テスト部分に指定された条件が成り立つ場合に限り、ボディが実行される。
複数のテストの結果が真になった場合であっても、実行されるのは1つのボディだけ。ただしどのボディが実行されるかは予測不可(特に条件を指定した場合は別)
また、すべてのテストが偽を返した場合、ボディはまったく実行されない。
複数のテストが真を返したり、全部のテストが偽を返したりするようなモデリングはしないこと。ただし、セマンティクス的には間違いの可能性があっても、文法上は許可される。
属性
- isAssured
- これがtrueの場合、少なくとも1つのテストが真を返すことを保証した状態。
- isDeterminate
- 最大1つのテストのみが真を返しどのボディが実行されるかが決定的であることを保証した状態。
また、節(Clause)の間の関連(predecessorClauseとsuccessorClause)は、テストの実行順序を指定した場合の前後関係を示す。
- predecessorClause
- より前ってこと。
- successorClause
- より後ろってこと。