コンピュータサイエンスにおいて、アクターモデルは1973 年に初めて発表され (Hewitt 他 1973)、並行計算の数学的モデルです。この記事では、モデルの基本的な能力の調査、構成性の問題の研究、アーキテクチャの開発、オープンシステムへの応用が主なテーマであったアクターモデルのその後の歴史について報告します。これは、最初の実装、最初のアプリケーション、および最初の証明理論と表示モデルの開発について報告するアクターモデル中期の歴史の続編です。
アクターモデルの力
アクター モデルの基本的な能力に関する調査が始まりました。Carl Hewitt [1985] は、アービターの使用により、アクター モデルは論理プログラミングよりも強力であると主張しました (並行計算における不確定性を参照)。
キース・クラーク、エルヴェ・ガレール、スティーブ・グレゴリー、ヴィジェイ・サラスワット、ウディ・シャピロ、カズノリ・ウエダなどによって、共有変数とデータ構造ストリームの統合を使用したPrologのような並行メッセージ パッシング システムのファミリーが開発されました 。これらの著者の中には、これらのシステムが数学的論理に基づいていると主張する人もいました。しかし、アクター モデルと同様に、Prolog のような並行システムはメッセージ パッシングに基づいており、その結果、アクターに送信されたメッセージの到着順序の不確定性と同様に、ストリーム内のメッセージの順序の不確定性に影響されました。その結果、カール・ヒューイットとグル・アガ [1991] は、Prolog のような並行システムは演繹的でも論理的でもないと結論付けました。これらのシステムが演繹的でないのは、計算手順が先行する手順から演繹的に続くものではないためであり、これらのシステムが論理的でないのは、先行する手順から後続の計算状況の事実を導き出すことができる数学的論理システムが存在しないためです。
構成性
構成性は、サブシステムからシステムを構成することに関係します。構成性の問題は、ラムダ計算やペトリネットなどの以前の計算理論にとって重大な制限であることが証明されています。 たとえば、 2 つのラムダ式はラムダ式ではなく、2 つのペトリネットはペトリネットではなく、互いに影響を与えることはできません。
Gul Agha は博士論文で、アクター モデルの構成性の問題について取り上げました。アクター構成には、外部からメッセージを受信できる受付係がおり、他のアクター構成の受付係のアドレスを持つことができます。このようにして、2 つのアクター構成を別の構成に合成し、そのサブ構成が相互に通信できるようになります。アクター構成には、複数のソースからメッセージを取得するためにポーリングする必要があるという欠点がなく、外部からメッセージを受信できる複数のアクター (つまり受付係) を持つことができるという利点があります (複数のチャネルからメッセージを取得する場合の問題を参照)。
オープンシステム
カール・ヒューイット[1985]は、オープン性がソフトウェアシステム開発における基本的な課題になりつつあると指摘しました。オープン分散システムでは、以下の課題を満たす必要があります。
- 単調性
- オープンな分散システムで一度公開されたものは、取り消すことはできません。
- 多元
- オープン分散システムのさまざまなサブシステムには、異種で重複し、場合によっては矛盾する情報が含まれます。オープン分散システムには、真実を判断する中央の仲裁者は存在しません。
- 無制限の非決定性
- オープン分散システムのサブシステム間では、非同期的にさまざまなサブシステムが起動したり停止したり、通信リンクが送受信されたりすることがあります。したがって、操作を完了するのにかかる時間を事前に制限することはできません (無制限の非決定性を参照)。
- 矛盾
- 大規模な分散システムでは、人間のユーザーの情報システムとのやりとりに関する情報が必然的に矛盾する。
Carl Hewitt と Jeff Inman [1991] は、分散人工知能で発生した問題に対処するために、オープン システムのセマンティクスの開発に取り組みました。Carl Hewitt と Carl Manning [1994] は、オープン システム向けの参加型セマンティクスの開発について報告しました。
コンピュータアーキテクチャ
カリフォルニア工科大学の研究者は、チャック・セイツのリーダーシップの下、最初のメッセージパッシングアクターアーキテクチャの1つであるコズミックキューブを開発しました。その後、 MITの研究者はビル・ダリーのリーダーシップの下、Jマシンを開発しました。
アクターセマンティクスを代数と線形論理に関連付ける試み
Kohei Honda と Mario Tokoro (1991)、José Meseguer (1992)、Ugo Montanari とCarolyn Talcott (1998)、M. Gaspari と G. Zavattaro (1999) は、アクター意味論を代数に関連付けようと試みました。また、John Darlington と YK Guo (1994) は、線形論理をアクター意味論に関連付けようと試みました。
しかし、上記の形式論のいずれも、サービスの保証という重要な特性には対処していません (無制限の非決定性を参照)。
最近の動向
アクター モデルの最近の開発は、いくつかのソースから行われています。
ハードウェア開発により、ローカルおよび非ローカルの大規模同時実行性が促進されています。ローカル同時実行性は、64 ビットのマルチコア マイクロプロセッサ、マルチチップ モジュール、および高性能インターコネクト用の新しいハードウェアによって実現されています。非ローカル同時実行性は、有線および無線のブロードバンド パケット交換通信用の新しいハードウェアによって実現されています。ローカルおよび非ローカルのストレージ容量は、どちらも飛躍的に増加しています。これらのハードウェア開発により、モデリングの課題が膨大になっています。Hewitt [Hewitt 2006a、2006b] は、アクター モデルを使用してこれらの課題に対処しようとしています。
参考文献
- Carl Hewitt、Peter Bishop、Richard Steiger (1973)。「人工知能のためのユニバーサル モジュラー アクター形式」。IJCAI。
{{cite journal}}:ジャーナルを引用するには|journal=(ヘルプ)が必要です - カール・ヒューイット。オープンシステムの課題、Byte Magazine、1985 年 4 月。 『人工知能の基礎 - ソースブック』ケンブリッジ大学出版局、1990 年に再版。
- Agha, Gul (1986)、「Actors: 分散システムにおける並行計算モデル」、MIT Press、hdl :1721.1/6952
- Carl Manning。Traveler : 俳優観測所ECOOP 1987。Lecture Notes in Computer Science、vol. 276 にも掲載されています。
- William Athas と Charles Seitzマルチコンピュータ: メッセージ パッシング同時実行コンピュータIEEE Computer 1988 年 8 月。
- William Dally および Wills, D.並行処理のための汎用メカニズムPARLE 1989。
- W. Horwat、A. Chien、W. Dally。CSTの経験: PLDI のプログラミングと実装。1989 年。
- カール・ヒューイット。 オープン情報システムセマンティクスに向けて、第 10 回国際分散人工知能ワークショップの議事録。1990 年 10 月 23 ~ 27 日。テキサス州バンデラ。
- 米沢明徳編『ABCL: オブジェクト指向並行システム』 MIT 出版、1990 年。
- K. Kahn と Vijay A. Saraswat、「同時制約 (ロジック) プログラミングの特殊なケースとしてのアクター」、SIGPLAN Notices、1990 年 10 月。Janusについて説明します。
- カール・ヒューイット。 オープン情報システムセマンティクス、人工知能ジャーナル。1991 年 1 月。
- Carl Hewitt および Jeff Inman。DAI Betwixt and Between: 「インテリジェント エージェント」からオープン システム サイエンスへ、 IEEE Transactions on Systems, Man, and Cybernetics。1991 年 11 月/12 月。
- Carl Hewitt および Gul Agha。 「ガードホーン節言語: 演繹的かつ論理的か?」第 5 世代コンピュータシステムに関する国際会議、オーム社、1988 年。東京。また、MIT の人工知能、第 2 巻にも掲載。MIT 出版、1991 年。
- 本田耕平さんと所マリオさん。 非同期通信のためのオブジェクト計算 ECOOP 91。
- José Meseguer.並行性と構成性に関する第 2 回ワークショップの選集における並行性の統一モデルとしての条件付き書き換えロジック。1992 年。
- William Dally他 「メッセージ駆動型プロセッサ: 効率的なメカニズムを備えたマルチコンピュータ処理ノード」 IEEE Micro 1992 年 4 月。
- S. Miriyala、G. Agha、Y.Sami。述語遷移ネットを使用したアクター プログラムの視覚化、Journal of Visual Programming。1992 年。
- - Gul Agha、Ian Mason、Scott Smith、Carolyn Talcott: Actor Computation の基礎、Journal of Functional Programming、1993 年 1 月。
- カール・ヒューイットとカール・マニング。 大規模危機管理のための交渉アーキテクチャ、協力的問題解決における紛争管理モデルに関する AAAI-94 ワークショップ。ワシントン州シアトル。1994 年 8 月 4 日。
- - John Darlington および YK Guo:線形論理におけるアクターの形式化、オブジェクト指向情報システムに関する国際会議。Springer-Verlag。1994 年。
- Carl Hewitt および Carl Manning。「 マルチエージェンシーシステムのための合成インフラストラクチャ」 ICMAS '96 議事録。京都、日本。1996 年 12 月 8 ~ 13 日。
- S. Frolund.分散オブジェクトの調整: 同期のためのアクターベースのアプローチMIT Press. 1996 年 11 月。
- W. Kim. ThAL: 効率的でスケーラブルな同時コンピューティングのためのアクター システム、博士論文。イリノイ大学アーバナ シャンペーン校。1997 年。
- - マウロ・ガスパリとジャンルイジ・ザヴァッタロ:アクターの代数、技術レポート UBLCS-97-4、ボローニャ大学、1997 年 5 月
- Ugo Montanari と Carolyn Talcott。 俳優と Pi エージェントは共存できるか? 理論計算機科学における電子ノート。1998 年。
- - M. Gaspari および G. Zavattaro:オープン オブジェクト ベース システムのためのアクターの代数形式手法、1999 年。
- N. Jamali、P. Thati、G. Agha。エージェント アンサンブルのカスタマイズと制御のためのアクター ベース アーキテクチャ、 IEEE Intelligent Systems。14(2)。1999 年。
- P. Thati、R. Ziaei、G. Agha。オープン オブジェクト ベース分散システムのためのアクター形式手法のメイ テスト理論。2002年 3 月。
- P. Thati、R. Ziaei、G. Agha。局所性と名前の一致がない非同期計算の may テストの理論、代数的方法論とソフトウェア技術。Springer Verlag。2002 年 9 月。LNCS 2422。
- - Gul Agha と Prasanna Thati。アクターの代数理論とシンプルなオブジェクトベース言語へのその応用、OO から FM まで (Dahl Festschrift) LNCS 2635。Springer-Verlag。2004 年。
- Carl Hewitt。 論理プログラミングの度重なる衰退とそれが復活する理由 何が間違っていたのか、そしてその理由: AI 研究とアプリケーションからの教訓。技術レポート SS-06-08。AAAI プレス。2006 年 3 月 b。
- カール・ヒューイット「コミットメントとは何か? 物理的、組織的、社会的」COIN@AAMAS。2006a。
