AkkaアクターとJadeエージェントの概念に大きな違いはありますか?
私が知っていることから、両方とも、メッセージを送信することで通信できる独立したエンティティ (システム ロジックのチャンクを含む) を作成することにより、システム分散を実装します。
それらを異なるものにする他の要因はありますか(パフォーマンスや意図された目的など)?
AkkaアクターとJadeエージェントの概念に大きな違いはありますか?
私が知っていることから、両方とも、メッセージを送信することで通信できる独立したエンティティ (システム ロジックのチャンクを含む) を作成することにより、システム分散を実装します。
それらを異なるものにする他の要因はありますか(パフォーマンスや意図された目的など)?
私は以前に JADE について知りませんでした。私は Akka のテクニカル リードです。
彼らのサイトをざっと見てみると (おそらく、はるかに小さな画面で表示されるはずです)、彼らのエージェントはアクターのシリアル メッセージ処理部分を行っているように見えますが、監視が不足しているためフォールト トレランスがなく、ブロックまたはブロックのいずれかを推奨しているようです。 Akka のアクターは完全にイベント ドリブンであるため、リソース (スレッド) の消費が少なくなります。Programmer's Guide を見ると、コンセプトは主に GUI 開発のユースケース向けに開発されているように見えますが、Akka アクターは特定のものではなく、あらゆる種類の計算や相互作用のモデル化に使用できます。
表面的な検索でつまずいた非常に大きな違いの 1 つは、エージェントとアクターに提供されるインターフェイスのサイズです。Akka の抽象化はより単純で、したがってより強力である可能性があります。
ホスト間でエージェントを移動する機能は興味深いようですが、まだ実装する必要があります (ロードマップを参照)。
JADE 側で何かが欠けていなければ、Akka は完全に非ブロッキングのアクター、構成可能な Future と組み合わせた ask パターン (つまり、java.util.concurrent からのブロッキングのものではなく、変換メソッドを使用) を使用したリアクティブ プログラミングのサポートがはるかに優れています。非同期合成用)、STM サポートなど。
JADE がどのようにそれを行うのかはわかりませんが、Akka では、構成を変更するだけでアクターを柔軟にスケールアップおよびスケールアウトできます。ルーティングを参照してください。
最後になりましたが、Akka にはクラスターサポートがあり、JADE には対応する機能が見つかりませんでしたが、ここでもあまり深く掘り下げていません。
私が気づいたことの 1 つ: Akka を試すのにログインは必要ありません ;-)
再び1年後....フェイルオーバーがJadeの鍵であることを確認できます。メカニズムのいくつかに言及すると、バックアッププラットフォーム、仮想複製エージェントの概念、ステートレスメディエーターコンテナー(切断とIP変更の処理)、永続性メッセージ配信。Wade はフォールト トレランスにさらに追加します: http://jade.tilab.com/wade/doc/WADE-User-Guide.pdf。
Jade はほとんど GUI 開発を対象としていません。
Jade のもう 1 つの強力な機能は、エージェントがネットワーク経由の双方向通信にポートを開く必要がなく、プラットフォームとバックアップのみがポートを開く必要があることです。
さらに、STM (finite state machine) は Jade の重要な部分であり、FIPA 会話モデルは STM を使用して実装されています。Jade エージェントは、メッセージの送受信はあまり行いませんが、ワークフローで会話を実行します。
クラスタリングは Jade では利用できませんが、Wade は、分散エージェントのプールが特定のタスクを処理する構成可能なエージェント プールを提供します。
Elastic scaling と Jade については、いくつかの調査が行われていますが、その状況はわかりません。おそらく、jvm レベルでエラスティック スケーリングに対処する方がよいでしょう。
Jade と Akka の両方で注意が必要なテーマは、分散メッセージ ベースのソリューションにおけるセキュリティ (ID、認証、承認) です。
結論として、Jade は一目見ただけでわかるよりもはるかに強力で機能が豊富です。ジェイドには近代化が必要です。
Akka と Jade がどのように相互に利益をもたらすか、AkkaAgent を調査するのは興味深いことです。