ハードウェア設計の現場では、仕様書作成にUMLを利用することへの期待が高まっているが、その利点と課題は何だろうか
前回「UMLでハード/ソフトの分割ポイントを見つける」では、UMTP(UMLモデリング推進協議会)のSoC分科会の活動から、「HW/SW分割グループ」の取り組みとその成果について紹介しました。今回は「ハード設計グループ」の活動を報告します
組み込み(SoC)開発の中で、ハードウェア設計者が抱える現状の問題点の1つとして、仕様書の記述方法が挙げられます。通常、ハードウェアを設計する場合に、要求仕様から設計仕様書(SoCの機能を記述)を作成し、この仕様書からハードウェアを設計するための仕様書、テスト/検証を行うための仕様書、チップを動かすためのソフトウェアを設計する仕様書と、いくつもの仕様書を作成する必要があります。
現状では、これらの仕様書の記述方法が統一されていないため、仕様書を読む人によって解釈が異なることがあります。これは、仕様の理解不足や検証の漏れにつながり、最終的にはハードウェアの不具合にも発展しかねません。そのため、設計者や検証者が容易に仕様を理解でき、なおかつ、あいまいさを排除した記述方法が求められています。
この問題に対して、ハードウェア設計の現場でもUMLへの期待が高まっています。UMLは、図による表現を基本とし表記が共通化されており、このような問題の解決手段として、ハードウェア設計者に対しても利用するメリットが大きいものと考えられるためです。
ハード設計グループでは、UMLを利用することで、要求仕様を漏らさず実現するための設計工程のフロー化、検証漏れを排除するための検証仕様/リストの抽出、設計物の保守・再利用性の向上などの可能性について検討し、日々、複雑化、大規模化するハードウェアの迅速な問題解決手段として、UMLの効果的な利用法を模索することにしました。
→UMLによって仕様のあいまいさの排除が可能か確認
→UMLの利用により、検証仕様/リストの抽出・保守・再利用性が向上するかの確認
設計工程において、まず要求仕様を基に外部とのインターフェイスや設計物の機能について、外部仕様書をまとめる必要があります。この工程では、設計物がどのように使われるのか要求仕様に合わせて分析する必要があります。次にその設計物の詳細な仕様、ステートマシンや内部の構造などについて分析し、機能仕様書としてまとめます。また、この段階で設計物の検証項目を抽出します。最後に実装のための仕様をまとめる必要があり、ここではステートマシンや内部構造について分析を行い、実際のRTLが書けるレベルの設計仕様書となることが求められます。
このような工程において、UMLを利用し共通化された図と機能の分析を行うことで、早期に問題点の洗い出しを行うことを狙います。しかしながら、ハードウェア特有の問題もあるため、ここではUMLによる分析/モデリングと切り離して進めなければならないと考えました。
ハードウェア設計では、上記のような要因から、ソフトウェアと同じように設計することが困難な部分があります。ハードウェア設計では論理設計段階から実際の回路を意識した設計をしなくてはなりません。
以上のような考えから図1のように、各段階でUMLと非UML(UMLで表せない、あるいは表しにくいもの)に分けて仕様書への適用を検討していき、ハードウェアの要求仕様から外部仕様、機能仕様、実装仕様の流れの各工程で分析とモデリングを行うことにしました。また、各仕様の分析/モデリングの結果、UMLで記述する部分とUMLを適用しない部分に分け、それを各仕様の成果物として仕様書にまとめる方針としました。
Copyright © ITmedia, Inc. All Rights Reserved.