mbdエンジニアの仕事術 -...

102
2011 12 7 AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute. スライド番号1 MBDエンジニアの仕事術 アイシン・エィ・ダブリュ株式会社 技術本部 解析技術部 主任研究員 久保孝行

Upload: others

Post on 21-May-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号1

MBDエンジニアの仕事術

アイシン・エィ・ダブリュ株式会社

技術本部 解析技術部

主任研究員 久保孝行

Page 2: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号2

目次

• MBDエンジニアのキャリア種別

• モデリング編– 要求表現

• タイミングチャート

• 状態遷移図

– 状態遷移図の描き方• 書き方のルール

• 教育方法

• MBD開発環境エンジニア編– MBD開発環境の「改善」

• 最後に

Page 3: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号3

アイシン・エィ・ダブリュ株式会社

基本情報

〒444-1192愛知県安城市藤井町高根10番地0566-73-1111(代表)

本社所在地

連結 19,545名(2011年3月31日現在)単独 12,903名(2011年3月31日現在)

従業員数

オートマチックトランスミッション、ハイブリッドシステム、カーナビゲーションシステム

主要製品

連結 8,545億円(2011年3月期)単独 7,927億円(2011年3月期)

売上高

取締役社長 石川勉代表者

264億8,000万円資本金

1969年5月15日設立

アイシン・エィ・ダブリュ株式会社社名

アイシン・エィ・ダブリュ「本館」

Page 4: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号4

アイシン・エィ・ダブリュ 駆動系製品FR多段

FR多段:4~8速ラインナップ8速A/T:トヨタ自動車6速A/T:VW,BMW等

Page 5: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号5

アイシン・エィ・ダブリュ 駆動系製品FF多段

FF多段:4速~6速をラインナップ6速A/T:ボルボ、オペル、サーブ、ランドローバー、プジョー、フォルクスワーゲン等

Page 6: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号6

アイシン・エィ・ダブリュ 駆動系製品

FRハイブリッドシステムトヨタ自動車

FF CVT:トヨタ自動車、マツダ等

FR、FFがラインナップ

Page 7: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号7

カーナビゲーション

カーナビゲーションシステムは、トヨタ自動車への純正カーナビが中心その他•アウディ純正日本向け• GM純正北米向け• イクリプス市販日本向け…等

Page 8: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号8

NAVIelite

詳細はWEBを http://www.aisin-aw.co.jp

Page 9: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号9

自己紹介

経歴

• 1994年 アイシン・エィ・ダブリュへ入社

FF5速A/Tの制御開発を担当

• 2002年MBD:HILS装置の開発を担当

MATLAB/Simulinkを本格的に使い始める• 2009年

IPAからSECジャーナル最優秀論文書受賞

近年は、MBDの教育を含め、MBD開発環境改善活動に従事

氏名:久保孝行

Page 10: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号10

自己紹介

• JMAAB ボードメンバー(7社9名) http://jmaab.mathworks.jp/

Page 11: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号11

自己紹介

• 統合系プロジェクト 2010年度、2011年度

• モデルベース開発系の委員として活動

http://sec.ipa.go.jp/about/committee_com.html

Page 12: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号12

Car Testing and Car Designing Japan 2012

2012年2月7,8,9日開催 http://cartesting2012.jp/

2月7日も講演があります。

Page 13: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号13

目次

• MBDエンジニアのキャリア種別

• モデリング編– 要求表現

• タイミングチャート

• 状態遷移図

– 状態遷移図の描き方• 書き方のルール

• 教育方法

• MBD開発環境エンジニア編– MBD開発環境の「改善」

Page 14: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号14

MBDとVプロセスの関係

HILS制御装置モデル

ACG

設計設計設計設計検証検証検証検証

MILS

RCP

Codeverification

制御装置モデル制御対象モデル

実制御対象 実ECU

結合

機能保障

結合

機能保障

ハード アクチュエータ センサ ハード 制御ソフト

Virtual WorldVirtual WorldVirtual WorldVirtual World

Real WorldReal WorldReal WorldReal World

ハートハートハートハード゙゙゙機能要求仕様書機能要求仕様書機能要求仕様書機能要求仕様書 制御機能要求仕様書制御機能要求仕様書制御機能要求仕様書制御機能要求仕様書

実車評価

MILS

HILSRCP ACG

実車評価⑤

制御対象制御対象モデルモデル

Page 15: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号15

アイシンAW版:MBDプロセス詳細

設計設計設計設計検証検証検証検証

Cソース

Model-Based Design Model-Based verification

適合適合適合適合制御対象

モデル設計

生成コードの

評価

モデルの

評価

要求検証要求検証要求検証要求検証

制御対象モデル

機能モデル

テストモデル

実装モデル

要件

実装

設計

モデル

解析

AutomaticC-code generation

テスト

設計

一致性検証

PILS機能評価機能評価機能評価機能評価

結合検査結合検査結合検査結合検査

単体検査単体検査単体検査単体検査

実機評価実機評価実機評価実機評価

HILS

Cコード

静的解析

validation

MILS

要求分析要求分析要求分析要求分析RCP

制御

設計機能評価機能評価機能評価機能評価

verification

2工程に分かれる

MBD開発環境エンジニア

Page 16: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号16

アイシンAWのMBDエンジニア定義

• MBDエンジニアとは、モデルベース開発に携わるエンジニアのことである。

特徴キャリア種別

制御対象(プラント)をモデリングする

エンジニアです。プラントモデルエンジニア

Simulinkモデルを使った開発環境を改善する。ツール作成や、ガイドラインの制定も行う。

MBD開発環境エンジニア

ソフトウェアに関する高度なスキルと共に、Simulinkからどの様なコードが出力されるのか正しい知識を持ち、仕組みを知った上でモデリングができるSimulinkに対する高度なスキルが必要。

実装モデルエンジニア(制御モデル後半)

制御機能が実現されたモデルを作成する。自動車、A/Tなどのドメインの知識と、制御に対して高度なスキルを必要とする。

機能モデルエンジニア(制御モデル前半)

Page 17: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号17

コントローラモデルの開発は2工程

分析

設計検査

抽出

機能を作りこむスパイラル開発最適な制御・機能を考える。

品質を作りこむスパイラル開発仕様を変えず、バグ0を目指す

機能モデルを開発する工程 実装モデルを開発する工程

抽出分析

設計検査

目的:機能を増やす。 目的:品質を良くする。

矢印は外に向かって大きくなる。

矢印は中心(ゴール)向かっ行く。

Page 18: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号18

エンジニアのスキルの配分イメージ

• 機能モデル設計エンジニア • 実装モデル設計エンジニア

ドメイン

Simulink

Simulink

ドメイン

ドメインの知識が重要見栄えを良くするよりも、新たな機能開発を重視する。全体を見渡し、本当に必要な手段を新たな発想を持って、開発できる事が重要

品質を確保する為に、非常に高度なモデルスキルとソフトウェアスキルが必要である。機能を増やすよりも品質を上げる事に主眼を置ける人材が必要である。

ソフトウェア技術

求められるスキルよりは、性格の方が重要であると考えている。

Page 19: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号19

MBDエンジニアの仕事術「モデル作成編」

Page 20: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号20

目次

• MBDエンジニアのキャリア種別

• モデリング編– 要求表現

• タイミングチャート

• 状態遷移図

– 状態遷移図の描き方• 書き方のルール

• 教育方法

• MBD開発環境エンジニア編– MBD開発環境の「改善」

Page 21: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号21

要求理解:シナリオ作成へ

• 最初に、要求を理解し、要求を明確化します。次に、制御モデルの設計が始まります。

まずは、要求を理解する。

それには、シナリオを作る事が効果的

シナリオを作るとは?

頭の中で仮想シミュレーションし、やりたいことを実現すると、どの様になるのかを表現する。その表現は、自然言語だけでなく、図や表を用いると良い。

Page 22: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号22

シナリオ作成とUMLの関係

図を描く目的• 要求を理解する。• 理解した結果を示す。ソフトウェアを作成するのに必要だから、図・表を描く

抽出分析

設計検査

要求段階では、設計・分析で色々な図や表を使ってスパイラル的に工程が繰り返えされる

シナリオ表現の図とは? ⇒ UMLなのか?

UMLの図は、要求を理解し、ソフトウェアを作成するために必要な図として定義された。図を書けば要求を理解できるのではない。

Page 23: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号23

シナリオ作成とUMLの関係

決められた図・表を描けば、要求が理解でき、ソフトウェアが作れる。

ケースバイケースで、要求を理解するために、必要な図や表を使えば良い。

要求理解の為にシナリオを作成するそれに、必要な図を使う。必要な図は開発対象、開発プロセスによって異なる。

Page 24: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号24

シナリオ作成に有効な図は?

• 「時間変化によって、出力値が変わる制御開発に適した図は?」

「タイミングチャート」が最も活用しやすい。

シナリオ=ユースケース毎のタイミングチャート

タイミングチャートを使って表したシナリオは、テスト工程でも活用できる。

タイミングチャートは、入力に対する、あるべき振る舞いを定義する

Page 25: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号25

自動販売機を例題にする

• 入力:お金の種類:50円、100円• 入力:ボタンの種類:150円ジュース購入ボタン、200円ジュース購入ボタン

• 動作:お金を入れて、金額が満たされた状態で購入ボタンを押すと、ジュースが購入できる。

Page 26: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号26

自動販売機の状態遷移例

• まずは、どの様な流れになるのかシナリオを作る。

ユースケースを検討する。

150円のジュース購入例(合計200円投入:50円のおつり出力)

1. 50円+ 50円+ 50円+ 50円 ⇒ ジュース1購入

2. 50円+ 50円+ 100円 ⇒ ジュース1購入

まずは、ユースケース1についてタイミングチャートを描いてみよう。

Page 27: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号27

タイミングチャート例

50円

100円

150円ジュース

200円ジュース

150円ジュース

50円

ジュース出力

おつり

1次入力信号

中間信号

出力信号

ユースケース1

時間

Page 28: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号28

シナリオ作成例:タイミングチャート

• タイミングチャートの作成には、信号のレイヤに対して4つの考え方が必要。

– 1次入力信号• 想定するシステムへの直接の入力信号

– 2次入力信号あるいは中間信号• 1次入力信号を用いて、作られた信号

• 出力信号を得るために、必要不可欠な中間信号

– 出力信号• 想定するシステムの出力値

– 他への影響• システムの出力によって、他のモジュールが受ける影響

画面の枠を分けても良いし、混ぜて書いても良い。

観点として4つある事を意識する。

Page 29: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号29

タイミングチャート例

50円

100円

150円ジュース

200円ジュース

150円ジュース

50円

ジュース出力

おつり

1次入力信号

総額

中間信号

出力信号

ユースケース1

時間

Page 30: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号30

タイミングチャート以外のシナリオ表現状態遷移を使ったシナリオ作成例

Page 31: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号31

お金の組み合わせは、非常に多いので、タイミングチャートでは数が多くなりすぎる。状態遷移図を使うことで、複数のユースケースをまとめて表現できる。

状態遷移図を使ったシナリオ表現例

[50円] [50円] [50円]

意味

合計50円

意味

合計100円

意味

合計150円

意味

合計200円[100円]

[ジュース1購入]

/ジュース1出力

返金50円

ユースケース1、ユースケース2を表現

ユースケース1

ユースケース2[50円]

Page 32: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号32

ミーリーマシンを用いた状態遷移図の例

[50円] [50円] [50円]

意味

合計50円

意味

合計100円

[ジュース1購入]

意味

合計150円

/ジュース1出力

意味

合計200円

[100円]

[ジュース1購入]

[ジュース2購入]

/ジュース1出力

返金50円

/ジュース2出力

[100円]

[100円]

200円投入までの全てのユースケースを表現した状態遷移図

[50円]

Page 33: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号33

シナリオ表現としての状態遷移図

• ユースケースが多すぎるものは、状態遷移図を使うことで、複数のユースケースをまとめた「シナリオ」を表現できます。これによって、全体の振る舞いが解り、仕様を明確にする事ができる。

[50円] [50円] [50円]

意味

合計50円

意味

合計100円

[ジュース1購入]

意味

合計150円

/ジュース1出力

意味

合計200円

[100円]

[ジュース1購入]

[ジュース2購入]

/ジュース1出力

返金50円

/ジュース2出力

[100円]

[100円][50円]

質問:この状態遷移図は完成している。だからコード生成しても良い。

Page 34: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号34

シナリオ表現としての状態遷移図

• ユースケースが多すぎるものは、状態遷移図を使うことで、複数のユースケースをまとめた「シナリオ」を表現できます。これによって、全体の振る舞いが解り、仕様を明確にする事ができる。

• 注意点– このような状態遷移図は、そのままソフトウェアとして実装する事はできない。

– もちろん形式手法によるチェックも意味がない。• 理由は、この状態遷移図は、要求を理解するため描かれた「シナリオ」だからです。

• ここから、実装に必要な情報を抜き出す為の、「分析」が必要である。

Page 35: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号35

状態遷移図の分析観点:状態変数

• 状態変数には、記憶と状態の二つが混在していることに気をつけるべきである。

–記憶(無限個)–状態(有限個)

記憶:無限個中身の量(××ml)中身の温度(℃)発熱量(カロリー)

状態:有限個空・満水沸騰前・沸騰中・沸騰後

Page 36: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号36

状態遷移図の表現:記憶の例

• 状態遷移図(ミーリーチャート)はフリップフロップ(論理演算)の振る舞い説明の為に作られたが、あくまで振る舞いを説明するためのものであり、コード生成を意識した表現方法ではない。

保持00

01(リセット)0

101

0(不定)11

QRS

出力入力

(1,0)

(x,1)

Q1/0 Q2/1

ムーアーチャート

/0

(1,0)/1

(x,1)/0

Q1 Q2

ミーリーチャート

(x,1)/0(0,0)/0

(0,0)/1

Q=(!R)&&(S||Q)

真理値表や、論理演算

振る舞いを説明

変換 変換の方向に注意

Page 37: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号37

状態遷移図からコード生成

フリップフロップ回路の振る舞いを書いて、最適化された論理演算が出力されるか?

コード生成する状態遷移図は、記憶と状態を区別した物を対象とする。

Q=(!R)&&(S||Q)

(1,0)

(x,1)

Q1/0 Q2/1

ムーアーチャート

/0

(1,0)/1

(x,1)/0

Q1 Q2

ミーリーチャート

(x,1)/0(0,0)/0

(0,0)/1変換

最適化されたコードは自動生成されない

記憶

Page 38: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号38

状態遷移図の整理例

–記憶(無限個)–状態(有限個)

• 金額の組み合わせや、ジュースの種類は、有限個と考えるかも知れない。

• しかし、両方共に、数の設定を増減することができるので、無限と考えるべきである。

• 金額やジュースの種類は、「記憶」に分類される項目であり、状態として扱ってはいけない。

• つまり、シナリオで用意した以外にも、お金の組み合わせや、ジュースの種類があると判断すべきである。

Page 39: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号39

状態遷移図の分析観点:システム

• お金の投入毎処理するのか?「お金が投入された」は、不定期なイベント

連続投入された場合は、高速な応答性が要求される。

状態遷移図のような高度な制御を、高速起動させるべきではない。

• 対応方法投入金額を高速計算する部分を外部に作る。

状態遷移は、定期的に外部へ総額を問い合わせるだけにする。

正しい状態遷移図は正しい、システム設計の元で成立する。

Page 40: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号40

AUTOSARソフトウェアプラットフォームの概念

XX制御

コンポーネント

XX制御

コンポーネント

何をアプリケーションとして何をシステム側とするのか

構造的な設計思想が必要。

高負荷・低速・定期的な処理

不定期あるいは、高速な処理

Page 41: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号41

自動販売機の動作例

• 状態遷移の分析観点、記憶と状態の区別・システムの考え方を前提に、自動販売機の「状態」を検討する。

• この例では、「動作の異なるポイント」を状態と考えると、 3つに切り分けができる。

– 初期状態(待機)、ボタン待ち(ボタンを光らせる)、ジュースの取り出し(排出)。

待機

排出

金額のチェック

[50円]

[50円] [50円]

意味

合計50円

意味

合計100円

[ジュース1購入]

意味

合計150円

/ジュース1出力

意味

合計200円[100円]

[ジュース1購入]

[ジュース2購入]

/ジュース1出力

返金50円

/ジュース2出力

[100円]

[100円][50円]

ボタン待ち

Page 42: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号42

タイマ成立遷移条件2

初期状態遷移先

返金条件アクション

状態名

初期化

初期状態

排出終了

ジュースの取り出し

排出

ボタンが押される&&

金額が満たされる

お金のカウント

コイン投入

遷移条件1

排出 遷移先

条件アクション

遷移条件1

ボタン動作待ち

遷移先

条件アクション

条件アクション

遷移先

遷移条件1初期状態

表で整理して、状態遷移図へ

表を使って情報を整理し、状態遷移図へ変換する

仕様検討で使う状態遷移表は、シンプルな物を使うべき。必要最低限の事を表に書き込み、整理する。思考速度を落とさないシンプルさが重要。検証用(STM)の表と、設計用(STT)の表は異なる。

初期状態

排出

[コイン投入]

[ボタン]

ボタン待ち

[タイマー]

購入可能なジュースのライトを点灯させる

Page 43: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号43

制御機能の追加

状態遷移図に対するタイミングチャート

150円ジュース

200円ジュース

150円ジュース

50円

ジュース出力

おつり

1次入力信号 総額

中間信号

出力信号

ユースケース1

時間

可能不可ジュース1購入可能

コイン投入

ジュースのライト

消灯点滅点灯

抽出分析

設計検査

要求が育っていくスパイラル

Page 44: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号44

内容 重要度 種別

お金は、少なくとも、50円と100円が使える。

システム要件

ジュースは2種類以上 システム要件

購入可能金額より多く入れた場合は、お釣りが返却される

必須要件 機能要求

お金を入れて何もしないと、一定時間でお金が返却される

必須要件 機能要求

購入金額が満たされ、購入可能に到達したことが購入者に解るようにする。

希望要件 機能要求

システム要件

ボタンを押してから、5秒以内にジュースが取り出し口に来ている

必須要件 非機能要求

要求の整理と分析

要求・要件の整理は忘れずに

Page 45: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号45

MBDエンジニアの「仕事の流れ」

シナリオを作る

頭の中で仮想シミュレーション

適切な時期にPC上のシミュレーションへSimulinkでモデリング!

Page 46: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号46

要求からモデリング

実現したい機能とシナリオの両方を設計し、シミュレーションによって検証する。

要求検証表現を行っておく

詳細は、要求開発プロセスWG発行のガイドラインを参考にしましょう。

Page 47: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号47

要求分析の仕事術

• 要求を理解するにはシナリオを作る。– シナリオは、タイミングチャートが使いやすい– タイミングチャートは4つの観点が必要– タイミングチャートは、検証にも使える。

– 状態遷移図もシナリオ表現に使える– 状態遷移図は、記憶と状態の区別が必要– 状態遷移図は、システムの分析が必要

要求分析工程では、必要な図、表を書く。

決められた図、表を書くことから始まる事はない!

自然言語だけでは伝わらない部分が多いので、

図・表は積極的に活用しよう。

Page 48: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号48

目次

• MBDエンジニアのキャリア種別

• モデリング編– 要求表現

• タイミングチャート

• 状態遷移図

– 状態遷移図の描き方• 書き方のルール

• 教育方法

• MBD開発環境エンジニア編– MBD開発環境の「改善」

Page 49: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号49

状態遷移の書き方

• 状態遷移図は、さまざま書き方ができる。そのため、他者からの理解度が極端に悪い図もかけて

しまう。

(自分だけが満足してる図)

• しかし、書き方を限定することで、他者からの理解度を上げる事ができる。

• アイシンAWでは、書き方を2種類に限定した。– A型:ウォーターフォール型状態遷移図

– B型:多状態・多遷移

A型、B型の書き方についての説明を行う。

Page 50: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号50

状態遷移図の記述ルール制定について

• アイシン・エィ・ダブリュでは、1995年から状態遷移表を用いた制御開発を行ってきた。当時から拡張された意味論を使用しており、現在のStateflowと同等である。– 状態の階層化、並列化が可能– イニシャライズと通常実行の区別

– 遷移条件と条件アクションが使用可能– 自己遷移、インナートランジションが使用可能

– タイマーによる強制遷移が標準ルール残念ながら、書けるだけで、自動コード生成ができない。⇒Stateflowへ

• 表⇒図:状態遷移図の描き方は、15年間の状態遷移に関する設計的な考え方を継承している。

Page 51: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号51

A型:ウォーターフォール型状態遷移図

状態は上から下に流れるように、記述する。

下へ遷移する条件は

左側へ記述する。

遷移条件は真ん中より

上側へ記述する。遷移線よりも左側に

記述したほうが

全体のバランスが良い。

状態の大きさには意味は持たせない。状態の大きさが状態の優先度を示したり、状態の重要度を示す事はない。

初期 初期、中期、終了の3つに分けて図を描く中期は、初期遷移から流れる系統毎に並列に並べる。

終了

上へ遷移する条件は

右側へ記述する。

遷移条件は真ん中より

下側へ記述する。遷移線よりも右側に記述したほうが

全体のバランスが良い。

リセット

制御は、不安定から安定へ⇒ウォータフォール同様、上流に戻すのはリスクがある

Page 52: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号52

B型:多状態・多遷移

hasChange(ST)状態変数をチェック

状態変数と一致した状態へ遷移する

A

B

C

D

E

[ST==A]

[ST==B]

[ST==C]

[ST==D]

[ST==E]

2.遷移条件が多い場合は、パラレルチャート化し、外へ出す。

function f1

function f2

function f3

function f4

function f5

{function f1}

{function f2}

{function f3}

{function f4}

{function f5}

[in(A)]

i[n(B)]

[in(C)]

[in(D)]

[in(E)]

1.インナートランジションを活用し遷移線をまとめる。

Page 53: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号53

A,B混在型:状態遷移図の描き方

• 状態遷移図は、A型ウォーターフォール型を基本に多遷移のB型を組み合わせる事で全ての表現が可能。状態遷移は適切な記述を行えば、爆発しない。

Page 54: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号54

具体的な事例説明

拡張階層構造化状態遷移表設計手法 Ver2.0 P54から

状態遷移表(STM)から状態遷移図へ変換する

原本をご参照ください。

Page 55: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号55

B型を使った状態遷移表現

MainS2

S0

S1

ON

S2

S3

S4

S5

S6

S7

S8

S9

subCartMainS1

function

fcn_ S2

function

f cn_ S3

function

f cn_ S4

function

f cn_ S5

function

f cn_ S6

function

f cn_ S7

function

f cn_ S8

[Button==E1]

[Button==E0]

[Button==E2] [Button==E3]

[Button==E4]

1

[hasChanged ( enum_ MainS) ]

2 [enum_MainS==S3]1

2

[enum_MainS==S4]1

2

[enum_MainS==S5]1

2

[enum_MainS==S6]1

2

[enum_MainS==S7]1

2

[enum_MainS==S8]2

1

[enum_ MainS==S9]

[in( MainS.S2) ]{fcn_ S2( ) ;}

1

2

[in( MainS.S3)]{f cn_ S3( ) ;}

1

2

[in( MainS.S4)]{f cn_ S4( ) ;}

1

2

[in( MainS.S5)]{f cn_ S5( ) ;}

1

2

[in( MainS.S6)]{f cn_ S6( ) ;}

1

2

[in( MainS.S7)]{f cn_ S7( ) ;}

1

2

[in( MainS.S8)]{f cn_ S8( ) ;}

1

2

1

2

STMどおりの遷移条件を記載する

遷移しない場合も記述は、何もしない事を示すために記述だけ残す。

B型は、状態遷移表(STM)と1対1で全てのケースを表現できる。表の段階で、最適化されていれば、それをB型でそのまま表現できる。

本当は、⇒9 も同一に描けるが、録音は、特殊操作として分けた

E5E6E7E8E9

E5

E6

E7

E8

3

7

8

Page 56: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号56

A型で表現:インナートランジション活用

インナートランジションまとめられる遷移を一箇所で集約

Page 57: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号57

A型で表現:状態の考え方がおかしい部分

状態遷移表の指定どおりに変換すると、状態定義がおかしいところがある。

外部から、子の状態へ直接遷移する遷移ができる場合は、状態の考え方がおかしい

状態内部は独立性が必要!

Page 58: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号58

A型で表現:親子依存関係の見直し

親から子への直接遷移を防止した場合

赤枠の中に状態が8個

独立性を保持した状態遷移ただし、状態数が多く、同じような制御内容の状態が複数個あるのがわかる。

Page 59: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号59

A型で表現:状態変数の分析

「再生」、「早送り」、「逆送り」は、速度が異なるだけで、同じ「速度制御という状態」と定義

赤枠の中は、状態が2個

速度制御:遅 速度制御:早

同じボタンが押された時に異なる動作をする場合「状態」が存在する。と考えると、殆どのボタンは、記憶として整理できる。

Page 60: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号60

実際の教育方法について

• 状態遷移図は、分析、整理する事で、A型、B型によって表現が可能である。

• 状態遷移図の描き方を限定しても、ルールの徹底には教育しかない。

• しかし、描き方を制限するような教育は教え方を誤ると、受けいれてもらえず、効果がでてこない。

Page 61: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号61

実際の教育方法について

• 教育内容を肯定的に受け入れさせる点を注意しなければならない。

• 自らが書いた状態遷移図を、強制的にフォーマットに従った書き方に変更させると、最初に自分が書いた図

の方が理解度が高いと感じるので、反感を買い、教育

効果が薄まってしまう。

• フォーマットへの変換方法を指導する場合、他人が書いた状態遷移図を共通フォーマットへ変換する演習を行うべきである。

Page 62: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号62

演習例

問題点:横型になっている。状態の中にある状態へ他の親から子へ直接遷移している。

修正点:縦型に修正。Waitは使用していないので、削除する。

この教育では、状態遷移図の制御内容に関して、内容を正確に理解する部分には力を入れない。形の修正を学ぶところに力を入れる。形を修正してから、状態の流れを理解してもらう。

Page 63: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号63

B型適応例

変更前 先ほどの状態遷移図をよく見ると、同一条件で状態変化しているので、B型で描けば、最小化される。

全ての状態へ遷移線があり、ディフォルト遷移の場所がおかしい

標準フォーマットの教育他人の作った状態遷移図を標準フォーマットに修正する演習を繰り返す

A

A

BB

C

C

C

B

A

Page 64: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号64

仕事術:記憶と状態の区別

• 入力信号から直接追いかけて作った状態遷移は、記憶を扱っており、シナリオを表現している場合が多い。

先ほどの事例では、入力信号に対する「ボタンの役割」

を状態として定義しています。

教育用の例題は、「記憶」でかつ「シナリオ」を表現して

いるものが多い。(ツール教育の為だから)

• 正しい状態定義:出力の違いから考えたものが、正しい状態定義になる事が多い。

先ほどの事例では、モーター速度やモータ電流の違い、画面表示、音声のOn,off等から

状態を考えます。

Page 65: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号65

仕事術:状態遷移の使い方まとめ

• シナリオ表現として使われている場合がある。– シナリオ表現は、そのままでは、仕様ではない、自動生成しても、ソフトウェアとして実装することはできない。

そこから、分析・最適化が必要である。

• 分析・最適化– 記憶と、状態の区別する。– システムの明確化を行う。

– 図は、決まったフォーマットに統一する事を心がける。– インナートランジションを活用し、遷移線をまとめる。

– パラレルチャートを活用し、状態数を削減する。

Page 66: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号66

出力 on-offだから状態ではない

• ライトの点灯の制御でon-offの状態を作らない。

ライトはPWMのduty比と周波数

で指定できる。

単なる数値

状態ではありません。

ハードウェアの構成と合わせて、考えましょう。

初期状態

排出

[コイン投入]

[ボタン]

ボタン待ち

[タイマー]

購入可能なジュースのライトを点灯させる

duty比

意味

0%

消灯 点灯点滅

100%50%

Page 67: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号67

MBDエンジニアの仕事術

モデリング編 終了

アイシン・エィ・ダブリュ(株)

久保孝行

MBDエンジニアの仕事術MBD開発環境エンジニア編へ

Page 68: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号68

目次

• MBDエンジニアのキャリア種別

• モデリング編– 要求表現

• タイミングチャート

• 状態遷移図

– 状態遷移図の描き方• 書き方のルール

• 教育方法

• MBD開発環境エンジニア編– MBD開発環境の「改善」

Page 69: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号69

MBDエンジニアの仕事術MBD開発環境エンジニア編

Page 70: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号70

MBDの現実

• MBDを実践すると、意外に作業時間が多い。更に自動コード生成するとRAM、ROMも多い!

• Simulinkでモデルを作成して、本当にメリットがあるのか?

従来開発

制御設計

ソフトウェア設計

試作

モデル設計 モデル設計

号口

現実の開発工数

YESと答えられますか?

Page 71: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号71

MBD開発環境エンジニアは何をするのか?

先の問題定義に対して、「キー」となるのが

MBD開発環境エンジニアの存在です。

Q:MBD開発環境エンジニアは何をするのか?A:MBDの開発環境を改善するのが仕事です。

• 自動コード生成用のカスマイズ例S-functionブロックの作成・提供について

Page 72: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号72

ハンドコードとの統合

既存のCソースをSimulinkに組み込むには?• 自力でS-functionを作って、tlcファイルをカスタマイズするのは大変です。

• legacy_code()関数がお勧めです。– 2007年にリリースされた、MATLABの標準機能です。

御存知ですか?

Page 73: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号73

legacy_code((((LCT))))

• テンプレートにしたがって必要な項目を入力すれば、既存のCソースをS-functionブロックとして作成することができます。

コマンドを書いて実行すれば、S-functionブロックが作られる。

Page 74: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号74

legacy_code((((LCT))))

• legacy_code()関数を使って作成したブロックは、シミュレーションも実行でき、コード生成もできます。

• S-functionに対する詳しい知識が無くてもブロックを作る事ができます。

ヘルプ参照先

http://www.mathworks.co.jp/help/toolbox/simulink/slref/legacy_code.html

(MATLABコマンドラインに切り取って実行する)web('C:/Program Files/MATLAB/R2011b/toolbox/rtw/rtwdemos/html/ja/rtwdemo_lct_filter_script.html', '-helpbrowser')

後ほどWEB掲載あり

Page 75: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号75

ハンドコードの活用

ハンドコードを活用するS-functionブロックを作った。

• 作ってモデル設計者に提供しただけでは、だめ。• S-functionは通常のブロックと異なり、入力の型毎に沢山あり、機能モデルエンジニアは当然、実装モデルエンジニアも使いこなすのは大変。

*****

コード生成ブロックと入れ替える。

*****

***** *****

***** *****

***** *****

作っただけでは、使われない!

Page 76: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号76

自動コード専用ブロックの専用置換ツール

• 手作業でブロックを置き換えると、大変な工数が必要となります。

• 専用の自動置き換えプログラムを作り、「「「「ボタンボタンボタンボタンをををを押押押押すだけすだけすだけすだけ」」」」で自動置き換えできる環境を用意

する。これが、工数削減のコツ。

ブロックと共に、専用の自動置き換えツールを配布する

自動置換

Page 77: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号77

ブロックライブラリの提供

例:タイマー

ブロックライブラリの提供は、仕様意図が一目でわかる絵を表示。場合によっては、設定用の専用GUIと共に提供する。

Page 78: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号78

関数ブロック作成GUI

数式を入力し、数式が表示されたブロックを自動的に作成する

GUIを使って、カスタムブロックを自動生成する

こういった開発環境を改善するのがMBD開発環境エンジニアの仕事

工数削減+可視化の向上のWメリットメリットメリットメリット

Page 79: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号79

改善用のツールはどうやって作るのか?

Simulink APIをををを使使使使いますいますいますいます。。。。

API 【【【【Application Program Interface】】】】• Simulink API とは

MATLABのコマンド操作にて、Simulinkの外部からSimulinkモデルを操作する事が可能なインターフェース関数

Simulinkのヘルプに記載されています。

Page 80: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号80

Simulink API 知ってますか?

MATLABのコマンドラインから

>>Simulink

>> open_system('モデル名.mdl')

これもSimulink APIです。コマンドラインからSimulinkのモデルを操作する

インターフェースの関数です。

*legacy_code()は、Simulink/モデル構築系API

Page 81: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号81

簡単なSimulinkAPI活用例

要望:Constantブロックの概要を表示したい。

• 人が実施すると、マウスをダブルクリックして、ブロック注釈に、 "概要"を表示するように選択する。

• モデル内に数十個ブロックがあった場合、作業は一瞬では終わりません。

特に最新バージョンは

ウインドウの起動が遅い

ブロック注釈の追加

Page 82: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号82

(MATLABコマンドラインに切り取って実行する)modelH=get_param(bdroot,'Handle');CblockH=find_system(modelH,'LookUnderMasks','all','type','block');for n1=1:length(CblockH)

set_param(CblockH(n1),'AttributesFormatString','%<Description>');end

ブロック注釈の自動追加

• Simulink APIを使う場合、わずか数行のプログラムを書いて、

実行すれば、

数秒で作業が終了する。

Simulink APIは非常に便利

WEB掲載予定

Page 83: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号83

制御仕様書として見る場合は、仕様意図を読み取るのが主な目的仕様意図が解る記述部分だけを表示する。(概要部分だけ)

実装用のモデルとして、チェックを行う場合は、実装に必要となる情報を全て表示する必要がある。ダブルクリックでGUIを開いて確認していては工数がかかる。

ブロックの説明を行うブロック注釈は、プロセスの中で、表示の切り替えが必要

ブロック注釈の切り替え

関係ない表示が沢山あると理解しにくい

必要な情報は全て表示したい

相反するニーズ

Page 84: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号84

ブロック注釈の切り替え

• プロセスの途中で、注釈の切り替えが必要– 機能モデルのレビュー

– 実装モデルのレビュー上記の2種類は、議論する内容が大きく異なり、

必要とする情報量が異なる。

ブロック注釈の表示は、プロセスによって切り替えが必要である。

ボタンを押すだけで切り替え可能な

環境を提供する。

Page 85: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号85

概要の追加と日本語⇒英語 GUIの提供

変換に使用するリスト

ブロックの概要はいつ書くのか?Simulinkモデルを作る最初の段階で、サブシステム名を日本語で書き込んで作っておきます。そして、プロセスの途中で英語に置き換える。という全体プロセスを考えます。• 変換時に日本語を、ブロック概要に転記すれば良い。

Page 86: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号86

概要の追加と日本語⇔英語 変換

英語英語英語英語日本語日本語日本語日本語

変換変換変換変換リストリストリストリスト

機能を作りこむとき コード生成するとき

Page 87: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号87

実際のAPI活用例

ガイドライン準拠ガイドラインチェッカー

チェッカーのカスタマイズとは

Page 88: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号88

実際のモデル

• ブロックサイズはめちゃくちゃ• アノテーションの表示はない• 作ったサブシステムの名前が全て「Subsystem?」

ルール違反は、どうやって調べますか?

Page 89: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号89

ルールのチェックは、モデルアドバイザー

ルールチェックは、純正ツールモデルアドバイザーを使えます。

Page 90: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号90

ルール例:MAABルールのチェック項目

R2011bでは、MAABルールの殆どがチェック可能となっている。

Page 91: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号91

db_0042:Inportブロックの使用方法

NG

OK

Simulink標準機能モデルアドバイザーによるMAABルールチェック

標準ツールは、チェックが自動化できる。ここまでは、Simulink APIは必要ない。

自動チェック可能

Page 92: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号92

モデルアドバイザーのカスタマイズ

自動修正可能な場合は、修正ボタンが表示される

カスタムルールは、チェックだけでなく「「「「自動修正自動修正自動修正自動修正」」」」を追加できる

モデルアドバイザーは、自作した専用カスタムルールを追加できる。

Page 93: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号93

モデルアドバイザーのカスタマイズ

NGOK

自動修正によって、単純作業は激減する。

チェッカーは、カスタマイズが必要です。

ボタンを押すだけで、自動修正

Page 94: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号94

ツールは自社用にカスタマイズ

• マスワークスは共通の基板部分だけを提供している。• 各社ごとにプロセスの違い・考え方の違いで、ニーズが異なる要求は、各社でカスタムツールを作り対応する。そのための環境も合わせて提供するのが

「マスワークスの基本理念」。

• モデルアドバイザー– 自動修正を必要とする場合修正方法は自社専用のルールになるケースが多い

• Simulink Design Verifier– ブロックを置き換えるルールは各社で作る。

Page 95: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号95

Simulink Design Verifier(形式手法)

検査したい場所の考え方は各社異なる。

Simulink Design Verifierは、通常の仕組みの中に、ブロック置換用の関数を呼び出す部分が用意

されている。

カスタマイズが前提!

Page 96: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号96

Simulinkでモデルを作るだけがMBDではない

• Simulinkでモデルを作成して、本当にメリットがあるのか?

• MBDは、開発環境構築まで含めて、MBD

従来開発

制御設計

ソフトウェア設計

試作

モデル設計 モデル設計

号口

開発環境を改善するツールの

併用により品質向上と、工数低減を実現する。

キーワードは

「改善」

Simulink APIを使えば、効率アップ・自動化が可能ですそれらのカスマイズは、それほど難しくありません。

Page 97: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号97

MBDエンジニアの仕事術まとめ

• 自動化はプロセスに依存する。• 自動化は各社の規約に依存する。プロセス全体を見て、ニーズにあったツールをニーズのあるプロセスに提供する。– 次のプロセスにつなげる– 次のプロセスでも活用する

• 例– カスタムブロックを作って提供するだけではだめ。見栄えの向上、工数削減ができるツールと一緒に提供する

– ブロック注釈の自動表示何処のプロセスで、注釈として表示すべき物を記述させるのか

工程全体で、無駄のないように仕組みを考える。

プロセス全体の効率化

Page 98: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号98

最後に

Page 99: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号99

開発環境改善活動を実施しよう

• MBD成功は、開発環境の改善です。

• 開発環境を改善する専門チームを作る事をお勧めします。

– ツール開発初期:技術レベルの高い会社に協力してもらいましょう。

例えば、

マスワークスマスワークスマスワークスマスワークス

その他 (パートナーシッププログラムを参考にしてください)

http://www.mathworks.co.jp/products/connections/serv_task_matl_index_ja_JP.html

その後、自社の専門チームでレベルアップしましょう。

Page 100: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号100

MATLABを有効に活用していますか?

どれだけ知ってますか?

Simulinkの全てのブロック種別

オプション設定とその効果

• 公開されているAPIの数

– MATLAB 約1400個

– Simulink 約100個– Simulink Coder 50個

– Verification and Validation

約50個

本日の講演で、想定していたよりも

MATLABの知識範囲が広いと

思った方がいらっしゃいませんか?

MATLAB

Stateflow

V&VRTW(Coder)

皆さんのMATLABに対する知識レベルは?

Simulink

想定より知識の範囲が広くないですか?

Page 101: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号101

キャリアアップ

• エンジニアのキャリアアップは、知識と経験の両輪です。本日の講演が知識拡大の動機付けになって

いただければ幸いです。

経験

キャリアアップキャリアアップキャリアアップ

知識

両輪そろえてすばやいレベルアップ

経験だけ増えてもキャリアップしない

Page 102: MBDエンジニアの仕事術 - jmaab.mathworks.jpjmaab.mathworks.jp/bord/openconf2011/joc_proceedings9.pdf · 要求理解:シナリオ作成へ • 最初に、要求を理解し、要求を明確化します。

2011年12月7日

AISIN AW CO., LTD. All rights reserv ed. Do not reproduce or distribute.スライド番号102

MBDエンジニアの仕事術1時間の長い講演に付き合っていただき

ありがとうございました。発表を終了します。

アイシン・エィ・ダブリュ株式会社

解析技術部

久保孝行