2018年6月27日水曜日

SysML初級講座 第5回 UMLとSysML 言語体系


今回は、講座を進めるにあたり、まずSysMLの全体観を概説したいと思います。
ご存知の方が多いと思いますが、SysMLというモデリング言語はUML言語を拡張したものであり、SysML言語の全体の半分以上の性質はUMLをそのまま踏襲したものになっています。
また、その拡張方法もUMLの持つプロファイリング機能を使ったものであり、広義にはSysMLはUMLの一種と見做すことも可能です。
従って、当講座ではSysMLの通常のUMLと異なる部分を中心に議論し、UMLそのものの本来の機能はこの講座では取り上げません。

というのも、システム関連のモデリング言語はSysML以外にいくつもあり、例えば業界固有な言語としては自動車業界のAUTOSRやEAST-ADLなどがあり、それらのモデリング言語はUMLをベースに拡張したものです。
そして、1つの言語でシステムのすべてがモデリング出来るわけではなく、実用的には複数を組み合わせて使うことが現実的です。(一体に言って、個々の対象分野の具体的固有部分は業界固有言語でモデリングし、上位概念や包括的分野をSysMLで記述すると言う傾向が見られます。)
そういった環境下においては、UMLの機能とSysMLの機能をゴッチャにして覚えてしまうのは得策ではなく、まずUMLの基礎知識を押さえておいて、それをベースにして、SysML(や他の言語)の拡張された部分を追加的に学習する方が効率的であり応用が効きやすいアプローチになります。

と言うわけで、本講座としてはUML Ver.2.5をベースにして、そこから拡張された部分を解説して進めてゆきたいと思います。

SysMLとUMLの関係


SysMLは、先に書いたように、UMLを拡張したものですが、すべてのUMLの機能を拡張したわけではなく、拡張した部分と拡張せずにUMLをそのまま使った2つの部分からなり、また、UMLの機能のうちSysMLでは全く使われずSysMLには取り入れられなかったものも存在します。
これらの関係を図示したものが下の絵です。




図中の青い円で囲まれた部分がSysMLで、赤い楕円で囲まれた部分がUMLを示しています。
また、UMLを拡張せずにそのまま再利用した部分は、UML4SysML(UML for SysML)と呼ばれます。


SysMLのダイアグラム構成


SysML部分をダイアグラム(図)ごとに、分類したものを下に示します。




  • UMLのダイアグラムを拡張したもの
    • アクティビティ図(ActivityDiagram)  UMLのアクティビティ図を拡張して使用
  • UMLのダイアグラムを拡張し名称の一部を変更
    • ブロック定義図(Block Definition Diagram) UMLのクラス図を拡張し名称を変更
    • 内部ブロック図(Internal Block Diagram) UMLのクラス図を拡張し名称を変更
  • 新規に追加
    • 要求図(Requirement Diagram) 文法的にはクラス図を拡張したもの
    • パラメトリック図(Parametric Diagram)          同上
  • UMLの図を変更せず再利用 UML4SysML
    • シーケンス図、ステートマシン図、ユースケース図、パッケージ図

また、UML図の中からSysMLに取り入れられなかったダイアグラムとして、コラボレーション図、コンポーネント図などのソフトウェア固有の図があります。
これらは、SysMLの図には全く含まれません。






0 件のコメント:

コメントを投稿