ルートプランナー
ルートプランナーは、2地点間の経路候補を計算する経路探索エンジンです。
主にユーザーモデルが経路候補を評価するために利用しますが、 経路情報が必要な他のコンポーネントから呼び出される場合もあります。
インターフェースと通信モデル
ルートプランナーは MaaS Blender の他のコンポーネントと異なりイベントを介して相互作用しません。 代わりに REST API を公開し、出発地・目的地時間制約に応じた経路を探索します。
責務
ルートプランナーの責務は次の通りです。
- 地点間の経路候補を計算する
- ユーザーモデルが評価可能な構造化された経路情報を返す
ルートプランナーはシミュレーション内で主体的に行動を開始せず、イベントフローにも直接参加しません。
前提と制約
計算効率と他のコンポーネントとの疎結合を維持するため、ルートプランナーは次の前提で動作します。
-
リソース管理を行わない ルートプランナーは、車両・乗務員・乗客収容といったリソースを管理しません。
-
無制約の可用性仮定 経路候補生成時点では、すべてのモビリティ・サービスやリソースが利用可能であると仮定します。
-
近似的なサービス挙動 モビリティ・サービスの内部ロジックを完全に再現する必要はありません。
つまりルートプランナーが提供するのはあくまで「実現可能な経路」に過ぎません。
設計上の理由
経路計算をリソース管理から分離することで、ルートプランナーはステートレスで再利用可能です。 また、経路探索アルゴリズムをモビリティサービスの状態と無関係に実装できます。