モビリティサービス
モビリティサービスは、MaaS Blender に統合可能な交通サービスを表します。 公共交通、ライドヘイリング、シェアサイクル、カーシェア、オンデマンド交通などが例です。
MaaS Blender の価値は、異種のモビリティサービスを統合できる点にあります。 そのために、MaaS Blender は最小限のイベントベース統合契約を定義しています。 この契約に準拠する任意のサービスは、内部実装やデータソースに依存せず、シミュレーションに参加できます。
イベント
| 消費するイベント | 生成するイベント |
|---|---|
RESERVE | RESERVED |
DEPART | DEPARTED |
ARRIVED |
モビリティ・サービスの責務
モビリティサービスは、自身の運用リソース(車両、乗務員、乗客収容、サービス固有の制約など)を管理します。
MaaS Blender は内部モデリング方法を強制しません。 各サービスは、イベントの意味論を遵守する限り、自由にロジックを実装できます。
予約フロー(RESERVE → RESERVED)
RESERVE イベントを受け取ると、モビリティサービスは当該乗客を運べるかどうかを判断します。
この判断には、車両や乗務員の可用性、最大乗客数、サービス固有の制約などが考慮され得ます。
その後、サービスは予約の成否を示す RESERVED イベントを発行します。
現実世界で予約不要なサービスであっても、RESERVE / RESERVED のやり取りは必須です。
すべてのモビリティサービス間で相互作用モデルを統一し、ユーザーモデルの解釈を簡素化しています。
旅行実行フロー(DEPART → DEPARTED / ARRIVED)
DEPART イベントを受け取ると、モビリティサービスはそのユーザーの移動を開始します。
移動時間はサービスの内部ロジックに従って決定されます。
移動が開始されたとき、サービスは DEPARTED イベントを発行します。
乗客が目的地に到達したとき、サービスは ARRIVED イベントを発行します。
合意した時刻までに DEPART イベントが発行された場合は、 モビリティサービスは必ずその乗客を輸送しなければなりません。
合意した時刻までに DEPART イベントが発行されなかった場合は、モビリティサービスはその乗客を輸送しません。
シミュレーションで車両や乗務員の移動もモデル化したい場合、
モビリティサービスはそれらのユニットについても DEPARTED および ARRIVED イベントを発行するとよいでしょう。
設計上の理由
イベントを介してのみ相互作用することで
- 多様なモビリティ・サービスを統合でき、
- モビリティサービス開発者は MaaS Blender のフレームワークやデータ形式を深く知る必要がありません。