ストラタジーナム メニュー

2010年7月7日水曜日

SysML 中級講座: 第2回 システム工学とSysML

SysML言語の詳細に入る前に、システム工学とモデリング、そしてSysMLの関係を概観しましょう。

まず、システム工学ですが、これ はコンピュータが発明される以前から存在する学問分野で、最初は人間系が主な対象でしたが、機械系、電気系システムの発展とともに対象が広がり、かなり広 範囲な学際的特徴をもつ分野です。
近年、コンピュータの登場とともにますます対象エリアは広がり、かつ非常に複雑なシステムを扱うようになってき ました。

システムズ・エンジニアと言うと日本ではITシステムを設計する技術者、特にソフトウェア技術者を指す言葉として定着しています が、これは日本固有の現象で、欧米ではシステムズ・エンジニアと言うと、第一義的に船舶とか航空機、ロケットなんかを思い浮かべる人が多いようです。
こ れは、システムズ・エンジニアと言う言葉が、それぞれの国で、どのような対象とともに登場して来たかを暗示しているのではないかと思います。
おそ らく日本では、IT系のシステムズ・エンジニアの登場以前には、システムズ・エンジニアと言う言葉が一般には馴染みのないものだったのではないかと想像し ています。


MBSE モデルベースト・システムズ・エンジニアリング

そして、モデリングとシステム工学も古くて新しい話題です。
そもそ も、システム工学にはモデリングというコンセプトを始めから包含していたとも言えます(例えば、数学モデル)。
また、モデリングと言う概念も拡張 しようと思えばいくらでも拡張できる訳で、例えばニュートン力学なんかは、自然対象を非常に高い精度で近似できる数学モデルという見方も可能です(もちろ んニュートン卿は、けっして近似モデルを発明発見したとは思ってなかったと思いますが)。

さて、現代的な意味でのモデリングはここ十数年 の間に急速に発達してきました。

始めは組込みソフトウェアの現場から

UMLは最初はソフトウェア開発、なかんずく上流行程で発生する様々な問題に対処するために誕生し ました。
しかしながら、組込み系ではいわゆるIT系のUMLでは事足らず、ソフトウェアを取り巻くシステム環境がモデリング出来ないと分析設計そ のものが不十分であるという壁にぶつかり、90年代後半あたりから独自の拡張をUMLに付け加えるようになってきました(当時、OMG内には、そう言った 問題に対処するSIGも誕生しました)。
このような「システム」を記述するためのUMLの拡張は、その後、UML2.0に取り入れられた形で発展 して行きます。
恐らく、IT系のみを担当するソフトウェア技術者の中には、UML2.0とともに登場した図の中に、何のためにあるのか分からない 表記法の存在に当惑した経験をお持ちの方が少なからずいらっしゃると思いますが、その多くは「システム」を記述するための(UML2.0の)拡張部分で す。

INCOSEとOMGの協同体制の発足

この様に、最初は組込み系システムの現場から誕生したシステムのモデリングと言う概念は、 2000年代に入ると、より大きな問題、より広範なシステムに対処するべくOMGという組織の枠を超えて広がって行きます。そして、システム工学の本家、 INCOSEとOMGの共同作業が始まります。
次の表はINCOSEとOMGの協同体制の発足からSysMLの誕生までの年譜を示しています。

  • 2001年 INCOSEとOMG間で協議開始
  • 2002年 RFI 発行 ー 市場から広く情報を集める
  • 2003年 RFP発行 ー 市場に提案を求める
  • 2007年 SysML 1.0
  • 2008年 SysML 1.1
  • 2010年 SysML 1.2
初期の段階では、システムをモデリングするための言語としてUML以外のものも検討されましたが、様々な理由、例えば、組込み系がUMLを使っ てシステム・モデリングを先行させている、既にUMLは学校等で教授されていて市場に馴染みがある、ソフトウェア設計との親和性、UML以外の言語でメタ モデル構造が標準化されている言語が無かった、等々の理由で、比較的すんなりとUMLをベースに言語を開発する事については合意されました。
しか しながら、その後のSysMLの詳細を詰める過程では議論は大もめにもめ、対立するグループが二派に別れて、それぞれが別々の言語仕様を作ると言った事態 にまで陥り、一元化するまでの間、半年以上の日月を空費するような事もありました。
SysML 1.0の誕生までに発足から約6年かかりましたが、関係者の努力の賜物と言えるでしょう。


誕生の経緯からお分かりの通り、 SysMLはモデルベースのシステム工学のための言語、道具です。目的か手段かと問われると、あくまでもMBSEを行うための手段です。
本講座で は、SysMLの言語的特性に焦点を当てて議論を進めますが、あくまでも道具である事を忘れないようにしていきたいと思います。

次回は、 システム工学をモデルベースで行う事に、どんなメリットが有るのかについて議論します。