バックナンバーはこちら
https://www.simulationroom999.com/blog/model-based-of-minimum-backnumber/
はじめに
前回はMicroAutoBoxで使用されていたSimulinkモデルを取得した。
このSimulinkモデルの主要ロジックだけを抜き出して単体テストをしてみる。
登場人物
博識フクロウのフクさん
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1

エンジニア歴8年の太郎くん

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
抜き出したSimulinkモデル

よし。始めるか。

無事、必要なところは抜き出せた感じだね。

おおよそアタリはついていたからね。

じゃ、早速どんな感じか見せてもらおうか。

こんな感じ。


んー、なんてコメントしていいか・・・。
予想以上にシンプルで・・・。

まぁすべてのロジックがMATLAB Functionブロックの中に埋まってるからね。
Simulinkモデルとしては特に面白いものは無いね。

じゃーこれにVectorのCANoe I/OをつなげばOKなのかな?

いや、まだ早い。

?
テストパターン

実は、今回の準備で時間をくったのは
モデル単体のテストパターンを作るところなんだよね。

テストパターン?
もう動いているものだから別にテストしなくても良いんじゃない?

ただ、
特定した主要ロジックが合っている保証は無いし、
合っていたとしても抜き出し方が間違ってるかもしれないし、
現状では、まだ何も確かなものはないんだよ。

じゃー、
MATLAB Functionブロックの中のロジックを確認すればいいのでは?

まぁ仕様がシンプルならそれでも良いのだけど、
結構複雑だったんだよね。

あー確かに。
ちょっと実動作を見せてもらったんだけど、
信号の立ち上がりと立下りのタイミングが特殊でややこしかった気がする。

というわけで、一応波形を出してみたんで
太郎くんの方で「この振る舞いで正しいか」を判断して欲しいんだよ。
本当は仕様書とかあると良いけど、おそらくプロトタイプとしてのモデルっぽいから多分無いよね。

仕様書はないかなぁ。
というか
「Simulinkモデルが仕様書だ!」
って言われそう。

というわけで確認よろしく。
ちなみに、メーカの機密に関わる可能性があるので、
太郎くん以外の人にはモザイクが掛かって見えるかもしれないけど気にしないで。

誰としゃべってるの?

独り言だね。

???

とりあえず、これがテスト結果の波形


あー、そうそう。こんな感じ。
うん、ここでちょっと待ってから立ち上がって・・・。
~10分後~

うん。振る舞いはバッチリだったよ。

じゃーモデルの抜き出しはOKということだ。

なるほど。
シミュレーションができるからこその確認方法だね。

そういうこと。
さっき言ってた、
「Simulinkモデルが仕様書だ!」
って話も、条件次第ではあながち間違いではない。

モデル、テストパターン、テスト結果のセットで管理されていれば。
ってことだね。
まとめ

まとめだよ。
- Simulinkモデルだけでは正しい保証は困難。
- テストパターンとテスト結果もセットであれば、最も正しい仕様書になる可能性は高い。
バックナンバーはこちら
コメント