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

組み込みソフトウェア開発技術:1.組み込みソフト開発の現状

N/A
N/A
Protected

Academic year: 2021

シェア "組み込みソフトウェア開発技術:1.組み込みソフト開発の現状"

Copied!
5
0
0

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

全文

(1)特集 組み込みソフトウェア開発技術 1. 組み込みソフトウェア開発の現状. 1. 組み込みソフトウェア 開発の現状 平山 雅之 (株)東芝 ソフトウェア技術センター  [email protected]. ここ数年,さまざまな展示会,セミナー,シンポジウムなどで組み込みソフトウェアが取り上げられる機会が増えている.この背 景には組み込みソフトウェア需要の急激な拡大と,それに伴うソフトウェア規模増大,開発期間の短期化などが大きく関係してい る.本稿ではこの組み込みソフトウェアに焦点をあて,まず,組み込みソフトウェアとはどのようなものかについて紹介する.次 いで,急激に変化しているこれらの組み込みソフトウェア開発の現状の一部を紹介し,そこへのソフトウェア工学的手法の導入に ついて考えてみたい.. はじめに . 組み込みソフトウェアとは  .  情報家電,携帯電話,カーナビなど我々の身の回り.  ここではまず,組み込みソフトウェアとは何かに触れ. にはさまざまな情報機器が溢れている.これらの情報機. ておきたい.. 器の多くは,いわゆる,組み込みソフトウェアによって 実現されている.2004 年の経済産業省の組み込みソフト. ●組み込みソフトウェアが利用される範囲. ウェア産業実態調査 によると,組み込みソフトウェア.  図 -1 は身の回りにある組み込みソフトウェアをカテ. 産業に従事する技術者は 15 万人以上,その生産高は 2 兆. ゴリごとに整理したものである.図に見るように, 従来,. 円を上回る産業規模になっており,組み込みソフトウェ. 組み込みソフトウェアというと機器の制御が中心となっ. ア産業は現在の日本経済の一翼を担っている.. ていた.しかし,最近の組み込みソフトウェアは制御の.  このような中,開発される組み込みソフトウェアは種. みではなくさまざまな情報処理機能も併せ持つタイプが. 類・量とも増加の一途をたどっており,品質に対する要. 増えてきている.また,ユーザに関しても,巷に溢れる. 求や開発の効率化など,新たなチャレンジが求められて. さまざまな民生用機器のみではなく,工業用設備機器や. いる.そして,これらのチャレンジに応えていくために. 最近はやりのロボットあるいはシステムの一部を構成す. は,組み込みソフトウェア領域へのソフトウェア工学の. る機器など特殊なユーザを対象とする非民生機器も多数. 適用が近道である.. あり,組み込みソフトウェアの裾野は拡大傾向にある.. 1).  組み込みソフトウェアはこれまで回路などのハード ウェアの付帯物として片手間に開発されてきた経緯があ り,必ずしも工学的な手法を駆使した開発がなされて こなかった.一方,ソフトウェア工学はビジネスアプリ. *通信端末機器 *携帯電話 ( 携帯電話 ). 一般 ユーザ. ケーション分野を対象に発展してきた経緯から,組み込. *家電機器 *情報家電. みソフトウェア開発に必ずしも十分にその力を発揮でき. *AV機器. ていなかった.. *カーナビ *カーナビ *教育・娯楽機器 *個人用情報機器. *コンピュータ周辺 /OA 機器. *設備機器.  こうした中,ユビキタス社会の本格到来を前に,組み込 *産業機器 *運輸・建設機器. みソフトウェアにはさらに大きな期待とニーズが集まっ. ソフトウェア開発技術のより一層の進化が求められてお り,ソフトウェア工学をベースにした組み込みソフトウェ. *医療診断 *医療機器 機器. *工業制御 /FA 機器 /産業機器. ている.そして,このユビキタス社会の中で,我が国が主 導的な役割を演じていくためには,それを支える組み込み. *通信設備機器. 特殊 ユーザ. *自動車用ソフトウェア *自動車用ソフトウェア (エンジン制御) � (エンジン制御. 情報処理 中心. 制御中心. ア開発へのアプローチが必須である. 図 -1 組み込みソフトウェアの裾野拡大. IPSJ Magazine Vol.45 No.7 July 2004. 677.

(2) 特集 組み込みソフトウェア開発技術. このような組み込みソフトウェア利用の拡大は,規模. ビジネス面から見た特質. や複雑さ,あるいは開発期間の長短など組み込みソフト.  組み込みソフトウェアをビジネス面から見ると,. ウェアの構造や作り方にも大きな影響を及ぼしている.. • ハードウェアで同じ機能を実現するよりもより柔軟な 作りが可能である. ●組み込みソフトウェアの特徴. • この特徴ゆえにより多くの機能をソフトウェアで実現.  これらの組み込みソフトウェアに共通した特徴はいず. する傾向にあり,これがソフトウェア規模の増大を招. れもマイクロコンピュータなどを利用し製品に組み込ま. いている. れて動作する点にある.ここでは組み込みソフトウェア. • 実現する機能量の割に開発期間が短い. をもう少し厳密に観察し,その特徴を抜き出してみる.. • 一部民生機器などは製品として広範な市場に流通し, ユーザの特定が難しい. ソフトウェア構造面から見た特徴. などが主たる特徴となっている..  ソフトウェアの構造面に眼をやると「機能的側面」 「物.  上記のような組み込みソフトウェアの持つ特徴の 1 つ. 理的側面」の 2 つの視点が考えられる.. 1 つがそれぞれ,ソフトウェア開発に大きな影響を及ぼ. 機能的側面からの特徴. しており,組み込みソフトウェア開発を難しいものとし. • 周辺のハードウェアデバイスなどと連携して機能を実. ている(図 -2 参照).このため,組み込みソフトウェア を対象としたソフトウェア工学を考える場合,これらの. 現していく • システムの外部の状況をセンサなどを通して受け取. 特徴や制約にどのように対処していくかが大きな技術課 題となる.. り,それらに応じてソフトウェアとしての処理内容が さまざまな形態をとる • 決められた時間内の処理や微妙なタイミングを必要と. 組み込みソフトウェア開発のいま. する処理などを求められる場合が多い 物理的側面からの特徴. ●混沌とする開発現場. • 製品に内蔵されるマイクロコンピュータ上に実装さ.  ここでは最近の組み込みソフトウェアの開発がどのよ. れる. うな状況にあるかを紹介する.図 -3 は通信機器(電話). • またこれらのマイクロコンピュータや組み込みソフト ウェアで用いられる OS はさまざまな種類のものが提. の組み込みソフトウェア開発における平均的な開発期間. 供されており選択肢が多い. と開発規模を示したものである.この図からは,開発規. • 製品内蔵が基本であり,使用できるリソース(CPU 能. 模は加速度的に増える一方で開発期間は年々短くなる傾 向が顕著になっている様子が読み取れる.この結果,実. 力やメモリ)に厳しい制約がある • 基本的にはハードウェアデバイスと同様に製品機能を. 際の組み込みソフトウェア開発現場では,開発規模や複 雑さと短い開発期間のせめぎあいの中で,絶えず混乱が. 実現するための一部品として実装される. 続くような開発も少なくない.  次に,組み込みソフトウェア開発で発生したトラブル. 設計 設計が最適化 されていない. 組み込みソフトウェア 構造面からの制約. 機能的側面からの制約 ・実世界とのインタラクションに起因する制約 物理的側面からの制約 ・プラットフォームに起因する制約 ・��に起因する制約. ビジネス面からの制約 ・ソフトウェアカバー範囲の拡大 ・短期開発 ・高品質・信頼性の要求拡大. 品質.     . 品質レベルが 把握できない .     要求 要求定義が 不十分. 実装. 検証・テスト. プログラムが保守 ・再利用�しにくい. 検証・テストが 不十分. 管理 開発管理が 機能していない.    . 図 -2 組み込みソフトウェアの制約とその影響. 678. 45 巻 7 号 情報処理 2004 年 7 月.

(3) 1. 組み込みソフトウェア開発の現状. ソフトウェア規模 . ��� �. ��. ���. 期間. 単体テストの不備 1.7% テスト仕様の不備 2.6%. ���. 規模. ��� �. 開発期間 . 通信機器(電話)にみる ソフトウェア規模の変遷. � ��. 開発環境の不具合 0.3%. ��� �. その他 1.0% 不明 5.3%. 要求仕様の不備 29.9%. 統合テストの不備 4.8% コーディングミス 5.0% ハードウェアの 仕様変更・不具合 6.7%. ���� 6.8%. ������世代. ������世代. ����. �������世代. ����. ����. 仕様書の不備 17.4%. ソフトウェア設計上の不具合 18.6%. ����年版 組み込みソフトウェア産業実態調査 (経済産業省)より. 図 -3 ソフトウェア規模と開発期間の関係. 図 -4 不具合の発生原因. 図 -5 冷蔵庫仮想テストシステム. の原因を図 -4 に示す.これをみると,要求獲得や設計. は組み込みソフトウェアを開発する上できわめて大きな. の誤りなど開発における基本的作業の部分での誤りが多. 制約事項となる.. いことが分かる..  組み込みソフトウェアの開発では,これらの制約が影.  . 響し,ソフトウェア設計が最適化されない,あるいは保. ●工学的手法への期待. 守や再利用が難しい,あるいは検証やテストが不十分に.  上記のような混沌とした状況は,先に述べた組み込み. なるなどさまざまな課題が発生している(図 -2 参照) .. ソフトウェアが持つ特徴に起因している.こうした状況.  たとえば,多くの組み込みソフトウェアは,周辺デバ. を打破する有効な手立てとして, 開発現場ではソフトウェ. イス,マイコンなどを搭載した実機に搭載され,外部環. ア工学に基づいた手法や技術の導入が待ち望まれている.. 境とのインタラクションによって動作していく.このた.  特に,組み込みソフトウェアの場合,それらが持つさ. め実機環境でのテストは欠かすことができない.しか. まざまな制約や特徴にどのように対処していくかがきわ. し,こうしたハードウェアも含めた実機環境は,多くの. めて重要なポイントとなる.. 場合,開発最終段階でしか用意できず,実際の開発現場 ではハードウェアなどを含めたシミュレータを用意し仮. ソフトウェア構造に起因する制約への対応. 想的なテストを実施している.図 -5 は,実製品に合わ.  ハードウェア依存性やリアルタイム性,リアクティブ. せて開発された冷蔵庫システムの動作試験を仮想環境上. 性,あるいはマイクロコンピュータ制約などの組み込み. でテストするためのシミュレータである .. ソフトウェアの構造を支配する機能・実装面からの特徴.  この例のように設計・実装・検証/テストなど組み込. 2). IPSJ Magazine Vol.45 No.7 July 2004. 679.

(4) 特集 組み込みソフトウェア開発技術. 製品要求. 導入ハードルの低減. 要求定義.  組み込みソフトウェア開発技術者は,厳しい要求と納. システム設計 ハードウェア設計. ソフトウェア設計 . 上位設計. コデザイン. ソフトウェア要求定義. ソフトウェア設計. 詳細設計 コベリフィケーション 単体/結合テスト. システムテスト. 図 -6 ハード/ソフトコンカレントプロセス. 期の狭間で常にストレスにさらされている.これらの技 術者にとって,組み込みソフトウェアを開発するための 新しい手法は必ずしもすべてが福音とはなり得ない.た とえば,新しい手法の学習など導入初期に発生する負 荷や手法・技術が持つさまざまな制約は導入の際のハー ドルとなり,技術者に重くのしかかってくる.これらの ハードルをいかに低くするか,あるいは低く見せるかが 導入初期の成否に直結する. 効果の可視化  ソフトウェア工学の目標は,さまざまである.その. みソフトウェア開発技術の中では,“ 組み込みソフト. 中でもソフトウェア開発における QCD(Quality, Cost,. ウェア自身の持つ構造的な特徴 ” にどのように対処し,. Delivery)を最適化するという目標は,実際の開発に携. どのように工夫していくかがきわめて重要となる.. わっている技術者から見た場合,最優先の目標である. 組み込みソフトウェアでは,先に示したビジネス面から. “ ビジネス制約 ” への対応. の制約が特に強く,開発期間や品質,不特定多数のユー.  一方,すでに指摘したように近年の組み込みソフト. ザへの対応など特に QCD を強く意識した開発が求めら. ウェアは規模や複雑さが急激に増大し,また開発にあて. れる.こうした中で,新しい手法やツール,技術を導入. られる時間は短くなる傾向がある.こうした状況におい. した場合,開発の QCD に実際にどの程度のインパクトを. ては,開発体制やプロセス,あるいは管理的な側面を重. 与えるかを示していかないと,技術者はその技術の導入. 視した組織的な組み込みソフトウェア開発の実現が特に. をためらってしまう.このため,手法・ツールの開発者. 重要となる.また,組み込みソフトウェアの場合,ハー. あるいは研究者は,その手法やツールが QCD にどの程度. ドウェア開発との関係を抜きにして考えることはできな. の影響を及ぼすかについて,可視化し説明することが求. い.ハードウェア開発のプロセスやハード/ソフトと. められ,また利用者も手法やツールの導入効果を公表す. の接点,開発上のインタラクションやタイミングを適切. ることによって,一層の技術進歩を促すことができる .. 3). に合わせ込むことでシステム全体としての開発の最適化 を実現することができる.近年はハードウェア/ソフト. 手法・ツールの特徴の評価. ウェアの協調設計なども論じられており,その距離は短.  一般的に手法・ツールにはさまざまな前提条件や適用. くなる傾向にある(図 -6 参照) .. 範囲,あるいは適用方法などの限定が存在する.特に組.  このように組み込みソフトウェアが持つビジネス制約. み込みソフトウェアでは,ソフトウェアの機能的な側面. については,単に組み込みソフトウェア開発だけを考慮. のみでなく,リアルタイム性を始めとする非機能要求の. するのではなく,ハードウェアも含めたシステムとして. 側面が重視されるため,手法やツールはかなり限定した. の開発全体を考える視点が必要になる.. 使い方にならざるを得ない面がある.このため,手法・ ツールを導入する場合には,それらの持つ制約や制限あ. 技術導入の進め方        . るいは癖を事前に見抜き,適材適所で導入していくこと がポイントとなる.たとえば,車載システムのエンジン 制御のようにきわめて短い時間での制御が求められるシ.  個々の設計技術,再利用技術,検証技術などの詳細は. ステムでは,タイミングチャートなどを用いた厳密なタ. 本稿に続く記事に譲るとして,ここではこれらの技術を. イミング設計が要求される.一方,携帯電話に搭載され. 開発の現場に導入することについて考えてみたい.筆者. る電話帳などのシステムでは,タイミングよりもデータ. の周りでも,組み込みソフトウェアの開発を効率化する. セキュリティなどを重視した設計やそのための手法,デ. ための新しい技術の導入に成功した部門もあれば失敗に. ザインパターンなどを適用することが求められる.. 終わった部門もある.この成功/失敗を分ける要因は, 必ずしも技術の優劣だけではないように思われる.. 技術導入ステップ  ソフトウェア開発にソフトウェア工学的な手法・ツー. 680. 45 巻 7 号 情報処理 2004 年 7 月.

(5) 1. 組み込みソフトウェア開発の現状. ������:自部門の開発の中で本格適用する. 複雑化,大規模化が進むと思われる.こうした中,組み 込みソフトウェアを対象としたソフトウェア工学はさら. ������:自部門の開発の中で適用する      (並行適用). 効果の定量評価. に重要性が増すと考えられる.  最後に,最近の組み込みソフトウェアを取り巻く内外. ������:自部門の過去の製品などを対象に      サンプル適用する. 必要に応じて 手法のカスタマイズ. ������� 他 � ドメインや類似ドメインでの      手法・ツールの効果を定量的に見せる. 図 -7 技術導入のステップ. の情勢を紹介したい.  まず,国内では日本のソフトウェア産業を強化するこ とを目的に経済産業省主導でソフトウェアエンジニアリ ングセンター(SEC)が 2004 年度に発足し,組み込みソ フトウェアの開発力強化も重点テーマとして取り上げ られる予定である.SEC では,我が国の組み込みソフト ウェア開発の体力向上を目指して,①組み込みソフト. ルを導入しようとする場合には,適切なステップを踏む. ウェアに適した開発手法の整備,②組み込みソフトウェ. 必要がある.たとえば,ソフトウェア開発の上流を支援. ア開発技術者のスキル向上を 2 大テーマに活動を進める. する技術として UML(Unified Modeling Language)は近. 計画が提示されている.. 年,組み込みソフトウェア開発の場面でも利用される機.  また,組み込みソフトウェアに携わる技術者の教育に. 会が増えてきており,UML を用いた設計を支援するため. ついては,SESSAME などの団体で標準的な教材整備な. のツールなども市場には多くでまわっている.しかし,. どが進められているほか,組み込みソフトウェアを対象. これらのツールを導入したからといって,直ちに UML. としたロボコン(UML ロボコン)なども開催されるよう. ベースの設計に移行できるとは限らない.現実の組み込. になってきており着実に環境整備が進んでいる. さらに,. みソフトウェア開発の現場では,設計書を書くあるいは. 組み込みソフトウェア開発のプラットフォームの整備・. 残すといった習慣をまず,根付かせなくてはならない.. 標準化については,T-Engine フォーラムや TOPPERS プ. このためには,まずは設計書を書くということ,そして. ロジェクトなども始動しており,組み込みソフトウェア. UML の利用方法とその効果などを理解させるところか. のプラットフォームの革新が今後,加速していくことが. らはじめる必要がある.さらに,組み込みソフトウェア. 期待される.情報処理学会においても,昨年度よりソフ. の場合,ハードウェアとのインタラクションなどをどの. トウェア工学研究会内に組み込みソフトウェア開発を議. ように設計上で扱うかといった事項を考えるなど,その. 論するためのワーキンググループを設置し,組み込みソ. 部門で扱っているソフトウェアの特徴に合致するように. フトウェア開発に関する諸問題への解決策などを産学連. 手法をカスタマイズすることも求められる.経験的には. 携のもとに議論している.. 図 -7 に示すようにサンプル適用,並行適用など何段階か.  一方,海外では,ドイツなどを中心に,自動車産業の. のステップを設定して,パイロットプロジェクトの実施. 組み込みソフトウェアについても真剣な議論がなされて. などを通して適用に付随するリスクを回避しつつ,その. おり,本年 5 月のソフトウェア工学国際会議併設のワー. 効果を定量的に評価し,順次適用範囲を拡大していくこ. クショップでは自動車システムへのソフトウェア工学応. とが最適な技術導入方法であると考えている.. 用が議論された.また,本年 9 月に京都で開催される要 求工学国際会議の併設ワークショップでも自動車ソフト. おわりに             . ウェアにおける要求工学などが議論される予定である. その他,米国カーネギーメロン大学などでも今回記事と して取り上げたプロダクトラインエンジニアリングなど.  本稿では組み込みソフトウェアとは何か,そして,組. さまざまな研究が進められており,今後,これら内外の. み込みソフトウェア開発へのソフトウェア工学の適用と. 研究成果にも期待していきたい.. いう主題について,現在の組み込みソフトウェア開発を 念頭に論じた.冒頭にも述べたが,近年, 「どこでも誰 でもいつでもコンピュータ」のユビキタス社会が目の前 に近づいている.ユビキタス社会はさまざまなセンサと コンピュータのネットワークを核として,新たな価値の. 参考文献 1) 2004 年版組込みソフトウェア産業実態調査報告書,経済産業省. 2) 平山雅之 他 : ソフトウェア品質向上への取り組み,東芝レビュー  Vol.56, No.11, pp.47-55(2001). 3) ロバート.L. グラス著,山浦恒夫訳 : ソフトウェア開発 55 の真実と 10 のうそ,日経 BP(2004). (平成 16 年 6 月 4 日受付). 創出に向かっており,その影の主役は組み込みソフト ウェアである.今後,ますますそのウェイトは増すこと が予想され,組み込みソフトウェアは今以上に高機能化, IPSJ Magazine Vol.45 No.7 July 2004. 681.

(6)

参照

関連したドキュメント

IDLE 、 STOP1 、 STOP2 モードを解除可能な割り込みは、 INTIF を経由し INTIF 内の割り. 込み制御レジスター A で制御され CPU へ通知されます。

J-STAGE は、日本の学協会が発行する論文集やジャー ナルなどの国内外への情報発信のサポートを目的とした 事業で、平成

AC100Vの供給開始/供給停止を行います。 動作の緊急停止を行います。

“〇~□までの数字を表示する”というプログラムを組み、micro:bit

2019年 8月 9日 タイ王国内の日系企業へエネルギーサービス事業を展開することを目的とした、初の 海外現地法人「TEPCO Energy

○事業者 今回のアセスの図書の中で、現況並みに風環境を抑えるということを目標に、ま ずは、 この 80 番の青山の、国道 246 号沿いの風環境を

③展示場 一般社団法人 日本展示会協会 経済産業省 館内換気徹底の記載のみ

2030 プラン 2030 年までに SEEDS Asia は アジア共通の課題あるいは、各国の取り組みの効果や教訓に関 連する研究論文を最低 10 本は発表し、SEEDS Asia の学術的貢献を図ります。.