annotate user/ikkun/slide/2020.4.14.md @ 110:7278be4e09ac

backup 2022-12-14
author autobackup
date Wed, 14 Dec 2022 00:10:05 +0900
parents b6c284fd5ae4
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
b6c284fd5ae4 backup 2020-12-16
autobackup
parents: 0
diff changeset
1 # Gears OSのモデル検査を用いた設計
b6c284fd5ae4 backup 2020-12-16
autobackup
parents: 0
diff changeset
2
b6c284fd5ae4 backup 2020-12-16
autobackup
parents: 0
diff changeset
3 # 研究目的
b6c284fd5ae4 backup 2020-12-16
autobackup
parents: 0
diff changeset
4 プログラムの信頼性を保証するには、プログラムの証明、またはモデル検査がある。
b6c284fd5ae4 backup 2020-12-16
autobackup
parents: 0
diff changeset
5 モデル検査を行う場合はプログラムの持ち得る全ての状態を調べる事になり、SPINかjava path finderが一般的には用いられるが、SPINで行う場合にはPROMELAに書き換える必要がありjava path finder はjavaのバイトコードを検証するためのものであるが、大きなプログラムの検証や複数プロセスが扱えないなどの問題点がある。
b6c284fd5ae4 backup 2020-12-16
autobackup
parents: 0
diff changeset
6 本研究ではGeasOS上でDPPのモデルチェッキングを行ことで、書き換えを必要とせず、複数プロセスのプログラムの検証を行う
b6c284fd5ae4 backup 2020-12-16
autobackup
parents: 0
diff changeset
7
b6c284fd5ae4 backup 2020-12-16
autobackup
parents: 0
diff changeset
8
b6c284fd5ae4 backup 2020-12-16
autobackup
parents: 0
diff changeset
9
0
e12992dca4a0 init from Growi
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10
e12992dca4a0 init from Growi
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 # 要約
e12992dca4a0 init from Growi
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 * CbC は処理の移行を goto 用いて行い、データ構造はdate gearにより保持する事でプログラムの処理をcode gear毎の独立したものにする。
e12992dca4a0 init from Growi
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 * Geas OS はCbCで記述されおり、処理を変更する事なく処理の間に自由にメタ処理を挟む事ができる、これにスケジューラーを挟む事でマルチスレッド処理などが可能となる。
2
b6c284fd5ae4 backup 2020-12-16
autobackup
parents: 0
diff changeset
14 * メタ計算部分にモデルチェッキングを入れる事でプログラムを実行しながらにして証明することが可能となる。 
b6c284fd5ae4 backup 2020-12-16
autobackup
parents: 0
diff changeset
15 * モデルチェッキングはdepth firstで行われる、しかしGeasOSはstackがないため、ポインタを使って戻ることができない、そこで