困ったとき(トラブルシューティング)   09.08.21 加筆+0削除

1.そもそも

-----------------------------
Q. xsheetがmakeできません.
A. Makefileの内容を変更してみてください.
1)Linuxフルインストールでない場合(たとえば,SQLをインストールしていないとき),
  Makefileの中のsqlに関する指定を外してください.
2)本家のブログにubantuでのMakefileの指定がありました.
3)Macintoshの場合は,本家の技術資料に「macでmakeする」資料がありました.
  これ以上は,わたしも分かりませんので,教科書または本家のホームページをよく見て,再度makeしてください.
 逆に,あなたが成功したら,「どうやったか」教えてくださるようお願いします(本家ブログへどうぞ).
-----------------------------
Q. tps.zipが解凍できません.
A. このサイト「CAST言語でシミュレーション」ではtps.zipを使用しません.
 このサイトで必要なのは,extProlog.zipとsimcast.zipだけです.
 しかし蛇足ですが,経験からすると
 最新のstuffit expanderやWindowsOS上ではtps.zipの解凍に失敗します.
 古いバージョンの解凍ソフトなら成功します.
 Macintoshの場合は,MacOSに付属の解凍ソフトBOMArchiveで成功します.
 しかし,早く普通の姿になってほしいですね(2008.02).
【その後】現在(2009)では普通に解凍できるようです.
-----------------------------

2.extPrologが起動して,青い画面がでているとき.

-----------------------------
Q. jar.pは動きましたが,wgc80.setが動きません.
A. dss.zip内のwgc80.setは動きません.
 simcast.zip内のもの,または,
 本家HPの「クイックスタート」ページからダウンロードしてみてください.
-----------------------------
Q. Dialogウィンドウで「ファイル名.set+enter」しても,normal reset state に戻ります.
 そして,terminal window に,line 1: command not foundとなります.
 そして,ファイル名.p の中身がありません.
A. Macintoshなら改行がCRのままになっているかも,
 改行をLFに指定して保存してください.
-----------------------------

3.CAST言語

-----------------------------
Q. CAST言語の解説はどこにありますか.
A. 教科書第4章または本家HP「ダウンロード」ページの最終行から入手できます.
-----------------------------
Q. CAST言語の教科書未記載のコマンド(述語)はどこで調べてるのですか.
A. 本家HP「背景資料」の(.p)時代の資料「マニュアル第2版」にextPrologの述語がありますので,
   それを試して成功した場合に紹介してます.
-----------------------------
Q. グローバル変数にグローバル変数の値を直接に代入すること( B.g:=A.g )ができません.
A. ローカル変数を経由してください.X:=A.g, B.g:=X とします.
-----------------------------

4.モデル作成

-----------------------------
Q. 暴走したとき,どうすれば止められますか
A. terminalウインドウをクリックして,
  cntrlキーを押しながらcキーを押し下げてください.
 選択を要求されますので,1,2,3,4のどれかを入力してください.
 わたしは,常に4(quit/exit)をしています.
-----------------------------
Q. モデル作成の解説はどこにありますか.
A. オートマトンは教科書第3章,問題解決システム(Solver)は第5章にあります.
-----------------------------
Q. なぜ以前はオートマトンだけ,inputsequece0()などとゼロをつけていたんですか.
A. 
【以前は】述語initialstateが問題解決システムと衝突し,同時に2種類が動かなかったからです.
 それだけの理由なんです.実はオブジェクト指向のように,
 オートマトンクラスとSolverクラスのインスタンスにしたい
 のですが,時間不足と能力不足のため,このようにしてました.
 どなたか(prologの得意な人),やってくれませんかね(2008.02).
【その後】工夫してSimcast09よりゼロはつけなくなりました.オブジェクト指向にはしていません.
-----------------------------
Q. 簡略に関数定義すると失敗します.
 func([out]);
 out("temp.lib")=cardinality(temp.lib); が失敗しました.
A. 裏技を多用しないでください.教科書通りに,
 func([out]);
 out("temp.lib")=N <-> N:=cardinality(temp.lib);
 と定義してください.
-----------------------------
Q. 問題解決システム(Solver)やオートマトンを動かすと,
 preprocess() is not defined!
 と表示されます.
 いちおう,表示されても正しく動きますが,異常ありませんか.
A. これは異常ではありません.
 予想したものがないときに,「それはない」と言っているだけです.
 実は,教科書未記載ですが,Solverでも「述語」として事前処理と事後処理を定義できます.
 定義してなくても,構いません.
-----------------------------