自然にグラフ構造をとると思われる計算のクラスがあります。複数の入力、ファン アウトするノード、および他のいくつかのノードの結果を必要とするノードがあるため、グラフは線形とはほど遠いものです。これらすべての計算には、複数のシンクも存在する可能性があります。ただし、サイクルは存在しません。入力ノードが更新され (一度に 1 つずつである必要はありません)、それらの値が (この時点では純粋に概念的な) グラフを流れます。ノードは入力が変化しても状態を保持し、計算は入力に対して順番に実行する必要があります。
私はそのような計算をかなり頻繁に書かなければならず、毎回アドホックなコードを書くことに気が進まないので、さまざまな頂点のクラスを書くことによってそのような計算を簡単にまとめられるように小さなライブラリを書いてみました。ただし、私のコードはかなり洗練されておらず、これらの計算の並列構造をまったく利用していません。通常、各頂点は軽量ですが、計算は非常に複雑で「広範囲」になる可能性があります。問題をさらに複雑にしているのは、これらの計算の入力がループ内で非常に頻繁に更新されることです。幸いなことに、問題は十分に小さいので、1 つのノードで処理できます。
誰も似たようなことを扱ったことがありますか?どのようなアイデア/アプローチ/ツールをお勧めしますか?