汎用グラフィカルモデリング言語「SysML」 パート1: 要件、ユースケース、およびテストケースのモデリングThe Rational Edge(2/3 ページ)

» 2006年09月22日 12時00分 公開
[Laurent Balmelli博士(IBM T.J. Watson東京研究所 リサーチスタッフメンバー),@IT]

◆ SysMLの概要

 SysML標準は、このプロセスのサポート専用にデザインされた共通の言語を使うことにより、システムエンジニアやアーキテクトが切望するコラボレーション手法を提供する。SysMLは、システムエンジニアリング用の標準モデリング言語として、ますます複雑化するシステムの管理機能を大きく向上させながら、開発チーム内のコミュニケーションを改善できるようにする。さらに、SysMLは製品デザインの電子化を実現することにより、システム開発ライフサイクル全体で、より高速かつ効率的な意思決定を可能にする分析実現への道を切り開く。

・SysMLとUML

 SysMLは、Object Modeling Group(OMG)コンソーシアムで開発されたソフトウェアエンジニアリングのデファクト・スタンダード、Unified Modeling Language(UML)をベースにしている。SysMLは、OMGが2003年3月に出した提案要求(RFP)に応える形で開発された。開発チームには、10社以上の企業の関係者が参加した。IBMは同仕様の一部を書くことで、SysML標準の定義における主導的役割を担っている。

ALT 図1 SysML 1.0とUML 2.0

 図1のテキストは、SysMLで提供される各種ダイヤグラムの概要を示している。要件、パラメトリックス、そしてアロケーションは、UMLにはない新しいダイヤグラムだ。アクティビティおよびブロックの両ダイヤグラムは、UML 2.0のものを拡張してSysMLで再利用している。最後のステートマシン、インタラクション、そしてユースケースは、UML 2.0のものを修正を加えずそのまま再利用している。

 SysMLは、システムと製品のアーキテクチャのほか、その動作と機能を描写するモデリング言語で、UMLでソフトウェアアーキテクチャを構築するソフトウェアエンジニアリング手法の経験に基づき構築されている(従来からあるクラシックダイヤグラムを想像されたい)。SysMLが示すアーキテクチャは、システムの機能面を実現する要素を描写している。また、場合によっては物理的な面も描写されている。例えば、一連のコンピューティング資源にソフトウェアを導入する方法をアーキテクチャが描写する場合もある。

◆ SysMLの例:雨滴検知ワイパー

 ここで、雨滴検知ワイパー(RSW)システムの例を通してSysMLの機能を探求したい。この例は、開発当初にいくつかの難問に直面した実在の製品から着想を得ている(RSWプロジェクトの背景については付録Aを参照)。この例は、コストの掛かる製品リコールにつながる複雑な故障モードを回避すべく、サブシステムレベルで製品を理解することの重要性を説明するために有効だ。この例の場合は、最終的に設計変更にまで至った時間のかかる(従ってコストも掛かる)根本原因解析をRSWメーカーが耐え抜くことができた。本稿の例では、このメーカーが経験したような障害から素早く回復できるモデルを紹介する。

 RSWの目的は、フロントガラスの外面で雨滴を検知したらフロントガラスの表面を自動的に(つまりユーザーの手を煩わすことなく)ふき取ることだ。また、検知した雨滴の量でワイパーのスピードも決める。このシステムには、主要コンポーネントが3つある。(1)ワイパーの動作をコントロールするソフトウェア、(2)ソフトウェアを実行する電子制御ユニット、そして(3)フロントガラス内面に固定され、フロントガラスを通して雨滴を検知するためのセンサーだ。

 本稿は、本システムをさまざまな側面から描く詳細なモデルについて解説する。この例は、自動車業界の組み込み電子機器分野における現実的な製品を取り上げており、そのデザインはSysMLから大きなメリットを享受している。

◆ コンテキストダイヤグラム

 システムをモデリングする際に最も重要なのが、システムに属するものとそうでないものを切り分ける作業だ。コンテキストダイヤグラムは、システムの範囲を描写するための(正確な解釈がないという意味で)非公式の手段だ。実際にブロック(定義)ダイヤグラムを使って構築されていることから、図1にはコンテキストダイヤグラムがないことに注意したい。一方、図2の方はRSWのコンテキストダイヤグラムとなっている。

ALT 図2 雨滴検知ワイパーシステムのコンテキストダイヤグラム(クリックすると拡大

 コンテキストダイヤグラムはシステムの範囲を確立する。本事例では、メンテナンス機能(修理用)、車載電子システム(車載システム駆動用)、そしてドライバー(手動でシステムを無効にするといった作業を行う)という、システムに関連する3つのアクターを明確にしている。また、ワイパー用インターフェイス、フロントガラス、そして車載電子システムという3つの外部システムも検討される。ユーザー定義の「外部」というキーワードが、外部コンポーネント限定で利用されること、そして、車載電子システムがRSWへの電力供給も行うことに注意したい。つまり、これはアクターだとも外部システムだとも考えられる。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ