• R/O
  • SSH

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

Revisión599952188b55fbaf8083d344d6765f8651e3185f (tree)
Tiempo2023-11-04 21:39:06
AutorAlbert Mietus < albert AT mietus DOT nl >
CommiterAlbert Mietus < albert AT mietus DOT nl >

Log Message

refacored DocParts (notes & designs)

Cambiar Resumen

Diferencia incremental

diff -r 6bb608924dd5 -r 599952188b55 CCastle/DocParts/Design/00.OLD-Peg.rst
--- a/CCastle/DocParts/Design/00.OLD-Peg.rst Sat Nov 04 13:25:50 2023 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
1-OLD-Peg Diagram
2-===============
3-
4-This anayse/design(?) date from around 2021/2022
5-
6-.. UML::
7-
8- @startuml
9-
10- package _base {
11-
12- abstract AST_BASE {
13- -_parse_tree
14- +position()
15- +position_end()
16- ~serialize()
17- }
18-
19- class ID {
20- +name
21- #validate_or_raise()
22- }
23-
24- ID =|> AST_BASE
25- }
26-
27- package MixIns #Gray {
28-
29- class MixIn_value_attribute<MixIn> {
30- _value
31- value()
32- }
33-
34- class MixIn_expr_attribute<MixIn> {
35- _expr
36- expr()
37- }
38-
39- class MixIn_children_tuple<MixIn> {
40- _children :Tuple
41- __len__()
42- __getitem__()
43- __iter__()
44- }
45- }
46-
47- package Peg #0077ff {
48-
49- abstract PEG
50- AST_BASE <|== PEG
51-
52-
53-
54- abstract Terminal
55- PEG <|== Terminal
56- MixIn_value_attribute <|... Terminal
57- Terminal <|== StrTerm
58- Terminal <|== RexExpTerm
59- Terminal <|== Number
60-
61- abstract Markers #Orange
62- annotation EOF #Orange
63- PEG <|== Markers
64- Markers <|== EOF
65-
66- abstract NonTerminal
67- PEG <|== NonTerminal
68- abstract Expression
69- NonTerminal <|== Expression
70-
71- class Setting {
72- name : ID
73- value
74- }
75- PEG <|== Setting
76-
77- class Rule {
78- name :ID
79- expr :[] Expression
80- }
81- NonTerminal <|== Rule
82-
83- interface Rules
84- PEG <|== Rules
85- MixIn_children_tuple <|... Rules
86- Rules <|== ParseRules
87- Rules <|== Settings
88-
89- class Grammar {
90- +all_rules :Rules
91- -parse_rules :ParseRules
92- -settings :Settings
93- }
94- NonTerminal <|== Grammar
95-
96-
97- abstract Group
98- Expression <|== Group
99- Group <|== UnorderedGroup
100- MixIn_expr_attribute <|... UnorderedGroup
101- abstract Quantity
102- Group <|== Quantity
103- MixIn_expr_attribute <|... Quantity
104- Expression <|== Sequence
105- MixIn_children_tuple <|... Sequence
106-
107- Expression <|== OrderedChoice
108- MixIn_children_tuple <|... OrderedChoice
109-
110- class Optional << (?, #0077ff) >>
111- Quantity <|== Optional
112- class ZeroOrMore << (*, #0077ff) >>
113- Quantity <|== ZeroOrMore
114- class OneOrMore << (+, #0077ff) >>
115- Quantity <|== OneOrMore
116-
117- abstract Predicate
118- Expression <|== Predicate
119- MixIn_expr_attribute <|... Predicate
120- class AndPredicate << (&, #0077ff) notconsuming >>
121- Predicate <|== AndPredicate
122- class NotPredicate << (! ,#0077ff) not consuming >>
123- Predicate <|== NotPredicate
124-
125- }
126- @enduml
127-
128-
129-
130-
131-
132-
133-
134-
135-
136-
137-
138-
139-
diff -r 6bb608924dd5 -r 599952188b55 CCastle/DocParts/Design/220122-analyse_imports.rst
--- a/CCastle/DocParts/Design/220122-analyse_imports.rst Sat Nov 04 13:25:50 2023 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
1-analyse_imports (220122)
2-========================
3-
4-.. UML::
5-
6- @startuml
7- skinparam ArrowColor green
8-
9- skinparam component {
10- BackgroundColor #0077ff
11- BorderColor black
12- }
13- skinparam folder {
14- BackgroundColor lightblue
15- BorderColor black
16- }
17-
18- cloud "AsIS 2022/Jan/22" #pink {
19-
20- folder AST {
21- folder castle {
22- [peg] --> [_base]
23- [_base]
24- [~__init __]
25- }
26- }
27-
28- folder Arpeggio {
29- [grammar]
30- [vistor] --> [peg]
31- }
32-
33- }
34- @enduml
diff -r 6bb608924dd5 -r 599952188b55 CCastle/DocParts/Design/231005-aigr-CompProto.rst
--- a/CCastle/DocParts/Design/231005-aigr-CompProto.rst Sat Nov 04 13:25:50 2023 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
1-.. -*- plantuml -*-
2-.. filename: date of start
3-.. date in title: last version
4-
5-AIGR:: ComponentInterface and Protocols (231009)
6-================================================
7-
8-.. uml::
9-
10- @startuml
11-
12- abstract AIGR
13- class ComponentInterface
14- class Protocol
15- class EventProtocol
16- class Port {
17- - direction :PortDirection
18- - type :PortType
19- }
20- abstract ProtocolWrapper {
21- -based_on\n(the Generic Protocol)
22- }
23- class Argument <<(S,lightgreen)>> {
24- +value :Any
25- +name :Optional[Str]
26- }
27- class TypedParameters <<(S,lightgreen)>> {
28- +name :str
29- +type :Type
30- }
31- class Type <<(T,lightblue)>>
32- '--------------------
33-
34- ComponentInterface <--- ComponentInterface: based_on
35- Port "*" -* ComponentInterface
36-
37- Protocol <--- Protocol: based_on
38- Protocol <-- EventProtocol
39- Protocol <-- ProtocolWrapper
40-
41- ProtocolWrapper *- "+"Argument
42-
43- EventProtocol *- "*" Event: events
44- Event *-- "*" TypedParameters : typedParameters
45- Event o- "?" Type: returns
46-
47- Port o. Protocol: type
48-
49- @enduml
50-
diff -r 6bb608924dd5 -r 599952188b55 CCastle/DocParts/Design/231009a_TD-AIGR_3protocols.rst
--- a/CCastle/DocParts/Design/231009a_TD-AIGR_3protocols.rst Sat Nov 04 13:25:50 2023 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
1-.. -*- plantuml -*-
2-
3-TestDoubles/AIGR: The protocols of the Sieve
4-============================================
5-
6-.. uml::
7-
8- @startuml
9-
10- object StartSieve <<EventProtocol>>
11- object runTo <<Event>>{
12- max: int
13- }
14- object newMax <<Event>> {
15- max: int
16- }
17- StartSieve *-- runTo
18- StartSieve *-- newMax
19-
20- '---
21-
22- object SlowStart << EventProtocol>>
23- object queue_max <<TypedParameter>> {
24- :int
25- }
26- object setMax <<Event>> {
27- setMax :int
28- }
29- SlowStart *-- setMax
30- SlowStart *- queue_max
31-
32- '---
33-
34- object "SlowStart(1)" as SlowStart_1 <<ProtocolWrapper>> {
35- queue_max=1
36- }
37- SlowStart <-- SlowStart_1: based on
38-
39-
40- '---
41-
42- object SimpleSieve <<EventProtocol>>
43- SlowStart_1 <-- SimpleSieve: based_on
44-
45- object input <<Event>> {
46- try :int
47- }
48- SimpleSieve *--input
49-
50- @enduml
diff -r 6bb608924dd5 -r 599952188b55 CCastle/DocParts/Design/231009b_TD-AIGR_interfaces.rst
--- a/CCastle/DocParts/Design/231009b_TD-AIGR_interfaces.rst Sat Nov 04 13:25:50 2023 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
1-.. -*- plantuml -*-
2-
3-TestDoubles/AIGR: The interfaces of the SIEVE (BUSY)
4-====================================================
5-
6-.. uml::
7-
8- @startuml
9-
10- object "**Sieve**" as Sieve <<ComponentInterface>> {
11- + {static} new(onPrime:int)
12- }
13- note right of Sieve: alt-name: **SieveMoat**
14- object try <<Port>>{
15- In: PortDirection
16- SimpleSieve: type
17- }
18- object corprime <<Port>> {
19- Out: PortDirection
20- SimpleSieve: type
21- }
22-
23- Sieve *-- try
24- Sieve *-- corprime
25-
26- @enduml
diff -r 6bb608924dd5 -r 599952188b55 CCastle/DocParts/Design/231016_NS.rst
--- a/CCastle/DocParts/Design/231016_NS.rst Sat Nov 04 13:25:50 2023 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
1-Namespace & protocols
2-*********************
3-
4-.. uml::
5-
6- @startuml
7-
8- package "Protocols in ‘TheSieve’" as P1 <<Node>> {
9-
10- package start_sieve as P1A {
11- object start_sieve <<Source_NS>> #LightSkyBlue {
12- file: 'start_sieve.Castle'
13- }
14- object " " as P1A_d <<dict>> #lightcyan {
15- StartSieve
16- base :NS
17- }
18- object StartSieve <<EventProtocol>>
19-
20- start_sieve o-- P1A_d
21- start_sieve <-- StartSieve
22- P1A_d::StartSieve -> StartSieve #DarkMagenta
23- P1A_d::base --> base #DarkMagenta
24- }
25-
26- package slow_start as P1B {
27- object slow_start <<Source_NS>> #LightSkyBlue {
28- file: 'slow_start.Castle'
29- }
30- object " " as P1B_d <<dict>> #lightcyan {
31- SlowStart
32- base :NS
33- }
34- object SlowStart <<EventProtocol>> {
35- queue_max :int
36- }
37-
38- slow_start o-- P1B_d
39- slow_start <-- SlowStart
40- P1B_d::SlowStart -> SlowStart #DarkMagenta
41- P1B_d::base -> base #DarkMagenta
42- }
43-
44- package simple_sieve as P1C {
45- object simple_sieve <<Source_NS>> #LightSkyBlue {
46- file: 'simple_sieve.Castle'
47- }
48- object " " as P1C_d <<dict>> #lightcyan {
49- SlowStart(1)
50- SimpleSieve
51- }
52- object "SlowStart(1)" as SlowStart_1 <<ProtocolWrapper>> {
53- queue_max=1
54- }
55- object SimpleSieve <<EventProtocol>>
56- SlowStart_1 <|-- SimpleSieve: based_on
57-
58- simple_sieve o-- P1C_d
59- simple_sieve <-- SlowStart_1
60- simple_sieve <--- SimpleSieve
61- P1C_d::SlowStart_1 -> SlowStart_1 #DarkMagenta
62- P1C_d::SimpleSieve -> SimpleSieve #DarkMagenta
63- }
64-
65- SlowStart <|---- SlowStart_1 #SkyBlue : based_on
66- }
67-
68- package "Build-in Protocols" as P2 <<Node>> {
69- package base {
70- object Protocol <<_RootProtocol>>
71- }
72- package buildin {
73- }
74- }
75-
76- Protocol <|-- StartSieve #SkyBlue : based_on
77- Protocol <|-- SlowStart #SkyBlue : based_on
78-
79- @enduml
diff -r 6bb608924dd5 -r 599952188b55 CCastle/DocParts/Design/231101_pipeline.rst
--- a/CCastle/DocParts/Design/231101_pipeline.rst Sat Nov 04 13:25:50 2023 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
1-.. -*- plantuml -*-
2-
3-=============
4-AIGR pipeline
5-=============
6-
7-Overview
8-========
9-
10-.. uml::
11-
12- @startuml
13- skin rose
14- !include ../../DocParts/skins.inc
15-
16- () "files" as txt1
17-
18- file "*.Castle" as f1
19- f1 --> txt1
20- file "*.Moat" as f2
21- f2 --> txt1
22-
23- package CC{
24- txt1 -> CC
25-
26- () "AIGR" as a1
27- () "AIGR" as a2
28-
29- [Readers]
30- CC #-> Readers
31- [Transformers]
32- Folder Backend {
33- [Writers]
34- [Translators]
35-
36- Backend #->Writers
37-
38- () "files" as txt2
39- Writers -( txt2
40- txt2 )-> Translators
41- }
42-
43-
44-
45- Readers -( a1
46- a1 )-> Transformers
47- Transformers -( a2
48- a2 )-> Backend
49- }
50-
51- Translators 0)-> bin
52-
53- @enduml
54-
55-The Reader(s)
56-=============
57-
58-.. uml::
59-
60- @startuml
61- skin rose
62- !include ../../DocParts/skins.inc
63-
64- frame "CC” #c0c0c0 {
65- package Readers #white {
66- 'portout AIGR
67- 'portin TXT
68-
69- node Reader {
70- [parser]
71- [analyse\n(ast)] as ast_ana
72- [AST 2 AIGR] as AST2AIGR
73- () "AIGR" as aigr1
74- [analyse\n(aigr)] as aigr_ana
75- () "AIGR" as aigr2
76-
77- parser -> ast_ana : AST
78- ast_ana -> AST2AIGR : AST
79- AST2AIGR -> aigr1
80- aigr1 -> aigr_ana
81- aigr_ana -( aigr2
82- }
83-
84- TXT -> Reader
85- node mock {
86- [py_data]
87- () "AIGR" as aigr3
88-
89- py_data -( aigr3
90- }
91- Reader -[hidden]down-> mock
92- }
93- }
94-
95- @enduml
96-
diff -r 6bb608924dd5 -r 599952188b55 CCastle/DocParts/Design/AR/AIGRpipeline.rst
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/CCastle/DocParts/Design/AR/AIGRpipeline.rst Sat Nov 04 13:39:06 2023 +0100
@@ -0,0 +1,96 @@
1+.. -*- plantuml -*-
2+
3+=============
4+AIGR pipeline
5+=============
6+
7+Overview
8+========
9+
10+.. uml::
11+
12+ @startuml
13+ skin rose
14+ !include ../../DocParts/skins.inc
15+
16+ () "files" as txt1
17+
18+ file "*.Castle" as f1
19+ f1 --> txt1
20+ file "*.Moat" as f2
21+ f2 --> txt1
22+
23+ package CC{
24+ txt1 -> CC
25+
26+ () "AIGR" as a1
27+ () "AIGR" as a2
28+
29+ [Readers]
30+ CC #-> Readers
31+ [Transformers]
32+ Folder Backend {
33+ [Writers]
34+ [Translators]
35+
36+ Backend #->Writers
37+
38+ () "files" as txt2
39+ Writers -( txt2
40+ txt2 )-> Translators
41+ }
42+
43+
44+
45+ Readers -( a1
46+ a1 )-> Transformers
47+ Transformers -( a2
48+ a2 )-> Backend
49+ }
50+
51+ Translators 0)-> bin
52+
53+ @enduml
54+
55+The Reader(s)
56+=============
57+
58+.. uml::
59+
60+ @startuml
61+ skin rose
62+ !include ../../DocParts/skins.inc
63+
64+ frame "CC” #c0c0c0 {
65+ package Readers #white {
66+ 'portout AIGR
67+ 'portin TXT
68+
69+ node Reader {
70+ [parser]
71+ [analyse\n(ast)] as ast_ana
72+ [AST 2 AIGR] as AST2AIGR
73+ () "AIGR" as aigr1
74+ [analyse\n(aigr)] as aigr_ana
75+ () "AIGR" as aigr2
76+
77+ parser -> ast_ana : AST
78+ ast_ana -> AST2AIGR : AST
79+ AST2AIGR -> aigr1
80+ aigr1 -> aigr_ana
81+ aigr_ana -( aigr2
82+ }
83+
84+ TXT -> Reader
85+ node mock {
86+ [py_data]
87+ () "AIGR" as aigr3
88+
89+ py_data -( aigr3
90+ }
91+ Reader -[hidden]down-> mock
92+ }
93+ }
94+
95+ @enduml
96+
diff -r 6bb608924dd5 -r 599952188b55 CCastle/DocParts/Design/AR/index.rst
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/CCastle/DocParts/Design/AR/index.rst Sat Nov 04 13:39:06 2023 +0100
@@ -0,0 +1,9 @@
1+Top Level architecture (LOCAL only)
2+==================================
3+
4+
5+.. toctree::
6+ :glob:
7+
8+ *
9+ */index
diff -r 6bb608924dd5 -r 599952188b55 CCastle/DocParts/Design/archived/00.OLD-Peg.rst
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/CCastle/DocParts/Design/archived/00.OLD-Peg.rst Sat Nov 04 13:39:06 2023 +0100
@@ -0,0 +1,139 @@
1+OLD-Peg Diagram
2+===============
3+
4+This anayse/design(?) date from around 2021/2022
5+
6+.. UML::
7+
8+ @startuml
9+
10+ package _base {
11+
12+ abstract AST_BASE {
13+ -_parse_tree
14+ +position()
15+ +position_end()
16+ ~serialize()
17+ }
18+
19+ class ID {
20+ +name
21+ #validate_or_raise()
22+ }
23+
24+ ID =|> AST_BASE
25+ }
26+
27+ package MixIns #Gray {
28+
29+ class MixIn_value_attribute<MixIn> {
30+ _value
31+ value()
32+ }
33+
34+ class MixIn_expr_attribute<MixIn> {
35+ _expr
36+ expr()
37+ }
38+
39+ class MixIn_children_tuple<MixIn> {
40+ _children :Tuple
41+ __len__()
42+ __getitem__()
43+ __iter__()
44+ }
45+ }
46+
47+ package Peg #0077ff {
48+
49+ abstract PEG
50+ AST_BASE <|== PEG
51+
52+
53+
54+ abstract Terminal
55+ PEG <|== Terminal
56+ MixIn_value_attribute <|... Terminal
57+ Terminal <|== StrTerm
58+ Terminal <|== RexExpTerm
59+ Terminal <|== Number
60+
61+ abstract Markers #Orange
62+ annotation EOF #Orange
63+ PEG <|== Markers
64+ Markers <|== EOF
65+
66+ abstract NonTerminal
67+ PEG <|== NonTerminal
68+ abstract Expression
69+ NonTerminal <|== Expression
70+
71+ class Setting {
72+ name : ID
73+ value
74+ }
75+ PEG <|== Setting
76+
77+ class Rule {
78+ name :ID
79+ expr :[] Expression
80+ }
81+ NonTerminal <|== Rule
82+
83+ interface Rules
84+ PEG <|== Rules
85+ MixIn_children_tuple <|... Rules
86+ Rules <|== ParseRules
87+ Rules <|== Settings
88+
89+ class Grammar {
90+ +all_rules :Rules
91+ -parse_rules :ParseRules
92+ -settings :Settings
93+ }
94+ NonTerminal <|== Grammar
95+
96+
97+ abstract Group
98+ Expression <|== Group
99+ Group <|== UnorderedGroup
100+ MixIn_expr_attribute <|... UnorderedGroup
101+ abstract Quantity
102+ Group <|== Quantity
103+ MixIn_expr_attribute <|... Quantity
104+ Expression <|== Sequence
105+ MixIn_children_tuple <|... Sequence
106+
107+ Expression <|== OrderedChoice
108+ MixIn_children_tuple <|... OrderedChoice
109+
110+ class Optional << (?, #0077ff) >>
111+ Quantity <|== Optional
112+ class ZeroOrMore << (*, #0077ff) >>
113+ Quantity <|== ZeroOrMore
114+ class OneOrMore << (+, #0077ff) >>
115+ Quantity <|== OneOrMore
116+
117+ abstract Predicate
118+ Expression <|== Predicate
119+ MixIn_expr_attribute <|... Predicate
120+ class AndPredicate << (&, #0077ff) notconsuming >>
121+ Predicate <|== AndPredicate
122+ class NotPredicate << (! ,#0077ff) not consuming >>
123+ Predicate <|== NotPredicate
124+
125+ }
126+ @enduml
127+
128+
129+
130+
131+
132+
133+
134+
135+
136+
137+
138+
139+
diff -r 6bb608924dd5 -r 599952188b55 CCastle/DocParts/Design/archived/index.rst
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/CCastle/DocParts/Design/archived/index.rst Sat Nov 04 13:39:06 2023 +0100
@@ -0,0 +1,10 @@
1+Old (design) notes (LOCAL only)
2+===============================
3+
4+These are outdated, and not maintain
5+
6+.. toctree::
7+ :glob:
8+
9+ *
10+ */index
diff -r 6bb608924dd5 -r 599952188b55 CCastle/DocParts/Design/index.rst
--- a/CCastle/DocParts/Design/index.rst Sat Nov 04 13:25:50 2023 +0100
+++ b/CCastle/DocParts/Design/index.rst Sat Nov 04 13:39:06 2023 +0100
@@ -1,4 +1,4 @@
1-Partial Design Notes (LOCAL only)
1+All kind of (LOCAL only) Designs
22 =================================
33
44
diff -r 6bb608924dd5 -r 599952188b55 CCastle/DocParts/Design/notes/220122-analyse_imports.rst
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/CCastle/DocParts/Design/notes/220122-analyse_imports.rst Sat Nov 04 13:39:06 2023 +0100
@@ -0,0 +1,34 @@
1+analyse_imports (220122)
2+========================
3+
4+.. UML::
5+
6+ @startuml
7+ skinparam ArrowColor green
8+
9+ skinparam component {
10+ BackgroundColor #0077ff
11+ BorderColor black
12+ }
13+ skinparam folder {
14+ BackgroundColor lightblue
15+ BorderColor black
16+ }
17+
18+ cloud "AsIS 2022/Jan/22" #pink {
19+
20+ folder AST {
21+ folder castle {
22+ [peg] --> [_base]
23+ [_base]
24+ [~__init __]
25+ }
26+ }
27+
28+ folder Arpeggio {
29+ [grammar]
30+ [vistor] --> [peg]
31+ }
32+
33+ }
34+ @enduml
diff -r 6bb608924dd5 -r 599952188b55 CCastle/DocParts/Design/notes/231005-aigr-CompProto.rst
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/CCastle/DocParts/Design/notes/231005-aigr-CompProto.rst Sat Nov 04 13:39:06 2023 +0100
@@ -0,0 +1,50 @@
1+.. -*- plantuml -*-
2+.. filename: date of start
3+.. date in title: last version
4+
5+AIGR:: ComponentInterface and Protocols (231009)
6+================================================
7+
8+.. uml::
9+
10+ @startuml
11+
12+ abstract AIGR
13+ class ComponentInterface
14+ class Protocol
15+ class EventProtocol
16+ class Port {
17+ - direction :PortDirection
18+ - type :PortType
19+ }
20+ abstract ProtocolWrapper {
21+ -based_on\n(the Generic Protocol)
22+ }
23+ class Argument <<(S,lightgreen)>> {
24+ +value :Any
25+ +name :Optional[Str]
26+ }
27+ class TypedParameters <<(S,lightgreen)>> {
28+ +name :str
29+ +type :Type
30+ }
31+ class Type <<(T,lightblue)>>
32+ '--------------------
33+
34+ ComponentInterface <--- ComponentInterface: based_on
35+ Port "*" -* ComponentInterface
36+
37+ Protocol <--- Protocol: based_on
38+ Protocol <-- EventProtocol
39+ Protocol <-- ProtocolWrapper
40+
41+ ProtocolWrapper *- "+"Argument
42+
43+ EventProtocol *- "*" Event: events
44+ Event *-- "*" TypedParameters : typedParameters
45+ Event o- "?" Type: returns
46+
47+ Port o. Protocol: type
48+
49+ @enduml
50+
diff -r 6bb608924dd5 -r 599952188b55 CCastle/DocParts/Design/notes/231009a_TD-AIGR_3protocols.rst
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/CCastle/DocParts/Design/notes/231009a_TD-AIGR_3protocols.rst Sat Nov 04 13:39:06 2023 +0100
@@ -0,0 +1,50 @@
1+.. -*- plantuml -*-
2+
3+TestDoubles/AIGR: The protocols of the Sieve
4+============================================
5+
6+.. uml::
7+
8+ @startuml
9+
10+ object StartSieve <<EventProtocol>>
11+ object runTo <<Event>>{
12+ max: int
13+ }
14+ object newMax <<Event>> {
15+ max: int
16+ }
17+ StartSieve *-- runTo
18+ StartSieve *-- newMax
19+
20+ '---
21+
22+ object SlowStart << EventProtocol>>
23+ object queue_max <<TypedParameter>> {
24+ :int
25+ }
26+ object setMax <<Event>> {
27+ setMax :int
28+ }
29+ SlowStart *-- setMax
30+ SlowStart *- queue_max
31+
32+ '---
33+
34+ object "SlowStart(1)" as SlowStart_1 <<ProtocolWrapper>> {
35+ queue_max=1
36+ }
37+ SlowStart <-- SlowStart_1: based on
38+
39+
40+ '---
41+
42+ object SimpleSieve <<EventProtocol>>
43+ SlowStart_1 <-- SimpleSieve: based_on
44+
45+ object input <<Event>> {
46+ try :int
47+ }
48+ SimpleSieve *--input
49+
50+ @enduml
diff -r 6bb608924dd5 -r 599952188b55 CCastle/DocParts/Design/notes/231009b_TD-AIGR_interfaces.rst
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/CCastle/DocParts/Design/notes/231009b_TD-AIGR_interfaces.rst Sat Nov 04 13:39:06 2023 +0100
@@ -0,0 +1,26 @@
1+.. -*- plantuml -*-
2+
3+TestDoubles/AIGR: The interfaces of the SIEVE (BUSY)
4+====================================================
5+
6+.. uml::
7+
8+ @startuml
9+
10+ object "**Sieve**" as Sieve <<ComponentInterface>> {
11+ + {static} new(onPrime:int)
12+ }
13+ note right of Sieve: alt-name: **SieveMoat**
14+ object try <<Port>>{
15+ In: PortDirection
16+ SimpleSieve: type
17+ }
18+ object corprime <<Port>> {
19+ Out: PortDirection
20+ SimpleSieve: type
21+ }
22+
23+ Sieve *-- try
24+ Sieve *-- corprime
25+
26+ @enduml
diff -r 6bb608924dd5 -r 599952188b55 CCastle/DocParts/Design/notes/231016_NS.rst
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/CCastle/DocParts/Design/notes/231016_NS.rst Sat Nov 04 13:39:06 2023 +0100
@@ -0,0 +1,79 @@
1+Namespace & protocols
2+*********************
3+
4+.. uml::
5+
6+ @startuml
7+
8+ package "Protocols in ‘TheSieve’" as P1 <<Node>> {
9+
10+ package start_sieve as P1A {
11+ object start_sieve <<Source_NS>> #LightSkyBlue {
12+ file: 'start_sieve.Castle'
13+ }
14+ object " " as P1A_d <<dict>> #lightcyan {
15+ StartSieve
16+ base :NS
17+ }
18+ object StartSieve <<EventProtocol>>
19+
20+ start_sieve o-- P1A_d
21+ start_sieve <-- StartSieve
22+ P1A_d::StartSieve -> StartSieve #DarkMagenta
23+ P1A_d::base --> base #DarkMagenta
24+ }
25+
26+ package slow_start as P1B {
27+ object slow_start <<Source_NS>> #LightSkyBlue {
28+ file: 'slow_start.Castle'
29+ }
30+ object " " as P1B_d <<dict>> #lightcyan {
31+ SlowStart
32+ base :NS
33+ }
34+ object SlowStart <<EventProtocol>> {
35+ queue_max :int
36+ }
37+
38+ slow_start o-- P1B_d
39+ slow_start <-- SlowStart
40+ P1B_d::SlowStart -> SlowStart #DarkMagenta
41+ P1B_d::base -> base #DarkMagenta
42+ }
43+
44+ package simple_sieve as P1C {
45+ object simple_sieve <<Source_NS>> #LightSkyBlue {
46+ file: 'simple_sieve.Castle'
47+ }
48+ object " " as P1C_d <<dict>> #lightcyan {
49+ SlowStart(1)
50+ SimpleSieve
51+ }
52+ object "SlowStart(1)" as SlowStart_1 <<ProtocolWrapper>> {
53+ queue_max=1
54+ }
55+ object SimpleSieve <<EventProtocol>>
56+ SlowStart_1 <|-- SimpleSieve: based_on
57+
58+ simple_sieve o-- P1C_d
59+ simple_sieve <-- SlowStart_1
60+ simple_sieve <--- SimpleSieve
61+ P1C_d::SlowStart_1 -> SlowStart_1 #DarkMagenta
62+ P1C_d::SimpleSieve -> SimpleSieve #DarkMagenta
63+ }
64+
65+ SlowStart <|---- SlowStart_1 #SkyBlue : based_on
66+ }
67+
68+ package "Build-in Protocols" as P2 <<Node>> {
69+ package base {
70+ object Protocol <<_RootProtocol>>
71+ }
72+ package buildin {
73+ }
74+ }
75+
76+ Protocol <|-- StartSieve #SkyBlue : based_on
77+ Protocol <|-- SlowStart #SkyBlue : based_on
78+
79+ @enduml
diff -r 6bb608924dd5 -r 599952188b55 CCastle/DocParts/Design/notes/index.rst
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/CCastle/DocParts/Design/notes/index.rst Sat Nov 04 13:39:06 2023 +0100
@@ -0,0 +1,15 @@
1+Some (LOCAL only) Design Notes
2+==============================
3+
4+This are “quick and dirty” design diagrams. That where useful when created (see file-name), but may be less relevant
5+later.
6+
7+* Sound designs, are typically worked out (adding text & view), and move to a stable, to-be-maintained, location
8+* Outdated one are (will be) moved to :doc:`/../archived/index.rst` (and will never be maintained
9+* the one here, a undecided, may or may-not be maintained.
10+
11+.. toctree::
12+ :glob:
13+
14+ *
15+ */index