アイシン・コムクルーズにおけるモデルベース開発 の環境構築...
Transcript of アイシン・コムクルーズにおけるモデルベース開発 の環境構築...
アイシン・コムクルーズにおけるモデルベース開発の環境構築に向けた取り組み
2015年6月24日
アイシン・コムクルーズ株式会社
技術統括部
深津隆志
講演アブストラクト
• 開発効率の向上とソフトウェアの品質確保をテーマに、モデルベース開発(MBD)が自動車業界でのトレンドとなっています。
• アイシングループのソフトウェア開発の専門会社として設立された弊社が、MBDの環境構築の一環として取り組んできた活動例を紹介します。
• また、MBDを推進するJMAAB活動への参加状況も交えながら、現状における課題と今後の期待についてまとめます。
1
目次
• 会社紹介
• JMAABとの関わり
• MBD活動例
• 今後の活動
2
アイシングループとは?
トヨタ自動車
ジェイテクト
豊田自動織機
愛知製鋼
トヨタ車体
トヨタ自動車東日本
豊田通商
豊田合成
デンソー
トヨタ紡織
東和不動産
豊田中央研究所
アイシン精機
アイシン化工株式会社
アイシン高丘株式会社
◇トヨタグループ
鋳造部品のトップメーカー
塗料等の化学分野専門メーカー
・・・
計188社
(連結対象)
組込みソフト開発専門会社
<売上とシェア> ◇アイシングループ
アイシン
・コムクルーズ
株式会社
ガラスとタイヤ以外の自動車部品・他
乗用車用AT、NAVI
自動車用ブレーキ関係
自動車用MT
トヨタグループを中心に、世界中の自動車メーカーと取引しています。(GM、VW、・・・)
2兆8千億円
(2013年度)
(千人)
<連結従業員数>
(年度)
78,212 83,378
0
102030
405060
‘12/3 ‘13/3 ’14/3
89,531908070
グループ概要
会社概要
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%
(見込み)
何やってるか?
• アイシン精機、アイシンAW、アドヴィックス、アイシン・エーアイが設計した製品の制御ソフトウェアを設計し、検査します。
5
グループ会社の多種多様な製品を裏でサポートするソフトウェア専門家集団
ACCでの仕事の範囲
• 現在は下流工程がメイン業務となっていますが、将来的にはより上流工程まで範囲を広げたい。 6
ユーザー要求
システム仕様書
機能仕様書
結合テスト
詳細仕様書
単体テスト
単体テスト報告書
結合テスト報告書
システムテスト報告書
評価工程ソフトウェア開発開始 ソフトウェアリリース
コーディング
結合テスト仕様書
詳細設計
単体テスト仕様書
デバッグ
システムテスト仕様書
要求分析
システム設計
開発工程
ソースコード
打合せ
C言語・Simulink
実機・実車評価
実車走行評価システムテスト
各種ツール・シミュレーション
技術統括部の役割
• 技術統括部は、製品ソフトウェアを直接設計する部署ではありません。
• 開発環境、開発プロセス、教育など、製品開発を横串でサポートする部署です。
• MBDの分野では、アイシングループで使用可能な開発環境ツールの企画・設計を行っています。(グループ内の開発機能補完部署)
7
JMAABとの関わり
• JMAABは、従来、グループ会社である以下3社が活動していました。
– アイシン精機
– アイシンAW
– アドヴィックス
• 我々は、3社を裏から支えるべく、以下3つのワーキングの活動をサポートしてきました。
– 制御モデリングガイドラインWG(2012年~)
– メトリクスWG(2011年~)、可読性分析WG(2014年~)
– SLSF訓練集作成WG(2013年~)
8
ACCの活動内容
1. 制御モデリングガイドラインWG
– アイシングループ向けにスタイルガイドチェッカーの作成
– 整合の取れない内容を技術的にサポート
2. メトリクス(可読性分析)WG
– モデルから数値を取り出す仕組みの作成・提供
– 茨城大学と協力し、モデルを点数として表す手法の検討
9
◇主成分分析によるSimulinkモデルの品質評価の試み(R)峯岸 賢吾,黒沢祐樹,上田賀一(茨城大),深津 隆志(アイシン・コムクルーズ),久保孝行(アイシン・エィ・ダブリュ)
◇ Simulinkモデル分割判別を利用した品質評価手法の検討峯岸賢吾,上田 賀一(茨城大学),深津 隆志(アイシン・コムクルーズ),久保孝行(アイシン・エィ・ダブリュ)
メトリクスツール
10
・ブロック情報・信号線情報・チャート情報
1次データ
・サブシステムリスト・チャートリスト
0次データ
・メトリクス用データ
2次データ
・メトリクスのマップ換算値
3次データモデルファイル
+ +
+ +
階層毎のデータ種関数名
使用変数(データ)マップ値
ブロックパラメータの設定チャートオブジェクトの設定
リンク/マスクのパラメータの設定
エクセルファイルを使ってモデルが持つ情報の数を測定するツールを作成
ユーザーは、MATLAB言語を知らなくても、モデルから必要な情報の数を取得できる
ACCの活動内容
3. SLSF訓練集作成WG
– ガイドラインから教育用の資料を作成
– 研修資料のトライ(アイシングループ内でガイドライン教育の実施)
– WGに改善点の提案
• 根拠やメリットの説明追加
11
ACCでの、MBD活動例紹介
ACCでの、MBD活動例紹介
13
①モデル設計の受託
②モデル設計の開発環境受託
• アイシングループでの製品開発の一部として、制御モデルの受託開発を行っていますが、機密情報が関係するため残念ながらお話できません。
• 本日は、直接の製品情報が関係しない②の事例を紹介したいと思います。
スタイルガイドチェッカーの開発
• アイシン精機、アイシンAWの2社がチェッカーの先行開発を行っており、この2社から指導を受け、ACCでの受託開発を開始しました。
• チェックルール数の追加だけでなく、違反箇所の自動修正機能も追加しています。
• 各社で異なるブロックリストやパラメータ値への対応は、メンテナンス性を考慮した仕組みにしています。
• 上記の取り組みにより、モデル作成の工数削減に貢献しています。
14
ルール数の追加
15
MAABガイドラインVer2
2007年 2011年 2015年
MAABガイドラインVer4
MAABガイドラインVer3
業界標準化活動
アイシンAW
アイシン精機アドヴィックスアイシンAI
グループ標準化活動
6893
124149
新規作成 MISRA
ルール追加
Ver4
ルール追加
グループルール追加
対応ルール数
チェックと自動修正のルール数
• ガイドラインVer4の8割以上のルールが自動でチェック可能です。
• 自動修正については3割弱しか対応できていないため、Ver5
のルール検討を行いながら順次追加予定です。
16
10940
31
ACC:Ver4
自動チェック
自動修正付
未対応
R2015a
Total:149/180ルール
ブロックリストへの対応例
• チェック対象(対象外)となるブロックやブロックサイズなどのデータはプロジェクトによって異なります。
• 異なるデータに対応できる仕組みが必要になります。
• 対象ブロックやブロックサイズをエクセルファイルに設定することで、データが変更し易くなります。
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
対象ブロック サイズ サイズ(可変)
モデルの可読性
• 以下のモデルAとモデルBについて
– どちらのモデルが分かり易いですか?
– 出力結果に違いはありますか?
18
モデルA モデルB
構成パターンの検出
• モデルAとモデルBの出力結果は同じです。
• 複数ブロックで構成される機能は、同じ機能を有する単一(少数)ブロックに置換えることで可読性が向上します。
• 構成パターンの検出から置換までを自動化する仕組みを考えます。
19
モデルA モデルB
メンテナンス性の悪いプログラム
• パターン1つにつき、1つのプログラムを作成
– パターンを追加する度に、検出・置換のプログラム作成が必要
20
MinMax.m
DetectChange.m
新規作成
パターン プログラム置換前 置換後
追加
メンテナンス性を考慮したプログラム
• パターンをデータ化するプログラムを作成
– パターンデータはブロックの接続とブロックパラメータ
– 検出対象のパターン(置換前後)をモデルで表現
– 検出対象のブロックパラメータをブロックプロパティに追記
21
RepBlk.m
パターン プログラム置換前 置換後
追加
MATファイル
パターン抽出
• 置換のパターンを抽出し、パターンデータ(ブロックの接続やブロックパラメータ)を取得
– 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:<,<=
中間フォーマットの経由
• スタイルガイドチェッカーでのブロックリストへの対応や、構成パターン検出のデータ化による設計手法は、組み込み系の開発とは考え方を変えなければいけません。
• 「ユーザーの使い勝手」と「プログラムの保守性」の2点を両立させるため、言語の違いだけでなくテクニックが必要になります。
23
プログラム+
プログラム +
OutputA
OutputB
OutputC
中間フォーマット
今後の活動
• JMAABの基本理念でもある「ツールは協調し、製品で競争」を念頭に、グループで結束し、統合した開発環境を整備していきたい。
• 自主的に技術動向を調査し、情報を元に必要な開発環境を構築する。
• 言われてから作るのでは無く、必要な時に必要な環境が提供できる提案型の開発へと移行する。
• JMAABに参加しながら最新の業界動向を収集し、業界標準化に向けて積極的に活動していきたい。
24
最後に
• スタイルガイドのチェックについて
– 標準のモデルアドバイザーを使っていますか?
– モデルアドバイザーのカスタマイズ、もしくは同等機能を作成していますか?
• 「ツールは協調し、製品で競争」を念頭に、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
ガイドライン