技術論文 組み込みソフトウェア開発を支える...

7
技術論文 86 富士ゼロックス テクニカルレポート No.27 2018 組み込みソフトウェア開発を支える HILS(Hardware-In-the-Loop-Simulation) HILS (Hardware-in-the-Loop Simulation) for Embedded Software Development 商品の高機能化により、組み込みソフトウェアの「規模・ 複雑さの拡大」が進む一方で、「短期間での開発」がますま す求められている。その実現のために、ソフトウェア開発 の現場では、実際の機器を使わない仮想環境による開発が 広く行われている。その1つとして、機器の制御基板をシ ミ ュ レ ー シ ョ ン 環 境 で 仮 想 的 に 動 作 さ せ る HILS (Hardware-In-the-Loop-Simulation)がある。HILS は自動車を中心に運輸、エネルギー関連産業の開発で活用 が進み、現在、その他さまざまな業界で導入されている。 ただし導入時は、開発のプロセスと環境を変える必要性が 生じ、スムーズに進められない場合がある。当社は、複写 機のソフトウェア開発において、開発プロセスとの関係に 依存しない、HILSの効率的な活用を実践している。本稿で は、HILS開発の方向性と今後の活用について解説する。 Abstract As products become increasingly more advanced, the scale and complexity of embedded software grows too, and simultaneously, the demand for faster software development increases. In response to these changes, it is now common to see the use of virtual development environments which allow software to be developed without the need for a physical machine. One example of this type of development is the use of hardware-in-the-loop simulation (HILS), in which a machine’s control board is run virtually in a simulated environment. Currently, HILS is used for system development in the automotive, transportation, logistics, and energy industries, as well as others. However, as the introduction of HILS requires large-scale changes to the development process and environment, the switchover can come with difficulties. At Fuji Xerox, we have developed a HILS-based method in the software development of photocopiers that can be used in any development process. This paper explains the prospects of HILS development and its utilization in the future. 執筆者(Author山野 透(Toru Yamano大八木 吏(Tsukasa Oyagi細谷 環(Tamaki Hosoya石井宏文(Hirofumi Ishii秀勝(Hidekatsu Hara富士ゼロックスアドバンストテクノロジー株式会社 Fuji Xerox Advanced Technology Co.,Ltd【キーワード】 組み込みソフトウェア、シミュレーション、HILS、開発プロセ ス、Vモデル Keywordsembedded software, simulation, HILS, development process, V -model

Upload: others

Post on 24-Feb-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 技術論文 組み込みソフトウェア開発を支える …る方法である。それは、各パーツの担当エンジニアが相互 に連携する統合型の開発環境であり、その中でhilsは、試

技術論文

86 富士ゼロックス テクニカルレポート No.27 2018

組み込みソフトウェア開発を支える HILS(Hardware-In-the-Loop-Simulation) HILS (Hardware-in-the-Loop Simulation) for Embedded SoftwareDevelopment

要 旨

商品の高機能化により、組み込みソフトウェアの「規模・

複雑さの拡大」が進む一方で、「短期間での開発」がますま

す求められている。その実現のために、ソフトウェア開発

の現場では、実際の機器を使わない仮想環境による開発が

広く行われている。その1つとして、機器の制御基板をシ

ミ ュ レ ー シ ョ ン 環 境 で 仮 想 的 に 動 作 さ せ る HILS

(Hardware-In-the-Loop-Simulation)がある。HILS

は自動車を中心に運輸、エネルギー関連産業の開発で活用

が進み、現在、その他さまざまな業界で導入されている。

ただし導入時は、開発のプロセスと環境を変える必要性が

生じ、スムーズに進められない場合がある。当社は、複写

機のソフトウェア開発において、開発プロセスとの関係に

依存しない、HILSの効率的な活用を実践している。本稿で

は、HILS開発の方向性と今後の活用について解説する。

Abstract

As products become increasingly more advanced, the scale and complexity of embedded software grows too, and simultaneously, the demand for faster software development increases. In response to these changes, it is now common to see the use of virtual development environments which allow software to be developed without the need for a physical machine. One example of this type of development is the use of hardware-in-the-loop simulation (HILS), in which a machine’s control board is run virtually in a simulated environment. Currently, HILS is used for system development in the automotive, transportation, logistics, and energy industries, as well as others. However, as the introduction of HILS requires large-scale changes to the development process and environment, the switchover can come with difficulties. At Fuji Xerox, we have developed a HILS-based method in the software development of photocopiers that can be used in any development process. This paper explains the prospects of HILS development and its utilization in the future.

執筆者(Author) 山野 透(Toru Yamano) 大八木 吏(Tsukasa Oyagi) 細谷 環(Tamaki Hosoya) 石井宏文(Hirofumi Ishii) 原 秀勝(Hidekatsu Hara) 富士ゼロックスアドバンストテクノロジー株式会社 (Fuji Xerox Advanced Technology Co.,Ltd)

【キーワード】

組み込みソフトウェア、シミュレーション、HILS、開発プロセ

ス、Vモデル

【Keywords】 embedded software, simulation, HILS, development process, V -model

Page 2: 技術論文 組み込みソフトウェア開発を支える …る方法である。それは、各パーツの担当エンジニアが相互 に連携する統合型の開発環境であり、その中でhilsは、試

技術論文

組み込みソフトウェア開発を支えるHILS(Hardware-In-the-Loop-Simulation)

富士ゼロックス テクニカルレポート No.27 2018 87

1. はじめに

1970年代にマイクロコンピューターが登場し、機械装

置はソフトウェアにより制御されるようになった。その後

のマイコンの性能向上は、装置の高機能化につながり、ソ

フトウェア規模は拡大し続け、ソフトウェア開発の効率化

が現在でも課題となっている。

開発の効率化の取り組みとして、自動車産業を中心にシ

ミュレーションを活用する手法が広く使われるようになり、

その1つとしてHILS1), 2)が誕生した。その後、それはソフ

トウェア開発でも使われるようになった。

HILSは、機械装置を制御する電子制御ユニット(ECU:

Electric Control Unit)の動作をテストするための仮想的

な環境である。ECUが制御する対象である装置と同じもの

を仮想的な環境の中に作り出し、シミュレーションにより

ECUをテストするのである。

現在、商品開発の現場では、従来のように紙の仕様書を

用いて開発を進めるのではない、「モデルベース開発2)」と

いう開発プロセスが提案されている。仕様を定義するため

に「モデル」という視覚的な表現と、モデルからシミュレー

ションできる環境を用い、それをよりどころに開発を進め

る方法である。それは、各パーツの担当エンジニアが相互

に連携する統合型の開発環境であり、その中でHILSは、試

作機の完成前にECUをテストする役割を受け持つ。

複写機の印刷部を例に、装置全体とHILSの構成を図1に

示す。実機は、機械、電気コンポーネント、制御回路で構

成されているが、HILSは、機械と電気コンポーネントを、

専用ハードウェアとPCのシミュレーションを使って置き

変える。ちなみに電気コンポーネントとは、機械装置の動

作を電気信号に変換する部品であり、代表的なものはモー

ターやセンサーである。

HILSを導入する目的は、システムの開発において実機と

HILSを併用し、制御対象と制御装置を同時に効率よく開発

することである。そのほかにも、ECUのハードウェアおよ

びソフトウェアのテスト早期化、自動テストによるテスト

時間短縮、高額な試作機制作費用の低減といった目的がある。

富士ゼロックスでは、2002年の商品開発への導入を皮

切りに、現在はほぼすべての複合機・プリンターの制御ソ

フトウェア開発にHILSを導入している。ねらいは制御ソフ

トウェアの開発早期化である。商品の試作機ができる前か

ら、HILSをソフトウェアのテスト環境として活用すること

を目指した。その取り組みは成功し、機種対応や仕様変更

などの作業工数の低減も進んだ。

加えてHILSの導入は低コストで可能である。現在、カッ

ト紙プリンターにHILSを提供する業務全体は、計画からシ

ミュレーションの設定、ユーザー教育、メンテナンスに至

るまでを、ソフトウェア開発の約1%以下のリソースで実

施している。さらに今後は「いつでも、どこでも」という

コンセプトで、ネットワーク経由の遠隔操作での利用をメ

インに想定した環境として構築し、拠点に依存しない開発

を実現する。

2. 富士ゼロックスにおけるHILSの取り組み

富士ゼロックスが、HILSを商品開発に本格的に導入した

きっかけは、2002年の商品開発における開発短期化の動

きにある。2002年以前の開発では、ECUのテストに際し

て、シミュレーションを用いない単純な応答方式による対

向装置を用い、機能や条件を限定したテストを実施してい

た。そして、そのテスト後に試作機(実機)を利用して基

本機能の品質を確立した。

しかし、開発期間の短期化要求が進み、ソフトウェアは、

試作機の完成時に提供する時点で、あらかじめ基本機能の

品質確立が求められるようになったことで、事前テストの

要求が大きく変わった。そのため、実機動作を想定したテ

スト(統合テスト)が可能なHILSの開発に着手した。

富士ゼロックスでは、1990年代にはすでにHILSを試験

的に構築し、実用性を検証している。 初に構築したHILS

図1 複写機(印刷部)をHILSで構成したイメージ図

Page 3: 技術論文 組み込みソフトウェア開発を支える …る方法である。それは、各パーツの担当エンジニアが相互 に連携する統合型の開発環境であり、その中でhilsは、試

技術論文

組み込みソフトウェア開発を支えるHILS(Hardware-In-the-Loop-Simulation)

88 富士ゼロックス テクニカルレポート No.27 2018

は、デジタル信号入出力、アナログ信号入出力、基準タイ

ミング信号生成などの機能を持つ基板と、ECUを端子台経

由で接続していた。そして、PCのバス拡張スロットを介し

てPCからボード群にアクセスして、シミュレーションプロ

グラムを実行した。

2001年までに2機種の商品開発を通して、HILSがソフ

トウェアのテストに有効であることを確認できたが、商品

開発に実際に利用するうえで次のような課題が残った。

① 信号応答のタイミングが、実機に対して差異があり、ソ

フトウェアの要求を満たしていない。

② シミュレーションの設計に時間がかかり、必要な時期に

間に合わない。

③ ECUとの信号接続数が多く、製作に時間がかかるうえ、

メンテナンスにも時間がかかる。

加えて、開発期間を短縮するにはテスト用機材もタイム

リーに準備しなければならないが、そのための投資が膨ら

んでしまうことも回避する必要がある。

すなわち、①~③の課題に加え、テスト用機材のタイム

リーな提供とメンテナンス工数の抑制に配慮しながら、

HILS第一世代を開発した。その後、大きく2回にわたり改

良を実施し、現在はHILS第三世代を運用している。

3. 商品開発へのHILS導入

3.1 HILS第一世代システム

1) HILS第一世代のねらい

HILS第一世代のねらいは、実機の完成時までにソフ

トウェアの品質を確立することであり、その要求レベ

ルは、基本機能の動作保証であった。基本機能とは、

印刷部の技術確立度を確認するために必須な機能を

指す。

2) 構成の工夫

HILS第一世代の構成図を図2に示す。左から順に、シ

ミュレーション用PC、HILS基板、コネクター中継基

板、ECUとなる。HILS基板が疑似コンポーネントの

役割を持つ。

PCはリアルタイムOS、またはOSのリアルタイム拡

張を採用し、シミュレーション用ソフトウェアは、機

械装置の動きや信号の変化を表示するGUIと、リアル

タイムで動作するシミュレーションのロジック(シ

ミュレーションモデル)、信号入出力制御で構成され

る。PCは、HILS基板との信号入出力のためのIF基板

を内部スロットに装着する。また、HILS基板とECU

は、コネクター変換基板を介して接続される。

商品開発スケジュールに合わせて確実にHILSを開発

するために、HILSのハードウェアはECUの設計変更

に柔軟の対応できるような設計とした。そして、開発

の中心をシミュレーション用ソフトに集中した。

ハードウェアにおける主な工夫は、コネクター中継基

板を採用したことである。HILS基板は、複数の商品開

発を想定して信号数を多くし、汎用的な信号配置のコ

ネクターを多数用意した。その一方で、ECUは機種ユ

ニークの仕様である。HILS基板とECUの接続にコネ

クター中継基板を採用したことで、製作時と仕様変更

時の作業性が改善した。HILSは1機種の開発で複数台

を製作するため、特殊ハーネスを製作してメンテナン

スを行うより、コネクター中継基板のほうが効率的で

あると、試験導入の結果から結論づけていた。結線の

変更が多いときは、あらかじめ予備基板を改造し、そ

の交換で対応する。

ソフトウェアにおける主な工夫は、シミュレーション

を実現するソフトウェアに、機械装置の仕様を記述す

る専用のスクリプト言語を開発し組み込んだことで

ある。機械のモデリングは、スクリプトの記述ですべ

て対応できるようにした。スクリプトで扱うパラメー

ターは、ソフトウェアの要求仕様書に記載される機械

の物理量を用いることを基本とした。物理量は、用紙

の寸法、用紙が移動する経路の距離、ローラーの回転

図2 HILS第一世代の構成

Page 4: 技術論文 組み込みソフトウェア開発を支える …る方法である。それは、各パーツの担当エンジニアが相互 に連携する統合型の開発環境であり、その中でhilsは、試

技術論文

組み込みソフトウェア開発を支えるHILS(Hardware-In-the-Loop-Simulation)

富士ゼロックス テクニカルレポート No.27 2018 89

速度、センサーの位置など、開発に携わる者なら仕様

書や図面から読み取り理解できるものであり、この方

法によって「シミュレーションの設計に時間がかかる」

という問題は解決した。

3) HILS第一世代の導入成果

ソフトウェアのテストの早期化という点については、

十分な効果を得ることができた。テストの実施環境の

50%が、試作機からHILSに移行したため、試作機の

製作台数の削減にもつながった。

HILS第一世代は18機種に導入し、すべての機種でねら

いどおりに成果を挙げた。

3.2 HILS第三世代システム

第二世代のHILSでは、信号処理の能力の向上を目的とし

てシステムの改良を行った。その結果、大型商品のHILS要

求に対応した。この改良によって、カット紙フラッグシッ

プ機への対応を完了した。HILS自体の開発に関する早期化

に向けた改良は、その次の第三世代で実施した。

1) HILS第三世代のねらい

HILS第三世代のねらいは、その提供時期を実ECUの

完成前にすることであった。HILS提供のために商品

の開発スケジュール・プロセスを変えないことは、第

一世代から前提にしてきた。すなわち、ECUハード

ウェア完成のスケジュールを変えずに、HILSの提供

がなされなければならないが、そのために開発のさら

なる早期化を実現するには、実ECUを使わないHILS

構築の実現が必要である。

2) 構成の工夫

第三世代HILSの構成を図3に示す。基本構成はHILS

用PCとHILS‐PF(Platform)基板のみである。

ハードウェアの工夫ポイントは、ターゲットECUを

複数想定して、CPUと周辺デバイスを複数組み合わ

せ、多機種への対応を実現したことと、HILS基板・コ

ネクター中継基板・ECUの基板3枚構成から、基板1

枚の構成に切り替えたことである。

ハードウェアをターゲットECUと同等のものとする

ために、まず、CPUとROM/RAM、IO拡張デバイス

などの主要デバイスを搭載したHILS用CPU基板の

検討を開始した。実ECUとの違いは、コンポーネント

と接続するIF回路がないことであるが、この点はソフ

トウェアのテストには影響がないことが確認された

ため、さらに詳細な検討を進めていった。

基板を1枚化することのデメリットとしては、機種対

応の基板としては規模が大きくなり、イニシャルコス

トが増大する点がある。その問題を解決するため、

CPU選定計画を先取りして、基板に複数のCPUおよ

びIO拡張デバイスを載せ、1回の設計で複数機種に対

応できるようにした。

基板1枚化は、ハーネスをなくすとともに、CPUへの

信号割付が変わっても、FPGAの内部回路でHILSの

信号と接続することを可能にするため、設計作業の大

幅な簡略化を実現した。

構成としてECUを使わず、CPUを中心にしているた

め、HILSではなくPILS(Processor in the loop

simulation、表1参照)と言ってもよい。PILSとの違

いは、専用デバイスなど、ソフトウェアの動作の制約

になるところをECUからすべて取り込んでいる点で

ある。したがって、PILSとは異なる。

一方、ソフトウェアにおける主な工夫は、構成の異な

る機械をそれぞれ記述したスクリプトをあらかじめ

複数準備して、いつでも切り替えて使用できるように

したことである。この改良により、機械のパラメー

ターを切り替えられるだけでなく、構成の異なる

ECUでも、1台でテストできるようにした。

3) HILS第三世代の導入成果

以上の工夫や改良の結果、第三世代HILSは、試作機完

成の3カ月以上前に構築できるようになった。あらか

じめ要求仕様があり、ソフトウェア開発がスタートし

ている場合は、さらなる前倒しも可能である。

4. HILSの機能拡張と開発プロセスの議論

前節では、開発スケジュール要求に合わせてHILSを早期

に構築・提供するために、ハードウェアの更新を中心にし

てシステムの改善を進めたことを述べた。 図3 HILS第三世代の構成

Page 5: 技術論文 組み込みソフトウェア開発を支える …る方法である。それは、各パーツの担当エンジニアが相互 に連携する統合型の開発環境であり、その中でhilsは、試

技術論文

組み込みソフトウェア開発を支えるHILS(Hardware-In-the-Loop-Simulation)

90 富士ゼロックス テクニカルレポート No.27 2018

要求定義

基本設計

詳細設計

実装/レビュー

単体テスト

結合テスト

システムテストテスト仕様

テスト仕様

テスト仕様

一方、実際の開発現場では、HILSの早期提供とは別に、

「機能改善」「導入効果拡大」といった要求や、「HILSのあ

るべき姿」「ソフトウェア開発プロセス」などに関する議論

がある。それらの点については現在もさまざまな意見交換

が続いている。

4.1 画像確認機能

第一世代のHILSを構築した時点では、ソフトウェアのテ

ストについては、テストで記録された各種データを確認す

ることが重要であると考えられていた。そのため、用紙搬

送と信号変化を視覚化した以外は、信号の変化と時間を記

録したデータのみが、HILS側から提供される確認手段で

あった。しかし実際には、ソフトウェア開発者がHILSを直

接操作し、その場で結果確認やトラブルの原因調査を行う

など、HILSから得た結果を確認しながら開発をするケース

も多く、それを考慮した改良が求められた。特にその必要

性が高かったのが複写機であった。

複写機の場合、その特徴として用紙に画像が形成されて

出力される。そのため、用紙が搬送されることと画像が形

成されることの2点は、仮想環境であるHILSにおいても、

視覚的に表現されることが重要であった。本来は、仕様に

基づいて制御した結果を、記録したデータで検証すれば、

OK/NGの判断ができるはずである。しかし、実機におい

て使用者が目で見ることのできる動きは、HILSでも視覚化

しないと現実感がなく、テストが十分有用なものになるた

めには、そのようにする必要があることがわかっていった。

そのため、画像確認機能を第二世代の途中で導入した。

4.2 導入効果拡大をねらった機能拡張

HILS導入当初の目的は、商品開発の短期化であり、実機

向けソフトウェアのテスト早期化であった。つまり、D(開

発納期)を達成するための手段としてスタートしたが、第

二世代以降、HILSの導入効果拡大のために、Q(開発品質)

およびC(開発コスト)の改善をねらった検討を進めた。具

体的には、ソフトウェア開発における現場の問題を、HILS

に手段を限定して解決できるかという問いを立て、検討を

進めていった。したがって、必然的に想定する問題の対象

はテストが中心となる。

まず、テストの効率を上げるため、テスト専用機能の追

加、操作性の改善など、約100項目のメニューを抽出し、

そのうち有効性が高いと予測された上位20項目について

実施した。さらに、用紙搬送以外についての同定(実機と

同じになるようにシミュレーションの精度を向上すること)

を検討した。

HILSとして一般的である、テストの自動化機能は、効率

化に有効性が高いと認められた。一方で同定については、

効率化に対して高い効果は認められなかった。そのため、

第二~第三世代にかけては、システムの簡素化、操作性の

改善とテストの自動化に必要なログ(動作記録)の強化を

進めると同時に、HILSに関する今後の開発と活用の方向性

に対する認識を大きく修正する結果になった。

4.3 ソフトウェア開発プロセスとHILS

開発プロセスの手法の1つに、図4に示すVモデル3)とい

うソフトウェア開発を中心にした手法がある。もとはドイ

ツから始まったものであるが、一般で利用可能な手法であ

るため、現在はさまざまな企業で広く使われている。Vモ

デルの設計(左側:上流工程)では、工程から次の工程へ

のインプットを要求ととらえる。そして設計が、要求と合

わせてテスト内容に責任を持ち、テスト(右側:下流工程)

では、設計者が決めたテスト内容を実施する。しかし、V

モデルでは、テストによって設計の問題が見つかった場合、

大きな手戻りが必要となる可能性がある。そのため現在で

は、要求に対して設計が正しいかを検証するテストを上流

工程に組み入れたWモデルへと進化している。Wモデルで

は、HILSと同様のシミュレーション環境を用いる。表1に、

シミュレーション環境の内容・目的を示す。

環境名 内容・目的

MILS(Model

-In-the-Loop-Simulation)

モデルで記述した制御仕様と、機械装置の

モデルを結合して動作させ、制御仕様が正

しいか検証する。

SILS(Software

-In-the-Loop-Simulation)

言語で記述した制御ソフトウェアと機械装

置のモデルとを結合して、ソフトウェアの

設計が正しいか検証する。

SPILS(Simulated-Processor

-In-the-Loop-Simulation)

対象プロセッサー向けに変換したソフト

ウェアを、PC上のシミュレーションで動作す

るプロセッサーモデルを使用して検証する。

PILS(Processor

-In-the-Loop-Simulation)

対象プロセッサー向けに変換したソフト

ウェアを、実プロセッサーを使用して検証

する。プロセッサー以外はシミュレーショ

ンで提供する。

HILS(Hardware

-In-the-Loop-Simulation)

ECUと機械装置のモデルを結合して動作

させ、ECUのハードウェア・ソフトウェア

を検証する。

また、装置の現物と動作を対比させて、シ

ミュレーションの精度向上を進めながら、装

置の改良や制御の開発に使う手法もある。

図4 Vモデル

表1 シミュレーション環境の内容・目的

Page 6: 技術論文 組み込みソフトウェア開発を支える …る方法である。それは、各パーツの担当エンジニアが相互 に連携する統合型の開発環境であり、その中でhilsは、試

技術論文

組み込みソフトウェア開発を支えるHILS(Hardware-In-the-Loop-Simulation)

富士ゼロックス テクニカルレポート No.27 2018 91

当社においては、HILS導入後に、Wモデルの議論が活発

になった。上流工程でMILSによる設計検証を行い、実装工

程以降はMILSで作成したシミュレーションのロジックを

SILSやSPILS、HILSに活用する。MILSからHILSまでシー

ムレスなテスト環境を構築することが理想と考え、いくつ

かのチームで取り組みを進めた。ただその結果、 終的に

は、相互にデータ活用などはしつつも、シームレスな環境

ではなく、ソフトウェアテスト用のHILSは他のプロセスと

切り離し、独立して運用する形に落ち着いた。

本来であれば、モデルベース開発を採用し、上流工程と

下流工程でシミュレーションデータを共有するはずであっ

たが、なぜそうならなかったのか、ソフトウェアテスト用

のHILSは、なぜ単独で運用し続けるのか、その理由を5章

で説明する。

5. HILS開発と活用の方向性

本章では、HILS導入はソフトウェア開発のQCDに対し

て、どのような効果があったか、そこからHILSのあり方や

今後について説明する。

5.1 HILS導入後のQCD

HILS導入はソフトウェア開発のQCDに対して、どのよ

うな効果があったのか。Dについては、ねらいどおりの早

期化効果があったことは説明した。Cについては、テスト

およびデバッグ効率が上がり工数低減効果が得られた。実

機の完成度に左右されず、また、異常状態のテストも簡単

になった。さらに、消耗品が不要なため、繰り返しのテス

トなども 躊ちゅう

躇ちょ

なく実施できるなど、メリットが多数あった。

しかしながら、Qについては直接因果関係のある結果は

得られていない。その理由は、HILSはあくまでもテストの

手段であり、テストで欠陥を見つけられるかどうかは、テ

ストの内容で決まるからだと言える。また、品質そのもの

については、設計段階で作り込まれるのは言うまでもない。

5.2 HILS開発の方向性

HILSのシミュレーションが実機とまったく一緒であっ

ても、必ずしも実機と同じバラツキをシミュレーションで

きるわけではない。実機において出現するバラツキには偏

りがある一方、HILSも意識的に設定したバラツキでしか動

作しないからだ。HILSだからといってすべての組み合わせ

のバラツキをテストすることは、作業が膨大になりすぎる

ため難しい。

重要なのは、HILSの動作ではなく、テスト条件である。

テスト実施に特別な条件があるならば、シミュレーション

の精度や方法を問わず、テストに必要な条件設定機能を強

化すべきなのである。

たとえば、HILSの動作は、理想的な動作を基準にして、

信号状態を任意に変化させる機能を持たせ、操作性や機能

性の面で充実させることが重要である。さらに、実機の動

作から得られたデータを用いて動作させるモードなど、テ

スト条件を効率よく作り出すことに注力する必要がある。

このようにソフトウェアテストの観点で、テスト実施に

特化したHILSとして、Light HILSを提案する。Light HILS

は、数値シミュレーションベースのHILSに比べて、システ

ムが簡素である。そのメリットを生かした運用が、当社が

取り組んだ事例である。

Light HILSは、モデルベース開発などのプロセスや、各

種シミュレーションと切り離して考えてよいが、併用や連

携しても問題はない。数値シミュレーションのHILSとは使

い分けることができる。

図5に、モデルベース開発におけるLight HILSの活用イ

メージを示す。

まず、上流の各工程でシミュレーションを活用し、設計

図5 シミュレーション環境・ツールの使い分け

Page 7: 技術論文 組み込みソフトウェア開発を支える …る方法である。それは、各パーツの担当エンジニアが相互 に連携する統合型の開発環境であり、その中でhilsは、試

技術論文

組み込みソフトウェア開発を支えるHILS(Hardware-In-the-Loop-Simulation)

92 富士ゼロックス テクニカルレポート No.27 2018

の品質を追求する。設計とコードの不具合は上流で解決し、

下流では、上流の要求定義に問題がないかを、HILSおよび

試作機を使用したテストで確認する。特にCPUやASICの

制約によって振る舞いが変わる部分は、要求として捕捉す

るのが難しい。そのような視点でHILSを使ったテストを組

むことで、テスト自体の量は少なくなる。

下流のテストにおいて、テスト量を充実させることで不

具合を抽出するのではない。上流の検証が正しいことを下

流で確認することと、デバイスの制約を捕捉しきれない可

能性について考慮し、テスト仕様の完成を目指すことが重

要である。

このようなプロセスにおいて、組み込みソフトウェア技

術者は設計の視点で、要求と現物の差異があっても、仕様

変更にならない設計を追求するのである。

5.3 今後のさらなる活用

当社は、Light HILSをネットワークでつないだ環境構築

を進めている。これからの組み込みソフトウェアの開発は、

モデルを書く仕事の比重が上がると予想される。モデルを

開発サーバーに登録すれば、実行プログラムが自動で生成

され、さらにテストサーバーへデータが転送されて、Light

HILSでテストが自動で実施される。このような仕組みが

徐々に現実になれば、開発者は、サテライトオフィスや在

宅勤務でモデルを作成し、それを開発サーバーに登録する、

というような業務のやり方も可能となるであろう。2017

年3月、首相は「日本の働き方を変える改革」について発言

した。Light HILSのように、活用の自由度を持たせること

は、その答えの1つになると考えている。

また、経済産業省は、「Connected Industries(コネク

ティッドインダストリーズ)東京イニシアティブ2017」

を発表した。モノ作りでは、IoT(Internet of Things)や

ビッグデータ、AI(人工知能)を用いた技術革新は、不可

欠なものとなる。この潮流に対して、ネットワークでつな

いだLight HILSでは、モデルの仕様とテスト仕様、および

テストデータを関連づけてサーバーに蓄積する。そして、

テスト仕様を 適化するために、AIで処理するようになる

のも、もはや時間の問題である。

6. おわりに

HILSの先端技術は、実際の開発プロセスに合わせ導入す

ることが難しく、導入のためには上流工程や関連する部門

間の開発プロセス(受け渡す仕様情報)そのものを変える

必要があるかもしれない。

当社が実施したHILS導入は、現状の開発プロセスに適合

したものであり、その目的は開発期間の短縮であった。

HILSによるシミュレーションの技術は、その目的だけでも

効果的に活用できることを示した。

参考文献

1) Martin Schlager: “Hardware-in-the-Loop Simulation”, VDM Verlag Dr.Mueller (2008).

2) 株式会社ヴィッツ: “技術情報モデルベース開発”

http://www.witz-inc.co.jp/technology/model_based_development/index.php ( 参 照 日 :

2018.03.02)

3) 室谷 隆: “ソフトウェア開発の標準プロセス”, p.34, 独立行政法人

情報処理推進機構

https://www.ipa.go.jp/files/000004771.pdf (参照日: 2018.03.02)

筆者紹介

山野 透 富士ゼロックスアドバンストテクノロジーに所属

専門分野:シミュレーション、電気電子工学

大八木 吏 富士ゼロックスアドバンストテクノロジーに所属

専門分野:ソフトウェア工学、経営工学

細谷 環 富士ゼロックスアドバンストテクノロジーに所属

専門分野:電気電子工学

石井宏文 富士ゼロックスアドバンストテクノロジーに所属

専門分野:画像処理、電気電子工学

原 秀勝 富士ゼロックスアドバンストテクノロジーに所属

専門分野:計測制御工学、地球科学