次に、2 つのダイアグラムでのフローによるノード削減ルールの実行結果を示します。
サンプル 1 - フローによるフィルター ノードの削減
次のサンプル 1 のダイアグラム (図 1.1) を実装するスケマティック ダイアグラム テンプレートでは、赤いスケマティック ノードを削減するよう、フローによるノード削減ルールが定義されています。各スケマティック リンクに表示されている黒い矢印は、フローの向きを示します。
これらの赤いスケマティック ノードは、[タイプ] フィールドの値が E のステーション ノードによって実装されます。これらの特定のノードを除外するには、[ルール] タブで SQL フィルターを指定します。
その他のフローによるノード削減ルール属性は、この削減がシンクおよびソースのスケマティック フィーチャ ノードで行われないように指定されています。[リンク スケマティック フィーチャクラスから] オプションが選択され、論理フローを保持するために作成されたスケマティック フィーチャ リンクが、削減ノードから始まるリンクを実装するリンク スケマティック フィーチャクラスと同じスケマティック フィーチャクラスによって実装されます。
図 1.2 は、フローによるノード削減ルールをアクティブにしてダイアグラムが更新された後に得られた結果を示しています。上の図 1.2 では、重複リンクの切り離しスケマティック レイアウト アルゴリズムが実行され、赤いタイプ E のステーション ノードが削減されたループを示しています。
サンプル 2 - フローによるノードの削減
次のサンプル 2 のダイアグラム (図 2.1) では、フローによるノード削減ルールは白い三角形で示される TransformerBank スケマティック フィーチャ ノードを削減するように定義されます。これらはすべて同じスケマティック フィーチャクラスに関連付けられています。
フローによるノード削減ルール属性は、TransformerBank クラスによって実装されたすべてのスケマティック フィーチャで削減が行われるように指定されています。
その他のフローによるノード削減ルール属性は、この削減がシンクおよびソースのスケマティック フィーチャ ノードで行われないように指定されています。[リンク スケマティック フィーチャクラスから] オプションが選択され、論理フローを保持するために作成されたリンクが、削減ノードから始まるリンクを実装するリンク スケマティック フィーチャクラスと同じスケマティック フィーチャクラスによって実装されます。
図 2.2 は、この削減ルールをアクティブにしてダイアグラムが更新された後に得られた結果を示しています。