モデル理論アプローチ技術資料

ソースコードと動作(06.09.09)(追加08.09.07)

1.extProlog

extPrologのソースコードは,extProlog.zipの中にある.
 makeするとき,apacheがないLinuxのときは,
  Makefileの中の2カ所の記述をdefaultに変更し,
  >make clean
  >make
  とせよ.
 makeするとき,Mac OS X 10.1-10.2の場合は、
  アプリケーションのためのメモリー領域が制限されている場合もありますので、
  メモリー領域を無制限にする設定をしておきましょう。
  [student]$ limit stacksize unlimited  [ Mac OS 10.3以降はこの設定不要]
  その他,構成に合わせて適切なパラメータを削除するなり,他の技術資料も参照してください.

2. MTA-SDK

extProlog(実行ファイル名xsheet)をターミナルウインドウから起動するとき,
 Solverやオートマトンを作りたいときは,./xsheetと入力する.
 TPSを作りたいときは,ファイル名を指定して ./xsheet -f Prolog0.ctl とする.

extPrologの起動直後の制御は,
 Solverやオートマトンに対しては,Prolog.ctlが行なう(デフォールト).
 TPSに対しては,Prolog0.ctlが行なう

Prolog.ctlは,
 turbolib.pやmms.pやdms.pなど,さまざまなコマンド定義集を読み込んでから,
 MTABLEウインドウやDIALOGウインドウを開く.
 これでMTA-SDKになる.

3. コンパイル

DIALOGウインドウの入力処理はProlog.ctlに書かれている.
 入力が.setファイル名や.pファイル名なら,
 処理経路 wmanager(), syscall.200(), dialog(), natlanpro()を経て,system1() に渡される.
 system1()は,.pファイルをload_goコマンドで即実行する.
 system1()は,.setファイル名をsetcompiler.pに渡す.

setcompiler.pは,
 モデル(.set)の内容をextProlog言語に翻訳し,変数Lに代入する.
 そのモデルの種類(automaton, solver, tps)に対応するエンジンをLに付加する.
 変数Lの内容をファイル(.p)に書き込む(コンパイル).
 ファイル(.p)を実行する.

setcompiler.pの中に,
 fanc(...,delta1,lambda1,initialsatate1,...)
 if lambda_FLAG(1) then
の記述あり.

4. エンジン

stdAutomatonEngine.pの中に,
 オートマトン実行エンジンの本体の記述あり.