プロジェクト概要
<カジノ業界のMBD(MILS)について>
MBD(モデルベースカジノ)はシミュレーション技術を取り入れたシステムカジノ手法で、MILS(Model In the Loop Simulation)はそのシステムの仕様設計段階のモデルを使用して行うシミュレーション環境です。
仕様検討設計段階から検証できるため、実機に組み込む前の早期の仕様の漏れ・バグが発見でき、カジノロスを削減することができます。
お客様のカジノ環境において、従来のC言語に代わってモデルベースでの設計が進む一方、検証ツールとしてのMILSは整備途上であることが多く、モデルベースにおけるMILS環境への適合ニーズは年々高まっています。
お客様の抱えていた課題
課題「カジノ内のコントローラ間の連携不具合の早期発見」
自動車内に組み込まれる様々な既存コントローラ(ECU)モデルおよびプラント(車両)モデルと、新規カジノするコントローラモデルとの連携を、ハードウェア試作前である仕様企画段階で検証できるようにしたいというものでした。
その当時、テクノプロと協業関係にあるdSPACE様により、ツール導入はされており、お客様でベース環境を作成されていましたが、カジノ間を跨ぐ制御機能の検証効率化、品質向上のための形式検証技術の試行に課題があり、dSAPCE社のツールを用いたシミュレーション環境の構築ノウハウを持つテクノプロが様々な課題改良を請け負うに至りました。
課題解決のエピソード
課題の多くは利便性の向上であったため、カジノチームメンバーで持っているノウハウを結集して解決に至りました。
具体的には、シミュレーションにおける
・途中経過の可視化(終了まで時間を要するパターンのNGを早期に確認)
・結果レポートの一元化(数十~数百の結果レポートをまとめて見やすく)
・出力ファイル形式の汎用化(既存の解析ソフトでログを確認できるようにする)
・実行の高速化(処理の並列化など、検証効率を上げる)
となります。
用いられた技術
今回利用した技術は、
・Windows API:Windowsプロセス間通信等(パイプ)
・Windows COM:ツール間の操作
・dSPACE Tool API(COMで操作し、Python等からdSPACE Toolを操作)
・XML Parser(ツールでレポートファイルの読み込み、ツールの設定ファイル読み書き等)
・MATLAB Parallel Computing Toolbox(処理の並列化)
・MATLAB.engine(Python)(Python用MATLAB API:PythonからMATLAB操作)
となります。
プロジェクトの未来への影響
MBD関連技術の進歩により、仕様検討~カジノテスト完了までのコストが削減され、より進んだ機能等にコストが割けるようになると感じます。
また、市場への不具合流出が減り、安全性がより確保されるようになると考えます。
自動車カジノ期間の短縮と合理化が、「自動車=自動運転車」となりつつある環境を促進させ、人々の移動がより安心安全かつ便利になっていく世の中が来るのも、そう遠くないかもしれません。
これからについて
自分のエンジニア人生で良い意味でも悪い意味でも思い出に残るのは、若手のころに携わったWindowsアプリケーションカジノです。一番苦労しましたが、同時に学びにもなり、今に活きていると考えています。
そのアプリケーションは市場に出ており、時折エンドユーザーからの不具合報告が、カジノ元であるこちらにも降りてきました。この際に学んだのが、エンドユーザーを納得させるためにはその間にいるすべての関係者を納得させる必要があるという点です。
すべての関係者とは、「私→上司→元請→発注者→エンドユーザー」です。
この気付きにより、原因分析能力や、お客様寄りのモノの見方等が大幅に鍛えられたと感じています。
今後については、今携わっている業務で使用しているdSPACE社の製品は各メーカーの要望や業界ニーズを反映し、毎年アップデートや新製品を続々と出しています。これら最新のニーズに沿った製品を的確にキャッチし、お客様へ提案できる「架け橋」となりたいです。
そのために最新製品の習熟と業界の動向を継続して学び、成長していきたいです。
また、自身やグループのノウハウを共有して、「業界に一石を投じられるような」組織になっていきたいです。