annotate Todo.txt @ 819:66726208b9f4

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 25 Jan 2024 17:03:59 +0900
parents 2955d5b7debd
children 91137bc52ddd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
780
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 710
diff changeset
1 Mon Jul 3 19:04:29 JST 2023
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 710
diff changeset
2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 710
diff changeset
3 Red Black Tree の Invariant を完成させる
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 710
diff changeset
4 GearsOS のコードとの対応を取る (既にバグがあることがわかってる)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 710
diff changeset
5
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 710
diff changeset
6 バグはメタ部分にある
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 710
diff changeset
7   pointer (CbCはCだから pointer がある)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 710
diff changeset
8 heap (CbCは GC もってない。なので、メモリリークしてる)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 710
diff changeset
9
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 710
diff changeset
10 Meta計算部分を含む Invariant になる
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 710
diff changeset
11
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 710
diff changeset
12 ここまで複雑で実用になる?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 710
diff changeset
13
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 710
diff changeset
14 部分ではそんなに難しくはない?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 710
diff changeset
15
710
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 709
diff changeset
16 Wed May 4 22:07:32 JST 2022
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 709
diff changeset
17
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 709
diff changeset
18 Context memory に DataGear を Binary Tree で入れる。List で良いのだが
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 709
diff changeset
19 Libaryの Data.Tree.Binary には insert はない ( まぁ、alloc / read / update くらいで map で書けるとか?)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 709
diff changeset
20 共有データは、memory に入れる
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 709
diff changeset
21 free はしない(?)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 709
diff changeset
22
709
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 578
diff changeset
23 Sun May 1 15:04:57 JST 2022
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 578
diff changeset
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 578
diff changeset
25 Model checking
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 578
diff changeset
26
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 578
diff changeset
27 goto 先の番号を stub に書くのは変
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 578
diff changeset
28
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 578
diff changeset
29   process : context が別々
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 578
diff changeset
30   thread : context 一緒、goto 先が異なる
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 578
diff changeset
31 context は共有 実行は codeGear は atomic
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 578
diff changeset
32 shared file descriptor など
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 578
diff changeset
33
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 578
diff changeset
34 single phils direct connection single thread
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 578
diff changeset
35 no shared data
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 578
diff changeset
36
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 578
diff changeset
37 multi process phils separate process
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 578
diff changeset
38 shared context
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 578
diff changeset
39
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 578
diff changeset
40 multi threaded phils shared process
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 578
diff changeset
41 serate next
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 578
diff changeset
42 atomic codeGear execution
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 578
diff changeset
43   
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 578
diff changeset
44
578
7bacba816277 use list base simple stack
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 575
diff changeset
45 Thu May 17 15:26:56 JST 2018
7bacba816277 use list base simple stack
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 575
diff changeset
46
7bacba816277 use list base simple stack
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 575
diff changeset
47 findNode -> replaceNode -> getRedBlackTree だが
7bacba816277 use list base simple stack
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 575
diff changeset
48
7bacba816277 use list base simple stack
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 575
diff changeset
49 findNode -> P0 -> replaceNode -> P1 -> getRedBlackTree
7bacba816277 use list base simple stack
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 575
diff changeset
50
7bacba816277 use list base simple stack
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 575
diff changeset
51 という形で証明しても良い。一挙に証明するのは,可能だろうけど、良くないはず。
7bacba816277 use list base simple stack
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 575
diff changeset
52
573
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 553
diff changeset
53 Sun May 6 17:54:50 JST 2018
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 553
diff changeset
54
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 553
diff changeset
55 do1 a $ \b -> do2 b next を、do1 と do2 に分離することはできる?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 553
diff changeset
56
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 553
diff changeset
57
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 553
diff changeset
58 Mon Apr 30 17:15:16 JST 2018
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 553
diff changeset
59
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 553
diff changeset
60 Stack の初期化を別にするだけだと、置き換えの条件に到達した時に、Stack が empty になるのを保証できない
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 553
diff changeset
61 やはり、 Stack + Current Tree = Original Tree という不変式を入れないとだめらしい
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 553
diff changeset
62
553
7d9af1d4b5af add compareTri
ryokka
parents: 524
diff changeset
63 Mon Mar 26 17:43:06 JST 2018
7d9af1d4b5af add compareTri
ryokka
parents: 524
diff changeset
64
573
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 553
diff changeset
65 Decidable を使って Compare の場合分けを行う
553
7d9af1d4b5af add compareTri
ryokka
parents: 524
diff changeset
66 Decidable を使うと Eq から x ≡ y の証明を取り出すことができる
7d9af1d4b5af add compareTri
ryokka
parents: 524
diff changeset
67 場合分けには Trichotomous を使う
573
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 553
diff changeset
68 compareTri を完成させる Done
553
7d9af1d4b5af add compareTri
ryokka
parents: 524
diff changeset
69
524
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
70 Fri Jan 5 16:43:26 JST 2018
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
71
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
72 unbalanced binary search tree の動作を調べる
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
73
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
74 RedBlackTree の put を完成させる
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
75
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
76 RedBlackTree の Deletion を完成させる
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
77
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
78 unbalanced binary search tree と同様の動作をする
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
79
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
80 木の深さの最小と最大の差が2倍を超えない
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
81
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
82 CodeGear/DataGear が構成する圏を定義する
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
83
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
84 goto を定義して meta 計算を可能にする
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
85
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
86 DataSegment をすべて含む sum 型を定義しmetaDataSegmentとする
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
87
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
88 実行環境をcontextとして定義しgotoと合わせて並列実行をモデル化する
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
89
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
90 Monad の合成に必要な規則を上の圏上に定義する
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
91
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
92 synchronizedQueue の仕様をCTLを使って定義する
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
93
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
94 Gearsで記述したsynchornizedQueueを検証する
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
95
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
96 gotoを用いてモデル検査と証明の組み合わせを実現する
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
97
5f684d39832e add Todo.txt
ryokka
parents:
diff changeset
98
575
73fc32092b64 push local rbtree
ryokka
parents: 573
diff changeset
99 Wed Aug 27 17:52:00 JST 2019
73fc32092b64 push local rbtree
ryokka
parents: 573
diff changeset
100
73fc32092b64 push local rbtree
ryokka
parents: 573
diff changeset
101 別で定義した TriCotomos や \=? などの Relation の関数を
73fc32092b64 push local rbtree
ryokka
parents: 573
diff changeset
102 Agdaで定義してあるものに置き換える,まとめる
73fc32092b64 push local rbtree
ryokka
parents: 573
diff changeset
103
73fc32092b64 push local rbtree
ryokka
parents: 573
diff changeset
104 HoareLogic をベースにした SingleLinkedStack の作成
73fc32092b64 push local rbtree
ryokka
parents: 573
diff changeset
105
73fc32092b64 push local rbtree
ryokka
parents: 573
diff changeset
106 HoareLogic ベースの Tree の証明