• 検索結果がありません。

組み込みソフトウェア開発技術:4.プロダクトライン開発技術

N/A
N/A
Protected

Academic year: 2021

シェア "組み込みソフトウェア開発技術:4.プロダクトライン開発技術"

Copied!
5
0
0

読み込み中.... (全文を見る)

全文

(1)特集 組み込みソフトウェア開発技術. 4. プロダクトライン 開発技術 渡辺 晴美 東海大学 [email protected]. 本稿では,製品のファミリ/シリーズ全体で品質/生産性を戦略的に向上させる開発技術であるプロダクトライン技術について紹 介する.特に,開発の鍵となるプロダクトラインアーキテクチャに着目し,組み込みソフトウェア開発へのプロダクトラインの適 用について議論する.. 組み込みソフトウェア再利用開発. ●プロダクトライン技術の 3 つの主要アクティ ビティ.  ソフトウェア開発において,高い品質と生産性の決め.  SEI(Software Engineering Institute) が提案するプ. 手が,再利用技術にあることは述べるまでもない.組み. ロダクトライン技術は,「コア資産開発」「プロダクト開. 込みソフトウェア開発においても,大規模化,複雑化,. 発」「マネジメント」の 3 つの主要なアクティビティ. 高機能化に伴い,再利用技術の活用が望まれている.し. らなる.. 3). 4). か. かし,従来の組み込みソフトウェア開発においては,プ ログラム,仕様書やテストケースの流用が多く,再利用. (1)コア資産開発. の技術/方法が確立されていなかった.近年,再利用技.  ドメインエンジニアリングとも呼ばれるアクティビ. 術の目覚ましい進化に伴い,組み込みソフトウェアに適. ティである.ドメイン,すなわち開発対象となる製品の. した再利用技術が提案されるようになった.. ファミリ/シリーズについて分析を行い,プロダクトラ.  本稿では,最近,脚光を浴びつつある再利用技術であ. インアーキテクチャを構築する.プロダクトラインアー. るプロダクトライン技術の組み込みソフトウェア開発へ. キテクチャに基づき,コア資産と呼ばれる再利用部品を. の適用について紹介する.組み込み製品開発へのプロダ. 開発する.コア資産とは,プログラム,コンポーネント,. 1). フレームワーク,仕様書,モデル,テストケース,など. イング などがあり,国内でも採用されつつある.. 開発時に生成するプロダクトに加え,テストツールなど. クトライン技術の代表的な適用実績には,ノキア ,ボー 2). 開発環境すべてである.. プロダクトライン技術. (2)プロダクト開発  アプリケーションエンジニアリングとも呼ばれるアク.  プロダクトライン技術は,製品のファミリ/シリーズ. ティビティである.要求,プロダクトラインスコープ,. 全体で品質/生産性を戦略的に向上させる再利用技術で. プロダクトプランをもとに,コア資産から,個々の製品. ある.. を開発する..  プロダクトライン技術を利用した開発では,個々の製 品開発に先立ち,製品ファミリ全体で共通に利用する部. (3)マネジメント. 品をプロダクトラインアーキテクチャに基づきコア資産.  マネジメントアクティビティは,技術マネジメントと. として開発する.プロダクトラインアーキテクチャとは,. 組織マネジメントからなる.技術マネジメントは,コア. 製品のファミリ/シリーズに共通なソフトウェアの構造. 資産開発/プロダクト開発アクティビティの進捗状況を. である.個々の製品はコア資産の組合せにより開発する.. 管理する.組織マネジメントは,資金モデルを構築し,. したがって,コア資産開発, およびプロダクトラインアー. コア資産開発とプロダクト開発が潤滑に行われるよう調. キテクチャの構築が,開発を成功させる鍵となる.. 整する.. 694. 45 巻 7 号 情報処理 2004 年 7 月.

(2) 4. プロダクトライン開発技術. コア資産開発のプロセス 生成物 プロセス (a) (a) プロダクトライン プロダクトライン スコープ スコープ. (1) ドメイン理解. (b) (b) プロダクトプラン プロダクトプラン. (c) (c) 特性モデル 特性モデル. プロダクトライン プロダクトライン アーキテクチャ アーキテクチャ. コア資産 コア資産. (2) プロダクトライン アーキテクチャ 構築/評価. (3) プロダクトライン   部品開発. コア資産開発への入力 コア資産開発への入力 プロダクト開発 プロダクト開発/従来開発から: /従来開発から:   既存資産 (プログラム, コンポーネント,   既存資産(プログラム, コンポーネント,   テストケース,仕様書,モデル,開発環境,   テストケース,仕様書,モデル,開発環境, etc.)etc.) マネジメント/要求から: マネジメント /要求から: 生産戦略,プロダクト制約,生産制約      . プロダクトライン技術の 主要アクティビティ ドメイン エンジニアリング. (1) コア資産 開発. アプリケーション エンジニアリング. (2) プロダクト 開発. (3) マネジメント. コア資産開発からプロダクト開発 コア資産開発からプロダクト開発 とマネジメントへの出力: とマネジメントへの出力: コア資産, コア資産,プロダクトラインスコープ, プロダクトラインスコープ, プロダクト開発プラン プロダクト開発プラン. 図 -1 プロダクトライン技術の 3 つのアクティビティとコア資産開発のプロセス. ●コア資産開発アクティビティのプロセス. 通性)と,製品固有の特性(可変性)を明示するための.  コア資産開発アクティビティは,ソフトウェアの再. モデルである.. 利用で中心的な役割を果たす.コア資産開発アクティ ビティの各プロセスについて,下記に説明する(図 -1 参. (2)プロダクトラインアーキテクチャ構築/評価. 照) .下記は,代表的なドメインエンジニアリング技術.  特性モデルをもとに,プロダクトラインアーキテク. である文献 5) ∼ 7) に基づいている.. チャを構築する. プロダクトラインアーキテクチャとは, 製品のファミリ/シリーズに共通なソフトウェアの構造. (1)ドメイン理解. である.プロダクトラインアーキテクチャは,コア資産.  ドメイン理解の主要な目的は,製品のファミリ/シ. の開発に利用する.構築したプロダクトラインアーキテ. リーズに共通な特性と,製品固有の特性を抽出し,それ. クチャについて,評価技術を利用し,要求や制約を満た. らを明示することである.特性には,機能,性能,耐故. すかどうかについて評価を行う.また,複数のアーキテ. 障性,機密性,生産性,費用などがある.図 -1 の「コア. クチャを構築し,トレードオフについて評価を行うこと. 資産開発への入力」に示すとおり,ドメイン理解では,. もある.. 既存資産,生産戦略,プロダクト制約,生産制約を基に.   ア ー キ テ ク チ ャ 評 価 技 術 の 1 つ で あ る ATAM. プロダクトラインスコープ,特性モデル,プロダクトプ. (Architecture Tradeoff Analysis Method) では,性能,. 8). ランを生成する.. 変更可能性,耐故障性,セキュリティについて各々にシ. (a)プロダクトラインスコープ:プロダクトライン技. ナリオを構築し,評価を行う.. 術を適用し,開発する製品群のことである.スコープ を決定することで,ファミリ/シリーズに属する製品. (3)プロダクトライン部品開発. を決定する.プロダクトラインスコープは,開発対象.  プロダクトラインアーキテクチャをもとに,コア資産. の製品リストとして表現する.. となる部品を開発する.コア資産の対象は, プログラム,. (b)プロダクトプラン:コア資産からどのように製品を. コンポーネント,フレームワーク,仕様書,モデル,テ. 開発するかについて記述する.各特性が,どのコア資. ストケースなど開発時に生成するプロダクトに加え,開. 産と関連し,どの製品開発に利用されるかを示したリ. 発環境すべてである.したがって,プロダクトライン技. ストで表現する.. 術は,開発時に生成するプロダクト,利用する環境すべ. (c)特性モデル:ファミリ/シリーズに共通な特性(共. てを戦略的に再利用することを目指している. IPSJ Magazine Vol.45 No.7 July 2004. 695.

(3) 特集 組み込みソフトウェア開発技術. 駐車支援/衝突安全システム. F1 アプリケーション. F3 駐車支援. F4 衝突検出. F8 ステアリング アシスト. F7 距離表示. F2 センサ. F5 前方. F9 安価. F6 後方. F10 高価. F11 安価. F12 高価. 必須特性 選択特性. F13 前方. いずれか or 両方. F14 後方. どちらか一方. 図 -2 駐車支援/衝突安全システムの特性モデル. ●プロダクトラインアーキテクチャ構築アプ ローチ. を構築する場合に用いるアプローチである.個々の製品 開発期間を短縮できるが,アプリケーションの柔軟性が.  ファミリ共通で利用するコア資産は,プロダクトライン. なくなるという欠点もある.組み込みソフトウェアでは,. アーキテクチャに基づき開発することから,プロダクトラ. しばしば,あらかじめインフラストラクチャが決定して. インアーキテクチャをいかに構築するかが重要である.. おり,プロダクトラインアーキテクチャの構築に,イン.  組み込みソフトウェアにおけるプロダクトラインアー. フラストラクチャ主導型のアプローチをとる場合が多い.. キテクチャの構築には 2 つの特徴がある.まず,リアル.  インフラストラクチャ主導型では, まず, システムアー. タイム性,ハードウェア制約を満たすように構築しなけ. キテクチャまたはコンピュータアーキテクチャを分析す. ればならないことである.もう 1 つの特徴は,開発始動. る.システムアーキテクチャは,システムの概略を表し. 時に,すでにインフラストラクチャが決定しているこ. たアーキテクチャであり,コンピュータアーキテクチャ. とが多いことである.前者は,ドメイン理解プロセスで. は,ソフトウェアとハードウェアのインタフェースを表. 十分に性質を考慮し特性モデルを構築し,開発したプロ. したアーキテクチャである.システムアーキテクチャや. ダクトラインアーキテクチャを評価することで対処でき. コンピュータアーキテクチャは,層状に記述することが. る.後者に関しては,アーキテクチャ構築アプローチで. 多いことから,これらをレイヤードアーキテクチャと呼. 対処する.. ぶことにする.次に, これらのアーキテクチャをもとに,.  アーキテクチャ構築アプローチには,アプリケーショ. プロダクトラインアーキテクチャを構築する.. ン機能主導型とインフラストラクチャ主導型の 2 つがあ.  すでに, 部品の蓄積がある場合などに, レイヤードアー. る(文献 4)では,要求分析から,アーキテクチャへ詳細. キテクチャ自体をプロダクトラインアーキテクチャとし. 化していくアプローチであるトップダウン型を加えた. て利用する場合もある.. 3 つとしている) .下記に各々について述べる. (1)アプリケーション機能主導型. 事例.  アプリケーション機能を中心にプロダクトラインアー キテクチャを構築するアプローチである.インフラスト.  本章では,プロダクトラインアーキテクチャ構築アプ. ラクチャは,抽象化された部品として扱う.組み込みソ. ローチに着目し,アプリケーション機能主導型とインフ. フトウェア開発でも,多機能性に着目した開発を行う場. ラストラクチャ主導型の事例を紹介する.. 合などに,アプリケーション機能主導型のアーキテク チャ構築を行うこともある.. ●アプリケーション機能主導型  ボッシュの駐車支援/衝突安全システム. 7). の特性モ. (2)インフラストラクチャ主導型. デルを図 -2 に示し,プロダクトラインアーキテクチャ.  OS ,通信プロトコル,ミドルウェア上にソフトウェア. を図 -3 に示す.駐車支援/衝突安全システムの例は,. 696. 45 巻 7 号 情報処理 2004 年 7 月.

(4) 4. プロダクトライン開発技術. 状況評価 状況評価. 衝突検出 衝突検出. 距離表示 距離表示. ���. 状況評価 状況評価. ���. ステアリング ステアリング アシスト アシスト. ��� センサ モード. スマート スマート センサ センサ (後方右) (後方右). ���. ��� 監視レンジ. 表示レンジ. アプリ ケーション. スマート スマート センサ センサ (後方左) (後方左). ��. ��. ��. スマート スマート センサ センサ (前方中央) (前方中央). �� ��. センサ タイプ. (b) 物理ビュー. ��� プライオリティ 管理. コンポーネントグループ インタラクション 依存. センサ制御 センサ制御. 測定 測定 順位 順位. (a) 論理ビュー. ��. 可変部分 (Variation Points). �. 特性 (Feature). 図 -3 駐車支援/衝突安全システムのプロダクトラインアーキテクチャ. 図 -2 に示した特性モデルにより,製品の特性に関して 共通性・可変性を判断し,図 -3 に示したアーキテクチャ を構築する.図 -2 の F は特性(Feature)であり,図 -3 の ブラウザ. ポータビリティレイヤ. テクチャでは,VP を個々の製品を開発する際に変更/. レイアウト管理 レイアウト管理 ユーザエージェント ユーザエージェント. 構築する.. ブラウザ ブラウザ ユーティリティ ユーティリティ. ローダ ローダ. ��� ���. プロトコルスタック. キャッシュ,記憶装置, キャッシュ,記憶装置, メモリ,文字処理, メモリ,文字処理, 数学計算�� 数学計算�� メッセージ送受信, メッセージ送受信, ログなど ログなど. セッション セッション トランザクション トランザクション セキュリティ セキュリティ. VP(Variation Points)は可変部分である.図 -3 のアーキ. プロトコル プロトコル ユーティリティ ユーティリティ. データグラム データグラム. ●インフラストラクチャ主導型 1).  ノキアのモバイルブラウザ のプロダクトラインアー キテクチャを図 -4 に示す.モバイルブラウザのプロダ クトラインアーキテクチャは,レイヤードアーキテク チャである.この事例では,レイヤードアーキテクチャ に基づきコンポーネントが多数開発されている.レイ ヤードアーキテクチャでプロダクトラインアーキテク チャを明示することで, 全体が把握しやすくなっている.  図 -5 に,ボーイングの飛行システム. 2). のレイヤード. アーキテクチャを示す.図 -5 のレイヤードアーキテク チャはプロジェクトゴールを表している.飛行システム 図 -4 モバイルブラウザのプロダクトラインアーキテクチャ. の事例では,図 -5 のレイヤードアーキテクチャを分析 し,詳細なプロダクトラインアーキテクチャを構築して いる.. IPSJ Magazine Vol.45 No.7 July 2004. 697.

(5) 特集 組み込みソフトウェア開発技術. アプリケーション コンポーネント. アーキテクチャ フレームワーク. ステーション. ステーション. ��� ����. 飛行フレーム レーダ. ���� ���� ������ �����. ターゲット. ����. 武器. 飛行モデル. インフラストラクチャサービス. �� ボード支援パッケージ ハードウェア���� ,メモリ,����. 図 -5 レイヤードアーキテクチャの例. まとめ. 謝辞  本稿の執筆にあたり,南山大学 青山幹雄教授, (株)豆蔵 今関剛氏には多大なるご協力をいただきまし た.心からお礼申し上げます..  本稿では,製品のファミリ/シリーズ全体で品質/生 産性を戦略的に向上させる開発技術であるプロダクトラ イン技術について紹介した.特に,開発の鍵となるプロ ダクトラインアーキテクチャに着目した.組み込みソフ トウェアのためにプロダクトラインアーキテクチャを 構築する方法として,アプリケーション機能主導型とイ ンフラストラクチャ主導型の 2 つのアプローチを紹介し た.組み込みソフトウェアでは,しばしば,開発始動時 にインフラストラクチャが決定しており,インフラスト ラクチャ主導型をとることが多いことを述べた.  リアルタイム性やハードウェア制約などさまざまな制 約を持つ組み込みソフトウェアにおいて,プロダクトラ インアーキテクチャ構築は,非常に高度な作業である. 今後,構築技術の発展が望まれる.. 698. 45 巻 7 号 情報処理 2004 年 7 月. 参考文献 1)Jaaksi, A.: Developing Mobile Browsers in a Product Line, IEEE Soft. Vol.19, No.4, pp.73-80(July/Aug. 2002). 2)Doerr, B. S. et al. : Freeing Product Line Architectures from Execution Dependencies, SPLC1, pp.313-329(2000). 3)SEI.CMU(Software Engineering Institute, Carnegie Mellon) , http://www.sei.cmu.edu/ 4)Clements, P. and Northrop, L.: Software Product Lines Practice and Patterns, Addison Wesley(2001).前田卓雄訳,ソフトウェアプロダ クトライン,日刊工業新聞社(2003). 5)Davis, M.: Reengineering and the Product Line Approach to Software Development, 4th Reengineering Forum(1994). 6)Kang, K. C. et al.: Using a Marketing and Product Plan as a Key Driver for Product Line Asset Development, SPLC2, pp.366-382(2002) . 7)Thiel, S. et al.: Modeling and Using Product Line Variability in Automotive Systems, IEEE Soft. Vol.19, No.4, pp.66-72(July/Aug. 2002). 8)Bass, L. et al.: Software Architecture in Practice − Second Edition, Addison-Wesley(2003). (平成 16 年 6 月 11 日受付).

(6)

参照

関連したドキュメント

なお、関連して、電源電池の待機時間については、開発品に使用した電源 電池(4.4.3 に記載)で

遮へいブロ ック手前側 の雰囲気 線量は約

通常のターボチャージャーでは排気ガスの量とエンタルピーの積の増加に従

DC・OA 用波形データ  2,560Hz  収録した波形ファイルの 後半 1024 サンプリング . 従来の収録ソフトウェアも DC, OA 算出時は最新の

2014 年 9 月に開始された MethaShip プロジェクトの実施期間は 45 か月であった。 プロジ ェクトの主要メンバーは、造船所 Flensburger Schiffbau-Gesellschaft 及び

発明の名称  出  願  人  特  開  №  構      成 . 撥水性塗料組成物  ○

機関室監視強化の技術開発,および⾼度なセ キュリティー技術を適用した陸上監視システム の開発を⾏う...

0:Boolean,1:Boolean+Data(15bit),2:Data(16bit) Modbus Function Code fDatModbusFuncCD char(2) ('03') 0x03,0x04,0x10. fDatTagID