組込みシステム開発入門download.microsoft.com/download/d/1/e/d1e5c5f3-faab-4548...このセミナーでは...

39
組込みシステム開発入門 マイクロソフト株式会社 デベロッパー&プラットホー ム統括本部 エンベデッドエバンジェリスト 太田 2008/1/25

Upload: others

Post on 17-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

組込みシステム開発入門

マイクロソフト株式会社デベロッパー&プラットホー

ム統括本部

エンベデッドエバンジェリスト

太田

2008/1/25

Page 2: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

このセミナーでは

• 組込みシステムの基本事項

• 組込みシステム開発の背景と基本事項

• マイクロソフトが提供する、組込み向けテ クノロジー・プロダクトを使った実践方法

• シリーズで実施予定

• 皆さんとインターラクティブにセミナーの 内容を決めていく

2008/1/25 2

Page 3: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

“組込み”ってなによ?

• “ 組込みシステム”– 装置の機能を実現するコンピュータ・システム

– 複数の装置を組み合わせて構成されたシステム

• “ 組込みソフトウェア”– 装置の機能を実現するソフトウェア

2008/1/25 3

Page 4: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

組込みシステムの特徴

• 特定用途向けシステム

– リソース制約

– パフォーマンス

– コスト

– 信頼性

– 全体最適化

• 常にトレードオフとの戦い

2008/1/25 4

Page 5: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

2008/1/25 5

Windows MobileSmartphones and

PDAs

Functionality

Windows Automotive

Portable Media Player

VoIP Phones

Ruggedhandheld

Medicaldevices

Windows terminals

Thin clients

Gamblingmachines

Point of sale

Office automation

ATMs / Kiosks

Industrial automation

Set-top Boxes

Secondarydisplays

Network sensors

Har

dwar

e R

esou

rces

Thin clients

Industrialautomation

Set-top BoxesRemote controls

Wearable devices

Security

Page 6: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

つながる組込みデバイス

PCPC

Web servicesWeb services

Experiences:Experiences:ProductivityProductivity

CommunicationCommunicationEntertainmentEntertainment

CommunicationsCommunications MultimediaMultimedia

Manufacturing & Manufacturing & DistributionDistribution

RetailRetail

HealthcareHealthcare

Page 7: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

組込みシステム分類

2008/1/25 7

*通信端末機器

(携帯電話機)

*カーナビ

*教育娯楽機器

*個人用情報機器

*コンピュータ周辺/OA機器

*AV機器

*家電機器

*設備機器

*運輸・建設機器

*工業制御/FA機器/産業機器

*自動車用ソフトウェア

(エンジン制御)

*通信設備機器

*医療機器

情報処理中心制御中心

民生機器

非民生機器

出典:2004年度 組込みソフトウェア開発力強化推進委員会活動報告(経済産業省、IPA)

Page 8: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

システム化

• デバイス+サービス

– デバイスがネットワークに接続され、より大き なシステムの一構成要素になっているもの

• 複合デバイス

– 一つの装置に複数の機能デバイスが統合されて いるもの

2008/1/25 8

Page 9: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

昨今の組込みソフトウェア開発

• 大規模化

• 多品種展開

• 高信頼性

• 要求の多様化

• 技術の陳腐化

• 短納期化

• 低価格化

2008/1/25 9

製品特性、各技術要素に関する

深い知識や、プログラミングテク

だけでなく

•エンジニアリング•チーム開発•開発管理•IT技術の活用

が必要

製品特性、各技術要素に関する

深い知識や、プログラミングテク

だけでなく

•エンジニアリング•チーム開発•開発管理•IT技術の活用

が必要

Page 10: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

ハードウェア・アーキテクチャの基本

2008/1/25 10

CPUCPU

ROMROM

RAMRAM

入力装置入力装置

出力装置出力装置

A/D変換

D/A変換

各種センサー

アクチュエーター、ヒーター、ライト、

AcceleratorAccelerator

拡張IF拡張IF一部処理の最適化

ハードウェアの性能を最大限に引き出し、価値を付加

様々な

CPU

様々な

CPU多彩な物理

デバイス

多彩な物理

デバイス

様々な外部

デバイスへ

様々な外部

デバイスへ

様々なアク

セラレータ

様々なアク

セラレータ様々なHW

アーキテクチャ

様々なHW

アーキテクチャ

既定のアドレスから処理開始HW初期化処理

周辺デバイス初期化処理プログラム実行開始前処理既定のプログラム実行規定処理の繰り返し・・・・・・・・

既定のアドレスから処理開始HW初期化処理

周辺デバイス初期化処理プログラム実行開始前処理既定のプログラム実行規定処理の繰り返し・・・・・・・・

Page 11: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

ハードウェア開発

ソフトウェア開発

組込みシステム開発プロセス

2008/1/25 11

非機能要件見積・処理能力

・応答性能・バス幅

・技術動向・必要な物理デバイス

・・・・

非機能要件見積・処理能力

・応答性能・バス幅

・技術動向・必要な物理デバイス

・・・・

ビジネス

プラン

ビジネス

プラン

設計設計

要件

定義

要件

定義設計設計 実装実装

試作試作 量産量産

テストテスト

テストテスト

システム

設計

システム

設計

製品

Page 12: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

Software

組込みソフトウェアの構成

2008/1/25 12

SoftwareSoftware

HardwareHardware

HWを直接

制御

HWを直接

制御

昔・小規模のもの

製品機能実現製品機能実現

OSOS

Device

DriverDevice

Driver

HardwareHardware

通常の構成

層構造により、変更による影響を局所化

物理デバイスを組合せ、製品としての機能を実装

物理デバイスを組合せ、製品としての機能を実装

ブート、メモリ管理、プロ

セス管理等、基本機能を

提供

ブート、メモリ管理、プロ

セス管理等、基本機能を

提供

デバイス毎の詳細処理を

実装し、上位に提供

デバイス毎の詳細処理を

実装し、上位に提供

コンポーネント(モジュール)

コンポーネント(モジュール)

ソース

コード

ソース

コード

Compile &

Link

Binary化・ROM化

Page 13: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

組込みソフトウェア開発環境

2008/1/25 13

製品機能実現製品機能実現

OSOS

Device

DriverDevice

Driver

製品機能の開発・応答性能(軽く無駄のない処理)・無駄な冗長性を省く

製品機能の開発・応答性能(軽く無駄のない処理)・無駄な冗長性を省く

OSの開発

・BSP開発

・OS構成

OSの開発

・BSP開発

・OS構成

Device

Driverの開発

・規定に従い実装・デバイス制御

Device

Driverの開発

・規定に従い実装・デバイス制御

全体で処理性能を確保

クロスプラットフォーム開発

エディタ、コンパイラ、デバッガ、リンカ、バイナリツール、ICE

要求管理スケジュール管理各種上流設計ツール構成管理チームコミュニケーション・・・・・・・・

Page 14: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

参考)Windows Embedded CE

Page 15: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

Demo

2008/1/25 15

Page 16: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

部品リポジトリ

理想的な開発スタイル

• 部品化による再利用、分業

• 変更部分だけを作業

Page 16 

AA

BB

CC

DD

EE

FF

C’C’

製品1

製品2

製品3

製品4

AA

BB

CC

AA

BB

DD

AA

BB

C’C’

EE

AA

BB

C’C’

EE

FF

プロダクトライン開発

Page 17: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

プロダクトライン開発のプロセス

2008/1/25 17

コアアセット開発

コアアセット開発

製品ファミリーの要件製品ファミリーの要件

製品製品

製品開発製品開発

製品の要件製品の要件

ツールライブラリガイド

ツールライブラリガイド

フィードバック

コアアセット

プロトタイピング・・・

製品特化の要件製品特化の要件

Page 18: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

しかし、それほど簡単な話ではないのだ!!

• 全体最適化(すり合わせ開発)の問題– 全体として最適化しているので、一部だけ修正した

場合でも、全体に影響が及ぶ恐れがある– 解決すべき問題は多数存在し、複雑に絡み合ってい

る– 各コンポーネントは状態を持つ

• 作るものは毎回違う– 部品にバリエーション、拡張性がなければならない– システムが部品の構成に対して柔軟でなければなら

ない

• 実装レベルで冗長性を持たせることが難しい

2008/1/25 18

Page 19: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

部品リポジトリ

プロダクトライン開発をうまく回すために

Page 19 

AA

BB

CC

DD

EE

FF

C’C’

製品1

製品2

製品3

製品4

AA

BB

CC

AA

BB

DD

AA

BB

C’C’

EE

AA

BB

C’C’

EE

FF

部品管理の為の

リポジトリや

構成管理機能

部品管理の為の

リポジトリや

構成管理機能

部品の内容や使

い方を説明するガ

イド機能

部品の内容や使

い方を説明するガ

イド機能

新しい部品を

作るための

ガイダンスやツール

新しい部品を

作るための

ガイダンスやツール

部品のバリエーション

部品のバリエーション

開発プロセスが標

準化され

全員が同じものを

使えること

開発プロセスが標

準化され全員が同じものを

使えること

システムの分割方法・統合方法部品の定義・作成方法

システムの分割方法・統合方法部品の定義・作成方法

Page 20: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

アーキテクチャ

• システムのアーキテクチャを明確にすることが重要

• アーキテクチャーは複数の視点から記述される– システムを様々な視点で分割し、内容を明確化

• 開発にかかわるステークホルダー

• ステークホルダーが抱えるコンサーン

• コンサーンを解決するための視点=Viewpoint• 解決策を、複数のモデルを使って記述

• 各Viewpointは、それぞれ、扱う問題が異なる– それぞれに適した、開発プロセス、モデル、ツール

– 製品の種類によって、必要なViewpointの構成は変わる

2008/1/25 20

Page 21: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

ステークホルダー、コンサーン、ビューポイント

製品が提供す

る機能は?

メカを思い通り

に制御するに

は?

実時間性を保

証するには?

セキュリティ要

件を実装する

には?

Viewpoint:アプリケーションViewpoint:アプリケーションアプリケーション

Viewpoint:メカ制御Viewpoint:メカ制御メカ制御

Viewpoint:実時間制御Viewpoint:実時間制御実時間制御

Viewpoint:セキュリティViewpoint:セキュリティ

モデルプロセスライブラリ

ツールサンプルドキュメント

モデルプロセスライブラリ

ツールサンプルドキュメント

モデルプロセスライブラリ

ツールサンプルドキュメント

モデルプロセスライブラリ

ツールサンプルドキュメント

※必要なViewpointは、製品の種類によって異なる

※コンサーンのプライオリティ明確化により、トレードオフの基準とする

Page 22: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

Viewpoint間の関係

<<Viewpoint>><<Viewpoint>>

<<Viewpoint>><<Viewpoint>>

成果物を使う

<<Viewpoint>><<Viewpoint>>

<<Viewpoint>><<Viewpoint>>

拡張する

アスペクト注入

<<Viewpoint>><<Viewpoint>>組合せる

Page 23: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

実装レベルのシステム構造の検討

バイナリのパッケージ方法コンポーネント基本機能プロセス、タスクへのマップ方法コンポーネント管理機構インタフェースの公開方法冗長性の確保プロジェクトの構成方法

バイナリのパッケージ方法コンポーネント基本機能プロセス、タスクへのマップ方法コンポーネント管理機構インタフェースの公開方法冗長性の確保プロジェクトの構成方法

結合の時期•リンク時•システム初期化時•システム実行中

結合の時期•リンク時•システム初期化時•システム実行中

コンポーネントでシステムを構成

メッセージ交換方法•メソッドコール•タスク間通信•ミドルウェア利用

メッセージ交換方法•メソッドコール•タスク間通信•ミドルウェア利用

“提供”インタフェース“提供”インタフェース

“要求”インタフェース“要求”インタフェース

分割の指針:機能の凝集度が高い同じ抽象度(問題領域)一方向依存ライフサイクルが同じ

分割の指針:機能の凝集度が高い同じ抽象度(問題領域)一方向依存ライフサイクルが同じ

※これも一つのViewpointである

そのコンポーネントは“何をするものか”が明確になっていることが非常に重要

そのコンポーネントは“何をするものか”が明確になっていることが非常に重要

Page 24: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

コンポーネントのインタフェース

停止再生中:⇒再生停止巻戻中:⇒再生再開・・・

インタフェースの定義:={操作+{引数}}

だけでなく・・・

インタフェースの定義:={操作+{引数}}

だけでなく・・・

“状態”の明確化・定義も必要“状態”の明確化・定義も必要

状態モデル データモデル

Page 25: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

再利用可能部品(コアアセット)

2008/1/25 25

実装レベルの再利用可能部品

状態状態

提供機能提供機能

要求機能要求機能

どう実装するかコンポーネント

全て再利用可能部品(コアアセット)全て再利用可能部品(コアアセット)

このコンポーネントは“何をする”ものか

•アルゴリズム•パターン•イディオム•・・・

•アルゴリズム•パターン•イディオム•・・・

Page 26: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

製品機能実現層

2008/1/25 26

製品機能実現製品機能実現

OSOS

Device

DriverDevice

Driver

ApplicationApplication

MiddlewareMiddleware

User

InterfaceUser

Interface

Real World

Hardware, Computing

オペレータの

操作方法

オペレータの

操作方法

装置が提供

する本来機能

装置が提供

する本来機能

一般的な基本機能群、

各種フレームワーク

ネットワーク、通信、画像処理、音声、

データベース、物理デバイス制御、・・・

一般的な基本機能群、

各種フレームワークネットワーク、通信、画像処理、音声、

データベース、物理デバイス制御、・・・

使い勝手の改良要求で変化コンポーネント化・自動化が進ん

だ領域

UI

Designer等の活用

使い勝手の改良要求で変化コンポーネント化・自動化が進ん

だ領域UI

Designer等の活用

製品仕様・市場の要求変化本質的には実装技術非依存UMLによるモデル駆動型開発

製品仕様・市場の要求変化本質的には実装技術非依存UMLによるモデル駆動型開発

実装技術の進歩により変化時が経つにつれ、標準化が進行特徴に応じてモデル駆動型、コード駆

動型による開発

実装技術の進歩により変化時が経つにつれ、標準化が進行特徴に応じてモデル駆動型、コード駆

動型による開発

各層の特徴に応じて、適切なコンポーネント化ルールを適用すること

各層の特徴に応じて、適切なコンポーネント化ルールを適用すること

※レイヤ、コンポーネントによって適切なモデリング体系は異なる

Page 27: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

ミドルウェア、基本機能の部品化

OSOS

Device

DriverDevice

Driver

HardwareHardware

部品内部の処理の実装は、HardwareやOS、

Device

Driverの特性を生かし、最適化する

⇒実装レベルのコンポーネントを

部品として再利用

実行時に設定が必要な特性パラメータの扱いに

留意

部品内部の処理の実装は、HardwareやOS、

Device

Driverの特性を生かし、最適化する

⇒実装レベルのコンポーネントを

部品として再利用

実行時に設定が必要な特性パラメータの扱いに

留意

ネットワーク、通信、画像処理、・・・の部品

インタフェースの定義は“一般化”が必要

個別のハードウェアに依存しない事特定の利用コンテキストを想定しない事

インタフェースの定義は“一般化”が必要

個別のハードウェアに依存しない事特定の利用コンテキストを想定しない事

※設計時、UML等を用いたモデル化も有効

特性パラメータ、振舞の詳細⇒バリエーションポイント

特性パラメータ、振舞の詳細⇒バリエーションポイント

Page 28: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

アプリケーションのモデル

• オブジェクト指向分析モデル(UML)

RouteRoute

SegmentSegment

1

* segments

1 next

prev 1SegmentSpeSegmentSpe

cc

StraightStraight CurveCurve

curvaturecurvatureangleangle

lengthlengthspec 1*

positionpositionangleangleinclenation

{disjoint,complete}

namename

クラス図

情報(データ)の観点でモデル化

通常駆動中

制御プロファイル

切換え中

キャリブレーション

ゴール後停止駆動中

ゴール後停止

キャリブレーション完了

プロファイル決定

マーカー検出

ゴールマーカー検出

停止

スタートステートチャート

振舞の観点でモデル化※流派により、•各クラスに対してステートチャートを定義•状態遷移表を用いて、厳密化•状態のアクションをアクション記述言語で定義などのバリエーションがある

オブジェクトの構成⇒バリエーションポイント

オブジェクトの構成⇒バリエーションポイント

Page 29: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

モータ制御や温度制御などのモデル

• 連続系のモデル

物理モデル PIDモデル

モータの駆動力無駄時間慣性モーメント・・・

ブロック、パラメータの構成⇒バリエーションポイント

ブロック、パラメータの構成⇒バリエーションポイント

Page 30: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

部品のバリエーション

2008/1/25 30

固定部分固定部分

可変部分可変部分 パラメータ化パラメータ化

テンプレート化テンプレート化

メタモデル

変換ルール

WizardDSL(Model)

Editor

DSL:Domain Specific Languageパラメータ入力向けに、直観的にわかりやすい記法を定義したモデル図

Page 31: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

Viewpointとモデル駆動型開発

2008/1/25 31

<<Viewpoint:アプリケーション開発>><<Viewpoint:アプリケーション開発>>

<<Viewpoint:コンポーネント実装機構>><<Viewpoint:コンポーネント実装機構>>

基本

クラス

ライブラリ

<<Viewpoint:アプリのコンポーネント化>><<Viewpoint:アプリのコンポーネント化>>

変換ルール

DSL

エディタ

一部手書き

コードを追加

•モデルを使って設計内容を可視化•定型作業をパターン化し、自動化⇒“モデル駆動型開発”

•モデルを使って設計内容を可視化•定型作業をパターン化し、自動化

⇒⇒““モデル駆動型開発モデル駆動型開発””

Page 32: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

システムのバリエーション・組み上げ

• Feature Model

2008/1/25 32

パスファインダー

競技用機能

通常走行

キャリブレーション

難所走行

検証用機能

観測データ取

必須機能 オプション機能

システム構成のバリエーションを定義部品のスコープ部品のカタログ化部品利用時のコンテキストを明確化

システム構成のバリエーションを定義部品のスコープ部品のカタログ化部品利用時のコンテキストを明確化

フィーチャー凡例)フィーチャーを実現する部品群

バリエーションの指定

予め決められたルールに従いコンポーネントを組上げる

予め決められたルールに従いコンポーネントを組上げる

Page 33: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

開発環境

• プロジェクトテンプレート

– 決まりきった内容は事前に自動的に作成

• サンプルやTips• 作業のナビゲーション

• 構成管理(リポジトリ)

• チーム開発

• 大事なのは“全員が同じ環境を使う”こと

2008/1/25 33

Page 34: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

Demo

2008/1/25 34

Page 35: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

Software Factories

• ドメイン特化の開発プロセスと、

それを支援するカスタム開発環境

を作成する方法論

• Software

Factoriesを支える4本柱– ソフトウェアプロダクトライン– モデル駆動開発– アーキテクチャフレームワーク

– 文脈によるガイダンス

資産の部品化戦略的な再利用

成果物、ノウハウの見える化自動生成・変換

システムの骨格システムをどう分割するか

開発作業支援統合環境

Page 36: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

Software Factories概観

組込みシステム開発

組込みシステム開発

ViewpointViewpoint A

ViewpointViewpoint BB

ステークフォルダー、

コンサーン毎に組織化

プロダクト開発

(Variantの制御)

DSLDSL AA

DSLDSL BB

ModelModel AA

ModelModel B

DSLDSL CCModelModel CC

DSLで知識を資産化

効率的な扱いGATで手順を組織化

AssetAssetAssetAssetAssetAsset

(ライブラリ、サン(ライブラリ、サン

プル、文書、プル、文書、……

Software Factory Template

Page 37: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

実現のための道具立て

• D SL、Generatorの作成

– Visual Studio 2005 SDK

• プロジェクトテンプレートのカスタマイズ– Visual Studio カスタマイズ向け機能

• ガイダンスオートメーションの作成– GAT/GAX

• チーム開発、構成管理など– Visual Studio 2005 Team System

Page 38: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

リファレンス

• Windows Embedded– http://www.microsoft.com/embedded

• Software Factories– http://www.microsoft.com/japan/msdn/architectur

e/sf/• Visual Studio

– http://www.microsoft.com/japan/msdn/vstudio/• 私のブログ

– http://blogs.msdn.com/hirosho

Page 39: 組込みシステム開発入門download.microsoft.com/download/D/1/E/D1E5C5F3-FAAB-4548...このセミナーでは • 組込みシステムの基本事項 • 組込みシステム開発の背景と基本事項

2008/1/25 39