困ったとき(トラブルシューティング) 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でも「述語」として事前処理と事後処理を定義できます. 定義してなくても,構いません. -----------------------------