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

九州大学学術情報リポジトリ

N/A
N/A
Protected

Academic year: 2021

シェア "九州大学学術情報リポジトリ"

Copied!
153
0
0

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

全文

(1)

九州大学学術情報リポジトリ

Kyushu University Institutional Repository

リバースモデリングとモデルシミュレーションを活 用した組込みシステムの開発に関する研究

坂本, 佳史

https://doi.org/10.15017/1441261

出版情報:Kyushu University, 2013, 博士(工学), 課程博士 バージョン:

権利関係:Fulltext available.

(2)
(3)

目次

概要 i

第 1 章 はじめに 1

1.1 背景 . . . . 1

1.2 研究の目的 . . . . 15

1.3 本論文の構成 . . . . 21

第 2 章 関連研究と課題の提起 22 2.1 関連研究 . . . . 23

2.2 差分開発の現状調査 . . . . 31

2.3 差分開発の問題点 . . . . 38

2.4 課題の提起 . . . . 39

第 3 章 基本方式の提案 41 3.1 目的 . . . . 41

3.2 基本方式-SRMS の概要 . . . . 42

3.3 従来方式との比較 . . . . 45

3.4 SRMS の評価手法 . . . . 48

3.5 SRMS のメソドロジー . . . . 58

第 4 章 基本方式の適用 66 4.1 目的 . . . . 66

4.2 動的振舞解析 . . . . 66

4.3 SRMS による組込みシステムの評価 . . . . 77

4.4 SRMS のメソドロジー適用 . . . . 88

第 5 章 適用事例の検証 100

5.1 目的 . . . 100

(4)

5.2 SRMS による性能評価 . . . 100

5.3 SRMS による消費エネルギー評価 . . . 105

5.4 SRMS のメソドロジー評価 . . . 109

第 6 章 基本方式の有効性の検証 112 6.1 目的 . . . 112

6.2 性能評価における妥当性検証 . . . 113

6.3 消費エネルギー評価における妥当性検証 . . . 115

6.4 メソドロジー評価における妥当性検証 . . . 117

第 7 章 おわりに 119 7.1 成果 . . . 119

7.2 今後の展開 . . . 121

謝辞 125 参考文献 126 本研究に関する著者の発表論文 133 付録 134 付録 1 - 用語の定義 . . . 134

付録 2 - 組込みソフトウェアの課題についての分析 . . . 138

付録 3 - DEOS と D-Case . . . 140

(5)

図目次

1.1 製品開発費に占める組込みソフトウェア開発費の割合(出展 : ソフトウェア産業の実態把握に関する調査 , 独立行政法人情

報処理推進機構, 2012 年 4 月 [1] . . . . 2

1.2 組込みソフトウェア規模の変化(出展 : 組込みソフトウェア 産業の課題と政策展開 , ET2008, 経済産業省, 2008 年 [2] に 追加 . . . . 3

1.3 MFP のシステム規模と CPU 性能の推移 . . . . 5

1.4 組込みソフトウェア開発における目標達成率(出展 : ソフト ウェア産業の実態把握に関する調査 , 独立行政法人情報処理 推進機構, 2012 年 4 月 [1],[7], 2010 年度は該当データ無し) . . 7

1.5 組込みソフトウェア開発における課題の推移 (出展 : ソフト ウェア産業の実態把握に関する調査 , 独立行政法人情報処理 推進機構, 2012 年 4 月 [1],[7]) . . . . 8

1.6 組込みソフトウェアにおける不具合の発生 (出展 : ソフト ウェア産業の実態把握に関する調査 , 独立行政法人情報処理 推進機構, 2012 年 4 月 [1]) . . . . 10

1.7 組込みソフトウエア開発プロジェクトにおける開発手法(出展 : ソフトウェア産業の実態把握に関する調査 , pp49, 独立行 政法人情報処理推進機構, 2012 年 4 月 [7]) . . . . 11

2.1 開発フロー  V-モデル . . . . 32

2.2 差分開発の実態調査の対象 . . . . 32

2.3 再利用の対象となる技術成果物 . . . . 33

2.4 各開発アクティビティへの入力 . . . . 33

2.5 各開発アクティビティからの出力 . . . . 34

2.6 差分の特定方法 . . . . 35

2.7 品質管理のアクティビティ . . . . 36

(6)

2.8 モデルを活用している工程 . . . . 36

2.9 組込みシステム開発の課題 . . . . 39

3.1 組込みシステムの品質を評価する手法の概要フロー . . . . 42

3.2 提案する開発メソドロジーの概要 . . . . 44

3.3 リバースモデリング手法によるモデル作成フロー . . . . 48

3.4 システム測定技術概要 . . . . 50

3.5 性能評価モデルの構成 . . . . 51

3.6 タイムリソースモデルの構成とクラス図 . . . . 53

3.7 メモリーリソースモデルの構成とクラス図 . . . . 54

3.8 消費エネルギー評価モデルの構成 . . . . 56

3.9 消費エネルギー評価モデルの作成フロー . . . . 57

3.10 Power Module のステート・ダイアグラム . . . . 58

3.11 リバースモデリング手法とモデル・シミュレーションを活用す る開発メソドロジー . . . . 61

3.12 D-Case と SysML モデルの連携 . . . . 65

4.1 解析対象のシステム構成 . . . . 67

4.2 RIP 処理の俯瞰的な動的振舞 . . . . 68

4.3 GEU の処理時間の分布 . . . . 69

4.4 GEU 処理の待ち時間の分布 . . . . 70

4.5 GEU 処理の待ち時間のパレート分析 . . . . 71

4.6 RIP 処理における CPU 使用率の比較 . . . . 72

4.7 GEU 処理における待ち時間の特定 . . . . 72

4.8 バンド間待ち時間の測定 . . . . 73

4.9 バッファ要求数とバンド間待ち時間の関係 . . . . 73

4.10 タスク切り替えの測定 . . . . 74

4.11 GEU 処理の待ち時間の分布ー 20ms 以下 . . . . 75

4.12 GEU 処理におけるセマフォの取得と開放 . . . . 76

4.13 GEU 処理における効率的なシーケンス . . . . 77

4.14 制御タスクの CPU 使用時間 . . . . 78

4.15 現行 MFP のシステム構成 . . . . 79

4.16 次期 MFP のシステム構成 . . . . 80

(7)

4.17 現行 MFP の性能評価モデル . . . . 82

4.18 次期 MFP の性能評価モデル . . . . 82

4.19 実行シナリオに用いた画像データ . . . . 83

4.20 SoC の内部構成 . . . . 84

4.21 消費エネルギー評価モデル全体のクラス・ダイヤグラム . . . . 85

4.22 CCS の操作と機能要求 . . . . 89

4.23 CCS のユースケース図 . . . . 90

4.24 要求図ー暫定版 . . . . 90

4.25 ブロック定義図 . . . . 91

4.26 内部ブロック図 . . . . 92

4.27 パラメトリック図 . . . . 93

4.28 要求図 . . . . 94

4.29 D-Case の相互運用 . . . . 96

4.30 D-Case と要求図の関連付け . . . . 97

4.31 D-Case とパラメトリック図の関連付け . . . . 98

4.32 設計意図の明確化 . . . . 99

5.1 現行 MFP モデルと次期 MFP モデルの シミュレーション結果 比較 . . . 101

5.2 マルチコア・アーキテクチャの 採用による印刷処理時間の短縮 102 5.3 メモリー使用量の遷移 . . . 103

5.4 タイミング変更後のメモリー使用量の遷移 . . . 104

5.5 消費エネルギーシミュレーション結果-4 ページ連続印刷 . . . . 106

5.6 消費エネルギーと電源投入遅延時間 . . . 107

5.7 消費エネルギーとホールド時間 . . . 108

5.8 クルーズコントロールシステムのモデル・シミュレーション . 110 6.1 FPGA を搭載した評価プラットフォーム . . . 113

6.2 モデル・シミュレーションと評価プラットフォームとの印刷処

理時間の比較 . . . 114

(8)

7.1 組込みソフトウェア開発における課題の推移(出展: ソフト

ウェア産業の実態把握に関する調査 , 独立行政法人情報処理

推進機構, 2012 年 4 月 [1],[7], 2010 年度は該当データ無し) . 138

7.2 DEOS プロセス(出展:DEOS プロセス [58]) . . . 140

7.3 D-Case(出展:D-Case[58]) . . . 142

(9)

表目次

1.1 ソフトウェア・エンジニアが把握できるプログラムの規模(出 展 : 加藤和彦, Sun&Users 学舎探訪記-筑波大学編 ,2006 年

7 月 [3] . . . . 4

2.1 組込みシステム開発の実態調査の対象 . . . . 31

3.1 従来手法との比較 . . . . 45

3.2 関連するメソドロジーとの比較 . . . . 46

4.1 SoC に搭載される IP の消費エネルギー . . . . 86

5.1 自動車のボディタイプによる特性 . . . 109

6.1 消費エネルギーの見積もりと実 SoC との比較 . . . 115

6.2 スプレッドシート手法における Activity Factor . . . 116

(10)

概要

現代社会において組込みシステムは鉄道や自動車,通信ネットワークなど社 会基盤を支えるインフラストラクチャーの一部として広く普及しており,また 個人消費においても家庭用の電化製品や情報機器としての普及が目覚しい.組 込みシステムが社会において広く活用される中で,それらを利用する顧客は 年々,多くの機能や高い性能を求める.その結果として組込みシステムは近年,

急速にその規模を拡大して複雑なシステムへと変化している.現在の組込みシ ステムの開発において,開発コストと開発納期はいずれも厳しい制約の元にあ り,開発納期も市場への製品投入サイクルの短縮を受けて短くなる傾向にある.

このような環境において組込みシステムの開発は開発コストと開発納期が現状 維持,もしくは削減される中で品質を高めて更に大規模化・複雑化に適用しな くてはならない状況にある.

 つまり現在の組込みシステムの開発における重要な課題は,大規模化する組 込みシステムを,開発コストと開発納期をこれまでと変えずに開発しなくては ならないことである.そのためにはこれまで以上にその開発品質を高めること が必要となる.

 そこで本研究では,以下に示す研究を行う.組込みシステムの開発におい

て設計の品質を高めることを目的としてリバースモデリング手法とモデル・シ

ミュレーションを組み合わせることで,組込みシステムの品質を評価する手法

を提案する.ここで,本研究において対象とする開発品質とは,組込みシステ

ム開発の上流工程における機能,性能,リソース使用量,消費エネルギーの充

足可能性である.また,差分開発に多く適用されているボトムアップ開発の問

題点を解決して,トップダウン開発に移行することを目標とする開発メソドロ

ジーを提案する.このメソドロジーにおいてもリバースモデリング手法とモデ

ル・シミュレーションを組み合わせて活用する.本研究で用いるリバースモデ

リング手法とは,既存の組込みシステムに対してリバースエンジニアリングの

解析技術を適用することで得られた結果を用いて,高い抽象度のモデルを作成

(11)

することである.  

 次に,これらの提案した手法とメソドロジーを用いて,実際の組込みシス テムに適用して提案手法の評価を行う.MFP - Multi Function Peripheral/

Printer(ディジタル複合機)においては性能評価の観点で, MFP に搭載される

SoC-System On a Chip(システム LSI)では消費エネルギーの観点で, 自動車に 搭載される CCS-Cruise Control System(クルーズコントロールシステム)では 加速要求の観点で,システムレベルのモデル・シミュレーションによる評価を 行う.モデル・シミュレーションの結果の妥当性検証を実施することで本研究 の有効性を示す.

 以上のことから,本研究により,厳しい制約の元での開発求められる組込み

システム開発の品質の向上と効率化において貢献が期待できる.

(12)

1

第 1 章 はじめに

1.1 背景

組込みシステムは近年,急速にその規模を拡大して複雑なシステムへと変化 している.組込みシステムが大規模化・複雑化した要因は,組込みシステムが 実現する機能の要求が増大したことである.現代社会において組込みシステム は鉄道や自動車,通信ネットワークなど社会基盤を支えるインフラストラク チャーの一部として広く普及しており,また個人消費においても家庭用の電化 製品や情報機器としての普及が目覚しい.組込みシステムが社会において広く 活用される中で,それらを利用する顧客は年々,多くの機能や高い性能を求め る.加えて組込みシステムは,社会基盤を支えるインフラストラクチャーの重 要な構成要素であることから交通システムにおいては事故や人命に関わり,通 信ネットワークにおいては経済活動を支えるための信用に深く関わる.

組み込みシステムに求められる要求

 このような環境下において組込みシステムは製品価値を高めるための顧客

要求である高性能化や多機能化を実現するためにその規模が拡大される.一般

消費者のプライバシーや資産の保護,通信システムやオンライン・コマースな

どのセキュアな運用を目的とした情報セキュリティに関連する機能が追加され

る.それらを実現するために組込みシステムには高い性能が要求され,システ

ムの規模も拡大される.加えて社会インフラストラクチャーを構成する側面に

おいては高い信頼性や安全性を実現するために,多重化や冗長設計を採用,こ

れらを制御する機能が追加されることでシステムの規模が拡大される.更に組

込みシステムはエネルギー消費において,社会インフラストラクチャーの側面

からは環境問題と関連して低消費エネルギーであることを要求され,情報端末

(13)

1.1. 背景 第 1. はじめに

!"#!$$

%&#"$$

%&#%$$

%"#'$$

%'#%$$

%(#&$$

%!#"$$

%(#"$$

)&#&$$

'&#&$$

!&#&$$

%&#&$$

)&#&$$

"&#&$$

'&&'$ '&&!$ '&&%$ '&&)$ '&&"$ '&&*$ '&&+$ '&&($ '&,&$

!"#$%&'()*+,+-./012 $ #$%345678

9

:;<=9

図 1.1 製品開発費に占める組込みソフトウェア開発費の割合(出展 : ソ フトウェア産業の実態把握に関する調査 , 独立行政法人情報処理推進機構 , 2012 年 4 月 [1]

に代表される個人使用の機器の側面からは十分なバッテリー駆動時間を実現す るために低消費エネルギーであることを強く要求される.これによって組込シ ステムは高性能でありながら低消費エネルギーでなくてはならない相反する要 求を達成するための機能が必要となる.すなわち,多機能化の背景を受けて組 込みシステムは近年,急速に大規模化・複雑化している.

組込みシステムの大規模化

組込みシステム,もしくは Embedded System とは特定の機能を実現するこ

とを目的としてコンピュータ・システムを組み込んでいる機器を示す.組込み

システムはソフトウェアとハードウェアによって構成され,ハードウェアは更

に電子回路と機械部品で構成される.組込みシステムに搭載されるソフトウェ

アを組込みソフトウェアと呼び,組込みシステムの多様な領域への広範囲な活

用や,高機能化・多機能化を実現する原動力の1つとなっている.その結果と

(14)

1.1. 背景 第 1. はじめに

!"""#

!""""#

!"""#

$"""#

!""#

%"""#

&'"#

&%""#

'""#

!"""#

%"#

%""#

%"""#

!(((# '""'# '""%# '"")#

! " # $ % & ' ( ) !" #$ % * +

,+

-./+

0123+

4567+

*+,#

-.-891:+

図 1.2 組込みソフトウェア規模の変化(出展 : 組込みソフトウェア産業の 課題と政策展開 , ET2008, 経済産業省 , 2008 年 [2] に追加

して,組込みソフトウェアの開発費が組込みシステムの開発費に占める割合は 増加傾向にあり,2010 年には 50.0 %に到達している(図 1.1 本論文における組 込み産業の実態調査の詳細については,付録 2 - 踏込みソフトウェアの課題につ いての分析を参照). すなわち組込みシステムの開発において,その対象の半分 は組込みソフトウェアであることから,組込みソフトウェアの規模の変化を組 込みシステムの規模の変化の指標として用いる.

組込みソフトウェアの規模はいずれの組込みシステムにおいても,2000 年前後を起点として数年の間に3倍から10倍に拡大していることから,大規 模化が確実に進行していることを確認できる(図 1.2). またそれらのソフトウェ ア規模は自動車において 10,000K-LOC(Lines Of Code), MFP - Multi Function Peripheral/Printer(ディジタル複合機)において 6,500K-LOC,携帯電話におい

ては 5,000K-LOC であり,ソフトウェア規模の絶対値は業務系の IT システム

と比較しても大規模であると考える.組込み開発に限定せず,ソフトウェア開

(15)

1.1. 背景 第 1. はじめに 発において一人のソフトウェア・エンジニアが取り扱うことが可能なプログラ ムの規模は 10K-LOC から 100K-LOC 程度 (表 1.1) であると一般的には考えら れていることから,近年の組込みソフトウェアは一人のソフトウェア・エンジ ニアが全体像を把握する対象としては, 既にその限界を超えるまでに大規模化が 進んでいると判断することが妥当と考える.

表 1.1 ソフトウェア・エンジニアが把握できるプログラムの規模(出展 : 加 藤和彦, Sun&Users 学舎探訪記 - 筑波大学編 ,2006 年 7 月 [3]

種別 規模 Unit

ソフトウェア・エンジニアが把握でき るプログラムの規模

10〜100 K-LOC

構成するコンポーネント数の上限 20〜200 個 構造化設計において妥当とされるコン

ポーネント規模の上限

500 LOC

組込みシステムの大規模化の要因

自動車の事例における組込みソフトウェア,すなわち車載ソフトウェアの大 規模化の主な要因はガソリン直噴技術の採用,排気ガス規制強化への対応,自 己診断システム(OBD-On-board diagnostics) 等の車載電子システムの採用の 拡大と高機能化,機能統合化である [4],[5].

MFP の事例における組込みソフトウェアの大規模化の要因はネットワーク技術 の発達に追従,さらには活用することを主要因とする多機能化である [6].

MFP は電子写真プロセスを使用するレーザープリンタに加えて Fax 機能の共 有化が進みマルチファンクション機器として近年,大きく変化してきた. ネッ トワーク経由でスキャンしたデータを圧縮してクライアント端末に送信する

Scan to FTP 機能, インターネット・プロトコルを用いた Fax の送受信を可能

にする Internet Fax 機能, ネットワーク経由で利用者を認証することにより印

刷する MFP を自由に選択可能なロケーションフリー印刷機能などをスキャン,

Fax,コピーの各機能を連携して動作させることで実現している.複数の機能連

携によって多機能化を実現していることから,その実現を容易にするためには

(16)

1.1. 背景 第 1. はじめに

!"#$

%&"$

&'""$

#&"$

&&""$

#(""$

!#$

&'$

)%$

"$

($

!"$

!($

&"$

&($

)"$

)($

'"$

'($

("$

"$

&"""$

'"""$

#"""$

*"""$

+,-./+0'"!$ +,-./+0''"$ +,-./+0'#'$

!111$ &""'$ &""*$

!"#!"#$%$%&'(

#%&&'($%!))*+,-./012*+,-.#/(

!"#!"#$%#%&0 )03456(

234+5$

56$578.9:;<=0>$

4+$0,/.$?,@AB$

789:(

789:(

7;9:(

7;9<(

図 1.3 MFP のシステム規模と CPU 性能の推移

自動車の事例と同様,機能統合化が推進されてきた.機能統合化とは1つのプ ラットフォームの上に複数の機能を集積することを意味している.この場合の プラットフォームとは,単一のハードウェアシステムと,その上に構築された単 一のオペレーティング・システムを意味することが多い.MFP の事例において は,これまで個別のプラットフォームによって構成されていた印刷エンジン制 御, オプション制御, 操作パ ネル, 画像処理, プリンタ・コントロール, ス キャナ 制御,Fax, ネットワーク・インターフェイス等が単一のプラットフォームへと 統合されてきた.この機能統合化により加速された多機能化の結果として MFP のソフトウェアは大規模化した.

組込みシステムの複雑さの度合いは,組込みシステムを構成するソフトウェ ア並びにハードウェアによって実現される機能の数と,それら個別の機能を実 現するために増加したソフトウェア並びにハードウェアの規模を用いて判断す る.機能の数が増えることは複数の機能を複合的に用いることから機能単位で 相互の連携が必要とされるシステムとしての複雑さが増すことであると考える.

ソフトウェアもしくはハードウェアによって提供される機能は個別の機能もし

くは複数の機能を複合的に用いることで実現される.個別の機能を実現するた

めにソフトウェア並びにハードウェア,もしくはその双方の規模が増加するこ

とは複雑さが増したことであると考える.同様に個別,または複数の機能を実

(17)

1.1. 背景 第 1. はじめに 現するためにソフトウェア並びにハードウェア,もしくはその双方の規模が増 加することも複雑さが増したことであると考える.

組込みシステムの大規模化の具体事例

そこで代表的な組込みシステムの1つである MFP の具体的な事例から, 組込 みシステムの複雑化の推移を読み取る(図 1.3).

MFP のハードウェア・プラットフォームの中核を成す SoC-System On a Chip(システム LSI)に搭載される CPU(Central Processing Unit) の性能指 標である DMIPS(Dhrystone million instructions per second) 値は年々,高く なっている.CPU 性能は動作周波数の高速化に加えて回路規模の増加によっ て実現されていることから複雑さが増している.加えてハードウェアの複雑 化において更に重要な指標として着目する対象は SoC に搭載される IP コア

(Intellectual Property Core) の増加である.IP コアは特定の機能を実現するた めに,その機能単位でまとめられた回路ブロックを意味するものであり,SoC の重要な構成要素である.SoC に内蔵される CPU と IP コア,もしくは IP コ ア同士の相互作用によって SoC は機能を実現することから IP コアの増加は相 互作用の増加を意味することであり,それはすなわち SoC の複雑さが増加した と考えられる.

2008 年に開発した SoC を構成する IP コアの数は 1999 年と比較して 2.3 倍に増 加している.IP コアはそれぞれが1つの機能を実現していることから,IP コア の増加によって SoC が提供する機能が増加したことを意味する.また IP コア の増加は SoC の回路規模の増加も意味する.次にソフトウェアに着目すると,

2008 年に開発したソフトウェア規模は 1999 年と比較して約 10 倍に増加してい

る. このことからソフトウェアによって提供される個別の機能数は増加してい

ると考えることができる.さらに SoC に搭載される IP の増加率とソフトウェ

ア規模の増加率を比較すると,ソフトウェア規模の増加率が高いことに注目す

る.1999 年と 2004 年の比較において IP コアの増加率が 1.5 倍,これに対して

ソフトウェア規模の増加率は 3.5 倍である.同様に 2004 年と 2008 年の比較に

おいて IP コアの増加率が 1.5 倍であるのに対して,ソフトウェア規模の増加率

は 3.0 倍である.IP コアはそれぞれが1つの機能を実現していることから,そ

の機能を利用するソフトウェアが単一の機能を提供するのであれば,IP コアの

(18)

1.1. 背景 第 1. はじめに

!"

#!"

$!"

%!"

&!"

'!"

(!"

)!"

*!"

+!"

$!!'" $!!(" $!!)" $!!*" $!!+" $!#!" $!##"

!"#$%&'()

*)

+,) -./0) -.12)

図 1.4 組込みソフトウェア開発における目標達成率(出展 : ソフトウェア 産業の実態把握に関する調査 , 独立行政法人情報処理推進機構 , 2012 年 4 月 [1],[7], 2010 年度は該当データ無し)

増加率とソフトウェア規模の増加率は近い値を取ってしかるべきと考える.し かしながらソフトウェア規模の増加率が IP コアの増加率を大きく上回っている ことから,IP コアによって提供される個別の機能を,ソフトウェアによって複 合的に活用していることによってソフトウェア規模が増大していると考える.

この MFP の事例においてソフトウェア並びにハードウェア双方の機能数の増 加,規模の増加が確認できることから,システムとしての複雑さが増している,

すなわち組込みシステムとして複雑化していると考える.

組込みシステム開発における優先度

急速に大規模化・複雑化している組込みシステムにおいて,品質を何よりも

優先してきたことが, 組込みソフトウェア開発のプロジェクトにおける目標達成

率の推移から見て取れる(図 1.4). また品質を継続して優先してきたことによっ

て,品質の向上における効果が得られていることが,2005 年から 2009 年にか

けて品質目標の達成率が穏やかに上昇しているこで裏付けられる.それに対し

(19)

1.1. 背景 第 1. はじめに

!"

#"

$"

%"

&"

'!"

'#"

#!!(" #!!&" #!!)" #!'!" #!''" #!'#"

! ! "

#

$

% &

' ( "

"

) *

!"

#$%&'()"

*+,-.'/01"

*+23'451"

678'()1"

9:%'*+1"

*+;<'()1"

9=>'*+"

?@'AB"

:C%&'()"

:%DE"

図 1.5 組込みソフトウェア開発における課題の推移 (出展 : ソフトウェ ア産業の実態把握に関する調査 , 独立行政法人情報処理推進機構 , 2012 年 4 月 [1],[7] )

て開発コストを意味する開発費用,並びに開発納期を意味する開発期間はそれ ぞれ 50% 以下の目標達成率に低迷している.製品開発のプロジェクトにおいて は納期の優先度を最も高くして,品質とコストを調整することが一般的なプロ ジェクト・マネジメントのアプローチであり判断基準である.この観点から判 断すると開発納期が目標を達成できないことはすなわちプロジェクトの失敗で あり,日本の組込み産業のプロジェクトの失敗率が 50% を超えていることを意 味する.この原因の1つとして同じ期間に組込みシステムが大規模化・複雑化 していることの関連を考慮する必要があると考える.開発対象の組込みシステ ムが大規模化・複雑化することによって,これまで規模の小さな組込みシステ ムを対象としていた開発スタイルの適用が必ずしも有効とは限らない中で,開 発コストと開発納期の優先度を下げて品質を確保した結果であると推測できる

(図 1.5).

(20)

1.1. 背景 第 1. はじめに

組込みシステム開発における品質の低下

組込みシステムの開発においてプロジェクトの課題の優先度において継続的 に最も優先されたのは品質であることが明らかである.開発コストの優先度は 2010 年まで品質や納期以外の要素よりも低い優先度であり,開発納期の優先度 は 2010 年,2011 年と同様に低い優先度であった.品質,開発コスト,開発納 期が優先度の上位を占めるのは 2012 年である.これは品質を最優先にして開発 コストと開発納期は時々のプロジェクトを取り巻く経済状況等に応じて調整さ れてきたと考えられる.しかしながら,品質を最も優先しているにも関わらず,

2011 年には品質の目標達成率に低下傾向が見られる(図 1.4).  開発コストと 開発納期の優先度が高くなった結果(図 1.5) としてそれらの目標達成率が上昇 していることは妥当であると考えられる.けれども開発コストと開発納期の優 先度が高くなった事だけが品質の低下の原因であると考えることは難しい.な ぜならプロジェクトの優先度において開発コストと開発納期が変化してもこれ までは品質への影響が見られないからである(図 1.4).そこで製品の出荷後に 発生した不具合の数を用いて組込みソフトウェアの品質を判断すると調査開始 の 2005 年以降,明確に品質が低下していることが確認できる(図 1.6).  

製品の出荷後に不具合が発生しない,もしくは不具合の発生が2件未満のプ

ロジェクト数が明らかに減少傾向にある.これに反して不具合の発生件数が2

件以上のプロジェクト数は増加傾向にある.2011 年まで品質目標の達成率に低

下が見られなかった(図 1.4). この原因は,それまで不具合発生率がプロジェク

トの品質目標を下回るまで増加していなかったが,その閾値を超えて不具合が

発生したことによると推測する.組込みソフトウェアの開発が組込みシステム

開発の半分を占めていることから,組込みソフトウェアの品質低下は組込みシ

ステムの品質低下と同義であると考える.すなわち,日本の組込み産業におい

ては年々,明確に製品開発の品質が低下していることを見て取れる.品質の変

化に相まって継続的に変化しているのは,組込みソフトウェアが組込みシステ

ムに占める割合いの増加に加えて,組込みシステムの大規模化・複雑化が進行

していることである.これらのことから組込みシステムの開発における納期と

コストは品質と大規模化・複雑化の影響を受けて調整されていると考えられ以

下の式で表現できると考えられると仮定して論を進める.

(21)

1.1. 背景 第 1. はじめに

!"

#!"

$!"

%!"

&!"

'!"

(!"

$!!'" $!!(" $!!)" $!!*" $!!+" $!#!"

!"#$%&'()*

+*

,-./012!3*

,-./0124356*

,-./0124783*

,-./012879:3*

,-./0129:3;<*

図 1.6 組込みソフトウェアにおける不具合の発生 (出展 : ソフトウェア 産業の実態把握に関する調査 , 独立行政法人情報処理推進機構 , 2012 年 4 月 [1] )

  Cost * Delivery = f (Quality,Scale)           (1)

Quality:品質 Cost:コスト

Scale:大規模化・複雑化 Delivery:納期

f :組込みシステムの開発手法によって決められる関数

組込みシステムの開発において,開発コストと開発納期はいずれも厳しい制 約の元にある.新製品の市場投入のサイクルは消費者の要求を満たすべく年々,

短くなっていることから開発納期も同様に短縮される傾向にある.開発コスト

においても投資対効果の効率化が求められており拡大される傾向には無く,む

しろ減少される傾向がある.組込みシステムの開発は開発コストと開発納期が

現状維持,もしくは削減される中で品質を高めて更に大規模化・複雑化に適用

しなくてはならない状況にある.

(22)

1.1. 背景 第 1. はじめに

!"#$%&

'()*+

!"# + ,-#$%&

'()*+

!"# + ./0+

"$# +

図 1.7 組込みソフトウエア開発プロジェクトにおける開発手法(出展 : ソ フトウェア産業の実態把握に関する調査 , pp49, 独立行政法人情報処理推 進機構 , 2012 年 4 月 [7] )

 つまり現在の組込みシステムの開発における重要な課題は,大規模化する組 込みシステムを,開発コストと開発納期をこれまでと変えずに開発しなくては ならないことである.

組込みシステム開発における課題

 日本の組込み産業においては製品開発の品質低下の傾向が見られることか ら,従来の組込みシステムの開発手法を継続して適用することによる開発品質 の向上が限定的であることは明らかである.このことから,従来の組込みシス テムの開発手法におけいて,開発品質に関連する問題点を解決することは,日本 の組込み産業が解決しなくてはならない大きな問題の1つである.従来の組込 みシステム開発手法としては,既存のシステムに機能の追加や更新を適用して,

次期のシステムを開発する手法が用いられる.このような開発手法は派生開発,

改修開発,保守開発または差分開発と呼ばれ,組込みソフトウェア開発では新 規開発プロジェクト以外の多くの割合を差分開発が占めており(図 1.7),[8],[9],

広く普及していると判断することができる.

(23)

1.1. 背景 第 1. はじめに

差分開発 - 組込みシステム開発に適用される開発手法

差分開発を適用する主な利点は技術成果物の再利用である.次期のシステム に対する要求分析に基づいて,既存のシステムにおいて何らかの変更を必要と しない構成要素は,そのまま用いることができる.一回の差分開発の前後では,

システムに求められる要件や制約の多くが共通する特徴がある.この点に着目 すると,既存のシステムを解析することによって,次期のシステムに必要な要件 や制約の多くを得ることができる利点があることから [10],組込みシステムの 開発において一般的に広く用いられている.既存のシステムに対する解析の主 な対象は組み込みソフトウェアではソースコードである場合が多い.組込みシ ステムへの差分開発の適用においては,差分開発の利点を活用して,開発プロ セスの上流工程から下流工程へ,段階的な詳細化を実施せずに製品を開発する 場合がある.これまでの経験において,差分開発における再利用の対象もまた,

下流工程の主な技術成果物であるソースコードに限定される場合が多い.要求 分析の終了直後,もしくは要求分析の途中段階から実装を開始することから要 件定義,システム・アーキテクチャ設計,ソフトウェア・アーキテクチャ設計に 関連する技術検討が実施されず,結果として技術検討の成果物であり中間成果 物でもある仕様書などの技術資料が更新されないことも多く見受けられる.

トップダウン開発とボトムアップ開発

上流工程から下流工程へ段階的な詳細化を実施するスクラッチからの新規開 発,もしくは差分開発を一般的にトップダウン開発と呼ぶ [11].  これに対して 上流工程から下流工程へ段階的な詳細化を実施すること無く,既存のシステム を解析することを必然として次期のシステムに必要な要件や制約の多くを得る ことによる差分開発をボトムアップ開発と呼ぶ [11].ボトムアップ開発は,製 品開発の数世代に渡って繰り返し適用すことによって幾つかの弊害を生み出す.

段階的な詳細化を実施しないことから要件定義,システム・アーキテクチャ設 計,ソフトウェア・アーキテクチャ設計に関連する仕様書などの技術資料が数 世代に渡って更新されなくなる.開発や設計における技術検討の結果や,技術 適用の目的,意図,理由が共有されずに時間の経過と共に散逸する.その結果,

特定の個人が担当した業務範囲の経験によって得られた限定的かつ属人化した

(24)

1.1. 背景 第 1. はじめに 情報と,ソースコードが既存のシステムを構成する技術成果物の大勢を占める.

従って,ボトムアップ開発において既存のシステムを解析するために以下の様 な手順が必然的に用いられている.

(i) 新しい要求を適用する対象領域の開発や設計を過去に担当した技術者個 人を特定してインタビューを実施

(ii) インタビューの結果から関連すると思われる複数の技術者を集めて会議 体を開催することで新しい要求の影響範囲を絞り込む

(iii) 絞り込んだ影響範囲のソースコードを読み込んで対象領域を調査

(iv) (ii) と (iii) を複数回に渡って繰り返すことで修正点を段階的に特定

ボトムアップ開発の弊害

この手順の適用は関係者が一同に会する必要性があることから,開発や設計 に携わる組織が大きければ大きいほど非効率となり開発期間に大きな影響を及 ぼす.更に関連する組織が物理的に離れている場合には,実施が困難であるこ とからコ・ロケーション方式,すなわち関連する技術者が物理的に同一の職場 を共有する業務形態を採用する必要がある.コ・ロケーション方式は一般的に 大部屋 方式と呼ばれるが,開発や設計はもとより研究開発もグローバル化が 進行している現在ではその実現のために多くの労力と時間が必要となる方式で あり,決して効率的な方式とは言えなくなっている.

 ボトムアップ開発において解析の対象となる既存の組込みシステムは近年

の傾向として急激に大規模化・複雑化している.その結果,必ずしもこれまで

のようなボトムアップ開発の適用が有効とは限らない場合が発生する.大規模

化・複雑化によって解析の対象が広範囲に及ぶことは自明であり,解析に要す

る工数が,トップダウン開発の適用による段階的な詳細化と仕様書に代表され

る中間成果物の作成に必要な工数と同等もしくはそれ以上に達した場合,ボト

ムアップ開発による開発コスト削減のメリットは無く,これは開発期間におい

ても同様と考えることができる.また品質の側面からは,開発や設計の意図や

理由が散逸しており,既存のシステムの解析によって確実に把握される保証が

無いままに次期システムの要求に基づく変更が適用されることは決して望まし

い状況では無く, 市場において不具合が発生するリスクを負うことになる.

(25)

1.1. 背景 第 1. はじめに

更 に 安 全 性 の 側 面 か ら は ,組 込 み ソ フ ト ウ ェ ア の 国 際 安 全 規 格 で あ る

IEC60730[12], 自動車における機能安全の国際規格である ISO26262[13] への準

拠は中間成果物である仕様書はもとより,安全性の観点における設計意図や根

拠の論証が求められることから,ボトムアップ開発からトップダウン開発への

移行が必要となっている.

(26)

1.2. 研究の目的 第 1. はじめに

1.2 研究の目的

本研究の目的は,組込みシステムの開発において設計の品質を高めることで ある.開発対象である組込みシステムの規模が年々,大規模化・複雑化する一 方で,開発コストと開発納期をこれまでと変えることができない強い制約の中 で開発の品質を高め,維持することは日本の組込み産業全体に広く影響する課 題である.開発コストと開発納期が固定,すなわち従来の組込みシステムの開 発と同様に時間の制約,工数の制約,コストの制約が存在する中で,それらを可 能な限り増大させること無く,開発の品質を従来と比較して,より高めること が本研究の目的である.

本研究の対象

本研究で対象とする組込みシステムとは,ソフトウェアとハードウェアに よって構成され,ハードウェアは更に電子回路と機械部品で構成されるシステ ムを意味する.それら組込みシステムの中でも,多機能化を実現するためにカ スタム LSI や SoC をハードウェアの主要な構成要素として採用,更にそれら比 較的豊富なハードウェア資源を効率良く制御するために OS 層,ミドルウェア 層,アプロケーション層によって構成されるソフトウェアを有する大規模化・

複雑化の傾向が強いシステム,加えて開発規模の大きな組込みシステムが本研 究の対象である.更に長年に渡って差分開発,特にボトムアップ開発を適用し て開発されてきた組込みシステムをその対象とする.組込みシステムを開発す るために適用する手法である差分開発において,ボトムアップ開発が効果的で はなくなりつつある現在の状況は,組込みシステムの安全性の国際規格への適 用を背景としてトップダウン開発への移行が急務となっている.加えて,ボト ムアップ開発の適用は主に自動車産業に事例が見受けられ,その産業構造の特 性から日本の組込み産業の幅広い範囲に影響が及ぶことから,トップダウン開 発への移行は大きな課題である.

 本研究で対象とする具体的な組込みシステムは MFP と自動車の制御系シス

テムである.本研究におけるシステムとは,固有のアーキテクチャ設計に基い

て,固有の機能単位,もしくは固有の処理単位の粒度に基づく構成要素の集合と

(27)

1.2. 研究の目的 第 1. はじめに して構成される.これらの構成要素は,高い抽象度による機能もしくは処理単 位として表現する.処理単位とはシステムにおいて固有の機能を実現するため の,まとまりのある一連の処理を意味する.よって一般的に用いられるソフト ウェア,ハードウェア,機構部品の分類を構成要素の単位として一意に用いる ものではない.すなわち,固有の機能を実現するためにソフトウェア,ハード ウェア,機構部品のいずれもが必要な場合,これら全てをまとめた1つの構成 要素とみなすことで高い抽象度の表現とする.対象的に,ハードウェアだけで 固有の機能を実現することが可能な場合,そのハードウェアを1つの構成要素 とみなす.このような高い抽象度を用いてシステムを取り扱うことは,本論文 における開発品質に深く関連する.本論文において開発品質とは,組込みシス テムのアーキテクチャ設計がシステムに求められる性能,リソース使用量,消 費エネルギー等の各種要件の充足可能性を満たしていることの検証を示す.そ の検証は要件定義やアーキテクチャ設計の段階,すなわち開発の上流工程にお いて実施されることが重要である.開発品質,すなわち各種要件の充足可能性 の検証は,開発プロセスの下流工程である実装や検証の段階まで確定できない ことが多くある.その結果として開発の手戻りが発生することが,組込みシス テム開発における大きな課題の1つとなっている [1].組込みシステムの開発品 質には,上流工程であるシステム・アーキテクチャ設計が,下流工程の詳細設計 よりも大きく関与する.したがって開発品質の改善や向上を目的とする開発の 手戻りは上流工程まで遡る場合が多く,開発スケジュールの遅延や開発費の大 幅な増大を招く.そのため,組込みシステムの開発品質を開発の上流工程にお いて高めること,すなわちフロントローディングは手戻りのリスクを大幅に軽 減する.組込みシステムの開発において,上流工程ではソフトウェア,ハード ウェア,機構部品への機能割り当てや,それに伴う詳細化が未実施の段階であ る.上流工程において開発品質を向上すること,すなわち各種要件の充足可能 性を満たしていることを検証するためには,上流工程の抽象度に見合った高い 抽象度による組込みシステムの表現が必要である.つまり詳細設計において用 いられるソースコードは抽象度が低く,機能やデータの粒度も詳細であるため,

上流工程で考慮される抽象度の解析には適さない.

(28)

1.2. 研究の目的 第 1. はじめに

モデリング技術の活用

そこで本研究においては,高い抽象度によって組込みシステムを表現する手 段としてモデルを用いる.高い抽象度によって組込みシステムを表現するモデ ルをシステムモデルと呼び,そのモデルを作成する手段をシステムモデリング と呼ぶ.本研究において組込みシステムを表現する手段として用いるモデリ ング言語には,UML(Unified Modeling Language:統一モデリング言語) に加 えて,UML のサブセットに UML のプロファイル機構を使って拡張を適用した SysML(Systems Modeling Language)[14] を用いる.UML と SysML はいずれ も OMG(Object Management Group)[15] の提唱するモデル記述言語である.

本研究においてモデルは高い抽象度によるシステム構成,機能もしくは処理単 位を表現する.そのためシステムモデリングにおいては,各種要件の充足可能 性を満たしていることの検証に適していることを前提とする.この文脈におい ては,システムを構成する各構成要素について全体の機能や処理単位において 各種要件に対する影響や寄与の低いものを省略し,充足可能性の検証において 支配的となる要素に限定して記述する.具体的には,対象システムのリソース と,各ソフトウェア要素の振舞いについて,各種要件の観点で取捨選択してモ デリングする.ここでリソースとはプロセッサ,バス,メモリーなどのハード ウェア資源に加えて,システム全体ならびに処理単位における所要時間や消費 エネルギー量などを意味する.

モデリング技術の活用における利点

組込みシステムの開発において高い抽象度によるモデル表現であるシステム モデルを適用することは,従来から一般的に提唱されているモデル駆動開発の 利点に加えて,以下の3点において開発品質の向上の観点で有効であると考え る.

 1点目は,組込みシステム全体を表現するための手段の適用において,その

規模を小さく抑制することが可能なことである.既に一人のエンジニアが全体

像を把握する対象としては理解の限界を超えるまでに組込みシステムは大規模

化が進行している.システム全体の表現の規模をある程度の規模に抑制するこ

とはシステム・アーキテクチャを主な対象として,システム全体の把握や理解

(29)

1.2. 研究の目的 第 1. はじめに を容易にすることから開発品質の向上に寄与すると考える.加えてシステム全 体の把握や理解に必要となる時間の削減的,それらに要する工数の削減におい ても有効と考える.

 2点目は,システムモデルが開発品質の検証を実施する工程に求められる組 込みシステムの抽象度に見合っていることである.開発品質の検証を実施する 工程は開発プロセスの上流工程,すなわち要件定義やアーキテクチャ設計の工 程であることから,組込みシステムを構成するソフトウェア,ハードウェア,

機構部品への機能割り当てや,それに伴う詳細化が未実施の段階である.シス テムモデルが表現の対象とするのは機能の単位,もしくは固有の処理単位の粒 度に基づく構成要素の集合であることは要件定義やアーキテクチャ設計の工程 において技術検討の対象となるアーキテクチャ設計の抽象度に適する.これに よって詳細設計を必要としないことから開発の手戻りのリスクを低減できるこ とで開発品質の向上に寄与すると考える.

 3点目は,既存システムの開発成果物からの背景や意図の導出である.長年 に渡ってボトムアップ開発を組込みシステムの開発に適用することで開発や設 計の背景となる意図や理由が散逸しており,既存のシステム解析の結果をシス テムモデルまで抽象度を高めることによって,開発や設計の背景となる意図や 理由を再構築することで要件やアーキテクチャ設計の工程での参照や活用,ボ トムアップ開発からトップダウン開発への移行のハードルを低くすることが可 能であると考える.ただし,既存のシステム解析の結果から全ての意図や理由 を再構築することは技術的に不可能であると考えられることから,開発品質の 向上に必要となる充足可能性の検証において支配的となる要素に限定して,シ ステムモデリングを適用することが重要となる.差分開発では,一回の差分開 発の前後でシステムに求められる要件や制約の多くが共通する特徴があること から,既存システムの開発成果物からの背景や意図の導出において,既存のシ ステムを解析するリバースエンジニアリング技術の利用価値と重要性は高い.

従来のリバースエンジニアリング技術は主にソースコードをその対象とするた

め,下流工程においてリファクタリング等を目的とした解析の手法として活用

されている.そのため,システムモデリングを適用することで,上流工程で求

められる高い抽象度の表現を可能にすることが重要となる.

(30)

1.2. 研究の目的 第 1. はじめに

SRMS- 本研究において提案する手法

そこで本研究では,リバースモデリング手法とモデル・シミュレーションを 組み合わせることで,組込みシステムの品質を評価する手法である SRMS (Systems development method utilizing Reverse modeling and Model-based

Simulation) を提案する.本研究において対象とする開発品質とは,組込み

システム開発の上流工程における機能,性能,リソース使用量,消費エネル ギーの充足可能性である.リバースモデリング手法とは静的解析,設計文書解 析,動的振舞解析 [16],[17],[18] の 3 種類のリバースエンジニアリング技術を用 いて既存のシステムを解析することでシステムモデルを作成する手法である.

静的解析は解析対象となるシステムの構造の側面を明確にすることが主な目 的である.動的振舞とは,特定のシナリオで実際にシステムを動作させたとき のソフトウェアの挙動であり,ハードウェア要素との相互作用も含めた処理フ ローと定義する.動的振舞解析は解析対象となるシステムの時間制約,ハード ウェアによる制約,周期処理などを明確にすることが主な目的である.組込み システムの動作や性能は組込みシステムに搭載するソフトウェアの振舞いか ら強い影響を受ける.ハードウェア資源であるアクセラレータや,アプリケー ション固有の処理に特化した IP コアは,その動作のタイミングや手順がソフ トウェアによって制御されることで有効に機能し,所定の性能を発揮すること ができる.そのため組込みシステムの開発品質を検証するためにはソフトウェ アの振舞いを反映する必要があることが動的振舞を用いる理由である.設計文 書解析は解析対象となるシステムの技術文書がその対象であり,静的解析と動 的振舞解析に必要な基礎的な情報を得ることが目的である.本研究において はこれらの技術を活用した製品開発のメソドロジーとして SRMS を提案する.

SRMS はボトムアップ開発からトップダウン開発への移行を目的としている.

SRMS においては,開発工程の上流である要件定義の成果物に加えてアクティ ビティを,既存のシステムのモデルを組み合わせる手法を提案する.要件定義 のアクティビティの表現には GSN(Goal Structuring Notation)[19] の1種であ る D-Case(Dependability-Case)[20] を用い,要件定義の成果物には SysML の要 求図を用いる.

 提案する SRMS はリバースモデリング手法とモデル・シミュレーションを組

み合わせる技術と,それらの技術を活用して開発をおこなうメソドロジーを用

(31)

1.2. 研究の目的 第 1. はじめに

いることで,組込みシステムの開発品質を上流工程において評価することを可

能とする.これにより,大規模化・複雑化する組込みシステムの開発品質を高

めることに加えて,差分開発の問題解決に寄与することで高い信頼性の組込み

システムの普及に近づくと考える.

(32)

1.3. 本論文の構成 第 1. はじめに

1.3 本論文の構成

本論文の構成は次の通りである.第 2 章では,リバースモデリング,モデル ベースのシミュレーション手法についての関連研究,差分開発の調査結果と課 題の提起について述べる.

第 3 章では,リバースモデリング手法とモデル・シミュレーションを組み合わ せることで,組込みシステムの品質を評価する手法である SRMS の基本方式,

従来の手法と本研究で提案する手法との比較から本研究の新規性,適用の範囲

や制限を述べることで本研究で取組む対象を明確にする.第4章では,実際の

組込みシステムに本研究で提案する SRMS の基本方式を適用した具体内容を述

べ,第5章では適用事例の検証をモデル・シミュレーションを用いて行い,第6

章では基本方式の有効性を他の手法との比較で妥当性評価することで,提案す

る SRMS の実用性と制約を検証する.最後に,第7章で本論文をまとめ,今後

の展開と課題を述べる.なお,本論文において用いる用語は付録 1 - 用語の定義

において定義する.

(33)

22

第 2 章 関連研究と課題の提起

本章では,リバースモデリング,システム・レベルのシミュレーション検証手 法,差分開発についての関連研究について述べる.

 本研究において対象とする開発工程は要件定義やアーキテクチャ設計などの 上流工程である.差分開発においては,現行のシステム・アーキテクチャを変 更する,あるいは,構成可能な複数のシステム・アーキテクチャ候補を作成し てアーキテクチャ探索を実行して検証することにより開発品質を確認する必要 がある.このため,現行システムのアーキテクチャを把握することがまず必要 となることからリバースモデリングの調査が必要である.低い抽象度でシステ ム・アーキテクチャを表現すると,機能やデータの粒度も詳細であるため,変 更や作成が困難であり上流工程には適さないことから,高い抽象度での表現が 必要となる.組込みシステムの動作や性能は組込みシステムに搭載するソフト ウェアの振舞いから強い影響を受けることからの開発品質を検証するためには ソフトウェアの振舞いを反映する必要がある.これらの観点から関連研究を調 査する.

次に,上流工程における開発品質の確認手段であるシステム・レベルでのシ

ミュレーション検証手法について調査する.この調査の対象はモデルを用いた

シミュレーション検証手法,ハードウェア・ソフトウェア協調設計手法,ソフ

トウェアの動作を反映した消費エネルギーの見積もり手法である.消費エネル

ギーに着目した理由は,近年の組込みシステムの開発において消費エネルギー

は機能や性能と同様の重要な要件となっていること,加えて近年の消費エネル

ギーの削減はシステム・アーキテクチャに大きな影響を及ぼすことがその理由

である.特に SoC(System-on-a-Chip) 開発において省エネルギー技術の適用は

SoC のアーキテクチャ設計と密接な関連があり,SoC のレイアウト設計にも大

きな影響を及ぼす.そこで SoC 開発の上流工程において省エネルギー技術の有

効性を評価することは,開発の手戻りによるスケジュールの遅延や,リスピン

(34)

2.1. 関連研究 第 2. 関連研究と課題の提起 による大幅な開発費の増大のリスクを軽減する.また,組込みシステムに搭載 される SoC の消費エネルギーは組込みシステムのソフトウェアの動的振舞か ら強い影響を受ける.Power Gating や DVFS(Dynamic Voltage and Frequency

Scaling) に代表される省エネルギー技術を SoC の設計に適用して.それらの省

エネルギー技術を有効に機能させるためには,電圧や周波数の変更,電源のオ ン/オフのタイミングを,ソフトウェアの動的な振舞いに基づいて制御する必要 があるためである.そのため消費エネルギーの見積りにソフトウェアの動的振 舞を反映する必要がある.

次に,差分開発におけるプロセス改善手法,ボトムアップ開発からトップダウン 開発への移行手段,特に上流からの要件定義と下流からのボトムアップとなる 既存システムの技術成果物との整合性の確立を対象として関連研究を調査する.

また,本研究において実施した差分開発の調査結果と問題点について述べる.

2.1 関連研究

2.1.1 リバースモデリング

既存のリバースモデリング手法は 2 つに大別される.一つはソースコードを 対象とする静的解析の結果を用いるモデリング手法であり,もう一つは実際に システムを動作させることによる動的解析の結果として得られる実行トレース データ (Execution trace data) を対象とするモデリング手法である.

静的解析によるリバースモデリング手法

 静的解析によるリバースモデリング手法として,ソースコードの構造設計 と実装設計の解析に重点をおいてモデリングを行い,その結果をリファクタリ ングやプロダクトライン開発に応用する手法が提案されている [21].

この手法の適用によって作成されるモデルの抽象度は,解析の対象がソース

コードであることから低い抽象度である.ただし,作成されたモデルを更に抽

象化することが提唱されているが,主に組込みソフトウェアのパッケージ分割

と関数呼び出しの階層化により凝集度を高めて機能分割と機能理解の容易性を

目的としている.これらのことから,品質の検証を目的として,機能もしくは

(35)

2.1. 関連研究 第 2. 関連研究と課題の提起 処理単位を表現するシステムの構成要素に基づく抽象化とは異なる.この手法 においてはシステムの動的な側面であるリアルタイム性についても述べられて いるが,タスクの実行順序の明確化とメモリーや CPU 等のシステムリソース の消費に対する注意喚起に留まっており,動的解析の結果は対象としていない.

また同じく静的解析によるリバースモデリング手法として,C++ ソースコード のフロー解析の結果を用いることで UML により表現される相互作用図を自動 抽出する手法が提案されている [22].この手法により抽出されるモデルの抽象 度は,ソースコードと同等であり抽象度は低い.

動的解析によるリバースモデリング手法

 動的解析によるリバースモデリング手法も提案されている [23].この手法 はメタモデルと一貫性規則を用いて,動的振舞の情報からモデルを作成する.

モデル作成のためには,制御構造を把握する必要があることから,動的振舞の 情報に条件分岐や反復に関する制御情報を含めなくてはならない.またこの手 法は,システム測定による侵襲性により,システムの動的振舞を変化させる影 響があるため,システムの動的振舞とシステム性能を測定するための正確な時 間情報が得られない可能性がある.

文献 [24] は,第 41 回 Design Automation Conference (DAC 2004) 併設の Work- shop on UML for SoC Design における主要な参加者による論文集であり主な論 点は,ハードウェアとソフトウェアの協調設計,コード作成,モデル変換,モデ ル検証などである.システムレベルの設計モデルを下流工程で活用することを 主目的としており,高い抽象度のモデルによる上流工程での品質の検証や評価 についての言及は見られない. また従来のリバースエンジニアリング技術の適用 では,ソフトウェアの動的な振舞いを得ることが困難であることが指摘されて

いる [25].これに対照的な技術として動的振舞の解析結果である実行トレース・

データの取得において,測定による侵襲性が低いシステム測定技術 [26] が提案 されている.この手法ではシステムの動的な振舞いを変化させる影響が少ない ことから,システムの正確な振舞いデータが得られる.このシステム測定技術 によって得られる実行トレース・データは,観測対象となった関数の呼出・復帰 とそのタイムスタンプである実行時間情報,関数を実行するスレッドの識別子,

および指定された関数引数の値から構成される.

(36)

2.1. 関連研究 第 2. 関連研究と課題の提起

2.1.2 システム・レベルのシミュレーション検証手法

性能評価のシミュレーション手法

システムレベルの性能や機能の評価においては,システム・アーキテクチャ をモデルによって表現し,性能評価のシミュレーションに用いるモデルベース のシミュレーション手法が提案されている [27],[28],[29]. これらの手法はモデ ル記述言語に SystemC に代表されるハードウェア記述言語(HDL : Hardware Description Language) を用いる手法である.また独自のモデル記述言語で作成 されたモデルを用いるシミュレーション手法などがある [30],[31].いずれの手 法においても作成されるモデルの抽象度は低い抽象度であり,高い抽象度によ るシステムの機能もしくは処理単位のモデル表現はみられない.SoC 設計にお いて,上流工程でのアプリケーション・ソフトウェアを含むシステムレベル検 証の重要性が提示されているが,設計完了のクライテリアを含む検証計画の作 成による,下流工程での検証の効率化の言及に留まっている [32].同様に SoC 設計において,上流工程でのシステムレベル検証が提案されている.

[33]. この手法では,ハードウェアの領域において,IP コアの動的な振舞を再現

するビヘビア・モデルを用いて抽象度を高めるアプローチが採用されている.

しかしビヘビア・モデルの適用は新規開発の IP コアや,規模の大きな IP コア に限定されており,それ以外の設計要素はバスモデルもしくは HDL による詳細 設計データを用いる.また,ソフトウェアは OS 層からミドルウェア層,アプ リ層で構成されることから,実際の組込みシステムのソフトウェア構成に近い.

しかしながらそれらは,IP コアや SoC の機能や性能検証に特化した C コード によって構成されていることから,ハードウェアとソフトウェアの双方を含む システムを対象とするのではなく,あくまでも SoC 開発に特化したハードウェ アの機能や性能検証に限定される.

ハードウェア・ソフトウェア協調設計(hardware software co-design,以下ハー ド・ソフト協調設計)[34],[35] は,実際に適用されている性能予測手法として一 般的である.co-design とは,ハードウェア部とソフトウェア部の設計を連携さ せながら,かつ同時並行に進める手法である.co-design は,一般的に次のよう な三つの段階を経て進められる.  

エンタープライズ・サーバ (EPS - enterprise server system) における CPU の

図 3.11 リバースモデリング手法とモデル・シミュレーションを活用する開 発メソドロジー
図 4.1 解析対象のシステム構成
図 4.12 GEU 処理におけるセマフォの取得と開放 4.2.4 CPU 使用率の解析 RIP 処理後段における高い CPU 使用率の原因を調査する.前述のように RIP 処理は連続印刷時の性能向上を目的にパイプライン化される
図 4.23 CCS のユースケース図 UHT&gt;ࣃࢵࢣ࣮ࢪ@$QDO\VLV3NJ&gt;5(4B&amp;&amp;6 LQFRPSOHWLRQ@ &amp;&amp;6 5HTXLUHPHQW!! 7KHYHKLFOHVKDOOKDYHFUXLVHFRQWUROWKDW VXSSRUWVGULYHU GHULYH!! &amp;&amp;6VWDUWXS5HTXLUHPHQW!! ,' )&lt;B&amp;&amp;6B :KLOH&amp;&amp;6WXUQV RIILIGULYHU SXV
+4

参照

関連したドキュメント

Proceedings of a symposium held at Chikushi Campus, Kyushu Universiy, Kasuga, Fukuoka, Japan, November 19 - 21, 2009.

Proceedings of a symposium held at Chikushi Campus, Kyushu Universiy, Kasuga, Fukuoka, Japan, October 27 - 29, 2011.

Proceedings of a symposium held at Chikushi Campus, Kyushu Universiy, Kasuga, Fukuoka, Japan, November 1 - 3, 2012.

Proceedings of a symposium held at Chikushi Campus, Kyushu Universiy, Kasuga, Fukuoka, Japan, November 1 - 3, 2012.

― Kazuki Ashihara, Tomoyuki Kajiwara, Yuki Arase, and Satoru Uchida, Contextualized context- 2vec, Proceedings of the 5th Workshop on Noisy User-generated Text (W-NUT

[41] Takahashi, M., Iwasaki, T., Katoh, Y., Uchida, K., Experimental Research on Mixed Gas Hydrate Pellet Production and Dissociation, Proceedings of 5th International Conference

GIF Generation IV International Forum HTGR High Temperature Gas-cooled Reactor HTTR High Temperature Engineering Test Reactor IHX Intermediate Heat Exchanger. JAEA

22 Whoijong Yoo「Influences of a Sound Design of Media Contents on Communication Effects -TV-CF Sound Using a BQ-TEST」Journal of broadcast engineering,Vol.13, No.5 pp.602-611,