要旨:主流のランタイム上のアクターフレームワークは、Erlang/OTPスタイルの監督機能を謳っているが、OTPの整合性に関する契約は同期的かつシングルスレッドの監督者を前提としており、ポートもその前提の欠如を無検証のリスクとして引き継いでいる。我々は、固定されたリビジョンにおけるさらに3つのRust製アクターフレームワークのソースコードと、OTPのドキュメントおよびソースコードを逐語的に精読し、各監督保証について評価を行った。そのうえで、各設計決定の裏付けとなる証拠を記録した。盲目的な対抗審査およびフレームワーク間比較調査により、24種類の不具合クラスが明らかになり、そのうち8つは単一の根本原因に帰着する――すなわち、同期的な監督者が暗黙的に担保している原子性を、明示的なメカニズムによって再構築しなければならない点である。そこで、監督者が所有する完了値、インスタンスごとの固有識別子、そして単一のライフサイクル状態機械を通じて、列挙された24種類の不具合クラスをすべて解消する監督ランタイムを提案する。この実装は、復元済み修正の再現テストを含む241件のテストによって検証されている。その結果、OTPが逐語的に検証済みの契約を維持しつつ、OTPにはない二つの特性を付加している。すなわち、グループ全体の再起動中も常に応答し続ける監督者、および実行途中に決してキャンセルされないメッセージハンドラである。さらに、いかなる協調型ランタイムでも遵守できない強制保証の範囲を明示した。
提出履歴
Paperへのアクセス:
PDFを表示
HTML(実験的)
TeXソース
追加機能
オーディオ要約
現在の閲覧コンテキスト:
参考文献および引用
Google Scholar
セマンティック・スカラー
ブックマーク
機関
arXivLabsは、共同作業者が当社のウェブサイト上で新しいarXiv機能を直接開発・共有できるフレームワークです。
arXivLabsと協働する個人および組織は、いずれも当社の価値観であるオープン性、コミュニティ、卓越性、そしてユーザーデータのプライバシーを尊重し、受け入れています。arXivはこれらの価値観に固くコミットしており、それらを遵守するパートナーのみと協力しています。
arXivのコミュニティに価値をもたらすプロジェクトのアイデアをお持ちですか?arXivLabsについて詳しくご覧ください。