120 likes | 334 Views
インタラクティブ Web システムの ペトリネットによる モデル化と自動生成. 早稲田大学理工学部 情報学科 上田研究室 学籍番号: g98p0238 上之園 雅文. CGI HTML ・・・. 利用者. 自動生成システム. 目的と背景. OESS の問題点 その解決策として Web システムを簡単に記述し、自動生成するシステムを開発する OESS のようなシステムを快適に利用できるようにする. Web システム. 機能の記述. 図:自動生成システムのイメージ. t1. p1. p2. 図:ペトリネット. 本研究の特徴.
E N D
インタラクティブWebシステムのペトリネットによるモデル化と自動生成インタラクティブWebシステムのペトリネットによるモデル化と自動生成 早稲田大学理工学部 情報学科 上田研究室 学籍番号:g98p0238 上之園 雅文
CGIHTML・・・ 利用者 自動生成システム 目的と背景 • OESSの問題点 • その解決策としてWebシステムを簡単に記述し、自動生成するシステムを開発する • OESSのようなシステムを快適に利用できるようにする Webシステム 機能の記述 図:自動生成システムのイメージ
t1 p1 p2 図:ペトリネット 本研究の特徴 • 新たに追加する機能をシナリオとしてとらえ、その記述をシステムの入力とする • その記述方法として、ペトリネットを利用 • インタラクティブWebシステムを並行離散システムととらえると、ペトリネットが有効
ペトリネットによるモデル化の流れ • 実際の機能を考える • CGIなど、実際のツールを作成 • それを数種類の書き方でペトリネット化する 自動生成システムへの入力として最も良いモデル化を考察
ペトリネットによるモデル化の例 • 小テストを追加する場合のシナリオ • 教師がページのフォームから小テストをシステムに登録 • 生徒がそのページへ行く • 生徒の解答が終わるまで、教師は待機 • 生徒はそのページの解答をし、結果を送信 • システムにより採点され、結果が生徒に表示される • 採点結果はシステム上に残り、教師はその結果を閲覧できる
ペトリネットによるモデル化 p2 p6 p10 t1 t4 OESS p7 p3 DB p8 p5 t2 p1 t3 p4 p9 • p2,p6,p10:教師の状態を表す • p1,p4,p9:生徒の状態を表す • p3,p5,p7,p8:OESS内の状態を表す • t1~t4:OESSでの処理を表す
問題点 • 繰り返しの記述 • 同様の処理でも、繰り返しの数だけ書かなければならない • 時間の概念がない • 提出期限が設定できない • 情報量が不足している • プレースがどのような状態か、トランジションの処理は何かを明記できない
トークンという形に抽象化されている情報を具体的に記述するために、トークンという形に抽象化されている情報を具体的に記述するために、 CHR の構文を使用したと言えばよいかと思います。 > > CHR 的表現(を使うことはたまたま思いついた) > もしくは、 > プレースにおいてのトークンの生起を表すのにCHRの表記方法は有効である > で問題は無いんでしょうか。 後者。有効な理由は下。 > CHRが出てきた経緯は、ペトリネットだけでは表現しきれない情報を記述する方 > 法として出てきたのは確かなわけですが、なぜCHRだったのでしょうか。 > CHRは、何をすることに向いていて、この場合何故有効なのか、その辺がまだ理 > 解が足りません。教えていただけないでしょうか。 CHR(Constraint Handling Rules)は、 制約処理エンジンを記述するための言語です。 CHRは複数個のヘッドを持つ規則が書けるという特徴を持つため、 ペトリネットを直接埋め込むことができたようです。 しかもトークンという形に抽象化されている情報を 具体的なアトム(制約)として記述することができるため、 CHRの使用は、ペトリネットで表現しきれない情報の記述に 有効であるものと思われます。
解決策:CHR • ペトリネットとの親和性が高い • ペトリネットで表記できなかった情報を記述できる
解決策:CHR • ペトリネットとの親和性が高い • ペトリネットで表記できなかった情報を記述できる
CHRの構文で表した小テストのペトリネット constraintsquizDB/4, resultDB/3, classDB/2,browse/1, click/1,inputQuiz/5, showQuiz/2, inputResult/3, showResult/2. classDB(CourseId, StudentId) \ click(URL),inputQuiz(TeacherId, CourseId, QuizId, Quiz, Answer) <=> quizDB(QuizId, CourseId, Quiz, Answer), browse(URL), resultDB(QuizId, StudentId, false). quizDB(QuizId, CourseId, Quiz, Answer), resultDB(QuizId,StudentId, false) \ showQuiz(StudentId, QuizId), click(URL) <=> browse(Quiz). quizDB(QuizId, CourseId, Quiz, Answer) \ resultDB(QuizId,StudentId, false), inputResult(StudentId, QuizId, Result), click(URL) <=> Answer = Result | resultDB(StudentId, QuizId, correct), browse(URL). quizDB(QuizId, CourseId, Quiz, Answer) \ resultDB(QuizId,StudentId, false), inputResult(StudentId, QuizId, Result), click(URL) <=> Answer =\= Result | resultDB(StudentId, QuizId, wrong), browse(URL). resultDB(QuizId, StudentId, Result) \ click(URL),showResult(StudentId, QuizId) <=> Result \== false | browse(Result).
まとめ • ペトリネットでインタラクティブWebシステムのモデル化を行い、表記可能であることを示した • 自動生成システムの入力としてのペトリネットの情報不足を補う方法として、CHR構文を利用する方法を提案した • 自動生成システムの実装、他技術への対応の検討が今後の課題である