アイシン・コムクルーズにおけるモデルベース開発 の環境構築...

26
アイシン・コムクルーズにおけるモデルベース開発 の環境構築に向けた取り組み 2015624アイシン・コムクルーズ株式会社 技術統括部 深津隆志

Transcript of アイシン・コムクルーズにおけるモデルベース開発 の環境構築...

Page 1: アイシン・コムクルーズにおけるモデルベース開発 の環境構築 ...jmaab.mathworks.jp/bord/openconf2015/(JOC2015)ACC.pdf · 2015-06-26 · • 自主的に技術動向を調査し、情報を元に必要な開発環境を

アイシン・コムクルーズにおけるモデルベース開発の環境構築に向けた取り組み

2015年6月24日

アイシン・コムクルーズ株式会社

技術統括部

深津隆志

Page 2: アイシン・コムクルーズにおけるモデルベース開発 の環境構築 ...jmaab.mathworks.jp/bord/openconf2015/(JOC2015)ACC.pdf · 2015-06-26 · • 自主的に技術動向を調査し、情報を元に必要な開発環境を

講演アブストラクト

• 開発効率の向上とソフトウェアの品質確保をテーマに、モデルベース開発(MBD)が自動車業界でのトレンドとなっています。

• アイシングループのソフトウェア開発の専門会社として設立された弊社が、MBDの環境構築の一環として取り組んできた活動例を紹介します。

• また、MBDを推進するJMAAB活動への参加状況も交えながら、現状における課題と今後の期待についてまとめます。

1

Page 3: アイシン・コムクルーズにおけるモデルベース開発 の環境構築 ...jmaab.mathworks.jp/bord/openconf2015/(JOC2015)ACC.pdf · 2015-06-26 · • 自主的に技術動向を調査し、情報を元に必要な開発環境を

目次

• 会社紹介

• JMAABとの関わり

• MBD活動例

• 今後の活動

2

Page 4: アイシン・コムクルーズにおけるモデルベース開発 の環境構築 ...jmaab.mathworks.jp/bord/openconf2015/(JOC2015)ACC.pdf · 2015-06-26 · • 自主的に技術動向を調査し、情報を元に必要な開発環境を

アイシングループとは?

トヨタ自動車

ジェイテクト

豊田自動織機

愛知製鋼

トヨタ車体

トヨタ自動車東日本

豊田通商

豊田合成

デンソー

トヨタ紡織

東和不動産

豊田中央研究所

アイシン精機

アイシン化工株式会社

アイシン高丘株式会社

◇トヨタグループ

鋳造部品のトップメーカー

塗料等の化学分野専門メーカー

・・・

計188社

(連結対象)

組込みソフト開発専門会社

<売上とシェア> ◇アイシングループ

アイシン

・コムクルーズ

株式会社

ガラスとタイヤ以外の自動車部品・他

乗用車用AT、NAVI

自動車用ブレーキ関係

自動車用MT

トヨタグループを中心に、世界中の自動車メーカーと取引しています。(GM、VW、・・・)

2兆8千億円

(2013年度)

(千人)

<連結従業員数>

(年度)

78,212 83,378

0

102030

405060

‘12/3 ‘13/3 ’14/3

89,531908070

グループ概要

Page 5: アイシン・コムクルーズにおけるモデルベース開発 の環境構築 ...jmaab.mathworks.jp/bord/openconf2015/(JOC2015)ACC.pdf · 2015-06-26 · • 自主的に技術動向を調査し、情報を元に必要な開発環境を

会社概要

4

41 40

29

41

61 5763

0

10

20

30

40

50

60

70

'07 '08 '09 '10 '11 '12 '13

売上の推移(億円)

離職率≒1%、女性比≒20%、29歳以下≒50%

(見込み)

Page 6: アイシン・コムクルーズにおけるモデルベース開発 の環境構築 ...jmaab.mathworks.jp/bord/openconf2015/(JOC2015)ACC.pdf · 2015-06-26 · • 自主的に技術動向を調査し、情報を元に必要な開発環境を

何やってるか?

• アイシン精機、アイシンAW、アドヴィックス、アイシン・エーアイが設計した製品の制御ソフトウェアを設計し、検査します。

5

グループ会社の多種多様な製品を裏でサポートするソフトウェア専門家集団

Page 7: アイシン・コムクルーズにおけるモデルベース開発 の環境構築 ...jmaab.mathworks.jp/bord/openconf2015/(JOC2015)ACC.pdf · 2015-06-26 · • 自主的に技術動向を調査し、情報を元に必要な開発環境を

ACCでの仕事の範囲

• 現在は下流工程がメイン業務となっていますが、将来的にはより上流工程まで範囲を広げたい。 6

ユーザー要求

システム仕様書

機能仕様書

結合テスト

詳細仕様書

単体テスト

単体テスト報告書

結合テスト報告書

システムテスト報告書

評価工程ソフトウェア開発開始 ソフトウェアリリース

コーディング

結合テスト仕様書

詳細設計

単体テスト仕様書

デバッグ

システムテスト仕様書

要求分析

システム設計

開発工程

ソースコード

打合せ

C言語・Simulink

実機・実車評価

実車走行評価システムテスト

各種ツール・シミュレーション

Page 8: アイシン・コムクルーズにおけるモデルベース開発 の環境構築 ...jmaab.mathworks.jp/bord/openconf2015/(JOC2015)ACC.pdf · 2015-06-26 · • 自主的に技術動向を調査し、情報を元に必要な開発環境を

技術統括部の役割

• 技術統括部は、製品ソフトウェアを直接設計する部署ではありません。

• 開発環境、開発プロセス、教育など、製品開発を横串でサポートする部署です。

• MBDの分野では、アイシングループで使用可能な開発環境ツールの企画・設計を行っています。(グループ内の開発機能補完部署)

7

Page 9: アイシン・コムクルーズにおけるモデルベース開発 の環境構築 ...jmaab.mathworks.jp/bord/openconf2015/(JOC2015)ACC.pdf · 2015-06-26 · • 自主的に技術動向を調査し、情報を元に必要な開発環境を

JMAABとの関わり

• JMAABは、従来、グループ会社である以下3社が活動していました。

– アイシン精機

– アイシンAW

– アドヴィックス

• 我々は、3社を裏から支えるべく、以下3つのワーキングの活動をサポートしてきました。

– 制御モデリングガイドラインWG(2012年~)

– メトリクスWG(2011年~)、可読性分析WG(2014年~)

– SLSF訓練集作成WG(2013年~)

8

Page 10: アイシン・コムクルーズにおけるモデルベース開発 の環境構築 ...jmaab.mathworks.jp/bord/openconf2015/(JOC2015)ACC.pdf · 2015-06-26 · • 自主的に技術動向を調査し、情報を元に必要な開発環境を

ACCの活動内容

1. 制御モデリングガイドラインWG

– アイシングループ向けにスタイルガイドチェッカーの作成

– 整合の取れない内容を技術的にサポート

2. メトリクス(可読性分析)WG

– モデルから数値を取り出す仕組みの作成・提供

– 茨城大学と協力し、モデルを点数として表す手法の検討

9

◇主成分分析によるSimulinkモデルの品質評価の試み(R)峯岸 賢吾,黒沢祐樹,上田賀一(茨城大),深津 隆志(アイシン・コムクルーズ),久保孝行(アイシン・エィ・ダブリュ)

◇ Simulinkモデル分割判別を利用した品質評価手法の検討峯岸賢吾,上田 賀一(茨城大学),深津 隆志(アイシン・コムクルーズ),久保孝行(アイシン・エィ・ダブリュ)

Page 11: アイシン・コムクルーズにおけるモデルベース開発 の環境構築 ...jmaab.mathworks.jp/bord/openconf2015/(JOC2015)ACC.pdf · 2015-06-26 · • 自主的に技術動向を調査し、情報を元に必要な開発環境を

メトリクスツール

10

・ブロック情報・信号線情報・チャート情報

1次データ

・サブシステムリスト・チャートリスト

0次データ

・メトリクス用データ

2次データ

・メトリクスのマップ換算値

3次データモデルファイル

+ +

+ +

階層毎のデータ種関数名

使用変数(データ)マップ値

ブロックパラメータの設定チャートオブジェクトの設定

リンク/マスクのパラメータの設定

エクセルファイルを使ってモデルが持つ情報の数を測定するツールを作成

ユーザーは、MATLAB言語を知らなくても、モデルから必要な情報の数を取得できる

Page 12: アイシン・コムクルーズにおけるモデルベース開発 の環境構築 ...jmaab.mathworks.jp/bord/openconf2015/(JOC2015)ACC.pdf · 2015-06-26 · • 自主的に技術動向を調査し、情報を元に必要な開発環境を

ACCの活動内容

3. SLSF訓練集作成WG

– ガイドラインから教育用の資料を作成

– 研修資料のトライ(アイシングループ内でガイドライン教育の実施)

– WGに改善点の提案

• 根拠やメリットの説明追加

11

Page 13: アイシン・コムクルーズにおけるモデルベース開発 の環境構築 ...jmaab.mathworks.jp/bord/openconf2015/(JOC2015)ACC.pdf · 2015-06-26 · • 自主的に技術動向を調査し、情報を元に必要な開発環境を

ACCでの、MBD活動例紹介

Page 14: アイシン・コムクルーズにおけるモデルベース開発 の環境構築 ...jmaab.mathworks.jp/bord/openconf2015/(JOC2015)ACC.pdf · 2015-06-26 · • 自主的に技術動向を調査し、情報を元に必要な開発環境を

ACCでの、MBD活動例紹介

13

①モデル設計の受託

②モデル設計の開発環境受託

• アイシングループでの製品開発の一部として、制御モデルの受託開発を行っていますが、機密情報が関係するため残念ながらお話できません。

• 本日は、直接の製品情報が関係しない②の事例を紹介したいと思います。

Page 15: アイシン・コムクルーズにおけるモデルベース開発 の環境構築 ...jmaab.mathworks.jp/bord/openconf2015/(JOC2015)ACC.pdf · 2015-06-26 · • 自主的に技術動向を調査し、情報を元に必要な開発環境を

スタイルガイドチェッカーの開発

• アイシン精機、アイシンAWの2社がチェッカーの先行開発を行っており、この2社から指導を受け、ACCでの受託開発を開始しました。

• チェックルール数の追加だけでなく、違反箇所の自動修正機能も追加しています。

• 各社で異なるブロックリストやパラメータ値への対応は、メンテナンス性を考慮した仕組みにしています。

• 上記の取り組みにより、モデル作成の工数削減に貢献しています。

14

Page 16: アイシン・コムクルーズにおけるモデルベース開発 の環境構築 ...jmaab.mathworks.jp/bord/openconf2015/(JOC2015)ACC.pdf · 2015-06-26 · • 自主的に技術動向を調査し、情報を元に必要な開発環境を

ルール数の追加

15

MAABガイドラインVer2

2007年 2011年 2015年

MAABガイドラインVer4

MAABガイドラインVer3

業界標準化活動

アイシンAW

アイシン精機アドヴィックスアイシンAI

グループ標準化活動

6893

124149

新規作成 MISRA

ルール追加

Ver4

ルール追加

グループルール追加

対応ルール数

Page 17: アイシン・コムクルーズにおけるモデルベース開発 の環境構築 ...jmaab.mathworks.jp/bord/openconf2015/(JOC2015)ACC.pdf · 2015-06-26 · • 自主的に技術動向を調査し、情報を元に必要な開発環境を

チェックと自動修正のルール数

• ガイドラインVer4の8割以上のルールが自動でチェック可能です。

• 自動修正については3割弱しか対応できていないため、Ver5

のルール検討を行いながら順次追加予定です。

16

10940

31

ACC:Ver4

自動チェック

自動修正付

未対応

R2015a

Total:149/180ルール

Page 18: アイシン・コムクルーズにおけるモデルベース開発 の環境構築 ...jmaab.mathworks.jp/bord/openconf2015/(JOC2015)ACC.pdf · 2015-06-26 · • 自主的に技術動向を調査し、情報を元に必要な開発環境を

ブロックリストへの対応例

• チェック対象(対象外)となるブロックやブロックサイズなどのデータはプロジェクトによって異なります。

• 異なるデータに対応できる仕組みが必要になります。

• 対象ブロックやブロックサイズをエクセルファイルに設定することで、データが変更し易くなります。

17

BlockType MaskType option1ComparisonName

option2 width hight X_VariableSize Y_VariableSize MaxWidth MaxHight

ALL ALL jm_0002 jm_0002 jm_0002 jm_0002 jm_0002 jm_0002 jm_0002 jm_0002 jm_0002

From GotoTag 40 20 num*6.5+37 500

Goto GotoTag 40 20 num*6.5+37 500

Lookup_n-D 65 64

S-FunctionLookup Table Dynamic

65 56

SubSystem -1 -1

Sum iconShape rectangular Inputs 30 31 num*15+1 500

UnaryMinus 30 30

Abs 30 30

Product 30 31 numI*15+1 500

S-FunctionData Type Propagation

40 46

Logic 30 -1 500

MinMax 30 -1 500

対象ブロック サイズ サイズ(可変)

Page 19: アイシン・コムクルーズにおけるモデルベース開発 の環境構築 ...jmaab.mathworks.jp/bord/openconf2015/(JOC2015)ACC.pdf · 2015-06-26 · • 自主的に技術動向を調査し、情報を元に必要な開発環境を

モデルの可読性

• 以下のモデルAとモデルBについて

– どちらのモデルが分かり易いですか?

– 出力結果に違いはありますか?

18

モデルA モデルB

Page 20: アイシン・コムクルーズにおけるモデルベース開発 の環境構築 ...jmaab.mathworks.jp/bord/openconf2015/(JOC2015)ACC.pdf · 2015-06-26 · • 自主的に技術動向を調査し、情報を元に必要な開発環境を

構成パターンの検出

• モデルAとモデルBの出力結果は同じです。

• 複数ブロックで構成される機能は、同じ機能を有する単一(少数)ブロックに置換えることで可読性が向上します。

• 構成パターンの検出から置換までを自動化する仕組みを考えます。

19

モデルA モデルB

Page 21: アイシン・コムクルーズにおけるモデルベース開発 の環境構築 ...jmaab.mathworks.jp/bord/openconf2015/(JOC2015)ACC.pdf · 2015-06-26 · • 自主的に技術動向を調査し、情報を元に必要な開発環境を

メンテナンス性の悪いプログラム

• パターン1つにつき、1つのプログラムを作成

– パターンを追加する度に、検出・置換のプログラム作成が必要

20

MinMax.m

DetectChange.m

新規作成

パターン プログラム置換前 置換後

追加

Page 22: アイシン・コムクルーズにおけるモデルベース開発 の環境構築 ...jmaab.mathworks.jp/bord/openconf2015/(JOC2015)ACC.pdf · 2015-06-26 · • 自主的に技術動向を調査し、情報を元に必要な開発環境を

メンテナンス性を考慮したプログラム

• パターンをデータ化するプログラムを作成

– パターンデータはブロックの接続とブロックパラメータ

– 検出対象のパターン(置換前後)をモデルで表現

– 検出対象のブロックパラメータをブロックプロパティに追記

21

RepBlk.m

パターン プログラム置換前 置換後

追加

MATファイル

Page 23: アイシン・コムクルーズにおけるモデルベース開発 の環境構築 ...jmaab.mathworks.jp/bord/openconf2015/(JOC2015)ACC.pdf · 2015-06-26 · • 自主的に技術動向を調査し、情報を元に必要な開発環境を

パターン抽出

• 置換のパターンを抽出し、パターンデータ(ブロックの接続やブロックパラメータ)を取得

– Number:自番号

– SrcNumber/DstNumber:接続元番号/接続先番号

– BlockType:ブロックタイプ

– ParamName/ParamVal:パラメータ名/パラメータ値

• パターンをデータ化することで、プログラムを変更することなく、パターンの抽出が可能になります。

22

1

2

3 45

置換パターンモデル パターンデータ

【Switchブロックデータ】Number:4SrcNumber:[1,3,2]DstNumber:5BlockType:SwitchParamName:[]ParamVal:[]

【Relational Operatorブロックデータ】Number:3SrcNumber:[1,2]DstNumber:4BlockType:RelationalOperatorParamName:OperatorParamVal:<,<=

Page 24: アイシン・コムクルーズにおけるモデルベース開発 の環境構築 ...jmaab.mathworks.jp/bord/openconf2015/(JOC2015)ACC.pdf · 2015-06-26 · • 自主的に技術動向を調査し、情報を元に必要な開発環境を

中間フォーマットの経由

• スタイルガイドチェッカーでのブロックリストへの対応や、構成パターン検出のデータ化による設計手法は、組み込み系の開発とは考え方を変えなければいけません。

• 「ユーザーの使い勝手」と「プログラムの保守性」の2点を両立させるため、言語の違いだけでなくテクニックが必要になります。

23

プログラム+

プログラム +

OutputA

OutputB

OutputC

中間フォーマット

Page 25: アイシン・コムクルーズにおけるモデルベース開発 の環境構築 ...jmaab.mathworks.jp/bord/openconf2015/(JOC2015)ACC.pdf · 2015-06-26 · • 自主的に技術動向を調査し、情報を元に必要な開発環境を

今後の活動

• JMAABの基本理念でもある「ツールは協調し、製品で競争」を念頭に、グループで結束し、統合した開発環境を整備していきたい。

• 自主的に技術動向を調査し、情報を元に必要な開発環境を構築する。

• 言われてから作るのでは無く、必要な時に必要な環境が提供できる提案型の開発へと移行する。

• JMAABに参加しながら最新の業界動向を収集し、業界標準化に向けて積極的に活動していきたい。

24

Page 26: アイシン・コムクルーズにおけるモデルベース開発 の環境構築 ...jmaab.mathworks.jp/bord/openconf2015/(JOC2015)ACC.pdf · 2015-06-26 · • 自主的に技術動向を調査し、情報を元に必要な開発環境を

最後に

• スタイルガイドのチェックについて

– 標準のモデルアドバイザーを使っていますか?

– モデルアドバイザーのカスタマイズ、もしくは同等機能を作成していますか?

• 「ツールは協調し、製品で競争」を念頭に、JMAABで結束し、統合した開発環境を整備していきたい。

25

R2014a R2014b R2015a R2015b R2016a R2017b R2018a

MW Ver4.0

ver4.0対象バージョン

ver5.0対象バージョン

Ver3.0

ACC Ver3.0 Ver4.0 Ver4.x Ver5.0R2007b~R2014a R2010b~R2015a R2012b~R2017b

ガイドライン