アイシン・エィ・ダブリュ株式会社 基本情報 連結 19,545名(2011年3月31日現在) 単独 12,903名(2011年3月31日現在) 従業員数 オートマチックトランスミッション、 ハイブリッドシステム、 カーナビゲーションシステム 主要製品 連結 8,545億円(2011年3月期) 単独 7,927億円(2011年3月期) 売上高 取締役社長 川本 睦 代表者 264億8,000万円 資本金 1969年5月15日 設立 アイシン・エィ・ダブリュ株式会社 社名 アイシン・エィ・ダブリュ 「本館」
本日の話は • 2009年10月29日(木)SECジャーナル最優秀論文賞最優秀論文賞最優秀論文賞を受賞最優秀論文賞 「アイシンAWにおけるMBDエンジニアの教育について」 その後、組込みスキルマネージメント協会(SMA)にて、 新たな取り組み方法の検討を行っていました。 本日の話は、上記のレベルアップ版です。
目次 • スキルマップをエンジニア育成に活用するには – ETSSとは – 技術要素スキルと、開発技術スキルのスキル項目 – 開発技術スキルのスキル項目 – 教育の提供 – 前半まとめ • エンジニア育成事例 – MBD開発環境エンジニア育成事例 – Simulinkの教育 – 状態遷移の教育
組込みスキル標準(ETSS)とは? • ETSSは、スキルマップを用いることで、エンジニアの技 術レベルを可視化する手法です。 • ETSSを使えば、エンジニアを数値で可視化することが できるので、技術力の評価、教育への応用ができるとい われてます。 通信通信通信通信 情報 情報情報 情報 : :: : システム システム システム システム 要求分析 要求分析要求分析 要求分析 システム システム システム システム 方式設計 方式設計方式設計 方式設計 : :: : プロジェクト プロジェクト プロジェクト プロジェクト 管理 管理管理 管理 プロセス プロセスプロセス プロセス 管理 管理管理 管理 技術 技術 技術 技術 要素 要素 要素 要素 開発 開発 開発 開発 技術 技術 技術 技術 管理 管理 管理 管理 技術 技術 技術 技術
スキルマップの利用方法 ETSSをベースにスキルマップをどのように利用していますか? スキル標準の利用方法は2種類ある。 ①業界内での位置づけ、企業間比較、調達に利用する。 (人材を可視化して技術力を評価する) ②企業内で自社独自の人材育成に使用する。 (人材を可視化して必要な教育を行う) ①、②の使い方として 従来は①の使い方が多かったが、 ②のスタンスを取る 企業が増えてきたそうです。
スキルマップを教育に活用する • スキルマップを教育に活用できていますか? スキルマップからレベルアップに必要な項目を抽出し、 それが教育に活用できていますか? 簡単には教育に活用できていないはずです。 なぜでしょうか? 通信 通信 通信 通信 情報 情報 情報 情報 : : : : システム システムシステム システム 要求分析 要求分析 要求分析 要求分析 システム システムシステム システム 方式設計 方式設計 方式設計 方式設計 : : : : プロジェクト プロジェクトプロジェクト プロジェクト 管理 管理 管理 管理 プロセス プロセス プロセス プロセス 管理 管理 管理 管理 技術 技術 技術 技術 要素 要素 要素 要素 開発 開発 開発 開発 技術 技術 技術 技術 管理 管理 管理 管理 技術 技術 技術 技術 スキルマップから エンジニアに 何を教育させるか 即座に出ますか?
スキルマップがなぜ教育に活用できないのか? • 課題のポイントは2点 –スキル項目の選定 –スキルレベルの定義と数値が持つ意味のぶれ 今日の話のポイント • 教育コンテンツとスキルマップの連動を意識する –教育で底上げできる部分がマップで表現されなければ、教育 とスキルマップは連動しません。 • スキルマップに対する対策は –技術レベル評価と教育技術要素スキル –教育用は開発技術スキルを使う。(開発技術スキルの定義
目次 • スキルマップをエンジニア育成に活用するには – ETSSとは – 技術要素スキルと、開発技術スキルのスキル項目 – 開発技術スキルのスキル項目 – 教育の提供 – 前半まとめ • エンジニア育成事例 – MBD開発環境エンジニア育成事例 – Simulinkの教育 – 状態遷移の教育
組込みシステム 組込みシステム 製品開発に使用する構成要素 製品開発に使用する構成要素 製品開発に使用する構成要素 製品開発に使用する構成要素 製品開発に使用する構成要素 製品開発に使用する構成要素 製品開発に使用する構成要素 製品開発に使用する構成要素 通信 通信 通信 通信 通信 通信 通信 通信 情報処理 情報処理 情報処理 情報処理 情報処理 情報処理 情報処理 情報処理 マルチメディア マルチメディアマルチメディア マルチメディア マルチメディア マルチメディアマルチメディア マルチメディア ユーザインターフェース ユーザインターフェース ユーザインターフェース ユーザインターフェース ユーザインターフェース ユーザインターフェース ユーザインターフェース ユーザインターフェース ストレージ ストレージ ストレージ ストレージ ストレージ ストレージ ストレージ ストレージ 計測・制御 計測・制御計測・制御 計測・制御 計測・制御 計測・制御計測・制御 計測・制御 プラットフォーム プラットフォーム プラットフォーム プラットフォーム プラットフォーム プラットフォーム プラットフォーム プラットフォーム ・・・・・・ ・・・・・・・・・・・・ ・・・・・・ ・・・・・・ ・・・・・・・・・・・・ ・・・・・・ 技術要素 技術要素 スキル基準の スキル基準の スキル基準の スキル基準の3 つのつのカテゴリつのつのカテゴリカテゴリカテゴリ 製品開発 製品開発 製品開発 製品開発 開発技術を用いて製品を開発する 開発技術を用いて製品を開発する 開発技術を用いて製品を開発する 開発技術を用いて製品を開発する 分析 分析 分析 分析 分析 分析 分析 分析 設計 設計設計 設計 設計 設計設計 設計 実装 実装 実装 実装 実装 実装実装 実装 テスト テスト テスト テスト テスト テスト テスト テスト 開発技術 開発技術 管理技術 管理技術 技術要素と、 開発技術が 明確に区別できますか? C、Simulink、 ワード、エクセルはどこに該当
組込みシステム 組込みシステム 製品開発に使用する構成要素 製品開発に使用する構成要素製品開発に使用する構成要素 製品開発に使用する構成要素 製品開発に使用する構成要素 製品開発に使用する構成要素製品開発に使用する構成要素 製品開発に使用する構成要素 通信 通信通信 通信 通信 通信通信 通信 情報処理 情報処理 情報処理 情報処理 情報処理 情報処理情報処理 情報処理 マルチメディア マルチメディア マルチメディア マルチメディア マルチメディア マルチメディア マルチメディア マルチメディア ユーザインターフェース ユーザインターフェースユーザインターフェース ユーザインターフェース ユーザインターフェース ユーザインターフェース ユーザインターフェース ユーザインターフェース ストレージ ストレージストレージ ストレージ ストレージ ストレージストレージ ストレージ 計測・制御 計測・制御 計測・制御 計測・制御 計測・制御 計測・制御 計測・制御 計測・制御 プラットフォーム プラットフォームプラットフォーム プラットフォーム プラットフォーム プラットフォームプラットフォーム プラットフォーム ・・・・・・ ・・・・・・ ・・・・・・ ・・・・・・ ・・・・・・ ・・・・・・ ・・・・・・ ・・・・・・ 技術要素 技術要素 技術要素 技術要素とは、それらの技術を設計するスキルです。 通信という技術要素は、通信規格を知っているか? という知識ではありません。対象がソフトウェアエンジニアなら、 通信のソフトウェアを設計するスキルです。 通信のソフトウェアを設計できるとは、実は要求分析から検査まで 一通りの作業を通して設計できることを示し、 実は、開発技術までを含んでしまっています。 (ETSSの矛盾のひとつ)
要素1 機能1 制御要求 要素2 要素3 機能2 要素4 要素1 機能1 制御S/W 要素2 要素3 機能2 要素4 技 術 要 素 CPU マイコン 振動 静圧 流体 振動 静的容量 熱 並進運動 回転運動 機構 制御対象 第3階層 第2階層 1階層 Hさん G君 F君 E君 D君 C君 B君 A君 個人 機能2実装モデル 設計エンジニア 機能1実装モデル 設計エンジニア 機能2制御システム 設計エンジニア 機能1制御システム 設計エンジニア チーム 実装モデル設計エンジニア 制御システム設計エンジニア ソフトウェア開発部 制御開発部 部・課 技術要素には開発技術や、知識などが総合的に含まれる ので、教育と連動させる事が非常に難しいと考えてください。 技術要素 スキルマップの 表現例 チーム単位で機能設計の役割 が分かれているなら 技術要素はチーム毎に 開発する機能名が対応します。 技術要素をチーム毎に開発する機能とすれば キャリアはチームや部で理想とする エンジニア像と定義できます。
技術要素と開発技術の項目に対する考え方 • 技術要素と開発技術は相互に関連しており、製品開発が行える ということは、技術者が製品開発に必要な技術要素スキルを持 ち、かつその技術要素の開発で必要となる開発技術スキルも併 せて保有していると考えた。 技術要素スキル 開発技術 (各種技能) 技術要素の知識 要求 設計 Simulink設計 C言語 構成要素1 仕様書 構成要素2 仕様書 管理技術 プロジェクト マネージメント 開発プロセス マネジメント 構成要素1 ソフトウェア エクセル 基本システム ハードウェア エクセル Simulink 知識 知識 知識 技術要素 技術要素のスキルイメージ
技術要素と開発技術の項目に対する考え方 • ETSSではスキル評価に当たり、開発技術と技術要素 は互いに独立[直交]すべきとしているが、今回の手法 では、相互に関連があるとした。 つまり、技術要素スキ ルと開発技術スキルが相互におぎない、製品開発の作 業を遂行できる。 開発技術1 技術要素1 技術要素2 開発技術2 エクセル Simulink 知識 知識 知識 技術要素
技術要素と開発技術の項目に対する考え方 • つまり、開発技術は単独で存在するものではなく、開発 技術は「技術要素の開発を遂行する際に開発作業を支 える、ソフトウェア開発に関する技能」として考える。 エクセル Simulink 知識 知識 知識 技術要素
2種類のスキルの違い • 目的の成果物を生み出すスキルを技術要素スキル その成果物を生み出す過程で必要となる個々のスキル つまり成果物を得るための「手段」を開発技術スキル • 「CATIAを使って、***部品の図面を書く」 CATIAが使えるは、部品を書く手段であり、それは一般 的には複数の手法があります。例えばCATIA V6、V7、
SolidWorks、AUTO CADなど。これらの操作技能を開
発技術に分類しましょう。
共通技能を開発技術スキルへ • 特定の技術要素をSimulinkで設計する場合、ドメイン 知識は技術要素毎に必要です。しかし、Simulink操作 は共通の技能です。 • また、C、Java、Simulinkなどなんらからのプログラミン グ言語を習得していれば、ソフトウェアを作る為の要求 分析、設計、検証、抽出という一連の行うべき技術は共 通部分が多くあります。それらは単純な操作という技能 とは異なりますがこれも技能=開発技術とします。 • それらを知識や技能として定義できれば開発技術スキ ルカテゴリの項目として抽出します。
共通技能を開発技術スキルへ • プログラミングの共通スキルとなる、要求の考え方や検 証方法などの技能は、特定の技術要素の中で特定の 開発技術(設計ツール)とあわせて一緒に習得させる必 要があります。 Simulink C 技術要素 製品(技術) 開発技術は技術を表現する為の手段 技術要素を特定し、 開発手段を決定し、 一連のプロセスを全体を通して さまざまな技能を身に付ける。 設計・検査
技術要素スキルと開発技術要素スキルまとめ 技術要素スキルと開発技術要素スキルの関係 • 製品開発に関連する中心的なスキルは技術要素。 • 開発技術は単独で存在するものでなく、技術要素を開 発する際に利用する共通的な技能とする。 このように定義することで開発技術のスキルマップは、 個別の技能育成を目指した教育と連動できる。 ワード 技術要素1 エクセル Simulink 知識 通信 通信 通信 通信 情報 情報 情報 情報 : :: : : :: : プロジェクト プロジェクト プロジェクト プロジェクト 管理 管理 管理 管理 プロセス プロセスプロセス プロセス 管理 管理 管理 管理 技術 技術 技術 技術 要素 要素 要素 要素 開発 開発 開発 開発 技術 技術 技術 技術 管理 管理 管理 管理 技術 技術 技術 技術
目次 • スキルマップをエンジニア育成に活用するには – ETSSとは – 技術要素スキルと、開発技術スキルのスキル項目 – 開発技術スキルのスキル項目 – 教育の提供 – 前半まとめ • エンジニア育成事例 – MBD開発環境エンジニア育成事例 – Simulinkの教育 – 状態遷移の教育
開発技術のスキルを分解する。 第1階層: プロセスで分けます。 「要求分析・検証」、「モデル詳細設計・検査」 それぞれで共通の技能が使われるので2つに集約 第2階層、第3階層それ以下 第1階層のプロセスを遂行する際に必要となる手法など 最終的に、○○を知って、××ができる。 まで落とし込む • 知識目標と、スキル目標を明確にすることが目的です。
開発技術を細かく分解する • スキル項目C言語とかSimulinkでは項目が大きすぎる のでスキル分解が必要です。 • ゴルフで説明すると、第1階層は、コース戦略、打つ。 • 「打つ」の第2階層はパター、アイアン、ドライバーを「打 つ」、第3回階層は、アイアンの番号毎に項目を細かく 分けることができます。
第1階層分類:キャリアレベルとあわせたエンジニア目標を定義 コード生成しない人 コード生成する人 第1階層の設計側には、Simulinkの言語技術を書き出します。 まずは、その技術を使ったキャリアと連動させ、大きな目標を決め ておきます。たとえば、スキルレベル2以下はコード生成しない、 レベル3からコード生成できるなどです。 目標を決めて、レベル毎のスキルを定義する
Simulinkというスキルを分解するとどうなる? 第2、3階層を分類する 1. Simulinkモデル言語・ツール(第2階層) 1. Simulinkの操作法 2. モデルのコンフィグレーション 3. 信号パラメータ 4. 標準ブロック 5. 特殊ブロック 6. 固定小数点 2. モデル設計技法(第2階層) 1. 標準機能モデルの作成
Simulinkの操作方法に関するスキル • レベル1 – Simulinkの基本的なウィンドウ操作方法を知っていて、 Simulinkの起動、ブロックの配置、結線、シミュレーションの操 作が実行できる。 – ブロックがどこにあるか知っていて、ライブラリブラウザからブ ロックをモデルに配置できる。 – モデルのプロパティ、コールバック関数/preLoadFcnを使うこ とができる。 • レベル2 – メニューバーにある、表示、ツール など、メニュー内の項目を 一通り全部知っている。端子の値の表示、信号設定の伝播操 作、強調表示、ライブラリブロックの表示、モデルアドバイザの 起動ができる。 理想的には、「○○を知っていて、××ができる。」の表現でまとめる。
Simulink・Stateflow レベル毎に何ができるか作る アドバンストトレーニング アドバンストトレーニング アドバンストトレーニング アドバンストトレーニング--- -Real RealReal
Real---Time Workshop -Time Workshop Time Workshop Time Workshop Embedded Coder Embedded Coder Embedded Coder Embedded Coder コースコースコースコース 自動車分野向け 自動車分野向け 自動車分野向け
自動車分野向けSimulinkSimulinkSimulinkSimulink基基基基 礎
礎礎 礎 MATLAB
MATLAB MATLAB
MATLAB ととととSimulink Simulink Simulink Simulink によるによるによるによる 制御設計 制御設計 制御設計 制御設計 自動車分野向け 自動車分野向け自動車分野向け
自動車分野向けSimulinkSimulink基SimulinkSimulink基基基 礎 礎 礎 礎 講座名 sl_customizationを使って、 ユーザー独自のメニューを追 加する方法を知っている。 チームが必要とするユー ザー独自の専用メニューを追 加する事ができる。 データオブジェクトウィザード や、Simulinkモデルの比較、 依存関係の表示など、特別 なGUIを持つ項目を起動し、 その操作方法ができる。 メニューバーにある、表示、 ツール など、メニュー内の 項目を一通り全部知っている。 端子の値の表示、信号設定 の伝播操作、強調表示、ライ ブラリブロックの表示、モデル アドバイザの起動ができる。 Simulinkの基本的なウィンド ウ操作方法を知っていて、 Simulinkの起動、ブロックの 配置、結線、シミュレーション の操作が実行できる。 ブロックがどこにあるか知っ ていて、ライブラリブラウザか らブロックをモデルに配置で きる。 Simulinkの操作 法に関するスキ ル C言語でのリファクタリングの 作業ができて、それを Simulinkでやるならばどうや ればよいのか理解している。 最もROM,RAMの効率が良い モデルが設計できる。 制御モデルに対して、ROM、 RAMの効率をイメージした コード生成可能なモデルを設 計するスキル。 C言語のスキルも有し、デー タ型を意識した整数化の設計 ができる。 制御モデルを設計できる。 固定ステップでの設計に限定 するが、連続と離散ブロック の違いがわかる。ROM,RAM の効率は意識せず、やりたい 事が実現できるモデルを作成 できる。 制御モデルを評価するため の、外側をつくる事ができる スキルをイメージ。 固定ステップでの制御対象が モデリングできる。連続・離散 ブロックの違いはわかってい ない。 スキルとしての 表現 レベル4 レベル3 レベル2 レベル1 第3階層
Simulink・Stateflow レベル毎に何ができるか作る
対象のスキル項目をすべて 書き出そう。→テキストへ反映
目次 • スキルマップをエンジニア育成に活用するには – ETSSとは – 技術要素スキルと、開発技術スキルのスキル項目 – 開発技術スキルのスキル項目 – 教育の提供 – 前半まとめ • エンジニア育成事例 – MBD開発環境エンジニア育成事例 – Simulinkの教育 – 状態遷移の教育
教育提供 復習:教育の種類
教育には2種類の提供がある
• OJT ((((On the Job Training)
OJTとは、職場内訓練のことで、業務を行う上で必要と なる技術や能力を担当する業務についたまま教育を受 けること
• OffJT(Off the Job Training)
職場外研修と呼ばれ、業務外で研修による業務遂行上 の能力訓練のことを指します。
一般的にエンジニアの教育は、OffJTを提供後にOJTに よって育成していきます。
OffJTの例 OffJTは、講座と訓練の2種類があります。 • 自動車教習所では、知識という学科と、車を運転するス キルを身につけるための実技練習があります。 • 知識は本を読んだり、講習を受けて吸収します。 • 自動車教習所では教官の指導の下、車を運転すること で「一人で車を運転できる」レベルまでスキルレベルを 高める演習を行います。このように、技能は、動作の繰 り返しによって身につきます。
講座と演習の違い • MWのSimulinkの講座では知識を提供しています。 それ以外に多少の演習を行いますが、それだけで操 作が習熟するわけではありません。もっと多くの作業 の繰り返し(演習)が必要です。 さらに、操作ができるようになっても、 モデルが作れるわけではありません。 他にもさまざまな能力の育成が必要です。 知識 操作 演習で習熟
教育内容と目的の一致 自分たちの提供する教育は、何を提供していますか? – 知識を提供 – トレーニングを提供 • 当たり前のことですが、教育内容と目的が一致しなけれ ば、育成効果は出てきません。人によって何が不足して いるか把握し、適切な教育の実施が必要です。 – すでに知識のある人に何度知識を提供してもレベルアップし ません。 – トレーニングが必要な人を、いきなり実践に投入しても無駄な 工数が必要になるだけです。
受講者の意識を変える カリキュラムが完成したら実践する。 実際の受講時に大切な事があります。 • 受講者のモチベーションを上げる事。 – 何のために研修しているのか受講者が理解しなければ、な んとなく研修の時間が過ぎるだけで終わってしまいます。 – 目的・目標をはっきりさせることが大切です。ここでスキル マップを使って目的・目標を示します。 • より高い確率でスキルを定着させる – モチベーションだけではスキルは定着しません。同じ項目で も真剣に考えた人のスキル定着率が高いのです。一人で 黙々と課題に取り組んだほうが時間は短くなりますが、チー ムで議論させ、話し合うことによってより深く考え、課題に対 して真剣に取り組みます。 これらの取り組みによって、スキルの定着が変化します。
目次 • スキルマップをエンジニア育成に活用するには – ETSSとは – 技術要素スキルと、開発技術スキルのスキル項目 – 開発技術スキルのスキル項目 – 教育の提供 – 前半まとめ • エンジニア育成事例 – MBD開発環境エンジニア育成事例 – Simulinkの教育 – 状態遷移の教育
まとめ • 技術要素スキルと開発技術スキルの区別 – 開発技術スキルは、設計するための共通技能。 – 技術要素スキルに開発技術スキルは含まれて表現される。 技術要素スキルは技術を設計する複合されたスキル。 • スキルマップはスキルと知識の両方を書く。 – 技能だけでなく知識のレベル定義を決める。 • 講習と演習の二つを区別しニーズに合わせて提供する。 – 講習は知識を提供する。 – 演習で技能を身に付ける。 • 受講者のモチベーションを上げる。 – 目標を明確にする。 – 議論させ、スキルの定着率をあげる。
理想的なキャリアのスキル分布 モデリングガイドライン 関数化、構造化 標準機能モデルの作成 モデル設計技 法 固定小数点 特殊ブロック 標準ブロック 信号・パラメータ設定 モデルのコンフィグレーション Simulinkの操作法 Simulinkモデル 言語・ ツール モデル 詳細 設計 ・ 検査 FMEA FTA 安全要求分析 分析ツリー 状態遷移 タイミグチャート シナリオ 要求 分析 7 6 5 4 3 2 1 第3階層 第2階層 第1階層 機能モデル設計エンジニア 職種 開発要素スキルは、育成と連動できます。 育成用のスキルマップを作成しましょう。 キャリアレベル毎に目標スキルの分布を作成する。 スキルだけでなく、知識レベルが記載できるなら、 それを書き込みましょう。 知識、スキルのレベル定義をしましょう。
組込みスキルマネージメント協会 本日の資料は 組込みスキルマネージメント協会 モデルベース設計検証WG まとめ資料から一部抜粋 • 全体の取り組み内容についてもっと詳しく知りたい方は、 組込みスキルマネージメント協会へ問い合わせください。 本日はSimulinkに関するスキルの話しかしていませんが、 UMLのスキルマップも定義されています。
目次 • スキルマップをエンジニア育成に活用するには – ETSSとは – 技術要素スキルと、開発技術スキルのスキル項目 – 開発技術スキルのスキル項目 – 教育の提供 – 前半まとめ • エンジニア育成事例 – MBD開発環境エンジニア育成事例 – Simulinkの教育 – 状態遷移の教育
なぜMBD開発環境エンジニアの育成が必要か • MBD
は開発環境を改善しなければ
100%以上の効果を
発揮しない。
100%以上の効果を発揮させなければ
MBDの真のメリットを得る事ができません。
MBD成功への「キー」となるのが MBD開発環境エンジニアの存在です。 JMAABで勉強環境の用意したいという有志が集まり JMAABで議論。 • MBDの広まりと共に、MBD開発環境エンジニアのニー ズが高まるだろうと予想した。 • しかし、実際には勉強する環境がとのっていないので、 独学での勉強しかなく、各社MBD開発環境エンジニア の育成が難しい状況であった。MBD開発環境エンジニア育成事例
• 2010~2011年の2年間
• JMAABにてSimulink APIを使った開発環境の改善を行う 「MBD開発環境エンジニア」についての話し合いを行った。 アイシンAW(幹事) アイシンAW(幹事) アイシン精機 アイシン精機 ミツバ /両毛システムズ ミツバ / 両毛システムズ 三菱自動車 三菱自動車 ホンダ技術研究所 ホンダ技術研究所 オムロンオートモーティブ エレクトロニクス/オムロン飯田 三菱ふそう 2011年 2010年
MBD開発環境エンジニア育成事例 • まず、「MBD開発環境エンジニア」にどんな仕事がある のか調査し、それが段階を踏まえてどのように仕事がで きるようになるかを検討した。 • 次に、仕事の内容に対して、どのようなAPIや、プログラ ミングが必要になるのか調査した。 • APIやプログラミングの技能(開発技術)を分類し、 各レベル毎で何ができればよいのか細かい定義をおこ なったスキルマップを作った。
調査により、項目の絞込みを行う メンバーが作ったツール内部で使われた メンバーが作ったツール内部で使われたメンバーが作ったツール内部で使われた メンバーが作ったツール内部で使われたAPIを計測し、を計測し、を計測し、を計測し、 Simulink API使用頻度の集計を実施。使用頻度の集計を実施。使用頻度の集計を実施。使用頻度の集計を実施。 想定していた基礎 想定していた基礎想定していた基礎 想定していた基礎APIと、集計結果がほぼ一致と、集計結果がほぼ一致と、集計結果がほぼ一致と、集計結果がほぼ一致 APIの個数 MATLAB:1400個 Simulink:100個 絞込み MATLAB数% Simulink10% 基礎APIは数10個に 集約できる。 • テキストを作る段階では、更なる調査を実施。 • 優先すべきAPIの使用頻度を調査して、基礎APIを絞り 込んだ。
MBD開発環境エンジニアレベル1講習会 MATLABによるSimulinkモデル開発環境の自動化 • マスワークスの講習会の中でも特にフォーカスを絞った 講座です。 • その他の講座は、広範囲のユーザーをターゲットにして いることもあり、自分の業務と関係のない内容もあり得 ます。 • この講座は、説明のとおりシステマチックに分析された 非常にクオリティの高い講座になっています。MATLAB やSimulinkのAPIを使って開発環境を自動化する手法 に特化した内容で、必要な事だけに限定して教育してく
MATLABによるSimulinkモデル開発環境の自動化 基礎的なMATALBコマンドと Simulink APIを組み合わせて 自動的にモデルをチェックする プログラムの作成方法を習得する MBD開発環境エンジニアを目指す人だけでなく、 高レベルのMBDエンジニアを目指す人は、受講してください。 自分の開発環境の改善技術は上位者に必須の技能です。 11/ 7 (MathWorks 名古屋オフィス) 12/18 (MathWorks 赤坂オフィス)
その他の教育事例 今回設定した教育セミナーだけで、すべてができるようになるわけではない。 今回設定した教育セミナーだけで、すべてができるようになるわけではない。 今回設定した教育セミナーだけで、すべてができるようになるわけではない。 今回設定した教育セミナーだけで、すべてができるようになるわけではない。 JMAABのサイトに既存のマスワークス教育セミナーの何処でどの様なのサイトに既存のマスワークス教育セミナーの何処でどの様なのサイトに既存のマスワークス教育セミナーの何処でどの様なのサイトに既存のマスワークス教育セミナーの何処でどの様な スキルを習得できるのかマップが掲載されています。 スキルを習得できるのかマップが掲載されています。 スキルを習得できるのかマップが掲載されています。 スキルを習得できるのかマップが掲載されています。 SimulinkAPI SimulinkAPI SimulinkAPI SimulinkAPI 第第第第2222章章章章 SimulinkAPI SimulinkAPI SimulinkAPI SimulinkAPI 第第1第第11章、第1章、第2章、第章、第22章2章章章 SimulinkAPI SimulinkAPI SimulinkAPI SimulinkAPI 第第1第第11章1章章章 自動車分野向け 自動車分野向け 自動車分野向け
自動車分野向け MATLABMATLABMATLABMATLAB 基礎(第3、7-9章) 基礎(第3、7-9章) 基礎(第3、7-9章) 基礎(第3、7-9章) MW講座名 文字列操作 MATLAB MATLAB MATLAB MATLAB によるデータ処理によるデータ処理によるデータ処理によるデータ処理 と可視化(第2、5章) と可視化(第2、5章) と可視化(第2、5章) と可視化(第2、5章) 自動車分野向け 自動車分野向け 自動車分野向け
自動車分野向け MATLABMATLABMATLABMATLAB 基礎(第15章) 基礎(第15章) 基礎(第15章) 基礎(第15章) 自動車分野向け 自動車分野向け 自動車分野向け
自動車分野向け MATLABMATLABMATLABMATLAB 基礎(第7章) 基礎(第7章) 基礎(第7章) 基礎(第7章) MW講座名 ファイル入出力 MATLAB MATLAB MATLAB MATLAB によるプログラミンによるプログラミンによるプログラミンによるプログラミン グ手法(第3章) グ手法(第3章) グ手法(第3章) グ手法(第3章) MATLAB MATLAB MATLAB MATLAB によるプログラミンによるプログラミンによるプログラミンによるプログラミン グ手法(第 グ手法(第 グ手法(第 グ手法(第2222章)章)章)章) 自動車分野向け 自動車分野向け 自動車分野向け
自動車分野向け MATLABMATLABMATLABMATLAB 基礎(第2~7、9章) 基礎(第2~7、9章) 基礎(第2~7、9章) 基礎(第2~7、9章) MATLAB MATLAB MATLAB MATLAB によるデータ処理によるデータ処理によるデータ処理によるデータ処理 と可視化(第3章) と可視化(第3章) と可視化(第3章) と可視化(第3章) MW講座名 MATLABの データ型 MATLAB MATLAB MATLAB MATLAB によるプログラミンによるプログラミンによるプログラミンによるプログラミン グ手法 グ手法 グ手法 グ手法 ((((第4章第4章第4章 )第4章))) MATLAB MATLAB MATLAB MATLABのプログラミングのプログラミングのプログラミングのプログラミング 手法 手法 手法 手法 ((((第2章第2章第2章 )第2章))) 自動車分野向け 自動車分野向け 自動車分野向け
自動車分野向け MATLABMATLABMATLABMATLAB 基礎(第2~7、9章) 基礎(第2~7、9章) 基礎(第2~7、9章) 基礎(第2~7、9章) MW講座名 プログラミング論 レベル3 レベル2 レベル1 下位の技術者の指導がで きる。 上位者の指導がなくとも自 律的にできる。 指導の下できる。 習熟度
目次 • スキルマップをエンジニア育成に活用するには – ETSSとは – 技術要素スキルと、開発技術スキルのスキル項目 – 開発技術スキルのスキル項目 – 教育の提供 – 前半まとめ • エンジニア育成事例 – MBD開発環境エンジニア育成事例 – Simulinkの教育 – 状態遷移の教育
トレーニングテキストの紹介
読むだけで解る普通の書籍ではありません。
Simulinkの教育 • 開発経験がない学生、新人が制御開発を行うエンジニ アを目指す。(対象者を明確に) • 4週間という短期間で効率的にキャリアレベル1~2を目 指す内容です。(目標を明確に) • 学生、新人を対象にしているので、基礎的な技能習得 からできるようにしてあります。たとえば要求分析方法も 説明しています。 • MBDの真髄は、まず考える。そして、考えたことをすぐ に試せる事です。そのために必要な知識や分析方法、 検査方法を習得することでモデリングの基礎的な技能 習得を目指した内容です。
全4週間:トレーニング日程の例 3 復習及び報告書作成 3日 4日 7日 制御モデルの作成 8章:グループ討議で進める 1日 1日 1日 Simulinkレベル2講習 7章:講座形式:例題を作りながら進める 2日 3日 6日 車両モデルの作成 6章:グループ討議で進める 1日 1日 Simulinkレベル1講習 4章、5章:講座形式:各例題を作りながら進める 1日 1日 1日 MATLABインストール 1章,2章,3章 レベル3 レベル2 制御設計エンジニア S/Wエンジニア 学生または 新人 内容
1,2,3章 • 1,2章は軽く読んでおきます。8章の演習が終わってから 再度読むように進めてください。 • 3章は、4,5,6章を進めるための事前知識を習得してもら う内容です。高校物理の復習です。 • テスト形式で受講してもらいます。テストというと引っか け問題をすぐに思い浮かべる人がいると思いますが、こ こでの目的は復習です。テストをうけることで知識が習 得できるように中の問題を構成しました。 • 問題の答えはほとんど掲載されています。少し考えなが ら答えることで復習ができるようになっています。
4章、5章 • 4,5章は、1日の講習で終えるように構成しました。その ため教える知識を必要最小限に絞り込んでいます。 • 4章については、自社ではもっと広範囲の操作を教えた いという場合は少し構成を変えてください。 • この章は、マスワークス社の開催する講習「自動車分野 向け Simulink基礎」で代用することもできます。4章を 別で代用した場合、5章から始めてください。 • 5章は、フィードバックというモデリングの基本と、シミュ レーションの基本的な知識を習得します。 • 「自動車分野向け Simulink基礎」は、2日間の構成で、
6章 • 自動車の一輪車モデルといわれるもっとも簡単なシミュ レーションモデルを設計します。 • ここでは、以下の習得を目指しています。 – Simulinkの操作を習得する。 – モデルのテスト方法を習得する。 – 簡単なモデリングルールを習得する。(パラメータ名、信号名 を付ける。) • 大きなモデルも構造化する(あるいは分割して作る)こと で自分でもモデルを作れるという成功体験を与える。 • 6章が模倣、8章が実践と育てる過程の途中です。 • チームで、テストケースが正しいのか議論させましょう。
6章:モデリング習得手順 レベル1を目指す • 最初に与える要求はシンプルなの方がよいです。ここ では、簡単な物理現象のモデリングを教えます。 • すべての物理式は高校物理程度の難易度の低いもの です。 • 要求を見て、どんな機能が必要か理解し、テストケー スを考えていきます。上級者の考え方を模倣しながら 作業を進めることでモデリングを理解していきます。 • 300ブロック前後のモデルを作り上げるところが終了目 標となります。
演習を自動車でやりたくない人は • 教育担当者へ、自動車以外のドメインにしたい →必要でしょうか? • 6章は、モデリングの手法を教えています。要求をどう やって理解し、テストで何を見るのか、そういった考え方 が書かれています。 つまり、物理式を使ったモデリング手法で、 「線形の数式、非線形の数式をどのように理解して、設 計、テストを行うのか」 これはドメインが異なっても共通の技能です。
教えているのは共通技能 • 新たにドメインを変更したテキストを作っても、ドメインの 技術要素スキルが異なるだけ。習得できる開発技術の 技能にそれほどの違いはありません。 このテキストは、Simulinkだけでなく、要求の理解、検 査まで含めた開発技術の技能習得が目的です。 • そもそも、車両モデルというドメインに対する技術要素 の習得が目的ではなく、手段して採用しているだけです。 • 車両モデルという技術要素は、新たな技術領域ではなく、 物理を知っている人なら誰でも理解できる技術要素とし て簡単な領域を選択した結果です。
7章 • 制御モデルを設計するための基本的な機能の作り方と 習得ブロックの種類を増やす事を目的にしています。 ここも1日で講習が終わるようになっています。最初の4 章に対しては、操作を行う部分を減らし、読み物として 知識だけを提供する部分が多くなっています。 • ここで、新たなブロック以外に、最適化の手法や要求を 読み解く基礎的な手法を合わせて勉強します。 • 8章の演習問題でスキルとして習得する色が濃くなって きています。
8章 6章の模倣に対して、8章は実践です。 • 要求を理解するために図を描いてもらいます。要求理 解の為の回答例をいくつか掲載していますが、自分で 作業します。チームで、要求の図を説明し、理解が正し いのか議論させます。これによって要求を正しく理解す るためにどのように深堀していけばよいのかが習得でき ます。 • この8章のもっとも重要なことはモデルを作ることではな く、要求を理解してからモデルを作るという工程の進め 方を理解し、習得してもらうことです。
9章 • 9章は読み物になっています。 レベル2以上の内容が書いてあり、将来へのスキルアッ プを目指す動機付けが目的です。 最後に • 今までの作業に対する報告書を作成してもらいましょう。 まとめることでさらにスキルとしての定着が期待できま す。 • 最後に、15分程度で発表するまとめを行ってください。 • まとめの資料を作る中で、自分がどのようなスキルを身 に付けたのか、きちんと理解してもらうことが大切です。
ディスカッションの重要性 前半でお話したとおり • より高い確率でスキルを定着させる取り組み チームで議論させ、話し合うことによってより深く考え、課題に 対して真剣に取り組みます。 • 6,8章のトレーニングを一人でやると眠くなるだけ、3人ぐ らいのグループでディスカッションを行うことで「考える」 「理解する」「説明する」の要求分析に必要な力が育成 され、モデリングの力が定着しやすくなります。
目次 • スキルマップをエンジニア育成に活用するには – ETSSとは – 技術要素スキルと、開発技術スキルのスキル項目 – 開発技術スキルのスキル項目 – 教育の提供 – 前半まとめ • エンジニア育成事例 – MBD開発環境エンジニア育成事例 – Simulinkの教育 – 状態遷移の教育
状態遷移の教育 • 対象のエンジニア – これから初めて状態遷移制御をはじめたい人 – すでに状態遷移をある程度使っている人 • 教育後の目標 – 状態遷移を使って、自ら状態を検討できるエンジニア • 書籍としては、さまざまなエンジニアを対象とするので、 状態遷移の入り口から、かなり踏み込んだ部分までの 広範囲の知識を提供。 • 実際に演習問題でスキルを身に付ける為、少し複雑な 演習問題を3つ用意した。
書籍のコンセプト • 一般的な状態遷移の本は、ツールの使い方を目的とし た誤った状態定義を用いた状態遷移ツールの使い方に 注目した説明をしている。 • 今回のコンセプトはツールの使い方ではなく、正しい状 態定義を勉強してもらう事を目的としている。 • 検証工程にフォーカスするのではなく、要求段階で要求 を膨らませていく状態遷移の使い方。最初にイベントが 決まっているのではなく、状態を定義し、イベントを探し 出して行く状態遷移検討方法を教える。 • 固定ステップ(一定サンプリング)のシステムを対象とし た例題で説明する。
1,2章 基礎知識編 • 歴史:ミーリー・ムーアのシンプルな状態遷移から説明 • ミーリー・ムーアの等価性ではなく、実行タイミングのず れから状態の考え方の違いを説明する。 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 状態変数 状態変数 状態変数 状態変数2個個個個 状態変数 状態変数 状態変数 状態変数1個個個個
3章 基本操作編 • Stateflowを使って基本的な操作を中心に図・表の使い 方を説明する。信号機を例題に操作方法を教育する。 3章は、正しい状態の考え方を勉強する のではなく、ツール習得を目指し、 簡易的な状態で説明している。
新機能:状態遷移表
• R2012bでリリースされた状態遷移表
図で作ったものと
同じものを表で設計し、 操作を習得する
4章 応用編 • 内部遷移の活用 相互遷移する状態遷移図 内部遷移を活用した 状態遷移図 b c d [in==2] {out=2; 1 [in==1] {out=1;} 2 [in==3] {out=3;} 2 %デ フォルト(規定)遷移 [in==3] {out=3;} 1 [in==2] {out=2}; 1 [in==1] {out=1;} 2 1 [in==1] {out=1;} 2 % [in==3] {out=3;} [in==2] {out=2;} 2 % 状態遷移 1
状態遷移表
• 表も同じテクニックを使った場合の操作を説明
相互遷移する状態遷移表
内部遷移を活用した 状態遷移表
5章 状態遷移図の描き方 • 2種類の書き方を説明する。 • 全部で11モデルの演習を提供 – 標準と定めた図への変換は自分が作ったモデルで変更させ ると反感を買い、習得率が下がる。 – 他人が作ったモデルで演習を行う。 – MWのデモモデルを使った演習を行う。 正しい書き方を覚えることで、 全員が同じルールでモデルを書けるようになる
6章:
• StateflowのMealyモードとMooreモードの説明
内部遷移の活用で 複雑化する例を説明 安全性の高いシステムを 設計するには、 安易にMealyモードを使う 事ではなく、意味論を 正しく理解する事と くどくどと説明している。
7章 演習問題 • 3つの例題を使った演習です。 • 正しい状態を定義するため要求分析から実施 – 要求分析のために、タイミングチャートを沢山書いてもらう。 – 作成する図は、状態遷移図よりもタイミングチャートの方が多 い。 • 実装される状態遷移とシナリオ表現で使った状態遷移 の違いを確認しつつ、タイミングチャートを使ったシナリ オ作成方法と、要求図から状態遷移を設計する分析方 法を習得する。
誤解してはいけない注意事項 • 図や表は、人の好みです。どれが優れていると言うこと は絶対にありません。本書ではどの図が「良い、悪い」 を指摘しているわけではありません。 • そもそも、万人が必ず同じように理解できる図や表はあ りません。使う工程、使う人、使う対象によって好きなも のを使えば良いと思います。図や表は、特に使うプロセ スによって得手不得手があります。要求から設計・検証 と徐々に形が変わっていくことはごく自然なことです。 • 状況やユーザーによって色々な図や表を使い分けるこ とを提案しています。
本書が推奨していること • 図は、自分が要求を理解するため、または他人に説明 するために書きます。他人に説明する図や表は、描き 方に対してある程度のルールを作ることを推奨していま す。 • リアルタイム系の制御では、タイミングチャートを使って シナリオを作ることを推奨している。これは本書全体で 体験してもらい、習得してもらうようにしています。 しかし、細かい書き方を示していません。本書ではタイミ ングチャートは自分が要求を理解する為に書いていま すので、細かいルールの定義はしていません。自分が 理解できていれば役割を果たしたことになります。
状態遷移表について • R2012bで使えるようになった状態遷移表のベースは、 1995年にアイシン・エィ・ダブリュ(株)のA/T制御に使う ために、私が考案したものです。ムーアの論理から拡 張し、社内で運用してきました。必然的なのか偶然な のか拡張した部分がハレルと同じ意味論だったので、 Stateflowの中に取り入れることができました。 • 図はレイアウトで悩みますが、表はそのような必要が ないので、仕様を考えることに集中できます。深く思考 する時のツールとして使うことができます。 ぜひ使ってみてください。