Model Center—クラスブラウザ
クラスブラウザはライブラリのパッケージとコンポーネントをブラウズしたり,クラス名変更や保存等のクラスの操作を行ったりするのに使用する.
Modelicaのクラスの概念
Modelicaにおけるクラスは,システムをモデル化するするのに使用される.クラスからはクラスのインスタンスと呼ばれるオブジェクトをいくつでも作ることができる.クラスのインスタンスはコンポーネントとも呼ばれる.クラスは非常に一般的なもので,それが定義するものについての情報は一切与えないが,特化したクラスがいくつか利用できる.クラスの特化はクラスに適用される制約を指定する.
クラスのブラウズ
Modelicaのクラスとその階層構造は,クラスブラウザでグループ化されたツリービューで見ることができる.クラスはパッケージとコンポーネントにグループ化され,各グループ内の項目はアルファベット順にソートされる.パッケージはツリーの枝として,コンポーネントは葉として表される.パッケージの内容を表示するためには,そのアイコン(アイコンがない場合はパッケージ名)の左側の記号をクリックする.ダブルクリックしてもパッケージを開くことができる.パッケージ内では,項目はライブラリ開発者の指定に従って並んでいる.これは通常package.orderファイルまたは宣言順序で変更できる.
開いているパッケージの左側の記号をクリックすると,パッケージは再び閉じ,内容が隠される.
Modelica Standard Libraryのブラウズ
クラスブラウザでパッケージの内容を別のグループとして見るためには,パッケージ名を右クリックし,「グループとして見る」を選択する.これは,モデル設計時に,複数のパッケージのコンポーネントを使用したい場合に便利である.使用するパッケージを別のグループとして開くと,コンポーネントを探す際のスクロールアップ・ダウンを減らすことができる.
2つのパッケージのコンポーネントを別のグループとして表示する
パッケージまたはクラスのアイコンは,その名前を右クリックして「アイコンを画像としてコピー」を選ぶと,クリップボードに画像としてコピーすることができる.
クラスのアイコンの上にマウスカーソルを置いてそのまましばらく待つと,クラスのバルーンヘルプ(スクリーン上に表示される情報)が表示される.クラス名と,可能な場合はその説明が表示される.
クラスの検索
探しているクラスの名前またはその一部が分かっている場合は,クラスブラウザの検索機能が利用できる.これは,クラスの正確な場所が分からない場合に特に便利である.クラスブラウザの最上部のテキストボックスに,検索するテキストをタイプする.*文字を一つまたは複数使用することで,パターンマッチング検索もサポートされている.*文字はゼロまたは複数のあらゆる文字とマッチされる.例えばanalog*resistorを検索すると,Modelica.Electrical.Analog.Basicパッケージにあるすべての抵抗器クラスが検索されるが,Modelica.Electrical.MultiPhase.BasicやModelica.Electrical.QuasiStationary.SinglePhase.Basic等,他のパッケージの抵抗器はすべて排除される.
検索するテキストをテキストボックスにタイプするに従って,合致する結果の短いリストがクラスブラウザの最上部の検索ボックスの下にグループで表示される.合致する全結果のリストを得るためには,Returnを押すか「すべて検索」ボタンをクリックするかする.見付かった結果の数がグループのタイトルバーのカッコの中に表示される.入力した検索後に合致する結果が1つだけのときは,ボタンは「開く」に変わり, それをクリックするかReturnを押すかすると,そのクラスが新しいクラスウィンドウで開く.
デフォルトでは,名前が合致するすべてのクラスが結果に表示される.結果をさらに絞り込むために,フィルタが適用できる.利用できるフィルタには(All以外に)Examples,Components,Connectorsの3つがある.フィルタはクリックすると適用される.例えばシミュレーションが行える例題モデルだけが必要な場合は,「Examples」ボタンをクリックすると他の全てのクラスは結果から消える.Componentsフィルタはコンポーネントとして使用できるクラス(コネクタ以外)だけを表示し,Connectorsフィルタはコネクタコンポーネントとして使用できるクラスだけをリストする.
クラスブラウザの検索機能を使ってコンポーネントとして使えるtransformerクラスを検索する
コンポーネントブラウザまたはダイアグラムビューでコンポーネントを右クリックし,ポップアップメニューから「クラスブラウザでクラスを見る」を選ぶと,クラスブラウザのクラスの場所に直接移動することができる.
ライブラリ内の例題の検索
ライブラリ(またはサブライブラリ)内でシミュレーションが行える例題モデルを検索したい場合,例えばModelica.Mechanicsを検索したい場合は,クラスブラウザ内のライブラリ項目を右クリックし,「Find Examples in Mechanics」を選択する.この操作ではModelica.Mechanicsとそれより下のレベルにあるすべての例題モデルが検索結果として返される.これと同じ結果は,通常の検索機能を使ってExamplesフィルタを選び,検索テキストボックスにModelica.Mechanics.*とタイプしても得られる.
Modelica.Mechanicsライブラリ内のすべての例題モデルを検索する
クラスのコピー
クラスはクラスブラウザ内でドラッグアンドドロップするかメニューを使うかしてコピーすることができる.コピー先は,読取り専用でない限り,他のどのクラスでもよい.コピーしたいクラスをドラッグし,それをコピーを作成したいクラスにドロップする.クラスのコピーをクラス階層の最上位に作成したい場合は,グループのルートを表す項目にドロップする.
クラスを右クリックして「コピー」を選んでも,そのクラスをコピーすることができる.クラスはクリップボードにコピーされるので,希望のコピー先のクラスを選び,「編集」メニューから「ペースト」を選ぶと,何度でもコピーが作成できる.
クラスのコピーは,クラスを右クリックして「複製」を選んでも行える.
クラスをドロップ,またはメニューを使ってペーストしたら,確認ダイアログボックスが表示される.ダイアログボックスでは,コピーに元の名前と異なる名前を与えることもできる.
Modelica.Mechanics.Rotational.Components.BearingFrictionクラスのコピー
クラスを開いて編集する
クラス名を右クリックして,ポップアップメニューから「開く」を選ぶと,クラスを開くことができる.パッケージではないクラスについては,その名前をダブルクリックして開いた方が便利である.クラスは,すでに開いていない場合は,新しいクラスウィンドウで開く.すでに開いているクラスについては,クラスウィンドウがアクティブなクラスウィンドウとなる.
クラスを開いたときのクラスウィンドウのデフォルトのビューは,クラスの特化タイプによって決まる.例えばパッケージのデフォルトのビューはアイコンビューであり,モデルのデフォルトのビューはダイアグラムビューである.特定のクラスのデフォルトのビューは,クラスのプロパティダイアログからオーバーライドすることができる.そクラスのプロパティダイアログの詳細情報とアクセス方法については,クラスのプロパティの編集のセクションを参照されたい.
クラスが保存されているファイルに読取り専用属性が設定されている場合は,クラスも読取り専用となる.読み取り専用クラスもクラスウィンドウで開くことができるが,編集することはできない.Modelica Standard LibraryとIntroductoryExamplesライブラリのクラスはすべて読取り専用である.
クラスの作成
新しいクラスは,クラスブラウザのポップアップメニューか「ファイル」メニューで作成できる.クラスブラウザの空白領域で右クリックして現れたポップアップメニュー,または「ファイル」メニューから「新規クラス」を選ぶ.開いたダイアログボックスでは,クラスの属性が指定できる.
新しいクラスを既存のクラスに挿入したい場合は,クラスブラウザで親クラスを右クリックし,ポップアップメニューから「新規クラス」を選ぶ.ダイアログボックスの挿入場所テキストボックスが自動的に入力される.
- 特化タイプ.ドロップダウンメニューにはクラスのいろいろな特化タイプが含まれており,クラスに適用される制約を指定する.制約の詳細はModelicaのクラスの概念についてのセクションを参照されたい.クラスの特化タイプにEnumerationを選んだ場合,このダイアログボックスで列挙子とそれに対応する説明を指定することができる.列挙に新しい項目を加えるためには,列挙子列の空欄をクリックして入力する.列挙子を削除するときは,項目を選択して負号ボタンをクリックする.順番を入れ換えるときは上下矢印ボタンをクリックする.
- 挿入場所(オプション).クラスの場所を,親クラスの名前として指定する.親クラスが指定されていない場合は,クラスはクラス階層の最上位に作成される.「ファイル」メニューを使ってクラスを作成した場合は,挿入場所テキストボックスは空欄となる.クラスブラウザのポップアップメニューを使ってクラスを作成した場合は,クラスブラウザで現在選択されているクラスがあればクラスはそこに挿入される.
- 拡張(オプション).拡張欄は継承元の基底クラスを指定する.コンマで区切ることで,複数のクラスが指定できる.多くの場合,より特化したクラスを作成するときに拡張される一般インターフェースの基底クラスを宣言すると便利である.これは,例えばほぼすべての1ピンアナログ回路コンポーネントがModelica.Electical.Analog.Interfaces.OnePortクラスを継承するもの等,Modelica Standard Libraryでは一般的である.拡張したいクラスの完全パスが分からない場合は,クラスブラウザを使ってクラスを検索し,それをクラスブラウザからテキストボックスにドロップする.クラスブラウザの検索機能を使ってクラスを見付ける方法の詳細はクラスの検索についてのセクションを参照されたい.
- アイコン.クラスに使用するアイコンを指定する.アイコンをクリックすると変更できる.選択されたアイコンは,クラス作成後にさらにカスタマイズできる.選択できるアイコン集合は,選択されたクラスの特化タイプで決まる.このセクションの選択を解除すると,アイコンを持たないクラスが作成される.一般セクションの拡張フィールドで1つまたは複数の基底クラスが指定された場合,アイコンは基底クラスから継承され,変更することはできない.
クラスの名前変更
クラスの名前は,クラスブラウザでクラスの名前を右クリックしポップアップメニューから「名前変更」を選ぶ,あるいはクラスを選択してF2キーを押すことで,いつでも変更できる.また,クラスプロパティダイアログからクラスの名前を変更することもできる.
クラスの名前を変更すると,名前が変更されたクラスへの参照はすべて自動的に更新される.この操作のスコープは,Rename Class ダイアログで指定することができる.Libraryスコープを選択すると,ライブラリ内の名前が変更されたクラスへの参照のみが更新され,Globalスコープを選択すると,ライブラリ外のクラスへの参照も検索される.
DataRatesという名前のライブラリ内のTypesパッケージの名前を変更し,ライブラリ内のTypesパッケージへの参照を更新する.
名前の変更の操作が完了したら,名前の変更されたクラスへの参照によって変更されたすべてのクラスのリストが表示される.
クラス名を変更すると,クラスが保存されているファイルが変更されることもある.そのような場合,これを警告するダイアログが現れる:
クラス名を変更すると保存されている場所も変更される事を告げる警告
「名前を変更して保存」ボタンをクリックすると,名前が変更され,クラスは新しい場所に保存される.クラスに外部ファイルへの参照が含まれている場合は,名前変更を行った後にこれらの参照も変更しなければならない可能性がある.そのような参照には以下のようなものがある:
クラスの削除
モデルやその他のクラスを削除するためには,その名前をクリックして選択し,「編集」 ▶ 「削除」を選ぶか,クラスブラウザでクラスの名前を右クリックしてポップアップメニューから「削除」を選ぶかする.クラスを削除しても,ファイルは削除されないが,保存されていない変更点はすべて失われる.また,一つのファイルに関連付けられているクラスが複数存在する場合,例えばElectricalという名前のパッケージがResistorというクラスを含んでいるとすると,Resistorクラスを削除してパッケージを保存したら,ファイルからクラスResistorが削除される.
例えばModelica等,最上位のクラスを削除すると,クラスはアンロードされ,ファイルは削除されることも,影響を受けることもない.
クラスを削除したりアンロードしたりすると,他のクラスにあるクラスへの参照はすべて未解決となる.そのため,クラスのコンポーネントはModel Centerでグラフィカルに見られなくなる.削除されたクラスへの参照を含むクラスは変更されないが,未解決の参照に対処するまでシミュレーションは行えない.
クラスのプロパティの編集
名前,説明等,クラスのプロパティはクラスのプロパティダイアログボックスを使って見たり編集したりすることができる.クラスのプロパティダイアログボックスはクラスブラウザでクラスの名前を右クリックしてポップアップメニューから「プロパティ」を選ぶと開く.
- 名前.クラスを識別する.クラス名が変更できる場合は,その名前の隣にある編集ボタンをクリックして変更することができる.クラスの名前を変更したときに参照がどのように自動的に更新されるかについてはクラスの名前変更についてのセクションを参照されたい.
- 特化タイプ.クラスに適用される制約条件を指定する.クラスの特化タイプについての詳細はModelicaのクラスの概念についてのセクションを参照されたい.クラスの特化タイプはこのダイアログボックスでは編集できない.特化タイプを変更する必要がある場合は,クラスのModelicaテキストビューでできる.クラスの特化タイプがEnumerationの場合,このダイアログボックスで列挙子とそれに対応する説明を指定することができる.列挙に新しい項目を加えるためには,列挙子列の空欄をクリックして入力する.列挙子を削除するときは,行を選択して負号ボタンをクリックする.順番を入れ換えるときは上下矢印ボタンをクリックする.
- 定義場所.定義場所欄はクラスが定義されている場所へのパスを記述する.パスはこのダイアログボックスでは編集できない.クラスを別の場所にコピーする方法についての情報はクラスのコピーについてのセクションを参照されたい.
- バージョン:従属.従属セクションには,クラスが含まれるライブラリのすべての従属関係が一覧表示される.この情報は,最上位の親クラスのuses注釈から抽出される.従属関係は,最上位クラスのクラスプロパティを表示する時にのみ編集できる.
- エクスペリメント:ソルバの設定.ソルバの設定セクションはクラスのシミュレーションに使用する,開始・終了時間等のソルバの設定を示す.灰色のテキストはデフォルト値,または基底クラスから継承された値である.このような値は,新たに値を指定することで上書きできる.これらの設定についての詳細はエクスペリメント設定についてのセクションを参照されたい.このセクションには以下のプロパティが含まれる:
- ソルバ.動的システムを解くために使用するソルバ.以下の5種類のソルバがある: DASSL:後退微分法を使用する可変ステップ サイズおよび可変次数ソルバ. CVODES: 後退微分法を使用する可変ステップ サイズおよび可変次数ソルバ.CVODESには前方感度分析のサポートが追加されている.CVODES の詳細については https://computing.llnl.gov/projects/sundials を参照のこと. Explicit Euler,Heun's Method,Runge Kutta (RK4):リアルタイム シミュレーションに適した固定ステップソルバ.ステップサイズおよびシミュレーション結果の出力値の数は 区間長 の設定によって制御される.
- エクスペリメント:出力.出力セクションはクラスのシミュレーションで使用する出力設定を示す.灰色のテキストはデフォルト値,または基底クラスから継承された値である.このような値は,新たに値を指定することで上書きできる.
- 選択肢:選択肢の注釈.定義済みの値または再宣言一式をクラスと関連付けるクラスのchoices注釈.選択肢は通常ユーザに対して,プルダウンボックスまたはさまざまなコンテキストにおけるメニューの形で表示される.たとえば,飛行機のエンジンの数を表す目的でInteger型を拡張するModelicaクラスが作成された場合,最も一般的な値(1,2,3および4)を指定する選択肢の注釈が作成できる.選択肢の注釈を使用すると,各選択肢に値だけでなく,より有益な説明をユーザーに表示することもできる.
- 詳細設定:関数のインライン化.コンパイル中の関数のインライン化についての制御ができる.この設定は関数を定義するクラスについてのみ利用できる.この設定をクラスに格納するために,Modelicaの標準の注釈であるInline,LateInline,InlineAfterIndexReductionが使用される.
- 詳細設定:数量設定.このタイプで表される量のタイプ (絶対または相対).数量のタイプは,デフォルトでは基本タイプから継承されるか,タイプの単位パラメータから派生される.デフォルト値は,明示的な値を指定することでオーバーライドできる.他のタイプは単位を持つことができないため,この設定は事前定義された型 Realから派生したタイプでのみ使用できる.標準のModelicaアノテーション絶対値が数量設定に使用される.
- 詳細設定:希望のクラスビュー :クラスを開いたときに表示するクラスのビューを指定する.Noneの場合,クラスのビューはクラスの特化タイプによって決まる.この設定をクラスに格納するために,Modelicaの標準の注釈であるpreferredViewが使用される.
- 詳細設定: Default Component Configuration. これらの設定はクラスブラウザからドラッグアンドドロップを使ってこのクラスで作成された任意のコンポーネントに自動的に適用される.
クラスのタイプパラメータの編集
Modelicaの定義済みの型(Real,Integer,Boolean,String)と列挙型には,その型をさらにカスタマイズすることのできる多くのパラメータが用意されている.そのような型から派生したクラスのこれらのパラメータを見たり編集したりするためには,クラスブラウザでクラスを右クリックし,「タイプパラメータの表示」または「タイプパラメータの編集」を選ぶ.
クラスModelica.Units.SI.Lengthのタイプパラメータ
タイプパラメータダイアログはクラスのプロパティダイアログからもアクセスできる.
ダイアログボックスに表示されるパラメータは,クラスの派生タイプによって異なる.前の例では,クラスLengthのタイプのパラメータを見ることができる.これは定義済みの型Realから派生したものである.
パラメータの値が灰色で表示されていたら,その値が別のどこかで指定されているということである.この例では,定義済みのタイプRealの内部であろう.これらの値はRealから派生した任意のクラス,またはそのようなクラスの任意のインスタンスにおいてオーバーライドできる.
タイプパラメータのいずれかで新しい値が指定されたら,値は横の「Final」チェックボックスをチェックすることでFinalにすることができる.これによって,Lengthから派生したクラスやタイプLengthのパラメータ等,他のすべてのコンテキストで値をオーバーライドできなくなる.
同様に,Each接頭辞は対応する「Each」チェックボックスをチェックすることでパラメータに適用できる.配列については,配列に対してEach接頭辞を使うと,配列全体ではなく,配列の各要素に割り当てるための値を指定することができる.配列ではないパラメータにはEach接頭辞は影響を及ぼさない.
タイプパラメータの詳細については,デジタル書籍「Modelica By Example」を参照されたい.これはSystem Modelerに含まれており,ドキュメントセンターのリソースからアクセスできる.
ライブラリの単位の編集
System Modelerには,すぐに使用できる事前定義された単位の広範なセットがある.それでも,それらすべてをカバーするのは現実的ではない.System Modelerを使用すると,新しい単位と数量を定義し,特定の数量に対して優先する単位を指定できる.単位の構成はライブラリレベルで行われ,そのライブラリ内のすべてのクラスと,そのライブラリを利用するすべてのモデルで使用できるようになる.単位の構造は,Modelicaの注釈としてライブラリの最上位クラスに保存される.
ライブラリの単位のダイアログを開くには,クラスブラウザ内のライブラリの最上位パッケージを右クリックし,ポップアップメニューからライブラリの単位の編集を選択する.
ライブラリの単位ダイアログには2つのセクション表示単位と単位の定義がある.上のセクションでは数量について優先する単位をカスタマイズすることができ,下のセクションはボタンで構成されており,クリックするとライブラリの単位の定義を管理することができる2つ目のダイアログが開く.
View all quantities または View all units のリンクをクリックするとドキュメントセンターが開き,ライブラリで使用可能な全ての数量あるいは単位の概要のページが表示される.これらのページには,ライブラリのために定義された数量や単位だけでなく,ライブラリで使用される他のライブラリから取り込まれる単位や数量およびSystem Modelerのデフォルトの単位や数量も含まれる.
このダイアログで単位の定義の追加,編集,削除ができる.新しい単位を定義する場合,基本単位を定義する,または組立単位を定義するという2つのオプションが考えられる.すでに使用可能な単位に関して記述がある場合は,組立単位が正しい選択である.
クラスの保存
アクティブクラスウィンドウのクラスを保存するためには,「ファイル」 ▶ 「保存」を選択する.
クラスを初めて保存するときはダイアログボックスが現れ,ファイル名と保存場所が選べる.クラスが未保存のパッケージある場合は,代りにパッケージのファイル名と場所が問われる.これはパッケージ内のすべてのクラスは同じファイルに保存されるためである.クラスを最初に保存するとき,クラスの場所を選択するためのダイアログボックスが現れる.クラスの場所が未保存のパッケージ内である場合は,代りにパッケージ全体を保存するかどうか問われる.
パッケージを最初に保存するとき,ディレクトリ構造の中に保存するか,単一ファイルとして保存するかを選択するためのダイアログボックスが現れる.
「ディレクトリ構造に保存する」を選ぶ場合は,クラスを保存する場所を選択する.その場所にそのパッケージのためのディレクトリ構造が作られ,各クラスは別々のファイルに置かれる.この選択はライブラリや大きめのパッケージを開発するときや,パッケージ開発に携わる人が複数いる場合に推奨される.以下にパッケージの開発でこれを選んだ場合にどのようになるのかの例を図示する.
「単独のファイルに保存する」を選ぶと,パッケージ全体とすべてのクラスが単一のファイルNameOfTheModel.moに保存される.この選択は,小さくて簡単なパッケージに推奨される.
クラスはクラスブラウザを使っても保存できる.クラス名を右クリックし,ポップアップメニューから「保存」を選ぶ.
保存場所の制御
パッケージやモデルを一旦保存したら,その中にクラスを追加したり,中のクラスを変更したり名前を変えたりすると,各クラスが保存されている場所は自動的に選択される.単一ファイルに保存された新しいクラスが親クラスに加えられた場合,同じファイルに新しいクラスが保存される.ディレクトリ構造に保存された新しいクラスが親クラスに加えられた場合,新しいクラスはそのクラス専用の新しいファイルに保存される.多くの場合,このデフォルトの動作で十分である.
クラスの保存方法について,より高度に制御したい場合は,パッケージの階層構造のどのレベルにおいてでも,手作業で分割・統合操作が行える.パッケージの保存方法を変更したい場合は「ファイル」 ▶ 「分割/結合して保存」を選ぶか,クラスブラウザでクラスを右クリックして「分割/結合して保存」を選ぶかする.するとダイアログが現れ,ディレクトリ構造に保存するか,単一のファイルに保存するかを尋ねる.これはパッケージを最初に保存するときと同じである.このダイアログで「保存」を選ぶと,この操作が再帰的にすべての子クラスに適用され,それぞれが保存される.
クラスの名前変更の場合と同様にクラスの保存場所が変更されるため,外部ファイルへの参照は変更しなければならないことがある.クラスの名前変更についてのセクションを参照されたい.
完全な定義の保存
クラスが使用するクラスも含め,クラスの完全な定義を単一のファイルに保存すると便利であることがある.これには,保存されたクラスが他のファイルとライブラリから独立したものとなるという利点がある.
アクティブクラスウィンドウのクラスの完全な定義を保存するためには,「ファイル」 ▶ 「エキスポート」 ▶「モデル全体」を選ぶ.クラスの完全な定義はクラスブラウザを使っても保存できる.クラスの名前を右クリックし,ポップアップメニューから「エキスポート」 ▶「モデル全体」を選択する.
操作の結果はSMA(System Modeler Archive)ファイルになる.Model Centerでこのファイルを開くと,モデルのクラスウィンドウがロードされて開く.
クラスの順序の変更
クラスブラウザのクラスが宣言順にソートされているとき,パッケージ内における順序はクラスをドラッグしてドロップする事で変更できる.クラスが他のクラスの間にドロップされると,クラスはドロップされた位置に移動する.クラスを別のクラスの上にドロップすると,クラスのコピーが作成される.
ライブラリアーカイブの作成
System Modelerのアーカイブは,完全なモデル定義またはライブラリのいずれかを含むファイルである.これにより,モデルとライブラリをすべてのリソースとともに1つのファイルにまとめて配布できる.このセクションでは,ライブラリアーカイブを作成する方法について説明する.完全なモデル定義をSystem Modelerのアーカイブファイルに保存する方法については,完全な定義の保存に関するセクションを参照されたい.
クラスブラウザでライブラリを右クリックするか,「エキスポート」 ▶ 「ライブラリアーカイブ」を選択するか,または「ツール」メニューから「ライブラリアーカイブの作成(SMA)...」 を選択するか,のいずれかから始める.
2つのライブラリでSystem Modelerアーカイブファイルを構築する.
ライブラリアーカイブを構築するためのダイアログは2つのセクションで構成される:アーカイブセクションと含めるライブラリセクション.
アーカイブセクションでは,ライブラリのコレクションのタイトル,ライブラリのインストールに必要なSystem Modelerの最低バージョン,ライブラリをインストール (およびロード) するかSystem Modelerでアーカイブファイルを開いたときに一時的にだけロードするかを指定できる.(ライブラリをインストールせずにロードするオプション)
含めるライブラリセクションでは, アーカイブに含めるライブラリ (左側) と各ライブラリの詳細 (右側) を指定する.右側のライブラリの詳細は,デフォルトでは折りたたまれており,すべての詳細はオプションである.
ライブラリのタイトルと説明は,デフォルトではライブラリを表すModelicaパッケージの名前と説明である.ライブラリアーカイブインストーラでのライブラリの表示を変更する場合は,これらを変更できる.
ライブラリカテゴリ (ライブラリをインストールせずにロードするオプションがチェックされていない場合にのみ使用可能) は,モデルセンターのクラスブラウザでライブラリがどのグループに表示されるかを指定する.事前定義されたカテゴリがどれも適切でない場合は,カスタムカテゴリを指定することができる.カスタムグループはSystem Modelerバージョン13.3で導入されたことに注意すること.13.3より前のバージョンでカスタムグループを使用してライブラリをインストールする場合,ライブラリは最終的にライブラリグループの下に置かれる.
著作権およびライブラリライセンス契約ファイルもまたライブラリごとに指定できる.ライブラリライセンス契約ファイルは,プレーンテキストファイルまたはHTMLファイルのいずれかにすることができる.このようなファイルを指定すると,ライブラリをインストールしようとするすべてのユーザーにその内容が表示される.インストールプロセスを完了するには,ユーザーはライセンス契約の内容に同意する必要がある.
各ライブラリの最後の2つのオプションは,System Modelerの起動時に常に読み込まれるようにライブラリを構成するかどうかと,インストール時にライブラリファイル (*.moファイル) を読取り専用にするかどうかである.これらのオプションは,ライブラリをインストールせずにロードするオプションがチェックされていない場合にのみ使用できる.
準備ができたら,OKボタンをクリックしてファイルの名前を選択し,ビルドプロセスを開始する.進行状況はメッセージビューに表示される.
package.mo構造に保存されたライブラリ (推奨) については,メインのpackage.moファイルのフォルダー内で再帰的に見付かったすべてのファイルがアーカイブに含まれる.単一のファイルに保存されたライブラリについては,.moファイルと,.moファイルと同じレベルにあるすべてのファイルがライブラリによって参照される場合はアーカイブに含まれる.
System Modelerライブラリアーカイブファイルのビルドに成功したもの.
ライブラリのリロード
System Modelerの開始時に自動的にロードされるように指定されているライブラリは,マウスのクリックだけでいつでもリロードすることができる(Modelicaライブラリの管理のセクションを参照).これは,Modelica Standard Library等の1つまたは複数のクラスの定義が変更されたモデル全体をロードしてあるが,クラス定義を元に戻したいときに便利である.未保存のクラスはリロードできないことに注意されたい.ポップアップメニューのリロードオプションは対象クラスが保存されている場合にのみ表示される.
開始時にロードされるライブラリをすべてリロードするには,「ファイル」メニューから「ライブラリをリロード」を選択する.特定のライブラリをリロードするためには,クラスブラウザでライブラリを右クリックし,「リロード」を選択する.
ライブラリの整理
オプションダイアログの「Modelica ライブラリ」ビューで構成されたライブラリは、クラスブラウザで名前付きグループに整理できる.例やライブラリなどから選択できる定義済みのグループのセットがあるほか,新しいカスタムグループを作成することもできる.
ライブラリをグループに移動するには,そのライブラリをドラッグしてグループにドロップするか,あるいはライブラリを右クリックして グループに移動を選択し,ポップアップメニューから既存のグループの名前または新しいグループを選択する.新しいグループを選択すると,選択した名前で新しいグループがライブラリ用に作成される.
カスタムグループは,Xボタンをクリックして削除できる.削除されたときにまだそのグループに存在するライブラリは,事前に定義されたグループのいずれかに移動される.
Modelica Standard Libraryのバージョンの切換え
System ModelerにはModelica Standard Library (MSL)のバージョン3.2.3,4.0.0が含まれている.クラスブラウザではこれらのバージョンを素早く切り換えることができる.Modelicaパッケージを右クリックし,ポップアップメニューから「バージョン」を選び,次に別のバージョンのいずれかを選ぶ.System Modelerは現在ロードされているバージョンのMSLをアンロードし,選択したバージョンをロードする.
MSLバージョンを永続的に切り替える場合は,Modelicaライブラリマネージャーから実行できる.(Modelicaライブラリの管理に関するセクションを参照のこと.)
より新しいバージョンのライブラリを使用するようクラスを変換
ライブラリには,それを使用するクラスをより新しいバージョンのライブラリに変換するために適用できるModelica変換スクリプトが含まれている場合がある.変換スクリプトは,ライブラリのバージョン間で互換性のない変更が導入された場合,たとえばライブラリの1つ以上のコンポーネントの名前が変更または移動された場合に必要である.
変換スクリプトを提供するライブラリの例としては,Modelica Standard Library (MSL) がある.System Modelerには,MSLバージョン3.2.3およびバージョン4.0.0が同梱されている.古いバージョンのMSLを使用することを宣言したクラスまたはライブラリがある場合は,現在ロードされているバージョン (より新しい場合) を使用するように変換できる.
System Modelerがそのような変換が可能であることを検出すると,クリックして変換が実行できるリンクを含むメッセージがメッセージビューに出力される.
クラスに対して1つ以上の変換が可能な場合は,クラスブラウザから変換スクリプトを適用することもできる.クラスを右クリックし,「ライブラリの最新バージョンを使用するように変換」を選択してから変換を実行する.
より新しいバージョンのライブラリを使用するようにクラスを変換する.
クラスブラウザのカスタマイズ
クラスブラウザはオプションダイアログボックスにある設定を編集することでカスタマイズできる.オプションダイアログボックスはツールメニューにある.ツールチップの設定を除くクラスブラウザの設定はすべて「モデルセンター」 ▶ 「クラスブラウザ」ビューにある.ツールチップの表示・非表示を切り替える設定は「モデルセンター」 ▶ 「一般」ビューにある.クラスブラウザの設定はツールチップの設定以外はすべて「モデルセンター」 ▶ 「クラスブラウザ」ビューにある.ツールチップを有効化・無効化する設定は「モデルセンター」 ▶ 「一般」ビューにある.ダイアログボックスにある設定はすべて,ダイアログボックスを閉じると自動的に保存され,モデルセンターを再び開いたたときにも有効となる.
オプションダイアログボックスのクラスブラウザセクションにはさまざまな設定項目がある::
クラスブラウザツール
クラスブラウザの最下部にはツールバーがあり,Wolfram Library StoreからModelicaライブラリをダウンロードするためボタンと,クラスブラウザのさまざまな設定にアクセスするためのボタンが全部で3つある.
左端にあるボタンには「ライブラリをダウンロード」と記されており,WebブラウザでWolfram Library Storeが開く.そこからモデリング作業で必要な無料のライブラリをダウンロードしたり,商用ライブラリを購入したりすることができる.
右から2つ目のボタンをクリックすると,クラスブラウザにおけるクラスのソート順を選ぶことができる.クラスは宣言順か名前順(昇順)でソートできる.検索結果と,「最近使用した項目」の中または階層の最上位にあるクラスは,このオプションの影響は受けない.
ツールバーの右端のボタンをクリックすると,オプションダイアログボックスのModelicaのライブラリビューが開く.このビューでは,開始時にロードするライブラリの設定,カスタムライブラリの追加と削除,インストールされたライブラリアーカイブの操作等,製品内のModelicaライブラリを管理することができる.より詳細な情報は,Modelicaライブラリの管理セクションを参照されたい.