12
1 イイイイイイイイ Web イイイイイ イイイイイイイイイ イイイイイイイイイ イイイイイイイイイ イイイイ イイイイイ イイイイg98p0238 イイイ イイ

インタラクティブ Web システムの ペトリネットによる モデル化と自動生成

  • Upload
    terrel

  • View
    47

  • Download
    0

Embed Size (px)

DESCRIPTION

インタラクティブ Web システムの ペトリネットによる モデル化と自動生成. 早稲田大学理工学部 情報学科 上田研究室 学籍番号: g98p0238 上之園 雅文. CGI HTML ・・・. 利用者. 自動生成システム. 目的と背景. OESS の問題点 その解決策として Web システムを簡単に記述し、自動生成するシステムを開発する OESS のようなシステムを快適に利用できるようにする. Web システム. 機能の記述. 図:自動生成システムのイメージ. t1. p1. p2. 図:ペトリネット. 本研究の特徴. - PowerPoint PPT Presentation

Citation preview

Page 1: インタラクティブ Web システムの ペトリネットによる モデル化と自動生成

1

インタラクティブWeb システムの

ペトリネットによるモデル化と自動生成

早稲田大学理工学部情報学科

上田研究室学籍番号: g98p0238

上之園 雅文

Page 2: インタラクティブ Web システムの ペトリネットによる モデル化と自動生成

2

目的と背景 OESS の問題点 その解決策として Web シス

テムを簡単に記述し、自動生成するシステムを開発する

OESS のようなシステムを快適に利用できるようにする

利用者機能の記述

Web システム

CGIHTML・・・自動生成

システム

図:自動生成システムのイメージ

Page 3: インタラクティブ Web システムの ペトリネットによる モデル化と自動生成

3

本研究の特徴

新たに追加する機能をシナリオとしてとらえ、その記述をシステムの入力とする

その記述方法として、ペトリネットを利用

– インタラクティブ Web システムを並行離散システムととらえると、ペトリネットが有効p1

p2t1

図:ペトリネット

Page 4: インタラクティブ Web システムの ペトリネットによる モデル化と自動生成

4

ペトリネットによるモデル化の流れ

1. 実際の機能を考える

2. CGI など、実際のツールを作成

3. それを数種類の書き方でペトリネット化する

自動生成システムへの入力として最も良いモデル化を考察

Page 5: インタラクティブ Web システムの ペトリネットによる モデル化と自動生成

5

ペトリネットによるモデル化の例

小テストを追加する場合のシナリオ– 教師がページのフォームから小

テストをシステムに登録– 生徒がそのページへ行く– 生徒の解答が終わるまで、教師

は待機– 生徒はそのページの解答をし、

結果を送信– システムにより採点され、結果

が生徒に表示される– 採点結果はシステム上に残り、

教師はその結果を閲覧できる

Page 6: インタラクティブ Web システムの ペトリネットによる モデル化と自動生成

6

ペトリネットによるモデル化

p1

p5

p9

p8

p7

p4

p3

t2t3

p2p10

t1 t4

p6

•p2,p6,p10: 教師の状態を表す

•p1,p4,p9: 生徒の状態を表す

•p3,p5,p7,p8:OESS 内の状態を表す

•t1 ~ t4:OESS での処理を表す

OESS

DB

Page 7: インタラクティブ Web システムの ペトリネットによる モデル化と自動生成

7

問題点

繰り返しの記述– 同様の処理でも、繰り返

しの数だけ書かなければならない

時間の概念がない– 提出期限が設定できない

情報量が不足している– プレースがどのような状

態か、トランジションの処理は何かを明記できない

Page 8: インタラクティブ Web システムの ペトリネットによる モデル化と自動生成

8

トークンという形に抽象化されている情報を具体的に記述するために、

CHR の構文を使用したと言えばよいかと思います。

> > CHR 的表現(を使うことはたまたま思いついた)

> もしくは、

> プレースにおいてのトークンの生起を表すのに CHR の表記方法は有効である

> で問題は無いんでしょうか。

後者。有効な理由は下。

> CHR が出てきた経緯は、ペトリネットだけでは表現しきれない情報を記述する方

> 法として出てきたのは確かなわけですが、なぜ CHR だったのでしょうか。

> CHR は、何をすることに向いていて、この場合何故有効なのか、その辺がまだ理

> 解が足りません。教えていただけないでしょうか。

CHR ( Constraint Handling Rules )は、

制約処理エンジンを記述するための言語です。

CHR は複数個のヘッドを持つ規則が書けるという特徴を持つため、

ペトリネットを直接埋め込むことができたようです。

しかもトークンという形に抽象化されている情報を

具体的なアトム(制約)として記述することができるため、

CHR の使用は、ペトリネットで表現しきれない情報の記述に

有効であるものと思われます。

Page 9: インタラクティブ Web システムの ペトリネットによる モデル化と自動生成

9

解決策: CHR

ペトリネットとの親和性が高い

ペトリネットで表記できなかった情報を記述できる

Page 10: インタラクティブ Web システムの ペトリネットによる モデル化と自動生成

10

解決策: CHR

ペトリネットとの親和性が高い

ペトリネットで表記できなかった情報を記述できる

Page 11: インタラクティブ Web システムの ペトリネットによる モデル化と自動生成

11

constraints   quizDB/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).

CHR の構文で表した小テストのペトリネット

Page 12: インタラクティブ Web システムの ペトリネットによる モデル化と自動生成

12

まとめペトリネットでインタラク

ティブ Web システムのモデル化を行い、表記可能であることを示した

自動生成システムの入力としてのペトリネットの情報不足を補う方法として、 CHR 構文を利用する方法を提案した

自動生成システムの実装、他技術への対応の検討が今後の課題である