SystemUMLの研究

藤田昌宏研究室修士二年 松井 健
English (only abstract) >> 
 SystemUMLとは
 

 近年、半導体技術の進展と共に、従来に比べ多くの要求が電子機器に対してなされるようになっている。その代表的なものが、多機能化と開発期間の短縮である。たとえば携帯電話などでは、基本となる電話機能の他、Webブラウザやデジタルカメラの機能まで組み込むことが要求され、それでいてその開発に費やすことのできる時間は一年弱に限られていると言われている。

 本研究ではこの問題を解決するために、高い再利用生による生産性向上をもたらすオブジェクト指向設計の概念を電子機器全体の設計にも適用することを考えている。ここで、一般に電子機器設計においては、ハードウェアとソフトウェア双方を設計する必要がある点に注意を要する。というのは、前述のオブジェクト指向設計の概念は、専らソフトウェア開発向けに作られたものであるので、ハードウェア設計に直接利用できるかどうか不明であるためである。

 そこでまず、電子機器の仕様分析から機能設計まで、すなわちシステムレベル設計に対してのみオブジェクト指向設計を行うことを考える。この設計レベルでは、既存技術としてC言語によく似たハードウェア記述言語(SpecC, SystemC)を利用することができ、したがって比較的オブジェクト指向設計を導入しやすいと考えられる。また、オブジェクト指向設計の標準表記法であるUML(Unified Modeling Language:統一モデリング言語)を用い、ハードウェアとソフトウェア双方を統一的に扱う設計記述も可能であると思われる。

 以上を踏まえてs、本研究では電子機器のシステムレベル設計においてUMLを用いたオブジェクト指向設計を行うための方法論(SystemUML)を提案している。以下ではその概要を紹介する。

 
 SystemUMLとして定める設計フロー
 

 本研究では、UMLを用いた電子機器設計プロセスについて、図1に示すようなフローを提案している。すなわち仕様書により与えられる要求モデルを入力とし、下位設計に必要なアーキテクチャモデルを出力とするフローである。下位設計の設計記述言語にはSpecCを用いる。これに基づいて電子機器設計を行った例を図2に示す。


(図1) SystemUMLとして定める設計フロー


(図2) SystemUMLのフローにしたがって電子機器を設計した例

 これは、まず時間制約やプラットフォームに依存しないシステムモデルを導出し、その後実装上の制約を考慮しつつHW/SW分割を行う過程を示している。この結果としてアーキテクチャモデルを得、SpecCを用いた詳細設計につなげることができる。

 
 従来設計手法との比較
 

 SystemUMLを用いて設計を行った際、従来手法と比べどのような違いが生じるかを(図2)に示した例を通して説明する。

 
 
仕様変更への柔軟性向上
 
設計工数の削減
 
 
   コンパクトフラッシュメモリのストレージ容量を増やすことを考えると、図3のようにフラッシュメモリクラスを変更することになるが、このとき影響を受けるモジュール数は従来手法に比べ減少する。これは、仕様変更への柔軟性が向上していることを示している。    過去に従来手法による実装を行った経験から、実装に12人月かかることがわかっており、一方本手法に基づく分析設計には3人月必要であることが実験によって示された。つまり、UMLという形で設計を行いその過程を残すためには、最大で全体の25%程度の工数が必要であり、仕様変更への柔軟性や再利用性の向上による設計効率化を考えると、設計全体として工数を削減できると考えられる。  
 

(図3) 仕様変更に対して影響が及ぶ範囲が減少 (コンパクトフラッシュメモリの例)
 

(図4) 設計工数の削減 (コンパクトフラッシュメモリの例)
 

Copyright 2005 Ken Matsui All rights reserved.