WOLFRAM

Model Centerコンポーネントブラウザ

列の表示・非表示の切換えコンポーネントの削除
コンポーネントのソート継承関係の削除
コンポーネントの選択コンポーネントのプロパティの編集
クラスを開き編集するコンポーネントをFinalにする
コンポーネントを開くコンポーネントのタイプの変更
コンポーネントの名前変更コンポーネントのグラフィックス表現を加える

モデルエディタの右側のコンポーネントブラウザは,現在開いているクラスのすべてのコンポーネントをツリービューでリストする.コンポーネントは宣言されているクラスによってグループ化される.コンポーネントブラウザの基底クラスは,名前の前の拡張で分かる.

宣言されたコンポーネントのないコンポーネントとクラスは,ツリービューの葉として表示される.コンポーネントを含むコンポーネントとクラスは枝として表される.コンポーネントやクラスを開くためには,そのアイコン(アイコンがない場合は名前)の左側の記号をクリックする.開いているコンポーネントの記号をクリックすると,コンポーネントは再び閉じる.

ツリービューは2列になっており,1列目にはアイコン(可能なら)とクラスまたはコンポーネントの名前が,2列目にはコンポーネントのタイプとクラスの階層的完全名が表示される.タイプを表示する2列目は,デフォルトでは表示されない.列の表示/非表示の切換えの詳細は列の表示・非表示の切換えについてのセクションを参照されたい.

1.gif

Modelica.Mechanics.Rotational.Examples.CoupledClutchesモデルのコンポーネント

列の表示・非表示の切換え

コンポーネントブラウザの列の表示/非表示を切り換えるためには,列のタイトルを右クリックする.ポップアップウィンドウが現れるので,表示/非表示を切り換えたい列の名前を選ぶ.デフォルトでは名前列が表示されている.

2.gif

コンポーネントブラウザの列の表示/非表示の切換え

コンポーネントのソート

コンポーネントブラウザの項目は名前またはタイプでソートできる.デフォルトでは項目はコンポーネント名の昇順でソートされており,それは名前列のタイトルにある上向きの矢印で認識できる.

タイプ名を昇順でソートするためには,そのタイプ列のタイトルを一度クリックする(タイプ列が表示されていない場合,列の表示/非表示の切換えについては列の表示・非表示の切換えについてのセクションを参照).タイプ列タイトルを2回クリックすると,項目はタイプ名の降順でソートされる.

ソートの昇順・降順を切り換えると,矢印が指す向きが変化する.

3.gif

コンポーネントブラウザで項目をタイプ名でソートする

コンポーネントの選択

コンポーネントブラウザ では任意の数の項目を選択できる.単一の項目を選択するには,マウスの左ボタンで 1回クリックする.追加の項目は コントロール キーを押しながらクリックすることで選択できる.項目の長さを選ぶには, Shift キーを押しながら最初の項目をクリックしてから最後の項目をクリックする.

コンポーネント (タイプが同じであれば複数のコンポーネント) を選択すると,変数ビュー にコンポーネントのパラメータ,変数および定数が入力され,コンポーネントが構成できる.

基本クラスを表す項目 (extends という単語で始まりその後にクラス名が続く項目) を選択すると,その特定のクラスから継承されたパラメータ,変数および定数のみを変数ビューに表示できる.

クラスを開き編集する

コンポーネントブラウザにリストされた基底クラスとコンポーネントのクラスを編集するためには,クラスまたはコンポーネントの上で右クリックし,ポップアップメニューから「クラスを開く」を選ぶ.クラスは,すでに開いている場合を除き,新しいクラスウィンドウで開く.

コンポーネントを開く

コンポーネントをダブルクリックまたは右クリックして,ポップアップメニューから「コンポーネントを開く」を選ぶと,コンポーネントの内部をグラフィカルに可視化できる.これがモデルの理解と構成にどのように役立つかについては, コンポーネント階層の可視化についてのセクション を参照されたい.

コンポーネントの名前変更

コンポーネントブラウザあるいはアイコンビューダイアグラムビューなどのグラフィカルビューで,右クリックをしてポップアップメニューから「名前の変更」を選択すると,コンポーネントの名前を変更できる.コンポーネントを選択してF2キーを押しても変更できる.変数ビューのどこかに表示されるコンポーネントは,右クリックをしてポップアップメニューから「名前の変更」名を選択するだけで名前を変更できる.

コンポーネントの名前を変更すると,名前が変更されたコンポーネントへの参照はすべて自動的に更新される.この操作のスコープは,コンポーネントの名前変更ダイアログで指定することができる.スコープにライブラリを選択すると,ライブラリ内で名前を変更されたコンポーネントの参照だけが更新され,グローバルを選択すると,ライブラリ外のクラスでの参照も検索される.

4.gif

DataRatesという名前のライブラリ内のコンポーネントdataの名前を変更し,ライブラリ内だけコンポーネントdataへの参照を更新する.

名前変更が完了したら,名前変更されたコンポーネントへの参照によって更新されたすべてのクラスのリストが表示される.

Modelicaテキストビューでクラスを編集しているときに,コンポーネントブラウザ,グラフィカルビュー,変数ビューを使ってコンポーネントの名前を変更したり,継承されたコンポーネントの名前を変更したりすることはできない.

コンポーネントの削除

コンポーネントブラウザは,クラスからコンポーネントを削除するときにも使用できる.まずクラスウィンドウのアクティブビューをアイコンビューまたはダイアグラムビューにする.削除するコンポーネントを選び,「編集」 「削除」,またはコンポーネントの名前を右クリックして現れたポップアップメニューから「削除」を選ぶ.継承された個々のコンポーネントを削除することや,Modelicaテキストビューでクラスを編集している最中にコンポーネントを削除することはできない.

拡張された特定のクラスの継承されたコンポーネントすべてを削除するためには,コンポーネントブラウザで拡張されたクラスを選択し,それを削除して継承関係を削除する.詳細は継承関係の削除についてのセクションを参照されたい.

継承関係の削除

コンポーネントブラウザは,どのコンポーネントがどのクラスから継承されているのかを見やすくするために,コンポーネントをその宣言クラスによってグループ化する.コンポーネントブラウザで拡張されたクラスを選択し,「編集」 「削除」を選ぶと,継承関係を削除することができる.クラスは拡張されたクラスのリストから削除され,そのクラスから継承されたすべてのコンポーネントも削除される.

拡張されたクラスのリストはクラスのプロパティダイアログボックスからも編集できる.このダイアログボックスではクラスを追加することもできる.詳細はクラスのプロパティの編集についてのセクションを参照されたい.

Modelicaテキストビューでクラスを編集しているときに,コンポーネントブラウザを使って継承関係を削除することはできない.

コンポーネントのプロパティの編集

コンポーネントのプロパティを編集するためには,そのコンポーネントを右クリックし,ポップアップメニューから「プロパティ」を選ぶか,コンポーネントを選択してから「編集」メニューの「プロパティ」を選択する.

コンポーネントのプロパティダイアログボックスの詳細はコンポーネントのプロパティについてのセクションを,クラスのプロパティダイアログボックスの詳細はクラスのプロパティの編集についてのセクションを参照されたい.Modelicaテキストビューでクラスを編集しているときに,コンポーネントやクラスのプロパティを編集することはできない.

コンポーネントをFinalにする

コンポーネントが今後変更されないようにするために,そのコンポーネントをFinalとして設定することができる.Finalと設定したクラス内では変更できるが,そのクラスのコンポーネントを作成する,またはそのクラスを拡張するどのクラスからも,そのコンポーネントを変更することはできない.

変数をFinalにするためには,コンポーネントを右クリックする.現れたメニューから「final」をクリックして,Finalプロパティを切り換える.finalの左のチェックマークは,Finalに設定されてることを示す.コンポーネントがグラフィカルビュー(アイコンビューダイアグラムビュー)に存在する場合は,そこからでもFinal特性を切り換えることができる.

finalの項目が無効になっていてクリックできないこともある.これは,例えばそのコンポーネントがFinalと設定された別のコンポーネントの一部であるときに生じる.そのコンポーネント内部のコンポーネントもすべてFinalとなるからである.

コンポーネントのタイプの変更

既存のコンポーネントのタイプは変更することができる.コンポーネントがアクティブなクラスウィンドウのクラスで宣言されたものである場合, コンポーネントブラウザ (またはコンポーネントがそこに存在する場合はダイアグラムビュー )でコンポーネントを右クリックしてからポップアップメニューからコンポーネントタイプの変更... を選択すると,そのタイプを変更できる.この方法でタイプを変更すると,クラス定義で宣言されたコンポーネントのタイプが置き換えられ,そのクラスを拡張またはコンポーネントとして使われるすべてのクラスに影響を及ぼす.

現れたダイアログボックスで,新しいコンポーネントタイプを入力し,「OK」をクリックする.クラスブラウザからクラスをドラッグし,テキストボックスにドロップすることもできる.

5.gif

コンポーネントのタイプ変更

タイプを変更するもう一つの方法に,再宣言がある.これはコンポーネントが置換可能と宣言されている場合に可能である.(デフォルトではコンポーネントは置換可能ではない)コンポーネントを置換可能にする方法についてはコンポーネントのプロパティの編集についてのセクションを参照されたい.

置換可能なコンポーネントの使用は,モデルをコンポーネントレベルで構成可能にする強力な方法である.Model Centerはまた置換可能なコンポーネントを再宣言するときに自動的に互換性のあるコンポーネントを見付けるサポートをする.

置換可能なコンポーネントが基本クラスから継承されている場合,そのコンポーネントは基本クラスに変更を加えることなく任意のサブクラスで再宣言できる.コンポーネントの再宣言は,サブクラスに再宣言の変更を導入することによって実行される.同様に,ほかのコンポーネント内にある置換可能なコンポーネントを再宣言できる.これにより,宣言されているクラスの定義を実際に変更することなく,コンポーネン階層内の任意の場所でコンポーネントを置き換えることができる.アクティブなクラスウィンドウだけが影響を受ける.

宣言されたクラスで,置換可能なコンポーネントを再宣言することもできる.この操作の結果は,宣言されたタイプを実際に変更することと同じであるが,互換性のあるタイプのコンポーネントのリストの形式で支援を提供するModel Center の利点がある.

置換可能コンポーネント,コンポーネントの再宣言,およびモデルの再使用可能性についての一般的な詳細情報は,再利用・設定可能モデルのチュートリアルを参照されたい.

置換可能なコンポーネントを再宣言するには,コンポーネントブラウザでコンポーネントを右クリックし,ポップアップメニューから「コンポーネントの再宣言」を選ぶ.互換性のあるタイプの全てのコンポーネントがサブメニューの All Matching Types の下にメニュー項目として表示される.新しいタイプを選択する場合はメニュー項目のOther... をクリックする.ダイアグラムビューにコンポーネントがある場合は,そこから行うこともできる.

6.gif

置換可能なロジカルブロックコンポーネントを再宣言する(Modelica.Blocks.Interfaces.partialBooleanSI2SO).

Modelica言語では,再宣言によってコンポーネントのタイプを変更を加えることについての制約がある.より基本的な必要条件の一つに,新しいタイプのインターフェースが元の宣言のインターフェースと互換性がなければならないというものがある.

コンポーネントの再宣言のための候補コンポーネント一式の提供

置換可能コンポーネントを使ってモデルを開発する場合,コンポーネントの再宣言の際にユーザが選べるコンポーネントのカスタマイズされたリストを提供してもよい.これはModelicaの標準アノテーションであるchoicesアノテーションで行える.

例えばCPUを含むメインボードの電気回路モデルにおいて,CPUを置換可能にし,ピン互換プロセッサの設定を含むchoicesアノテーションを使うと,メインボードのユーザがさまざまなプロセッサを使ってメインボードを簡単に検証できるようにすることができる.この場合,choicesアノテーションは,メインボードモデルのCPUコンポーネントのためのアノテーションとなる.

replaceable Electrical.MC68000 cpu annotation(
choices(
choice(redeclare Computer.MC68000 cpu(freq=8)
"Motorola 68000 at 8MHz"),
choice(redeclare Computer.MC68000 cpu(freq=16)
"Motorola 68000 at 16MHz"),
choice(redeclare Computer.MC68010 cpu(freq=16)
"Motorola 68010 at 16MHz")
), Placement(...)));

上の例では,再宣言の際の候補として,8MHzにおけるMC68000 CPU,16MHzにおけるMC68000 CPU,16MHzにおけるMC68010 CPUの3つを提供する.ユーザはメインボードを自分のコンピュータモデルのコンポーネントとして加えたら,CPUを右クリックし,メニューから「再宣言」を選択し,候補のリストから新しいプロセッサを選ぶだけでCPUを変更することができる.下のスクリーンショットから分かるように,choicesアノテーションの文字列は,CPUコンポーネントを再宣言する際の候補を表す.

コンポーネントのchoicesアノテーションは,コンポーネントのプロパティダイアログでも作成したり編集したりできる.再利用・設定可能モデルチュートリアルのコンポーネントの再宣言の選択肢のセクションを参照されたい.

7.gif

choicesアノテーションを使ったコンポーネントの再宣言

コンポーネントのグラフィックス表現を加える

Modelicaテキストビューでコンポーネントをクラスに加えるときに,グラフィカルアノテーションを加えない限り,そのコンポーネントはダイアグラムビューでは表示されない.グラフィカルアノテーションはコンポーネントをダイアグラムビューに置いたときの状態を記述するものであり,Connectorコンポーネントについてはアイコンビューにおける配置についても記述する.

コンポーネントをコンポーネントブラウザからドラッグしてダイアグラムビューにドロップすると,モデルエディタはコンポーネントのグラフィカルアノテーションを生成することができる.コンポーネントがConnectorコンポーネントである場合は,アイコンビューにも表示される.

複数のコンポーネントをコンポーネントブラウザで選択し,ダイアグラムビューにドロップすると,複数のコンポーネントのグラフィカルアノテーションをまとめて生成することができる.その後,コンポーネントはグリッド上に配置される.

既存の接続についてのグラフィカルアノテーションがない場合は,接続されたコンポーネントのグラフィカルアノテーションが生成されるときに生成される.