28
9th WOCS 2 Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved. モデルベース開発導入へのチャレンジ ~単体コード検証への適用による導入の加速~ (株)東海理化 エレクトロニクス技術部 山口 晶広 足立 秀和

モデルベース開発導入へのチャレンジ AP 2 AP 3 AP 4 RTE COM IOHW MCU モデルベース開発で 実装可能 (基本的に) 従来手法にて 実装する モデルベース開発(自動コード生成)

  • Upload
    vonga

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

9th WOCS2

Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved.

モデルベース開発導入へのチャレンジ

~単体コード検証への適用による導入の加速~

(株)東海理化 エレクトロニクス技術部

山口 晶広  足立 秀和

Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved. 2/27

目次

1.会社紹介

2.モデルベース開発導入への取組みと課題

3.機能安全対応による再始動

4.現場に即した活用の模索(単体コード検証への適用)

5.まとめ

本資料に記載されている会社名、システム名、製品名は一般に各社の登録商標または商標です。なお、本文および図表中では、TM 、® は明記しておりません。

Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved. 3/27

1.会社紹介

2.モデルベース開発導入への取組みと課題

3.機能安全対応による再始動

4.現場に即した活用の模索(単体コード検証への適用)

5.まとめ

Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved. 4/27

当社のご紹介

《国内主要拠点》 《海外拠点》

会社名 : 株式会社 東海理化       (商号 株式会社 東海理化電機製作所)

所在地 : 愛知県丹羽郡大口町 (本社)

設立 : 1948年8月30日

資本金 : 228億円 (2011年3月末現在)

売上高 (連結) : 3,276億円 (2010年4月1日~2011年3月31日)

社員数 (連結) : 15,110名 (2011年3月末現在)

主要製品: 自動車用各種スイッチ,電装部品

1.会社紹介

Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved. 5/27

1.会社紹介

2.モデルベース開発導入への取組みと課題

3.機能安全対応による再始動

4.現場に即した活用の模索(単体コード検証への適用)

5.まとめ

Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved. 6/27

当社におけるモデルベース開発への取組み

・ 先行開発部門においてシミュレーションを用いた計算アルゴリズムの開発。

・ 制御系システムにおけるラピッドプロトタイピングを用いた開発。

当時のモデルベース開発の利用状況

モデルベース開発では、ソフトウェア開発効率化に有用な多くの技術が実用化。

自動コード生成 SILS HILS ・・・PILS

ソフトウェア開発分野においてモデルベース開発の適用検討を開始!

複雑化、大規模化するソフトウェアの新たな開発手法として期待

2.モデルベース開発  導入への取組みと課題

量産ソフトウェア開発への適用事例は無い・・・

Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved. 7/27

適用範囲設定 と 想定する導入メリット

導入推進アプローチ

システム設計

要件定義

構造設計

詳細設計

コーディング(自動コーディング)

単体テスト

結合テスト

総合テスト

システム結合テスト

モデル流用を前提とした開発プロセスの構築を目指す。

プラントモデル

コントローラモデル &

プラントモデル

テストシナリオ

テストシナリオ

テストシナリオ

テストシナリオ

・ 上流から下流まで、全工程に渡ってモデルを中心とした一貫性ある開発が可能!・ プラントモデルをテストへ流用でき、作成したモデルに無駄が無い!

【得られるメリット】

体系的にも完成された手法であり、開発の効率化を期待!

2.モデルベース開発  導入への取組みと課題

Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved. 8/27

当社における適用可能な対象の実際

AP1

AP2

AP3

AP4

RTE

IOHWCOM

MCU

モデルベース開発で実装可能

(基本的に)従来手法にて

実装する

モデルベース開発(自動コード生成)

既存のソフトウェア資産

他手法(ハンドコード)

ACG

MCAL

MEMSYS

【ソフトウェア開発者から見た懸念点】

 モデルベース開発は主としてアプリケーションが対象であるが、当社製品は、比較的ソフトPFの比率が大きいため、依然、従来手法に依存する。

PF

2.モデルベース開発  導入への取組みと課題

AP

中小規模ソフトでは約4~7割がソフトPF。(ただし、製品による)

・ 自動コード生成に対するコード品質上の懸念。・ モデルベース開発による現行プロセスへの影響。・ モデリング技術者の育成コスト。  

更に、

などなど・・・

Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved. 9/27

量産適用への問題点

約1年の活動の結果、

- アプリケーション開発の置換えだけでは効果が出ない。(という印象)- 従来手法に頼る部分が依然として多い。

- 導入コスト(ツールコスト、技術者育成)。

- プロセスへの影響、品質への懸念。

一時休止

・ ソフトウェアの大規模化への対応として有効であることは理解 できるが、「今この時点で必要か」というと・・・。

・ リスクを負ってまで対応するメリットが感じられない。 (現状、従来手法でも業務をこなせている)

・ 道のりが長くメンバのモチベーションが維持できない。

実務者の本音

懸念点を全て払拭するだけの導入メリットを提示できなかった

ソフトウェア開発への適用範囲が限定的である

2.モデルベース開発  導入への取組みと課題

Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved. 10/27

1.会社紹介

2.モデルベース開発導入への取組みと課題

3.機能安全対応による再始動

4.現場に即した活用の模索(単体コード検証への適用)

5.まとめ

Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved. 11/27

ISO26262機能安全規格への取組み

現在、自動車業界では機能安全規格に関する活動が活発化

当社においても機能安全規格の対応に向けた活動を鋭意実施中

ISO26262ISO26262

当社には馴染みの無い、「新しい技術」への対応が求められている

「形式検証」、「準形式検証(シミュレーション)」、「Back to Backテスト」、「MC/DC」 ・・・

ASIL

MC/DC

安全機構

従属故障分析

トレーサビリティ

形式手法

安全要求

Back to Backテスト

インスペクション

安全計画

準形式手法

デコンポジション

3.機能安全対応  による再始動

Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved. 12/27

新しい技術への対応① 【モデル検査(形式検証)】

2次状態

3次状態

4次状態

初期状態

N次状態

いかなる条件・状態においても「仕様違反が無いこと」を証明する。

全状態の網羅が求められ、階層が深くなると人手で検証するのは困難。モデル検査ツールを用いた自動検証が望ましい。

3.機能安全対応  による再始動

仕様違反

Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved. 13/27

新しい技術への対応② 【Back to Backテスト】

モデル(仕様)と実装されたコードの振舞いが同一であることを検証する。(ただし、何を以って「一致」とみなすかは難しい・・・)

テストベクタ

モデル(仕様)

検証対象コード(モデルから作成したコード)

==

モデル出力とコード出力が同一であることを検証する

人手での一致確認作業には相当な工数を要する。特にサンプル数の多い検証にはツールの利用が望ましい。

同一の入力信号を、モデルとコードに同時に入力し、両者の出力が同一である、ことを以って「一致」とみなす。

と規定

3.機能安全対応  による再始動

Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved. 14/27

機能安全対応のための開発技術の選定

・ 自動車業界にてデファクトのツール。・ 機能安全対応に関するツールが多く、技術会社も多数。・ 過去の取組みによる知見が活かせる。

主な選定理由

UML (MDD) フローチャート/DFD

MATLAB/Simulink (MBD) VDM/SPIN (FM)proctype P(){do :: func1 ! Get; func2 ! Get ->

skip; func1 ! Put; func2 ! Putod

}

※一部のダイアグラムに限る

記述 : ○(準形式)

検証 : ○(準形式※)

BtoB: ×

記述 : ○(準形式)

検証 : ○(準形式)

BtoB: ×

記述 : ○(準形式)

検証 : ◎(準形式/形式)

BtoB: ○

記述 : ◎(形式)

検証 : ○(形式)

BtoB: ×

SCADE (MBD/FM)

記述 : ◎(形式)

検証 : ◎(準形式/形式)

BtoB: -(不要)

3.機能安全対応  による再始動

Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved. 15/27

・ 実運用上の課題抽出と対応。

・ 実務者へのトレーニング。

これまでの活動内容

量産ソフトウェア開発分野でのモデルベース開発技術適用事例として、実績を作ることができた。

機能安全対応のためのモデルベース開発技術の導入を実施。

今後実施すべきこと

実施したこと

・ モデル検査のための機能モデリング。

・ モデル検査ツール使用方法の習得。

・ Back to Backテスト実施環境の構築。

3.機能安全対応  による再始動

Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved. 16/27

1.会社紹介

2.モデルベース開発導入への取組みと課題

3.機能安全対応による再始動

4.現場に即した活用の模索(単体コード検証への適用)

5.まとめ

Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved. 17/27

モデルベース開発への期待再び

機能安全規格への対応を通じて、

・ モデル検査などの新たな技術の知見を得た。

・ モデルベース開発の導入に強力な後ろ盾を得た。

以前の導入検討時

現在

従来型開発の 「代替となる技術」

機能安全対応に 「必要な技術」

当社におけるモデルベース開発の位置づけの変化

4.現場に即した  活用の模索

モデルベース開発導入を再チャレンジできる状況に。

機能安全対応に留めず、ソフトウェア開発力向上に向けた活動へ。

Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved. 18/27

導入手順の検討

projectA

全適用後の段階的横展開

方法2

部分適用の段階的横展開

全適用後の一斉横展開

方法1

横展

期間 : 中工数 : 短期&分散リスク : 小~中

期間 : 長工数 : 分散リスク : 小

期間 : 短工数 : 短期集中リスク : 中~大

横展横展

projectB

projectC

projectA

projectB

projectC

projectA

projectB

projectC

開始時点 途中経過 終目標

方法3

類似タイプのプロジェクトへの展開に適する。

比較的類似タイプのプロジェクトへの展開に適する。

比較的異なるタイプのプロジェクトへの展開に適する。

過去の取組み

横展横展

横展

横展

4.現場に即した  活用の模索

従来手法モデルベース適用

Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved. 19/27

適用工程の検討

ソフトウェア開発工程と利用ツール等の関係

固定小数ツール

HILS自動コード

ラピッドプロト

モデリングツール

△(選択)

○(機能レベル) ○機能設計

○(実装レベル) ○詳細設計

○(実装レベル)コーディング

○(単体)単体テスト

○(機能)結合テスト

○総合テスト

プラントモデル

コントローラモデル

形式検証

BtoBテスト

検証手法 必要となるモデル利用ツールソフトウェア開発工程

「単体テスト(ソフトウェア単体コード検証)」への応用が効果的と判断

・ Back to Backテストの知見を活かすことができる。

・ コントローラモデルが不要。

・ 基本ツールを使用した比較的限定的なモデリングのみでテストが可能。

4.現場に即した  活用の模索

Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved. 20/27

単体コード検証への適用方法 (従来手法との比較)

ハンドコーディング

単体テスト

V字工程

ドライバ テスト対象 スタブ

ドライバ関数 スタブ関数テスト対象関数

①スタブドライバ作成(テストシナリオ含む)

③ビルド ④実行&ファイル出力

01010110101

010101

⑤処理結果の検証・解析

従来手法

②プロジェクト 作成

01

10

2 03 14 15 1

999897908887

unsigned char func01(signed short *pin_data){

signed char work;signed char loop_c;unsigned char result = 0;

for(loop_c = 0 ; loop_c<LOOP ; loop_c++) {work = calc(pin_data + loop_c);if( work > 0 ) {

result = work;break;

}}return result;

}

> break

run stop step exitmemory break watch

func.cmain.cfunc.hmain.h

テスト対象関数

テスト対象②ビルド

③検証用モデル作成 & ④シミュレーション実行

Stub

ドライバ

スタブ

計測>mean(output)ans =

0.012

⑤処理結果の検証・解析

数値解析ツール

XX_sf.c

ラッパー関数

①ラッパー関数作成

モデリングツール利用

1

0

4.現場に即した  活用の模索

Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved. 21/27

単体コード検証への適用メリット

入力条件などを限定し易くモデルが簡素

・ 1つ(あるいは数個)のオブジェクトのみを対象とするため、入力条件が簡素。

・ 実行条件(動作周期など)を柔軟に変更することができる。

メリット1

基本的なモデリング知識で記述が可能

・ 「信号生成、コードブロック化、結果表示」を用いてモデリングが可能。

・ 多少複雑な信号も、基本ブロックの組合せで生成できる。

メリット2

テストシナリオの抽象化とレビューの効率化

・ テストシナリオの記述が抽象化できるため、テストコードを書くより容易。

・ また、テスト結果をグラフなどの形式に容易に可視化でき、テスト結果の

検証やレビューが効率よくできる。

メリット3

4.現場に即した  活用の模索

Simple!

S-Function

Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved. 22/27

処理結果

検証用モデル

テストシナリオ2テストシナリオ1 テストシナリオ1 テストシナリオ2

シミュレーション結果

シグナルビルダー

計測ブロック

【事例】 単体コード検証への適用 ~実施例~

R R R R L L L L -

A相

B相

回転方向

<<対象>> ロータリーエンコーダの回転方向検出関数

・ 信号変化の位相差で回転方向を検出・ フィルタによるチャタリング除去

①二重カウントしないこと (内部状態を保持し変化を正しく捉えること)② 初回の判定が正しく行なえること③ チャタリングにより複数カウントしないこと

A/B相入力、回転量出力、フィルタ定数

関数の動作 評価ポイント(一例)

入出力値およびパラメータ

③②②

4.現場に即した  活用の模索

Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved. 23/27

【事例】 単体コード検証への適用 ~ツール比較~

モデリングツール

機能検証テスト環境(従来手法)

単体検証ツール(専用)

カバレッジ計測 × × ◎

連続的な入力信号 ◎ △ ○

離散的な入力信号 ○ ○ ○

機能

期待値テスト

期待値がポインタ △ ○ ○

MCUシミュレータ上でテスト △ (PILSで実施) ◎ ◎性能

アセンブラコード検証 △ (PILSで実施) ○ ○

期待値テスト結果のグラフ化 ◎ △ ◎結果解析

処理結果の数値解析 ◎ △ (別ツール) △ (別ツール)

テストシナリオ作成容易性 ◎ △ △ (支援あり)

自動テスト (期待値との自動照合) ○ ○ ◎

使い勝手

自動レポート ◎ △ ○

◎ 適 ○適する △使用可 ×適さない

◎ 関数の動的な振舞い検証モデリングツール

機能検証テスト環境

単体検証ツール

× 実施できないテスト項目がある

◎ MCUシミュレータ上でテスト可能 × 実施できないテスト項目がある

◎ 単体コード検証のほぼ全域をカバー △ 処理結果の解析を得意としない

結果解析や使い勝手の面で優位性あるが、総合的には専用ツールに劣る。

4.現場に即した  活用の模索

Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved. 24/27

【事例】 単体コード検証への適用 ~副次効果~

本事例を実務者へ展開。本手法の実施経験から抽出された副次結果を以下に示す。

モデリングに対するハードルが下がった

・ 比較的簡単なブロックのみを使ってモデリング。

 ⇒ 「モデリング=難しい」というイメージを改善できたことに意義がある。

機能の構造化をより意識するようになった

・ ブロック線図では結線の増加がモデルの見づらさに直結。

・ テストシナリオのモデリングを通じ、仕様の抽象化を意識。

コード変更による振舞いの比較が容易になった

・ 変更前後のS-FunctionブロックをBack to Backテストと同様に接続し、

 振舞いの違いを容易に確認できる。

・ 「動的振舞いのDIFFツール」として、モデリングツールの適用が有効。

効果1

効果2

効果3

・ 単体コード検証への適用効果そのものではないが、モデルベース開発の適用に 前向きな意見が挙げられた。・ 実務者の意識付けという意味で、意義のある結果を得た。

4.現場に即した  活用の模索

Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved. 25/27

1.会社紹介

2.モデルベース開発導入への取組みと課題

3.機能安全対応による再始動

4.現場に即した活用の模索(単体コード検証への適用)

5.まとめ

Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved. 26/27

まとめ

導入推進上の問題点とその反省

・ ソフトウェアの複雑化、大規模化に対応すべくモデルベース開発の導入推進に着手。

・ しかし、現場ニーズとのアンマッチもあり推進活動は一時休止に。

・ 手法の良し悪しだけでなく、実務のニーズとの融和をきちんと考慮する必要がある。

モデルベース開発導入への第一歩

機能安全規格対応のための新技術導入

・ 取組み易く、かつ、実務のニーズに程近い対象への適用を実施。

・ 単体コード検証への適用に有益な結果を得た。(ただし、実際の適用には工夫が必要)

・ それ以上に、モデルベース開発の適用に前向きな意見を得られたのは大きな成果。

・ 規格対応のための新技術を調査し、「モデルベース開発」の優位性を示した。

・ 専任体制のほかモデルベース開発環境も整備され、導入推進に強力な後ろ盾を得た。

新技術の導入は、その技術の優位性のみを以って適用することは難しい。

「現場を見て」、「実際を知り」、かつ「信念を持って」取り組むことが大切である。

5.まとめ

【第2章】

【第3章】

【第4章】

Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved. 27/27

今後取り組むべき課題

・ ツール別評価基準の策定。・ 自社コード品質基準への適合可否の検証。(自動コード生成)・ 運用によるツール品質の補完方法の検討。

(1)量産ソフトウェア開発の現場に即した有用性検証

(3)モデリング技術者の育成

(2)ツール信頼性の検証

・ モデルベース開発技術者に求められるスキルの定義。・ 目的別育成計画の策定、および、自主改善活動への展開。

・ モデルベース開発技術の適用基準の検討と導入の実践。・ 自動コード生成、HILS、などの適用有効性検討。・ 現行プロセスへの取り込みによる影響の検討。

(4)導入推進者のモチベーション維持・向上

・ 目標の見える化と適正なマイルストンの設定。・ 組織への貢献度を評価するための仕組み作り。

品質

育成

推進

適用

適用

品質

育成

推進

5.まとめ

Copyright © 2011 TOKAI RIKA Co.,Ltd. All rights reserved.

ご清聴ありがとうございました