Skip to content

Category: SysML

MBSE (モデルベース・システムズエンジニアリング) とSysML概説

 「モデルベース・システムズエンジニアリング」とSysML概説 「モデリングしてますか?」 システムが複雑になって、メカ、エレキ、ソフト、色んなコンポーネントが絡み合って、一つの目的を達成するようなシステム開発では役割を超えて、いろんな人が、メカ専門の人、エレキ専門の人、それからソフト専門の人集まってですね、システムの問題領域を理解する必要があります。 あるいは、その作ろうとしているシステムの構造や振る舞いについて、共通の理解を作っていく必要がありますが、その為にですね、今、「システムズエンジニアリング」といった領域が注目を集めています。 特に、中心に「モデル」を作ってですね、そのモデルで、全体の合意を作っていこう、という「モデルベース・システムズエンジニアリング」、略して「MBSE」と言いますが、そんな活動、新しい工学が、今、注目をされています。 最近ですと、鉄道、航空、自動車ですね。あと日本だとロボティクスやスマートハウスといった、そういったシステムも今言ったようなシステムズエンジニアリングの課題になってきています。  オーケストラのように、全員が全体を把握できる楽譜が必要 例えば、オーケストラを例にとるといいかもしれません。色々な楽器を吹く方々が集まって一つの音楽を作るときにやはり指揮者のような立場の人がいて全体をオーケストレイトしていく。そんな必要がでてきます。そういう時に、共通の図面というか言語が必要になります。 メカ、エレキ、ソフト、それぞれが独自の図面というか、ビジュアライゼーションの方法をもっていますが全体を通じたものって、今まで定義されてませんでした。 SysMLという言語がOMGで定義されて、そのオーケストラの楽譜のような全体で、それを見て全員が理解できるような言語が作られてきています。このAYM(Are you modeling?)サイトでは、SysML、それからMBSE(Model based systems engineering)それから、Safety関連ですね、特にGSNと呼ばれる「システムが安全である」ということを、ビジュアルな表現でもって議論をしていくような手法なんかも注目されています。こういった新しい手法をみなさんに紹介していきたいと思います。

【対談】ロボットのハードウェア抽象化層を標準化する – JASAがOMGでHAL(Hardware Abstraction Layer)の規格を提案

米国OMGの規格策定会議に参加中のJASA(組込み技術協会)の中村理事に、JASAが提案しているOpenELおよびHAL規格について、その思いをお話頂きました。 モデリングしてますか? 今日は米国のテキサス、オースチンに来ています。OMGの標準化ミーティングに参加しています。今日は中村さんをお招きしてお話を伺いたいと思います。こんにちは、中村さん。   こんにちは。      ロボットのハードウェア抽象化レイヤーの標準化活動 今回OMGはどういった目的で参加されているんですか?     はい。私はOMGではロボットのハードウェア抽象化レイヤーの標準化を進めようということで参加しております。     HALってやつですね。エイチエーエル。     はい。ハードウェア・アブストラクション・レイヤーの略で「ハル」と呼んでおります。     その辺に関わることになった経緯も含めて自己紹介をお願いできますか?     私は、日本では社団法人組込みシステム技術協会、略称でJASAと言いますが、そちらで理事をしておりまして、その中のプラットフォーム研究会というところで、ロボットのハードウェアの抽象化を標準化しましょうという活動を行っております。JASAではOpenEL(Open Embedded Library)という規格を現在作っておりまして、OMGに参加して、ロボティクスDTFで活動しております。 JASAってETロボコンとかもやってらっしゃいますよね?     はい。既にETロボコンの開発キットとして弊社よりOpenELに対応しましたリアルタイムOS、およびOpenELのライブラリを配布しておりますので、ETロボコンの参加者の方は既にOpenELを使っていただける環境にあります。 […]

基本編(2) 動きを表現するシーケンス図

UMLシーケンス図を、モデリングツール astah*でサンプル図を描きながら解説します。 [スクリプト] モデリングしてますか? 今日は、シーケンス図をやってみたいと思います。 シーケンス図は、複数のオブジェクトが協力して、1つのゴールを達成する、そのような振る舞いを表現した図です。例として、このような携帯のアプリを考えてみます。 携帯に、こんな情報(右図)を入力して登録ボタンを押すと、それがサーバーに送信されて、ユーザー登録が行われる。そんな一連のアクションを、シーケンス図で表現してみたいと思います。 シーケンス図には、2通り描き方があって、1つは、ラフに登場するオブジェクトを描いていく方法と、もう1つは、クラス図を前提として、そのクラスの参加する振る舞いを描いていく。この2種類があります。 今日はその両方のやり方で、やってみたいと思います。 実際に、描くシーケンス図は、このようになります(右図)。 ユーザーが3つの情報を入力して、登録ボタンを押すと、アプリがサーバーに登録を行う、このようなモデルです。 では、実際のastahで見てもらいましょう。どうぞ。 ラフな”シーケンス図を描いてみる ここでは、ラフなイメージのシーケンス図を描きます。 まず、ライフラインを1つ選んで描いていきます。ここに、ライフラインの種類を選ぶ事ができます。 1つ選んで、ここでは利用者という名前にしましょう。 もう1つ、アプリを代表するライフラインを作ります。「アプリ」と入れます。 次に、利用者が、そのアプリに対して何を操作するかをメッセージを使って描いていきます。 ここでメッセージを選ぶ事も出来ますが、astahではこのバーを引っ張る事によって、描き入れる事ができます。 ここでは、名前を入力するので「名前」と入れます。 次にもう1つ描いてみましょう。 名前の他にも、利用者が入力するものとして「呼び名」というものを入れてみましょう。 「呼び名」と「名前」をアプリに設定します。 それから、例えば「アバター」というのも、ここに入れてみましょう。利用者が、アプリに対して「名前」と「呼び名」と「アバター」を設定した後、この3つの情報を入れて「了解」というボタンを押すとします。 もう1つのライフラインを追加します。 そうすると次に、この情報で、「アプリ」が「サーバー」に向かって、情報を「ユーザー設定」という風に、「サーバー」に対して呼び出します。ここではリターンのシーケンスも入れたいので、リターンメッセージを追加して、これで一通りできました。 利用者が、アプリに対して、入力したものがサーバーに送られた、そんな図が、1つ描けました。 先にクラス図を描いてから、シーケンス図を作成する 次に、最初からクラス図がある場合、これらのクラスが参加するシーケンス図を描いていきたいと思います。 ここに「利用者」、それから「アプリの画面」、「サーバー」、3つのクラスを用意しています。この3つからシーケンス図を描いていきましょう。 […]