|
|
|
|
@ -79709,7 +79709,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1681086220019" ID="ID_1372752844" MODIFIED="1681086232986" TEXT="Umbau: C-Struct - Layer zurückbauen">
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1681951421768" ID="ID_283868393" MODIFIED="1681951528212" TEXT="Schrittweiser Umbau: alte C-Struct vorwärts-kompatibel machen">
|
|
|
|
|
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1681951421768" ID="ID_283868393" MODIFIED="1687555435111" TEXT="Schrittweiser Umbau: alte C-Struct vorwärts-kompatibel machen">
|
|
|
|
|
<richcontent TYPE="NOTE"><html>
|
|
|
|
|
<head/>
|
|
|
|
|
<body>
|
|
|
|
|
@ -79718,13 +79718,88 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|
|
|
|
</p>
|
|
|
|
|
</body>
|
|
|
|
|
</html></richcontent>
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
<icon BUILTIN="pencil"/>
|
|
|
|
|
<node COLOR="#338800" CREATED="1681951529483" ID="ID_737477406" MODIFIED="1681951551777" TEXT="JobFunctor ‣ JobClosure">
|
|
|
|
|
<icon BUILTIN="button_ok"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1681086385917" ID="ID_1193213661" MODIFIED="1681086416077" TEXT="leichtgewichtig, kopierbar, stateful, Scheduler-impl-owned"/>
|
|
|
|
|
<node CREATED="1701486985336" ID="ID_651799474" MODIFIED="1701486990571" TEXT="Eigenschaften">
|
|
|
|
|
<node CREATED="1681086385917" ID="ID_1193213661" MODIFIED="1701487006678" TEXT="leichtgewichtig, kopierbar, stateful, Scheduler-impl-owned">
|
|
|
|
|
<icon BUILTIN="yes"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1701486993815" ID="ID_391790753" MODIFIED="1701486999993" TEXT="Struktur der Argumente">
|
|
|
|
|
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1701487016324" ID="ID_1155865731" MODIFIED="1701487021931" TEXT="Diskussion...?">
|
|
|
|
|
<icon BUILTIN="help"/>
|
|
|
|
|
<node CREATED="1701487039849" ID="ID_616254801" MODIFIED="1701487064754" TEXT="Bedeutung der Argumente könnte teilweise vom konkreten Funktor abhängig sein"/>
|
|
|
|
|
<node CREATED="1701487125231" ID="ID_802893295" MODIFIED="1701487151022" TEXT="nominal Time : muß ganz sicher downstream per Grid übersetzt werden"/>
|
|
|
|
|
<node CREATED="1701487219433" ID="ID_1120029380" MODIFIED="1701487242906" TEXT="einige Argumente stellen eigentlich Parametrisierung eines generischen Funktors dar"/>
|
|
|
|
|
<node CREATED="1701487268101" ID="ID_1972068234" MODIFIED="1701487296471" TEXT="Argumente sind sinnvoll, wenn sie für jeden Frame verschieden sind"/>
|
|
|
|
|
<node CREATED="1701487308645" ID="ID_53693227" MODIFIED="1701487328511">
|
|
|
|
|
<richcontent TYPE="NODE"><html>
|
|
|
|
|
<head>
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
⟹ man <i>könnte </i>Argumente <b>encodieren</b>
|
|
|
|
|
</p>
|
|
|
|
|
</body>
|
|
|
|
|
</html></richcontent>
|
|
|
|
|
<node CREATED="1701487334353" ID="ID_1667403852" MODIFIED="1701487363785" TEXT="per Trampolin in den JobFunctor-Ptr"/>
|
|
|
|
|
<node CREATED="1701487366693" ID="ID_617390332" MODIFIED="1701487406662" TEXT="per Argument-Key und zusätzlichen Translator"/>
|
|
|
|
|
<node COLOR="#435e98" CREATED="1701487464472" ID="ID_1097042622" MODIFIED="1701488082699" TEXT="sinnvoll? jetzt??">
|
|
|
|
|
<icon BUILTIN="help"/>
|
|
|
|
|
<node CREATED="1701487765040" ID="ID_923220489" MODIFIED="1701488074852" TEXT="pro: Flexibilität und Entlastung des Schedulers">
|
|
|
|
|
<icon BUILTIN="button_cancel"/>
|
|
|
|
|
<node CREATED="1701487783573" ID="ID_1648655157" MODIFIED="1701487798783" TEXT="wir müssen uns noch gar nicht festlegen, was für Parameter benötigt werden"/>
|
|
|
|
|
<node CREATED="1701487799578" ID="ID_1146543607" MODIFIED="1701487808541" TEXT="der Eintrag im Scheduler wird minimal"/>
|
|
|
|
|
<node CREATED="1701487818132" ID="ID_131470790" MODIFIED="1701487823068" TEXT="Job-Records werden kleiner"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1701487490580" ID="ID_1625842672" MODIFIED="1701488080660" TEXT="contra: zusätzlicher Translator muß verwaltet werden">
|
|
|
|
|
<icon BUILTIN="forward"/>
|
|
|
|
|
<node CREATED="1701487507562" ID="ID_1031276443" MODIFIED="1701487516629" TEXT="er ist an den jeweiligen Play-Prozess gebunden"/>
|
|
|
|
|
<node CREATED="1701487517371" ID="ID_953946343" MODIFIED="1701487530000" TEXT="er muß vom Play-Prozess global eingerichetet werden"/>
|
|
|
|
|
<node CREATED="1701487539561" ID="ID_18561883" MODIFIED="1701487546642" TEXT="das greift der Segmentierung vor"/>
|
|
|
|
|
<node CREATED="1701487590639" ID="ID_839764786" MODIFIED="1701487655403" TEXT="und stellt weitere Zustands-Abhängigkeit her">
|
|
|
|
|
<richcontent TYPE="NOTE"><html>
|
|
|
|
|
<head>
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
denn damit wäre nicht nur die Segmentation zu erhalten, sondern auch der Play-Prozess-Translator-Record — solange bis kein Job mehr „anrufen“ kann
|
|
|
|
|
</p>
|
|
|
|
|
</body>
|
|
|
|
|
</html></richcontent>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1701487872384" ID="ID_1962954801" MODIFIED="1701488080660" TEXT="contra: die Activity-Language dient dem gleichen Zweck">
|
|
|
|
|
<icon BUILTIN="forward"/>
|
|
|
|
|
<node CREATED="1701487928425" ID="ID_285184109" MODIFIED="1701487942292" TEXT="sie wird nach Pattern für den Einzelfall instantiiert"/>
|
|
|
|
|
<node CREATED="1701487942999" ID="ID_1482535151" MODIFIED="1701487957458" TEXT="hierfür ist das Lebensdauer-Problem bereits gelöst"/>
|
|
|
|
|
<node CREATED="1701488048121" ID="ID_1514178646" MODIFIED="1701488057788" TEXT="Speicher dafür ist bereits gepoolt und sehr effizient"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1701488083545" ID="ID_709873359" MODIFIED="1701488114912">
|
|
|
|
|
<richcontent TYPE="NODE"><html>
|
|
|
|
|
<head>
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
<u>Fazit</u>: nein und YAGNI
|
|
|
|
|
</p>
|
|
|
|
|
</body>
|
|
|
|
|
</html></richcontent>
|
|
|
|
|
<icon BUILTIN="yes"/>
|
|
|
|
|
<node CREATED="1701488124767" ID="ID_248451009" MODIFIED="1701488140529" TEXT="zunächst einmal wird alles durch die bestehenden Strukturen durchgefädelt"/>
|
|
|
|
|
<node CREATED="1701488141161" ID="ID_97207661" MODIFIED="1701488156591" TEXT="sollte das »knapp« werden, dann wird die Activity-Language erweitert"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1685802625130" ID="ID_1442656492" MODIFIED="1688601316599" TEXT="Job-Daten-Record">
|
|
|
|
|
<linktarget COLOR="#fe3665" DESTINATION="ID_1442656492" ENDARROW="Default" ENDINCLINATION="-1161;156;" ID="Arrow_ID_1073485120" SOURCE="ID_148642807" STARTARROW="None" STARTINCLINATION="-478;30;"/>
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
@ -79751,7 +79826,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|
|
|
|
<linktarget COLOR="#3e3f9b" DESTINATION="ID_1078372838" ENDARROW="Default" ENDINCLINATION="426;-58;" ID="Arrow_ID_1700206774" SOURCE="ID_491497133" STARTARROW="None" STARTINCLINATION="311;19;"/>
|
|
|
|
|
<linktarget COLOR="#4b3ea5" DESTINATION="ID_1078372838" ENDARROW="Default" ENDINCLINATION="416;-39;" ID="Arrow_ID_209843242" SOURCE="ID_953619048" STARTARROW="None" STARTINCLINATION="669;36;"/>
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
<node CREATED="1688600921177" ID="ID_1002134574" MODIFIED="1688600925684" TEXT="size_t strcArg"/>
|
|
|
|
|
<node CREATED="1688600921177" ID="ID_1002134574" MODIFIED="1688600925684" TEXT="size_t srcArg"/>
|
|
|
|
|
<node CREATED="1688600926480" ID="ID_57908906" MODIFIED="1688600930635" TEXT="size_t sinkArg"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
@ -100268,6 +100343,298 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1700105555476" ID="ID_587761135" MODIFIED="1700105558876" TEXT="Scheduling">
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1701488317653" ID="ID_502099140" MODIFIED="1701488325489" TEXT="Art der Integration festlegen">
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
<node COLOR="#338800" CREATED="1701488246119" ID="ID_518382795" LINK="#ID_53693227" MODIFIED="1701488287933" TEXT="Bezug zur »Encodierung von Job-Argumenten«">
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1701490186822" ID="ID_658348473" MODIFIED="1701490206342" TEXT="#1295 job invocation parameter representation">
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1701490209941" ID="ID_231328088" MODIFIED="1701490257231">
|
|
|
|
|
<richcontent TYPE="NODE"><html>
|
|
|
|
|
<head>
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
<u>Stand</u>: noch nicht volltändig umgesetzt
|
|
|
|
|
</p>
|
|
|
|
|
</body>
|
|
|
|
|
</html></richcontent>
|
|
|
|
|
<icon BUILTIN="messagebox_warning"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1701490218212" ID="ID_1089368654" MODIFIED="1701490230246" TEXT="nur der Invocation-Key ist durchgeschleift"/>
|
|
|
|
|
<node COLOR="#5b280f" CREATED="1701490295354" ID="ID_1201168729" MODIFIED="1701490335283" TEXT="das JobFunctor-Interface akzeptiert keine zusätzlichen Argumente">
|
|
|
|
|
<icon BUILTIN="stop-sign"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1701490276188" ID="ID_1180825392" MODIFIED="1701490340494" TEXT="die 2.Feed-Activity ist derzeit leer">
|
|
|
|
|
<icon BUILTIN="hourglass"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1701490637565" ID="ID_96958310" MODIFIED="1701490654507" TEXT="jetzt implementieren — oder weiter durchmogeln?">
|
|
|
|
|
<icon BUILTIN="help"/>
|
|
|
|
|
<node CREATED="1701490659833" ID="ID_148739202" MODIFIED="1701490679838" TEXT="erwarte, daß sich das Thema rückwärts von der »Node-Invocation« her klärt">
|
|
|
|
|
<icon BUILTIN="info"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1701490692653" ID="ID_67997206" MODIFIED="1701490757553" TEXT="alle bisherigen Tests packen die Verifikations-Payload in die InvocationInstanceID">
|
|
|
|
|
<icon BUILTIN="idea"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1701488366430" ID="ID_1676473919" MODIFIED="1701488373146" TEXT="Steuerung des Zugriffs">
|
|
|
|
|
<node CREATED="1701488374014" ID="ID_923328966" MODIFIED="1701488576222">
|
|
|
|
|
<richcontent TYPE="NODE"><html>
|
|
|
|
|
<head>
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
für den eigentlichen Aufruf genügt ein <font face="Monospaced" color="#5c0e8a">Node*</font>
|
|
|
|
|
</p>
|
|
|
|
|
</body>
|
|
|
|
|
</html></richcontent>
|
|
|
|
|
<icon BUILTIN="idea"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1701488555309" ID="ID_251594057" MODIFIED="1701488573238" TEXT="der Funktor braucht aber eine typisierte Closure">
|
|
|
|
|
<icon BUILTIN="messagebox_warning"/>
|
|
|
|
|
<node CREATED="1701488579450" ID="ID_635811261" MODIFIED="1701488668523" TEXT="er muß nämlich das Mem-Layout von »Node« kennen">
|
|
|
|
|
<richcontent TYPE="NOTE"><html>
|
|
|
|
|
<head>
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
....und das hängt vom Template-Parameter der TestChainLoad ab (<font face="Monospaced" color="#6c2f31">size_t maxFan</font>)
|
|
|
|
|
</p>
|
|
|
|
|
</body>
|
|
|
|
|
</html></richcontent>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1701490404883" ID="ID_16635541" MODIFIED="1701491037626" TEXT="Lösung-1 : Funktor wird vom Template instantiiert">
|
|
|
|
|
<icon BUILTIN="forward"/>
|
|
|
|
|
<node CREATED="1701490482569" ID="ID_1203111511" MODIFIED="1701490505573" TEXT="leicht umzusetzen"/>
|
|
|
|
|
<node COLOR="#435e98" CREATED="1701491027233" ID="ID_673787747" MODIFIED="1701491031709" TEXT="KISS">
|
|
|
|
|
<icon BUILTIN="yes"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node COLOR="#5b280f" CREATED="1701490421209" ID="ID_1638819074" MODIFIED="1701491039410" TEXT="Lösung-2 : Funktor bekommt vom Template einen Dispatcher">
|
|
|
|
|
<icon BUILTIN="button_cancel"/>
|
|
|
|
|
<node COLOR="#5b280f" CREATED="1701490491080" ID="ID_1785819549" MODIFIED="1701491024562" TEXT="enstpricht mehr der Realität">
|
|
|
|
|
<icon BUILTIN="button_cancel"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1701490990894" ID="ID_1939179952" MODIFIED="1701491019860" TEXT="welcher Realität??">
|
|
|
|
|
<richcontent TYPE="NOTE"><html>
|
|
|
|
|
<head>
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
weiß ja noch nicht, wie das für ProcNode implementiert wird
|
|
|
|
|
</p>
|
|
|
|
|
</body>
|
|
|
|
|
</html></richcontent>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1701490522375" ID="ID_661863679" MODIFIED="1701490537754" TEXT="es gibt keinen offensichtlichen Zeit-Bezug">
|
|
|
|
|
<icon BUILTIN="messagebox_warning"/>
|
|
|
|
|
<node CREATED="1701490556823" ID="ID_1224574723" MODIFIED="1701490575134" TEXT="die Nodes sollten nach Layer-Ordnung behandelt werden"/>
|
|
|
|
|
<node CREATED="1701490603497" ID="ID_1528195432" MODIFIED="1701490623330" TEXT="⟹ bedeutet: aus der Zeit läßt sich nicht die Node rekonstruieren"/>
|
|
|
|
|
<node CREATED="1701490811846" ID="ID_1106508882" MODIFIED="1701490839795">
|
|
|
|
|
<richcontent TYPE="NODE"><html>
|
|
|
|
|
<head>
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
formal-Logisch entspräche der Node-Index dem <b><font face="Monospaced">srcRef</font></b>-Parameter
|
|
|
|
|
</p>
|
|
|
|
|
</body>
|
|
|
|
|
</html></richcontent>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1701491082441" ID="ID_1432085773" MODIFIED="1701491087154" TEXT="Beschluß">
|
|
|
|
|
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
|
|
|
|
|
<icon BUILTIN="yes"/>
|
|
|
|
|
<node CREATED="1701491091978" ID="ID_1343223831" MODIFIED="1701491104906" TEXT="der Funktor wird vom Template »abgeworfen«"/>
|
|
|
|
|
<node CREATED="1701491138047" ID="ID_477283179" MODIFIED="1701491146374" TEXT="(der muß dann irgendwo residieren, z.B. im Stack-Frame)"/>
|
|
|
|
|
<node CREATED="1701491105567" ID="ID_2955492" MODIFIED="1701491137114" TEXT="man übergibt direkt einen Pointer darauf"/>
|
|
|
|
|
<node CREATED="1701491172165" ID="ID_1453790989" MODIFIED="1701491203414" TEXT="die Level-Nummer wird direkt in die nominelle Zeit codiert">
|
|
|
|
|
<node CREATED="1701491207249" ID="ID_227520102" MODIFIED="1701491214620" TEXT="wie ist im Grunde egal">
|
|
|
|
|
<node CREATED="1701644765955" ID="ID_207437696" MODIFIED="1701644774457" TEXT="verwende eine FixedFrameQuantiser"/>
|
|
|
|
|
<node CREATED="1701644775597" ID="ID_1517631819" MODIFIED="1701644789319" TEXT="mit einer Frame-Rate ≔ 1"/>
|
|
|
|
|
<node CREATED="1701644790211" ID="ID_859085781" MODIFIED="1701644813586" TEXT="komplett per Helper-Funktionen verbergen"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1701491215288" ID="ID_1770681095" MODIFIED="1701491225971" TEXT="beim Aufruf wird mit der Level-Nr der Node verglichen"/>
|
|
|
|
|
<node CREATED="1701491226535" ID="ID_42032084" MODIFIED="1701491234169" TEXT="Exception oder abort wenn das nicht paßt"/>
|
|
|
|
|
<node CREATED="1701491238819" ID="ID_1658586813" MODIFIED="1701491248533" TEXT="ansonsten wird diese Info nicht weiter ausgewertet"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1701491256794" ID="ID_228896368" MODIFIED="1701491275468" TEXT="den Node-Index verstecken wir in der InvocationInstanceID">
|
|
|
|
|
<node CREATED="1701491280767" ID="ID_1555411889" MODIFIED="1701491286834" TEXT="das ist eine temporäre Lösung"/>
|
|
|
|
|
<node CREATED="1701491287412" ID="ID_1202131618" MODIFIED="1701491299894" TEXT="später zieht diese Info in den srcRef-Parameter um"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1701644821415" ID="ID_819606175" MODIFIED="1701644833217" TEXT="die Übersetzung wird komplett in Helper-Funktionen verborgen"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1701492130949" ID="ID_675763294" MODIFIED="1701493055702" TEXT="Abläufe zum Aufruf">
|
|
|
|
|
<icon BUILTIN="info"/>
|
|
|
|
|
<node CREATED="1701492140931" ID="ID_1320296040" MODIFIED="1701492145760" TEXT="Szenario vorbereiten">
|
|
|
|
|
<node CREATED="1701492296608" ID="ID_704886543" MODIFIED="1701492301635" TEXT="Topologie generieren"/>
|
|
|
|
|
<node CREATED="1701492304278" ID="ID_822112283" MODIFIED="1701492623100" TEXT="Lastparameter festlegen">
|
|
|
|
|
<arrowlink COLOR="#46417d" DESTINATION="ID_600666367" ENDARROW="Default" ENDINCLINATION="-77;5;" ID="Arrow_ID_1576743155" STARTARROW="None" STARTINCLINATION="79;9;"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1701492317525" ID="ID_1881487168" MODIFIED="1701492327879" TEXT="Job-Funktoren generieren">
|
|
|
|
|
<node CREATED="1701492328779" ID="ID_1288799048" MODIFIED="1701492334727" TEXT="Meta-Job">
|
|
|
|
|
<node CREATED="1701492400282" ID="ID_1328828871" MODIFIED="1701492406517" TEXT="kennt den Dispatcher-Job"/>
|
|
|
|
|
<node CREATED="1701492408312" ID="ID_7980137" MODIFIED="1701492432032" TEXT="weiß die Zahl zu erzeugender Level"/>
|
|
|
|
|
<node CREATED="1701492498750" ID="ID_600666367" MODIFIED="1701492616979" TEXT="kennt ein Mapping Level-Nr ⟼ dispatch-Zeit">
|
|
|
|
|
<linktarget COLOR="#46417d" DESTINATION="ID_600666367" ENDARROW="Default" ENDINCLINATION="-77;5;" ID="Arrow_ID_1576743155" SOURCE="ID_822112283" STARTARROW="None" STARTINCLINATION="79;9;"/>
|
|
|
|
|
<node CREATED="1701492530640" ID="ID_189764840" MODIFIED="1701492537823" TEXT="beachte: nur Dispatch-Zeit"/>
|
|
|
|
|
<node CREATED="1701492538439" ID="ID_1396963090" MODIFIED="1701492582067" TEXT="hier geht es nicht um eine »Gesamt-Simulation«">
|
|
|
|
|
<richcontent TYPE="NOTE"><html>
|
|
|
|
|
<head>
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
also nicht um den gesamten Playback-Prozeß. Es müssen keinerlei Deadline-Planungen gemacht werden; das kommt alles Fix per Test-Setup
|
|
|
|
|
</p>
|
|
|
|
|
</body>
|
|
|
|
|
</html></richcontent>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1701492433029" ID="ID_1524195763" MODIFIED="1701492496433" TEXT="geht per Level oder per Job-Nummer vor...">
|
|
|
|
|
<richcontent TYPE="NOTE"><html>
|
|
|
|
|
<head>
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
das könnten Varianten des Test-Setup sein; weiß noch nicht was hier gebraucht wird. Rein intuitiv würde ich erst mal nur nach dem Level vorgehen
|
|
|
|
|
</p>
|
|
|
|
|
</body>
|
|
|
|
|
</html></richcontent>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1701492666350" ID="ID_1408515925" MODIFIED="1701492703698" TEXT="bekommt demnach die Level-Nr als einziges Job-Argument">
|
|
|
|
|
<richcontent TYPE="NOTE"><html>
|
|
|
|
|
<head>
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
das paßt doch hervorragend; LevelNr ≡ nominal time
|
|
|
|
|
</p>
|
|
|
|
|
</body>
|
|
|
|
|
</html></richcontent>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1701492335301" ID="ID_761185060" MODIFIED="1701492340856" TEXT="Dispatcher-Job">
|
|
|
|
|
<node CREATED="1701492358918" ID="ID_1718078211" MODIFIED="1701492373658" TEXT="dieser enthält einen direkten Backpointer zum TestChainLoad"/>
|
|
|
|
|
<node CREATED="1701492384572" ID="ID_1043264129" MODIFIED="1701492395574" TEXT="der Rest kommt über die Job-Argumente"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1701492148715" ID="ID_351519805" MODIFIED="1701492176651" TEXT="Meta-Job absetzen">
|
|
|
|
|
<node CREATED="1701492233368" ID="ID_1590497556" MODIFIED="1701492262376" TEXT="dieser verwendet die TestChainLoad, um zu dispatchen"/>
|
|
|
|
|
<node CREATED="1701492263484" ID="ID_907709182" MODIFIED="1701492290404" TEXT="hier geeignete Continuation-Closure vorsehen"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1701492216738" ID="ID_70908232" MODIFIED="1701492227198" TEXT="auf Vollzugs-Notification warten">
|
|
|
|
|
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1701492802252" ID="ID_462409370" MODIFIED="1701492809108" TEXT="woher kommt die? wer macht die?">
|
|
|
|
|
<icon BUILTIN="help"/>
|
|
|
|
|
<node CREATED="1701492811689" ID="ID_1542455064" MODIFIED="1701492825844" TEXT="wir starten hier keine Threads">
|
|
|
|
|
<icon BUILTIN="stop-sign"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1701492828257" ID="ID_1372403993" MODIFIED="1701492835845" TEXT="also kann es nur aus dem Meta-Job kommen"/>
|
|
|
|
|
<node CREATED="1701492899063" ID="ID_261543502" MODIFIED="1701492907570" TEXT="der könnte eine Closure ausführen oder eine Flag setzen"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1701492932866" ID="ID_331874903" MODIFIED="1701548899190" TEXT="man könnte hier fest ein wait()-notify() codieren">
|
|
|
|
|
<node CREATED="1701492951352" ID="ID_599266710" MODIFIED="1701492962514" TEXT="d.h. der Schedule()-Aufruf..."/>
|
|
|
|
|
<node CREATED="1701492963126" ID="ID_1362334556" MODIFIED="1701492969265" TEXT="würde den Meta-Job absetzen"/>
|
|
|
|
|
<node CREATED="1701492969853" ID="ID_354060729" MODIFIED="1701492985848" TEXT="und danach in ein thread:;wait() gehen"/>
|
|
|
|
|
<node CREATED="1701492990299" ID="ID_999473580" MODIFIED="1701492995350" TEXT="ggfs sogar mit Timeout()!"/>
|
|
|
|
|
<node CREATED="1701493003512" ID="ID_436816851" MODIFIED="1701493015501" TEXT="die Closure aus dem Meta-Job weckt uns dann wieder auf"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1701488306399" ID="ID_437847189" MODIFIED="1701488325489" TEXT="Schinttstelle bestimmen">
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1701493065993" ID="ID_1474617887" MODIFIED="1701493070377" TEXT="Implementierung">
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1701548966576" ID="ID_1078499413" MODIFIED="1701548984371" TEXT="Basis und Rahmen">
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1701549002234" ID="ID_1561610431" MODIFIED="1701550109050" TEXT="Design-Fragen zu klären">
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1701550180973" ID="ID_809373895" MODIFIED="1701630273510" TEXT="wie verarbeiten wir Prerequisites?">
|
|
|
|
|
<icon BUILTIN="help"/>
|
|
|
|
|
<node CREATED="1701550315571" ID="ID_1778692014" MODIFIED="1701550322317" TEXT="Activity-Term-API">
|
|
|
|
|
<node CREATED="1701550323615" ID="ID_7308108" MODIFIED="1701550333725" TEXT="wir brauchen für beide einen ActivityTerm"/>
|
|
|
|
|
<node CREATED="1701550335856" ID="ID_264099658" MODIFIED="1701550359743" TEXT="wir gehen von der Prerequisite und hängen sie an den Nachfolger"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1701550473011" ID="ID_1870816803" MODIFIED="1701550487721" TEXT="SchedulerSpec">
|
|
|
|
|
<node CREATED="1701550488596" ID="ID_1839210683" MODIFIED="1701550497481" TEXT="packt den ActivityTerm ein"/>
|
|
|
|
|
<node CREATED="1701550497932" ID="ID_1574659542" MODIFIED="1701550504262" TEXT="Scheduler gibt uns nur diese"/>
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1701550504897" ID="ID_1986125239" MODIFIED="1701550524073" TEXT="dort ein API zum Anhängen von Prerequisites schaffen">
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1701550571574" ID="ID_903982829" MODIFIED="1701550580028" TEXT="Nodes verweisen per direktem Pointer aufeinander">
|
|
|
|
|
<node CREATED="1701550583145" ID="ID_1111982200" MODIFIED="1701550593585" TEXT="damit hat man nur eine andere Node in der Hand"/>
|
|
|
|
|
<node CREATED="1701550594381" ID="ID_1100224733" MODIFIED="1701550628201" TEXT="brauche Hilfe vom TestChainLoad ⟼ NodeID herausfinden"/>
|
|
|
|
|
<node CREATED="1701550669625" ID="ID_318100058" MODIFIED="1701550690108" TEXT="⟹ SchedulerSpec müssen auch in einem Array liegen"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1701550796338" ID="ID_10603052" MODIFIED="1701550944298" TEXT="SchedulerSpec (und ActivityTerm) passen nicht gut in dieses Arbeitsschema">
|
|
|
|
|
<icon BUILTIN="messagebox_warning"/>
|
|
|
|
|
<node CREATED="1701550947518" ID="ID_844132583" MODIFIED="1701550954585" TEXT="die waren als Builder gedacht"/>
|
|
|
|
|
<node CREATED="1701630020156" ID="ID_1451722632" MODIFIED="1701630029914" TEXT="und damit auf eine Einzelfall-Anwendung zugeschnitten"/>
|
|
|
|
|
<node CREATED="1701630030692" ID="ID_1766960147" MODIFIED="1701630048493" TEXT="nun haben wir es mit schematischer Massen-Verarbeitung zu tun"/>
|
|
|
|
|
<node CREATED="1701574628934" ID="ID_12588074" MODIFIED="1701574720900" TEXT="mit einem UninitialisedStorage-Array könnte es besser gehen">
|
|
|
|
|
<arrowlink COLOR="#5b92bc" DESTINATION="ID_1331044905" ENDARROW="Default" ENDINCLINATION="-1107;79;" ID="Arrow_ID_1234105866" STARTARROW="None" STARTINCLINATION="-2546;116;"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1701630108121" ID="ID_466850642" MODIFIED="1701630276535" TEXT="Vorteil (nur) hier: Prerequisites liegen stetes genau einen Level tiefer">
|
|
|
|
|
<icon BUILTIN="idea"/>
|
|
|
|
|
<node CREATED="1701630162426" ID="ID_1752012941" MODIFIED="1701630171933" TEXT="systematischer Verarbeitung Level für Level"/>
|
|
|
|
|
<node CREATED="1701630172579" ID="ID_665479593" MODIFIED="1701630209464" TEXT="die Vorgänger-Terme liegen lassen"/>
|
|
|
|
|
<node CREATED="1701630235800" ID="ID_112345737" MODIFIED="1701630388553" TEXT="Test-Setup kann man ausnützen">
|
|
|
|
|
<richcontent TYPE="NOTE"><html>
|
|
|
|
|
<head>
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
wir wissen, daß es keine concurrent Aufrufe geben wird, und auch Allokation stellt kein Problem dar; wir können einfach State im »Test-Rahmen« liegen lassen
|
|
|
|
|
</p>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|
|
|
|
|
</richcontent>
|
|
|
|
|
<font NAME="SansSerif" SIZE="12"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1701550085813" ID="ID_1532623231" MODIFIED="1701630291290" TEXT="wie greift der Meta-Job auf den Schedulerer zu?">
|
|
|
|
|
<icon BUILTIN="help"/>
|
|
|
|
|
<node CREATED="1701630398320" ID="ID_519354189" MODIFIED="1701630417244" TEXT="der reale Meta-Planer-Job wird über einen Scheduler-Service (DI) gehen"/>
|
|
|
|
|
<node CREATED="1701630418928" ID="ID_456698721" MODIFIED="1701630480580" TEXT="das würde aber das Test-Setup verkomplizieren und behindern"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#ccb59b" COLOR="#6e2a38" CREATED="1701630880013" ID="ID_1011967668" MODIFIED="1701630892763" TEXT="es ist ein kontrolliertes Test-Setup">
|
|
|
|
|
<font ITALIC="true" NAME="SansSerif" SIZE="14"/>
|
|
|
|
|
<icon BUILTIN="yes"/>
|
|
|
|
|
<node CREATED="1701630907866" ID="ID_1372628167" MODIFIED="1701630912378" TEXT="Platz spielt keine Rolle"/>
|
|
|
|
|
<node CREATED="1701630913014" ID="ID_1412800501" MODIFIED="1701630921358" TEXT="es läuft nicht concurrent"/>
|
|
|
|
|
<node CREATED="1701630922141" ID="ID_887329209" MODIFIED="1701630929224" TEXT="explizitie Vorbereitung möglich"/>
|
|
|
|
|
<node CREATED="1701634155541" ID="ID_237095519" MODIFIED="1701634175327" TEXT="dafür möglichst generisch und klar"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1701493082582" ID="ID_1894179968" MODIFIED="1701493117170" TEXT="Dispatcher-Job implementieren">
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1701493075903" ID="ID_114421309" MODIFIED="1701493117170" TEXT="Meta-Job implementieren">
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1701493107387" ID="ID_1826192324" MODIFIED="1701493117170" TEXT="Aufruf-front-End">
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
@ -110762,8 +111129,7 @@ class Something
|
|
|
|
|
Da alignof(char) ≡ 1, ist es gradezu eine »Steilvorlage« für Probleme, wenn man einen Allocation-Buffer per char[] deklariert. GCC macht das nicht (er fängt Allokationen immer an 64bit-Grenzen an), aber grundsätzlich dürfte ein Compiler ein char[] anfangen, wo er grad' lustig ist. Besonders gefährlich, wenn das Array <i>in ein anderes Objekt eingebettet</i> wird. Nur den zuletzt genannten Fall habe ich 2019 abgeklärt; gegen alle sonstigen <i>Schnaps-Ideen </i>gibt es keinen Schutz — es sei denn, man hält sich an die Sprachmittel
|
|
|
|
|
</p>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|
|
|
|
|
</richcontent>
|
|
|
|
|
</html></richcontent>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1701556228394" ID="ID_1444144444" LINK="https://en.cppreference.com/w/cpp/types/aligned_storage" MODIFIED="1701559705550" TEXT="es gäbe dafür ein Sprachmittel: std::aligned_storage">
|
|
|
|
|
<node CREATED="1701556795662" ID="ID_1263844060" LINK="https://stackoverflow.com/a/71828512" MODIFIED="1701556817727" TEXT="wenngleich auch deprecated für C++23"/>
|
|
|
|
|
@ -110775,6 +111141,7 @@ class Something
|
|
|
|
|
<icon BUILTIN="button_ok"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node COLOR="#338800" CREATED="1701559745027" ID="ID_1331044905" MODIFIED="1701574720900" TEXT="lib::UninitialisedStorage bereitstellen">
|
|
|
|
|
<linktarget COLOR="#5b92bc" DESTINATION="ID_1331044905" ENDARROW="Default" ENDINCLINATION="-1107;79;" ID="Arrow_ID_1234105866" SOURCE="ID_12588074" STARTARROW="None" STARTINCLINATION="-2546;116;"/>
|
|
|
|
|
<icon BUILTIN="button_ok"/>
|
|
|
|
|
<node COLOR="#338800" CREATED="1701561920506" ID="ID_889775258" MODIFIED="1701561928182" TEXT="⟶ und für ExtentFamilty verwenden">
|
|
|
|
|
<icon BUILTIN="button_ok"/>
|
|
|
|
|
|