コンピュータサイエンスにおいて、アクターモデルは1973 年に初めて発表され (Hewitt 他 1973)、並行計算の数学的モデルです。この記事では、初期の実装、初期のアプリケーション、最初の証明理論と表示的モデルの開発が主なテーマであったアクターモデルの中期の歴史について報告します。これは、概念の基本的な開発に関係したアクターモデルの初期の歴史を報告するアクターモデルの初期の歴史の続編です。記事「アクターモデルの後の歴史」では、この記事で報告された後の開発について報告します。
アクターシステムの特性の証明
カール・ヒューイット[1974]は、次のようなアクター誘導の原理を発表しました。
- 俳優がx財産があるポ作成されたとき
- さらに、もしx財産があるポメッセージを処理するとき、それはプロパティを持っていますポ次のメッセージを処理するときに。
- それからx常にその性質を持つポ。
米澤明氏は博士論文で、マイグレーションを利用するものも含め、アクターシステムの特性を証明するためのさらなる手法を開発しました。ラス・アトキンソン氏とカール・ヒューイット氏は、共有リソースの保護者であるシリアライザーの特性を証明するための手法を開発しました。ジェリー・バーバー氏の博士論文は、知識オフィスシステムにおける変更に関する推論に関するものでした。
ガベージコレクション
ガベージ コレクション(未使用のストレージの自動再利用) は、Actor モデルの開発における重要なテーマでした。
ピーター・ビショップは博士論文で、分散システムにおけるガベージ コレクションのアルゴリズムを開発しました。各システムは、他のシステムとの間のポインターのリンクのリストを保持していました。循環構造は、循環構造がガベージ コレクターがストレージを回復できる単一のシステムに完全に収まるまで、アクター (オブジェクト) をアドレスを持つ他のシステムに段階的に移行することによって収集されました。
ヘンリー・ベイカーは、博士論文でリアルタイムのガベージコレクションのアルゴリズムを開発しました。基本的な考え方は、コレクションの実行中に長い休止期間が発生しないように、コレクションアクティビティと構築アクティビティを交互に実行するというものでした。増分ガベージコレクションを参照してください。
Henry Lieberman と Carl Hewitt [1983] は、Actor (オブジェクト) のライフタイムに基づいたリアルタイム ガベージ コレクションを開発しました。基本的な考え方は、世代ごとに Actors (オブジェクト) を割り当てて、ガベージ コレクション中に最新の世代のみを検査するというものでした。世代別ガベージ コレクションを参照してください。
アクタープログラミング言語
Henry Lieberman、Dan Theriaultらは、 Act1 というアクター プログラミング言語を開発しました。その後、Dan Theriault は修士論文で Act2 を開発しました。これらの初期の概念実証言語は、かなり非効率的で、アプリケーションには適していませんでした。Ken Kahn は博士論文で Ani を開発し、これを使用していくつかのアニメーションを開発しました。Bill Kornfeld は博士論文でScientific Community Metaphor用の Ether プログラミング言語を開発しました。William Athas と Nanette Boden [1988] は、科学計算用のアクター プログラミング言語である Cantor を開発しました。Jean-Pierre Briot [1988、1999] は、Smalltalk 80 をアクター計算用に拡張する手段を開発しました。Christine Tomlinson、Mark Scheevel、Greg Lavender、Greg Meredithら[1995] は、MCC で、Rosette の InfoSleuth エージェント用のアクター プログラミング言語を開発しました。
Carl Hewitt、Beppe Attardi、Henry Lieberman [1979] は、メッセージ パッシングにおける委任に関する提案を展開しました。これにより、オブジェクト指向並行プログラミング言語におけるいわゆる継承異常論争が起こりました [Satoshi Matsuoka と Aki Yonezawa 1993、Giuseppe Milicia と Vladimiro Sassone 2004]。
アクターシステムの表示モデル
ウィル・クリンガーは博士論文で、アクター システムの最初の表示的モデルを開発しました。アクター モデルの表示的意味論を参照してください。
参考文献
- Carl Hewitt、Peter Bishop、Richard Steiger (1973)。「人工知能のためのユニバーサル モジュラー アクター形式」(文書)。IJCAI。
- Carl Hewitt他 「アクター誘導とメタ評価」ACM プログラミング言語の原理に関するシンポジウム会議記録、1974 年 1 月。
- Peter Bishop超大規模アドレス空間モジュール拡張可能コンピュータ システムMIT EECS 博士論文。1977 年 6 月。
- 米澤明 「メッセージ パッシング セマンティクスに基づく並列プログラムの仕様と検証手法」 MIT EECS 博士論文。1977 年 12 月。
- ヘンリー・ベイカー.リアルタイム計算のためのアクターシステムMIT EECS 博士論文. 1978 年 1 月.
- ケン・カーン。アニメーションの計算理論、 MIT EECS 博士論文。1979 年 8 月。
- Carl Hewitt、Beppe Attardi、Henry Lieberman。 メッセージ パッシングの代表団、第 1 回国際分散システム会議議事録、アラバマ州ハンツビル。1979 年 10 月。
- Carl Hewitt と Russ Atkinson。 シリアライザの仕様と証明手法、 IEEE Journal on Software Engineering、1979 年 1 月。
- Russ Atkinson. シリアライザの自動検証MIT 博士論文。1980 年 6 月。
- ビル・コーンフェルドとカール・ヒューイット。 科学コミュニティのメタファー、 IEEE Transactions on Systems, Man, and Cybernetics。1981 年 1 月。
- ヘンリー・リーバーマン。混乱せずに一度にたくさんのことを考える: 第 1 幕の並列性、 MIT AI メモ 626。1981 年 5 月。
- ヘンリー・リーバーマン。第 1 幕のプレビュー、 MIT AI メモ 625。1981 年 6 月。
- ジェリー・バーバー。 知識オフィス システムの変化に関する推論MIT EECS 博士論文。1981 年 8 月。
- ビル・コーンフェルド。 問題解決における並列性、 MIT EECS 博士論文。1981 年 8 月。
- ウィル・クリンガー。 アクターセマンティクスの基礎、MIT 数学博士論文。1981 年 6 月。
- Daniel Theriault。Act -1 言語入門 MIT AI メモ 672。1982 年 4 月。
- Henry Lieberman と Carl Hewitt。 オブジェクトの寿命に基づいたリアルタイム ガベージ コレクター、CACM、1983 年 6 月。
- ダニエル・テリオー。Act 2 の設計と実装における問題、 MIT AI 技術レポート 728。1983 年 6 月。
- ヘンリー・リーバーマン。 アメリカ人工知能協会養蜂場会議のためのオブジェクト指向シミュレータ、ワシントン DC、1983 年 8 月
- Carl Hewitt と Peter de Jong。 オープン システムにおける記述とアクションの役割の分析、人工知能に関する全国会議の議事録。1983 年 8 月。
- Jean-Pierre Briot。 オブジェクトからアクターへ: Smalltalk における限定的な共生の研究 - 80 Rapport de Recherche 88-58、RXF-LITP、パリ、フランス、1988 年 9 月。
- William Athas と Nanette Boden Cantor: 科学計算のためのアクター プログラミング システム、 NSF ワークショップの議事録、オブジェクト ベースの並行プログラミング。1988 年、SIGPLAN 通知の特別号。
- 松岡聡、米澤亜希。 オブジェクト指向並行プログラミング言語における継承異常の分析、 並行オブジェクト指向プログラミングの研究方向、MIT 出版、1993 年。
- Darrell Woelk。Rosette を使用した InfoSleuth エージェントの開発: アクター ベース言語、インテリジェント情報エージェントに関する CIKM '95 ワークショップの議事録。1995 年。
- Jean-Pierre Briot. Acttalk: オブジェクト指向並行プログラミングのためのフレームワーク - 設計と経験第 2 回フランス - 日本ワークショップ。1999 年。
- ジュゼッペ・ミリシアとウラジミロ・サッソーネ。 「継承の異常: SAC の 10 年後」、キプロス、ニコシア、2004 年 3 月。
