<< 目次を表示 >> ページ位置: SysMLのモデリング > パラメトリック図の作成支援 > 等式を入力して制約ブロックの作成 |
SysMLの制約ブロックを作成する際に、パラメータを等式として指定することで、関係するパラメータを効率よく作成できます。制約ブロックの編集ダイアログを利用します。
入力された等式の内容が解釈され、パラメータが抽出されます。
利用手順:
コンテキストメニュー |
制約ブロック要素を右クリックし、「制約ブロックの編集」を選択 |
その他 |
ツールボックス内の制約ブロック要素をドラッグし、ダイアグラム内にドロップ |
等式の解釈とパラメータの生成
次の例は、制約としていくつかの等式を入力した状態です。3つの等式には、合計で5つのパラメータが含まれています。等式を入力すると、その等式に含まれるパラメータを自動的に抽出し、追加対象にします。 パラメータの一覧の書くパラメータの先頭にある '+' マークは、現在モデル内には存在せず、追加対象であることを示します。
閉じるボタンを押すと、次のようなメッセージボックスが表示され、パラメータを追加するかどうか選択します。「はい」を押すとパラメータがモデル内に追加されます。この方法以外に、制約ブロックの編集ダイアログ内の一覧に表示されているパラメータを右クリックして「生成」を選択することで、個別に指定することも可能です。
この例では、追加した結果は次のようになります。
必須ではないパラメータの削除
先の例で、制約ブロックの編集ダイアログを開き直し、以下の制約を削除したとします。
lossPower = f * v_rel
'lossPower'パラメータは、必須ではないパラメータとして表示されます。
既存のパラメータと等式のパラメータを結びつける
先ほどの例で、入力済みの等式を変更する場合を考えます。例として
f = d * v_rel
を、以下のように変更します。
f = distance * v_rel
この変更の結果、以下の内容が発生します。
ここで、パラメータ 'd' を削除して、新たにパラメータ 'distance' を作成するという選択肢もあります。しかし、パラメータを既に他の図で利用している場合には、その図で利用されている内容にも削除が影響します。そのため、パラメータ'd' の名前を変更し、'distance'に変えるということができます。パラメータ'd'を右クリックし、「名前の変更: 'd' → 'distance'」を選択してください。
関数と追加対象外のパラメータ
等式に関数表現を利用する場合には、関数の名前に続いて括弧を記述する必要があります。
また、関数の引数を追加対象のパラメータとして認識させたくない場合には、「追加対象外のパラメータ」ボタンを押して指定できます。
例:
例えば、等式I 'r = cos(time)' を入力し、関数の引数 'time' を追加対象外にしたい状況で、指定が必要です。
制約ブロックの合成
次の例では、制約ブロックKには制約は定義されていません。しかし、3つの制約ブロックK1, K2, K1TimesK2を持っています。制約ブロックKには5つのパラメータが定義されています。
この制約ブロックKのパラメトリック図は次のようになるとします。
このような場合に、制約ブロックを対象に制約ブロックの編集ダイアログを開くと、以下のように表示されます。
制約プロパティ要素欄の項目を選択すると表示される ボタンを押すと、SysML制約プロパティとパラメータの結びつけダイアログが表示され、関係を定義することができます。