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

組み込みソフトウェア開発技術:6.組み込みソフト開発支援ツール

N/A
N/A
Protected

Academic year: 2021

シェア "組み込みソフトウェア開発技術:6.組み込みソフト開発支援ツール"

Copied!
5
0
0

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

全文

(1)特集 組み込みソフトウェア開発技術. 6. 組み込みソフトウェア 開発支援ツールの動向. 二上 貴夫 (株)東陽テクニカ・ソフトウェアソリューション futagami@sonata.plala.or.jp. 組み込みソフトウェア開発では,電磁気や力学などの自然法則,実時間の応答性と処理能力,利便性に勝る高信頼性,省メモリか ら熱対策や機構制限までを含めた設計拘束といった問題を扱う必要がある.このために通常の業務系ソフトウェアなどとは異なる 開発環境が必要な場合が多い.本稿では,組み込みソフトウェアの中でも組み込み CPU のプログラム開発を中心に社会的な状況 を背景に利用が活発化しつつある開発支援ツールや今後利用が進むであろうツールについて解説する.. 組み込みソフトウェア開発を支えるこれか らのツール. 組み込みプログラム・シミュレータ  組み込みプログラムを開発する定石ツールは,ICE(In.  本稿では組み込みソフトウェア開発にかかわるツー. Circuit Emulator)と C コンパイラ+アセンブラであっ. ルについてその動向を考える.従来,組み込みソフト. た.試作した組み込み製品のボードに ICE をつないで. ウェアといえば,組み込み用のプロセッサに搭載するプ. 試作ボード上の CPU と電子的に等価な動作を ICE に行. ログラムのことを指していた.しかし,今日では,HDL. わせる.この実行の様子を ICE のコントローラ(最近は. (Hardware Description Language)に見られるようにハー. Windows や Linux で動くパソコンが多く使われる)でモ. ドウェアの設計・実装にまでソフトウェア技術が適用さ. ニタしたり,ステップ実行や一時ブレークをしながらテ. れるようになっており,ソフトウェアのカバー範囲は飛. ストとデバッグを繰り返す.ここで,よくよく組み込み. 躍的に増大している.つまり組み込みソフトウェア開発. プログラマの仕事を観察すると,彼(彼女) はメモリマッ. とは単にノイマン型プロセッサのプログラム開発にとど. プやら PSW(ProcessorStatusWord)やらを見ながら作業. まらない.組み込みソフトウェア開発支援ツールを考え. をしている.つまり,組み込みプログラマは,C 言語で. た場合,これらのハードウェア境界領域までを扱うこと. プログラムを記述していても,デバッグの最中は機械語. も可能であるが,本稿では,現状の組み込みプログラム. のレベルでの実行を追いかけているのである. このため,. 開発の領域を中心として現況や方向性の解説を試みる.. プログラミング言語としては,ソースコードから機械語. 具体的には,マイコンによる制御プログラム開発とか使. への対応が見えない言語だけでは製品開発をすることは. 用目的の定まった専用機器のプログラム開発といわれる. 難しい.その一方で開発規模の増大から,ICE1 台とプ. 領域を中心に,そのプログラム開発や開発支援ツールを. ログラミング言語があれば組み込みプログラムは作れる. 考えてみたい.. という時代ではなくなってきている.そして開発人数の.  以下では,組み込みソフトウェア開発の特徴を考慮し,. 増大からくる ICE 不足や試作ハード待ちによる開発作業. • 組み込みプログラム・シミュレータ. 遅延などが顕在化している.. • プログラム生成ツール.  これらの問題への方策はハードウェアのシミュレー. • 信頼性・品質保証ツール. ションである.きわめて単純明快な方法であるが,ハー. • 設計情報統合ツール. ドウェア・シミュレータでは,今まで実用レベルのツー. • 要求フェーズ支援ツール. ルが存在しなかった.しかし,最近の SoC(System on. の 5 つのカテゴリに分けて,それぞれの問題の指摘とそ. a Chip)化によるニーズの増大とパソコンの高速化に. の問題解決を支援するツールを紹介する.. よってホスト環境で組み込み CPU のシミュレーション を実行してしまうツールがでてきた.ちなみに以前か. 704. 45 巻 7 号 情報処理 2004 年 7 月.

(2) 6. 組み込みソフトウェア開発支援ツールの動向. 図 -1 LSI ドライバ開発用ツール. ら存在するプロセッサのシミュレータは,組み込みプ. 含めていくつか存在するようになってきた.残念なが. ログラム開発の支援を目的とはしていなかった.一言で. ら,その操作性や教育資料が十分でないため,広く普及. 言えば,ターゲット CPU 上での実行に比べて 10 倍とか. するには至っていないが,今後の展開が期待されてい. 100 倍の実行時間がかかるため学習用以上の使い道はあ. る.その一例に日立システム製の ITRON/TOPPERS 対応. まりなかったといえる.ところが,最近はパソコンの性. シミュレータ(http://www.hitachi-system.co.jp/embd/. 能の飛躍的な向上とシミュレータ開発環境の向上により. index.html)がある.. 十分な実行速度でかつ多種類の組み込みプロセッサに対 応するシミュレータが開発可能になってきた. それらは,. ●バーチャル・プラットフォーム. ツールの特性が活きてくる用途によって以下のように分.  ハードウェアの振る舞いをシミュレートした上. 類できる.. で,RTOS ま で を 一 貫 し て シ ミ ュ レ ー ト す る ツ ー ル.. ● LSI ドライバ開発用. Windows 上でプロセッサから周辺 LSI ,WindowsCE の ような OS からアプリケーションまでをすべてシミュ.  コンパイルしたターゲットプログラムを SoC 内の IO. レーションしてしまう.こうなると本当の仮想ターゲッ. ペリフェラルを含めてシミュレーションを実行するツー. トがパソコン上で動作する世界を実現できる. ただ,ハー. ル.こうしたツールはサプライヤが供給する組み込み. ドウェアのタイミングシミュレーションはしないのでど. プロセッサと周辺 LSI までを含めたドライバ開発など. ちらかというとカスタムなハードを利用した組み込みア. に効果がある.今後,SoC サプライヤが力を入れる領. プリの開発加速が目的となる.大規模開発に対してハー. 域になると考えられる.このタイプの製品例としては,. ドの試作待ちという組み込みソフト固有の開発ボトル. 図 -1 に示す富士通社製のソフチューン開発環境が挙げ. ネックを本格的に改善するためのツールといえる.図 -2. られる.図はターゲットのソースコードとその実行した. は, Virtio 社製(http://www.virtio.com/products) のシミュ. 結果としてディジタル出力の時系列パターンを表示して. レータ例である.この製品では CPU のコアロジックの. いる例である.. 上に状態モデルで周辺チップの動作仕様を付加する.  こうしたツールの出現によってハードウェアの開発ス. ● RTOS を前提にしたアプリケーション開発用. ケジュールによる制限を緩和できるようになった..  RTOS のシステムコールや割り込みなど個別シリコン より少し高いレベルから上のレイヤでシミュレーショ ンを能率よく実行するツール.以前から RTOS のシミュ. プログラム生成ツール. レータツールは存在したもののきわめて高価であっ た.最近になって組み込みシステムのデファクトであ.  組み込みのソフトウェア開発では,プログラミング. る ITRON 系の廉価なシミュレータがオープンソースを. に先立って数学的な設計モデルを先に定義する場合があ IPSJ Magazine Vol.45 No.7 July 2004. 705.

(3) 特集 組み込みソフトウェア開発技術. 図 -2 バーチャル・プラットフォーム. 3). る.自然法則に支配されるメカトロニクスの分野がそ. ExecutableUML と呼ばれる方法論に基づいたマルチド. の典型だ.この場合には,人間が設計モデルをきちん. メインの統合モデリングツールの進展が期待される.こ. と作成したあとのプログラミング作業をツールに任せ. れらは,UML で表現された特定の定義(メタモデル)に. ることができる.たとえば,古典的な制御理論で定義. 基づいてソフトウェアモデルを実行可能にしている.つ. された設計モデルから C プログラムへの自動翻訳が実用. まり,UML モデルをホスト上でモデルとしてシミュレー. レベルに達している.PID 制御(Proportional, Integral,. ション,検証した上で組み込みターゲットのプログラミ. Derivative)の自動制御ブロック図で制御条件を設計する. ング言語と拘束条件に従ってモデル変換すなわちプログ. と,その要件を満たすプログラムが生成される.例とし. ラムを生成する.とはいえ,最適化やモデリングにスキ. て MathWorks 製のシミュレータとコードジェネレータ. ルが要求されるため,広く普及するには,まだ時間を要. (http://www.mathworks.com/products/rtwembedded/). するだろう.. がある.  ただし,PID 制御モデルは連続系のフィードバックモ デルなので制御条件が閾値を超えたときに振る舞いを. 信頼性・品質保証ツール. 劇的に変えるといったモデルをそこに組み込むことは スコープ外である.連続系モデルに従ってブレーキを.  従来,多くの組み込みシステムは,エレクトロニクス. かけ続けたが,衝突までにあと 2m ,速度が依然として. の延長として開発されてきた.日本全体で電気,電子関. 20m/Sec ある場合にエアバッグ爆薬に点火するようなモ. 連の技術者 30 数万人のうち何割かが組み込みシステム. デルが現実には必要となる.こうなると,数学的に枯. のソフトウェア開発にかかわっている.残念ながら,こ. れた分野と非線形な条件制御の組合せを全体としてモ. れらの技術者の中で,開発される組み込みソフトウェア. デリングする手法が求められる.特に組み込みの特徴. の信頼性や品質までを十分に考えて開発する技術者はい. である実時間性を含めたモデリングが必須要件となる.. まだ一握りであり,多くの技術者は適切なプログラミン. こ の よ う な ニ ー ズ に 対 し て は,MDA(Model Driven. グ作法やソフトウェア工学に関する知識も不十分な状態. 1). 2). Architecture) とか MDD(Model Driven Development). で開発を続け,量産 ROM の素を作っている.. と最近言われる方法に基づいて多くのツールが利用でき.  このような環境の中で,最近の組み込みソフトウェア. るようになってきた.こうしたモデル中心のソフトウェ. の需要拡大から,その信頼性や品質保証についての問題. ア開発は今後のトレンドとなる可能性が高い.たとえば. が顕著になってきた.この理由はいくつかある.. 706. 45 巻 7 号 情報処理 2004 年 7 月.

(4) 6. 組み込みソフトウェア開発支援ツールの動向. 品質試験する必要性が増えてきた.これに対応するもの. ●プログラミング言語を使用する技術者の学習 環境の劣化. はツールとは呼ばれず,検証スイートと呼ばれるが,試 験を支援するツールの一種である.たとえば,日本ノー.  電気や電子技術者にとって,プログラミング言語はア. ベルの試験スイート(http://www.jnovel.co.jp/products/. プリケーションを作成するための手段であるから,それ. itron/seg_itronOutline.html)がある.. 単体での品質やリスクを考えるという意識は薄い.特に.  また,組み込みの世界では単体テストは自分でやるの. 組み込みでは C と C++ の利用が多いが,その言語上の. が当たり前だった.これをより少ない工数で実施する支. リスクを理解せずに使用しているケースが多い.この. 援ツールも登場している.IPL 社の Cantata++(http://. 問題を緩和するためには熟練したプログラマについてレ. www.iplbath.com/products/p0000.shtml)などは,今後. ビューを重ねることが好ましいが,その機会を得ること. の C++ 開発需要に応えるツールだろう.. は難しくなりつつある.ここで,人間のレビューを代 替するツールが静的テストツールとして使われるよう になっている.静的テストの考え方とツールは,ツール. 設計情報統合ツール. QA 集(http://www.toyo.co.jp/ss/topics/qacqa.html) が  組み込みソフトウェアは,性能最適化を図ると CPU. 参考になる.. や ハ ー ド ロ ジ ッ ク に 依 存 し た コ ー ド が 増 え て く る.. ●組み込みシステムの安全性への影響が高く なってリコールリスクの増加. 10KLOC 以下の組み込みのコードは,これを徹底的に追 求する必要があるので一般に普遍性は得にくい.これが.  個々の企業や個人のスキルアップにだけ依存するので. 災いして量産の部品が変わったときに対応する組み込み. は社会的な安全保障の枠組みとして不十分である.ヨー. ソフトウェアの部品を間違えるという事故がなくならな. ロッパの国々は,国家の枠を超えて規格化を行うことで. い.こうした問題は,一般にソフトウェア構成管理技術. 安全保障の一助とする仕組みを活用している.この枠組. で対処する.組み込みの場合,さらに,SoC の一般化や. みで自動車用の組み込みソフトウェアの信頼性を確保. MEMS(Micro-Electro-Mechanical System)などの進展か. する開発ガイドラインが 1990 年代に発行された.これ. ら,ハードウェアと対応するソフトウェアの組合せを確. は,MISRA 開発ガイドラインと呼ばれ,特に C 言語のプ. 実に管理する能力が現代の組み込み技術者には求められ. ログラミング標準は別冊で MISRA-C ガイドラインとし. るようになってきた. ハードウェアの制御プログラムは,. て発行されている(http://www.misra.org.uk/) .日本国. ハードメーカから供給される場合も増えているし,ミド. 4). 内でも,MISRAC 解釈の研究は盛んである .また,こ. ルウェアの採用も避けられない.. のガイドラインへの準拠の程度を測定して組み込み C プ.  しかし, ここはソフト側だけであがいても限度がある.. ログラムの信頼性指標とするツールが実用化されてい. そこでハードとハード対応ソフトウェアの両者を確実に. る.その一例は,ルネサステクノロジー社製の SQMlint. 構成管理するためのツールが提供されている.. (http://www.renesas.com/jpn/products/mpumcu/.  このようなハードも含めたシステム開発においては,. toolhp/datsheet/misra_c/)で,統合環境にチェック機能. ギガバイト単位の設計データを速やかに出し入れするこ. をアドオンしている.. とが求められるので,ソフトウェア工学的な構成管理機. ●システムのテストが直感的にできなくなりつ つある. 能に加えてツールとしての IO 性能が要求される.たと えば,設計のチェックイン/アウトに要する時間やイン デックス参照のオーバヘッド時間,ネットワークをまた.  アプリケーションのソフトウェアを開発するために利. がった並行開発のシンクロナイズ作業時間などなど一般. 用するミドルウェアや RTOS の機能範囲がかなり広がっ. のソフトウェア開発ではあまり気にしない問題である.. てきている.ケイタイの開発を見ていても i モードが. こうした分野に特化したツールは今後多数登場するこ. コードの総量を一挙に数倍(100 万行オーダ)まで増やし. とが予想される.先行している製品例として ICmanage. た.こうなると,ソフトウェアのテストを自前のドライ. 社の IC マネージがある(http://icmanage.com/products/. バとスタブで地道にこなすのは時間的に難しくなる.こ. index.html).. のために,組み込み分野に特化したテストツールが利用 され始めている.   特 に 日 本 で は 組 み 込 み の RTOS 需 要 の 半 分 以 上 が μ ITRON である.このため,各社のμ ITRON 互換性を IPSJ Magazine Vol.45 No.7 July 2004. 707.

(5) 特集 組み込みソフトウェア開発技術. 図 -3 要求フェーズ支援ツール. 要求フェーズ支援ツール. 今後の動向.  このカテゴリは,一般ソフトウェアと重複するが,組.  現在の組み込みソフトウェア開発に問題は多々ある. み込みであるか否かにかかわらず利用の必要性が認識さ. が,中でも大規模化する開発に対する適切な支援ツール. れつつあるので説明したい.. の問題は重要性を増している.組み込みソフトウェア開.  組み込みソフトウェアの開発問題でも要求との不一致. 発はシステム開発の下流工程という認識が変わりつつあ. や開発工程での要求トレースは大きな問題である.要求. る.このため,製品企画やハード開発との情報共有と多. 管理/トレースツールは,海外では航空宇宙,防衛など. 人数,複数拠点での開発をうまく支援するツールが求め. の組み込みシステム分野を筆頭に 20 年も前から利用さ. られる.こうしたツールは, 既存の構成管理, 要求トレー. れ,実践されてきているが,日本の組み込み開発の世界. スツールの改良と連携によって実現されるであろう.. ではほとんど議論されてこなかった.この理由には,要.  また,扱う問題がハードウェアや自然現象を含む組み. 求記述は各国の母国語で行われるのが普通であり,管理. 込み開発では問題を文言で記述できないという場面も多. 方式がその文法に強く依存しているため海外のツールと. い.これゆえに,要求,設計,実装の工程を通して一貫. 日本語の親和性で問題があったためといわれている.最. した用語や製品動作の概念を維持することすら現在のと. 近になって,図 -3 に例示するような要求管理ツールが. ころ実現されていない.この解決には,従来の支援ツー. 日本語でも利用できるようになり,今後はこうしたツー. ルの延長では十分ではない.新しい概念や仕組みの提案. ルの導入が進むと考えられる.. と,ツールの開発が待たれる..  ただし,これらのツールに関しては,その利用上の方 法論の確立が課題となる.特に非機能仕様をどのように 要求として顕在化させるかは重要である.これらの問題 については,大学を始めとする研究機関で適切な方向性 の提示が期待されるテーマと考えられる.組み込みソ フトウェアシンポジウムのような場での専門家による議 論にも期待したい.図 -3 は,ボーランド社の CaliberRM (http://www.borland.com/caliber/)で要求の相互関連を マトリクスとツリーで表示している例である.. 708. 45 巻 7 号 情報処理 2004 年 7 月. 参考文献 1)Mellor, S., Scott, K., Uhl, A. and Weise, D.: MDA Distilled, AddisonWesley(2004). 2)IEEE Software 特集:Model Driven Development(Sep./Oct. 2003) . 3)Balcer, M. and Mellor, S. : ExecutableUML MDA モデル駆動型アーキテ クチャの基礎,翔泳社(2003). 4)MISRA − C 研究会 編:組込み開発者におくる MISRA − C 組込みプロ グラミングの高信頼化ガイド,日本規格協会(2004). (平成 16 年 6 月 7 日受付).

(6)

図 -3  要求フェーズ支援ツール

参照

関連したドキュメント

る、というのが、この時期のアマルフィ交易の基本的な枠組みになっていた(8)。

【ご注意点】 ・カタログの中からお好みの商品を1点お 選びいただき、同封のハガキに記載のお

えて リア 会を設 したのです そして、 リア で 会を開 して、そこに 者を 込 ような仕 けをしました そして 会を必 開 して、オブザーバーにも必 の けをし ます

(7)

 親権者等の同意に関して COPPA 及び COPPA 規 則が定めるこうした仕組みに対しては、現実的に機

(今後の展望 1) 苦情解決の仕組みの活用.

航続距離(約 700km ) 水素充填時間(約 3 分). 氷点下始動性(

 戦後考古学は反省的に考えることがなく、ある枠組みを重視している。旧石 器・縄紋・弥生・古墳という枠組みが確立するのは