黒い - POSL

組込みシステムの外部環境分析のため
のUMLプロファイル
瀬戸敏喜,金川太俊,鵜林尚靖(九工大),
鷲見毅,平山雅之(東芝)
2007/3/16
1
発表内容

研究の背景




外部環境記述用UMLプロファイル






通常のUML表記の問題点
外部環境記述用UMLプロファイルの利点
外部環境記述用UMLプロファイルの概要
ステレオタイプ定義
OCLによる制約の定義
支援ツール


組込みシステムの現状
組込みシステムの特徴
組込みシステムの不具合検出
拡張可能なUMLモデルエディタ
まとめ
2007/3/16
2
研究の背景
組込みシステムの現状
組込みシステムの特徴
組込みシステムの不具合検出
2007/3/16
3
組込みシステムの現状
組込みシステムの品質に対する要求の高まり
しかし…
開発段階における組込みシステムの不具合の検出が困難
なぜなら…
システム外部の要素も考慮する必要があるが,
手法等によるサポートが不十分なため困難な状況にある
したがって…
システム外部の要素を考慮した分析手法が必要
2007/3/16
4
組込みシステムの特徴
組込みシステム:
センサやアクチュエータを
介してシステム外部(外部
環境)と関係を持つ.
→外部環境を考慮する必要.
外部環境
ライン 入力
進行方向
出力
出力
車体速度
2007/3/16
ライントレーサ
外部環境
入力
組込みシステム
センサ
ソフトウェア
出力
アクチュエータ
光センサ
ソフトウェア
ステアモータ
ドライブモータ
ライントレーサ:
地面に引かれたラインに沿っ
て走行する自律走行ロボット
5
組込みシステムの不具合検出
外部環境に起因する
組込みシステムの不具合
組込みシステムの
動作検証
ライントレーサの不具合の例:
筐体の周囲の光(環境光)が(カメラのフラッ
シュなどで)強くなることでラインとの位置関係
(ライン上か否か)を誤認識する.
外部環境モデル
外部環境分析
本発表の目的:
外部環境モデルを厳密に記述するための
UMLプロファイルの提案.
組込みシステムへの要望
2007/3/16
6
外部環境記述用UMLプロファイル
通常のUML表記の問題点
外部環境記述用UMLプロファイルの利点
外部環境記述用UMLプロファイルの概要
ステレオタイプ定義
OCLによる制約の定義
2007/3/16
7
通常のUML表記の問題点

外部環境モデルに含ませる情報が定まっていない


完全に記述者の判断に任される
情報の不足したモデルになる可能性もある

この場合,不具合の検出で不都合が生じる
環境光
光センサ
光センサの状態が,環境
光の影響で変化した場合
と,地面からの反射光の
影響で変化した場合とで
違いが分からない.
2007/3/16
地面からの反射光
通常のUML表記の例
8
外部環境記述用UMLプロファイルの利点

外部環境モデルに含ませるべき情報が明確になる


オブジェクトが属する分類
オブジェクト間の関連の意味
<<Hardware>>
光センサ
<<Noise>>
<<Observe>>
光センサの状態が,環境
光の影響で変化した場合
と,地面からの反射光の
影響で変化した場合とで
意味が違うことが分かる.
2007/3/16
<<Context>>
環境光
<<Context>>
地面からの反射光
UMLプロファイルを用いた例
9
外部環境記述用UMLプロファイルの概要


UMLプロファイルとは,UMLを拡張するためのメカニズム
外部環境記述用UMLプロファイルの目的

以下の3項目を定義





オブジェクトの分類
オブジェクト間の関連
これらに対する制約
これにより,外部環境モデルに記述すべき情報が定義されるため,
外部環境の厳密な記述が可能になる.
外部環境記述用UMLプロファイルの構成


ステレオタイプ定義
OCLによる制約の定義
2007/3/16
10
ステレオタイプ定義

UMLメタモデルを拡張


外部環境モデルに記述される要素の分類を定める
以下の二つを定義

オブジェクトの分類




Software
Hardware
Context
オブジェクト間の関連


2007/3/16
Hardware-Context間:
Control,Observe,Noise
Context-Context間:
Transfer,Affect
11
ライントレーサの記述例
<<Software>>
ライントレーサ制御
<<Hardware>>
光センサ
<<Context>>
環境光
<<Observe>>
シ
ス
テ
ム
<<Hardware>>
ドライブモータ
<<Hardware>>
ステアモータ
<<Control>>
<<Context>>
地面からの反射光
<<Control>>
<<Context>>
速度
2007/3/16
<<Affect>>
<<Affect>>
<<Transfer>>
<<Context>>
真下の地面の色
<<Affect>>
<<Context>>
進行方向
<<Noise>>
<<Transfer>>
外
部
環
境
<<Context>>
ラインとの位置関係
12
ステレオタイプ定義によるUMLメタモデル拡張
ステレオタイプ定義(一部)
名前
拡張する要素
<<Context>> Class
標準のUMLメタモデル(一部)
<<Observe>> Association
<<metaclass>>
Property
<<metaclass>>
Class
<<Extension>>
<<stereotype>>
Context
2007/3/16
<<metaclass>>
Association
<<Extension>>
<<stereotype>>
Observe
13
外部環境記述用UMLプロファイルの
拡張UMLメタモデル
標準のUMLメタモデル(一部)
<<metaclass>>
Class
baseClass
0..1
extensionContext
0..1
extensionHardware
2..*
<<metaclass>>
Association
0..1
baseAssociation
1
0..1
extensionSoftware
<<stereotype>>
Hardware
0..1
extensionObserve
<<stereotype>>
Control
2007/3/16
*
1
<<stereotype>>
Context
0..1
extensionControl
0..1
<<metaclass>>
Property
<<stereotype>>
Software
0..1
extensionNoise
<<stereotype>>
Observe
0..1
extensionTransfer
<<stereotype>>
Noise
0..1
extensionAffect
<<stereotype>>
Transfer
<<stereotype>>
Affect
14
OCLによる制約の定義

ステレオタイプ定義により拡張されたUMLメタモデルを制約


外部環境モデルに記述される要素に対する制約を定める
以下の二つを定義

オブジェクトの分類に対する制約


例:ハードウェアは,別の要素を観測もしくは制御する役割をどちらか一
方だけ持つ
オブジェクト間の関連に対する制約

2007/3/16
例:観測は,ハードウェアと外部環境の要素の間の関係である
15
定義したOCL記述の例
対象:<<Hardware>>
inv: baseClass.ownedAttribute.association.extensionObserve->notEmpty()
xor baseClass.ownedAttribute.association.extensionControl->notEmpty()
意図: ハードウェアは,別の要素を観測もしくは制御する役割をどちらか
一方だけ持つ.
内容: <<Observe>>もしくは<<Control>>を一方だけ持つ.
<<Hardware>>
光センサ
<<Observe>>
<<Context>>
地面からの反射光
2007/3/16
<<Control>>
<<Context>>
環境光
16
OCL記述と拡張UMLメタモデルの対応関係
対象:<<Hardware>>
inv: baseClass.ownedAttribute.association.extensionObserve->notEmpty()
xor baseClass.ownedAttribute.association.extensionControl->notEmpty()
標準のUMLメタモデル(一部)
<<metaclass>>
Class
baseClass
0..1
extensionContext
0..1
extensionHardware
2..*
<<metaclass>>
Association
0..1
baseAssociation
1
0..1
extensionSoftware
<<stereotype>>
Hardware
0..1
extensionObserve
<<stereotype>>
Control
2007/3/16
*
1
<<stereotype>>
Context
0..1
extensionControl
0..1
<<metaclass>>
Property
<<stereotype>>
Software
0..1
extensionNoise
<<stereotype>>
Observe
0..1
extensionTransfer
<<stereotype>>
Noise
0..1
extensionAffect
<<stereotype>>
Transfer
<<stereotype>>
Affect
17
支援ツール
拡張可能なUMLモデルエディタ
2007/3/16
18
拡張可能なUMLモデルエディタ



Eclipseプラグイ
ン
メタモデル拡張によるモデルエディタ生成機能
OCLの制約によるエラー検出
2007/3/16
19
まとめ
2007/3/16
20
まとめ

外部環境モデルの厳密な記述のためのUMLプロファイルを
提案した



ステレオタイプにより,オブジェクトの分類とそれらの間の関連を定義
OCLにより,ステレオタイプで定義された要素の制約を定義
今後の課題

形式手法による組込みシステムの不具合検出


外部環境モデルから形式言語への変換が必要なため,その変換規則を
検討する予定
ステレオタイプ定義の洗練とそれに伴う制約の修正
2007/3/16
21