並列分散処理は高いスケーラビリティを求められる一方で、タスク分割・通信制御・データ整合性など管理するべきことが多く、とにかく開発が複雑になりがちな領域です。
そういった課題に対し、アクターモデルはソフトウェアを「アクター」という小さなメッセージ駆動単位に分割することで、スケーラブルかつ扱いやすい計算モデルを提供します。
さらにアクター間のメッセージに静的な型を付けることで、不正な通信をコンパイル時に防ぐことができます。
トヨタ自動車では、Scalaの型付きアクターモデルライブラリPekkoを基盤として、人流シミュレータ・交通シミュレータ・ドライビングシミュレータ・VRなどをリアルタイムに連携する分散メッセージングフレームワークArkTwinをOSSとして開発しています。
ArkTwinでは大量の時空情報を低遅延で処理する必要があり、型付きアクターモデルの恩恵なしには実現できませんでした。
本セッションでは、ArkTwinの開発を通じて得られた知見をもとに型付きアクターモデルの利点と実装パターンについて紹介し、それらがもたらす分散シミュレーションの未来像についてお話します。