Activity-Lang: notification to Gate now working
...also diagnostics helper now able to trace notifications ...and additionally the Gate now triggers as planned
This commit is contained in:
parent
108a5e7ca5
commit
4e6ee0ec9c
3 changed files with 56 additions and 28 deletions
|
|
@ -182,6 +182,7 @@ namespace test {
|
|||
.beforeInvocation ("mockJob").timeArg(nominal + Time{FSecs{5}}) // matching first invocation and then second...
|
||||
.afterSeqIncrement(1) // note: searching backwards from the 2nd invocation
|
||||
);
|
||||
// cout << detector.showLog()<<endl; // HINT: use this for investigation...
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -325,13 +326,36 @@ namespace test {
|
|||
|
||||
|
||||
|
||||
/** @test TODO diagnostic setup to detect Activity activation and propagation
|
||||
* @todo WIP 8/23 🔁 define ⟶ implement
|
||||
/** @test diagnostic setup to detect passing a notification
|
||||
* - setup a chain-Activity (here: a `TICK`) protected by a `GATE`
|
||||
* - configure the `GATE` to require one notification
|
||||
* - connect a `NOTIFY`-Activity to trigger the `GATE`
|
||||
* - inject a diagnostics Tap into the notification-connection
|
||||
* - dispatch of the notification can be verified
|
||||
* - notification has been passed through the Tap to the `GATE`
|
||||
* - `GATE` has been decremented to zero and triggers chain
|
||||
* - finally the chained `TICK`-Activity calls into the `executionCtx`
|
||||
* @todo WIP 8/23 ✔ define 🔁 implement
|
||||
*/
|
||||
void
|
||||
watch_notification()
|
||||
{
|
||||
ActivityDetector detector;
|
||||
|
||||
Activity chain;
|
||||
Activity gate{1};
|
||||
gate.next = &chain;
|
||||
Activity notification{&gate};
|
||||
CHECK (gate.data_.condition.rest == 1);
|
||||
|
||||
detector.insertActivationTap (notification.data_.notification.target);
|
||||
|
||||
Time tt{11,11};
|
||||
notification.dispatch (tt, detector.executionCtx);
|
||||
|
||||
CHECK (detector.verifyInvocation("tap-GATE").arg("11.011 --notify-↯> Act(GATE")
|
||||
.beforeInvocation("CTX-post").arg("11.011", "Act(TICK", "≺test::CTX≻"));
|
||||
CHECK (gate.data_.condition.rest == 0);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -397,7 +397,7 @@ namespace test {
|
|||
Activity& target = *reinterpret_cast<Activity*> (data_.callback.arg);
|
||||
auto ctx = *static_cast<FakeExecutionCtx*> (executionCtx);
|
||||
log_(util::toString(now) + " --notify-↯> " + util::toString (target));
|
||||
return target.activate (now, ctx);/////////////////////////////////////////////////////OOO
|
||||
return target.notify (now, ctx);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -78525,9 +78525,9 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1690068914674" ID="ID_229335349" MODIFIED="1690754699265" TEXT="switch-on-type-selector">
|
||||
<node COLOR="#338800" CREATED="1690068914674" ID="ID_229335349" MODIFIED="1692634842339" TEXT="switch-on-type-selector">
|
||||
<linktarget COLOR="#e3fddf" DESTINATION="ID_229335349" ENDARROW="Default" ENDINCLINATION="46;-190;" ID="Arrow_ID_382638651" SOURCE="ID_1532008023" STARTARROW="None" STARTINCLINATION="-301;39;"/>
|
||||
<icon BUILTIN="pencil"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1688998699273" ID="ID_276240629" MODIFIED="1688998702452" TEXT="POST">
|
||||
<node CREATED="1690069222750" ID="ID_817512371" MODIFIED="1690495286268" TEXT="λ-post">
|
||||
<linktarget COLOR="#a9b4c1" DESTINATION="ID_817512371" ENDARROW="Default" ENDINCLINATION="-55;19;" ID="Arrow_ID_1228234954" SOURCE="ID_1000629107" STARTARROW="None" STARTINCLINATION="-170;11;"/>
|
||||
|
|
@ -78638,9 +78638,9 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1690068951061" ID="ID_1729670913" MODIFIED="1692569150684" TEXT="Dispatch">
|
||||
<node COLOR="#338800" CREATED="1690068951061" ID="ID_1729670913" MODIFIED="1692634844170" TEXT="Dispatch">
|
||||
<linktarget COLOR="#46429b" DESTINATION="ID_1729670913" ENDARROW="Default" ENDINCLINATION="100;-277;" ID="Arrow_ID_1325928186" SOURCE="ID_1960608539" STARTARROW="None" STARTINCLINATION="-484;32;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1692567620559" ID="ID_560161359" MODIFIED="1692567640105" TEXT="Notification indirekt über den Scheduler">
|
||||
<icon BUILTIN="info"/>
|
||||
<node CREATED="1692567646787" ID="ID_1679080727" MODIFIED="1692567660965" TEXT="je nach Grooming-Token direkt(synchron) oder asynchron"/>
|
||||
|
|
@ -78680,15 +78680,16 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node CREATED="1690069612171" ID="ID_546472363" MODIFIED="1692569272220" TEXT="sonst: Activation"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1692627465184" ID="ID_1777234139" MODIFIED="1692627474498" TEXT="Ausführungs-Sequenz">
|
||||
<node COLOR="#338800" CREATED="1692627465184" ID="ID_1777234139" MODIFIED="1692634855358" TEXT="Ausführungs-Sequenz">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1692627475398" ID="ID_635246138" MODIFIED="1692627523707" TEXT="normalerweise Weitergabe an die next-Activity "/>
|
||||
<node CREATED="1692627524719" ID="ID_1757918789" MODIFIED="1692627590963" TEXT="bei Sprüngen und Verzweigungen wird dafür POST verwendet">
|
||||
<linktarget COLOR="#9a7574" DESTINATION="ID_1757918789" ENDARROW="Default" ENDINCLINATION="197;-7;" ID="Arrow_ID_1929671741" SOURCE="ID_750903644" STARTARROW="None" STARTINCLINATION="116;9;"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1690069961163" HGAP="-57" ID="ID_1647246120" MODIFIED="1692491427946" TEXT="brauche Diagnose-Hilfsmittel" VSHIFT="4">
|
||||
<node COLOR="#338800" CREATED="1690069961163" HGAP="-57" ID="ID_1647246120" MODIFIED="1692634828819" TEXT="brauche Diagnose-Hilfsmittel" VSHIFT="4">
|
||||
<arrowlink COLOR="#794f4b" DESTINATION="ID_284088835" ENDARROW="Default" ENDINCLINATION="-685;-107;" ID="Arrow_ID_1213725911" STARTARROW="None" STARTINCLINATION="518;48;"/>
|
||||
<icon BUILTIN="pencil"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#338800" CREATED="1690070237908" HGAP="43" ID="ID_875825086" MODIFIED="1692491405654" TEXT="Test-Setup mit λ-Stubs" VSHIFT="-3">
|
||||
<arrowlink COLOR="#7ba8d3" DESTINATION="ID_596906210" ENDARROW="Default" ENDINCLINATION="76;284;" ID="Arrow_ID_1248869383" STARTARROW="None" STARTINCLINATION="990;-88;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
|
|
@ -79505,7 +79506,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<linktarget COLOR="#433d62" DESTINATION="ID_902152915" ENDARROW="Default" ENDINCLINATION="656;-38;" ID="Arrow_ID_644734597" SOURCE="ID_596906210" STARTARROW="None" STARTINCLINATION="1154;77;"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1689202062345" ID="ID_373470992" MODIFIED="1692057818268" TEXT="implementiert als eigenständiges Test-Hilfsmittel">
|
||||
<node COLOR="#435e98" CREATED="1689202062345" ID="ID_373470992" MODIFIED="1692634808312" TEXT="implementiert als eigenständiges Test-Hilfsmittel">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
|
|
@ -81725,8 +81726,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<linktarget COLOR="#794f4b" DESTINATION="ID_284088835" ENDARROW="Default" ENDINCLINATION="-685;-107;" ID="Arrow_ID_1213725911" SOURCE="ID_1647246120" STARTARROW="None" STARTINCLINATION="518;48;"/>
|
||||
<linktarget COLOR="#5f8998" DESTINATION="ID_284088835" ENDARROW="Default" ENDINCLINATION="347;-1232;" ID="Arrow_ID_1573724609" SOURCE="ID_373470992" STARTARROW="None" STARTINCLINATION="634;35;"/>
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1689204985122" ID="ID_1020676746" MODIFIED="1690832427037" TEXT="Rahmen schaffen">
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node COLOR="#338800" CREATED="1689204985122" ID="ID_1020676746" MODIFIED="1692634792327" TEXT="Rahmen schaffen">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#338800" CREATED="1689205014901" ID="ID_221497246" MODIFIED="1690832378644" TEXT="Instantiierung und Lebenszyklus">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#338800" CREATED="1690817530037" ID="ID_497096743" MODIFIED="1690832373134" TEXT="kopierbares Objekt auf dem Stack">
|
||||
|
|
@ -81792,8 +81793,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1690891585410" ID="ID_1976653650" MODIFIED="1690891593537" TEXT="Action-Hook">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1690891585410" ID="ID_1976653650" MODIFIED="1692634770438" TEXT="Action-Hook">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#435e98" CREATED="1690891602401" ID="ID_1359624247" MODIFIED="1690899606451" TEXT="als Primitive einführen">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
|
|
@ -81818,12 +81819,12 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</html></richcontent>
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1692489058101" ID="ID_1423312805" MODIFIED="1692489067676" TEXT="auch für Notifications geeignet berücksichtigen">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1692489058101" ID="ID_1423312805" MODIFIED="1692634771598" TEXT="auch für Notifications geeignet berücksichtigen">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1689205029658" ID="ID_1144318045" MODIFIED="1690918967997" TEXT="Verifikationen">
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node COLOR="#338800" CREATED="1689205029658" ID="ID_1144318045" MODIFIED="1692634790926" TEXT="Verifikationen">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#435e98" CREATED="1690899802680" ID="ID_383665548" MODIFIED="1692053471680" TEXT="Problem: zweifelsfreie Verifikation im Log">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1690899845778" ID="ID_527585169" MODIFIED="1690899886750" TEXT="muß fehl-Matches vermeiden">
|
||||
|
|
@ -81870,7 +81871,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node CREATED="1691876688987" ID="ID_1053525826" MODIFIED="1691876722777" TEXT="für einen dedizierten Verifikator müßte eine Struktur analog zum EventLog aufgebaut werden"/>
|
||||
<node CREATED="1691876724045" ID="ID_599766465" MODIFIED="1691876757873" TEXT="insofern ist es eine „Abkürzung“, das EventLog hierfür einzusetzen"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1691876355275" ID="ID_165347645" MODIFIED="1692121937862" TEXT="brauche komplexere verknüpfte Matches">
|
||||
<node COLOR="#435e98" CREATED="1691876355275" ID="ID_165347645" MODIFIED="1692634764970" TEXT="brauche komplexere verknüpfte Matches">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
|
|
@ -82180,13 +82181,16 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
<node CREATED="1692484977802" ID="ID_1632816684" MODIFIED="1692485020188" TEXT="zeichnet Zeitpunkt und ggfs Subject auf"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1692485180411" ID="ID_1178843988" MODIFIED="1692485203735" TEXT="auch Überwachung von Notifications ermöglichen">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1692485180411" ID="ID_1178843988" MODIFIED="1692634691707" TEXT="Überwachung von Notifications ermöglichen">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1692634693956" ID="ID_952722348" MODIFIED="1692634705286" TEXT="als Ergänzung in den HOOK-Callback eingebaut"/>
|
||||
<node CREATED="1692634705802" ID="ID_1440095266" MODIFIED="1692634720901" TEXT="reagiert speziell wenn die notify()-Funktion aufgerufen wird"/>
|
||||
<node CREATED="1692634721608" ID="ID_1461472121" MODIFIED="1692634732442" TEXT="auch hier wird die Notification dann an das Target weitergereicht"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1689205081622" ID="ID_1440811513" MODIFIED="1689205086027" TEXT="Meßpunkte">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1689205081622" ID="ID_1440811513" MODIFIED="1692634756484" TEXT="Meßpunkte">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#338800" CREATED="1689205105640" ID="ID_1975472338" MODIFIED="1692120794297" TEXT="Dummy-Funktor">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#435e98" CREATED="1692114609799" ID="ID_742671204" MODIFIED="1692114749800" TEXT="was wird erzeugt?">
|
||||
|
|
@ -82344,8 +82348,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1689205423173" ID="ID_935068564" MODIFIED="1692487675023" TEXT="watchGate">
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node COLOR="#338800" CREATED="1689205423173" ID="ID_935068564" MODIFIED="1692634749567" TEXT="watchGate">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#435e98" CREATED="1692485210898" ID="ID_1284233307" MODIFIED="1692491324320" TEXT="komplexe Aufgabe">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
<node CREATED="1692485226036" ID="ID_1556332540" MODIFIED="1692485237497" TEXT="das Gate bietet eigentlich keine Erweiterungspunkte"/>
|
||||
|
|
@ -82362,8 +82366,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node CREATED="1692485311859" ID="ID_1216045769" MODIFIED="1692485364424" TEXT="diese kann Aktivierung aufzeichnen">
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1692485320231" ID="ID_1801884487" MODIFIED="1692485360568" TEXT="zudem Möglichkeit schaffen, auch Notification aufzuzeichnen">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1692485320231" ID="ID_1801884487" MODIFIED="1692634747940" TEXT="zudem Möglichkeit schaffen, auch Notification aufzuzeichnen">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1692485417998" ID="ID_856616436" MODIFIED="1692487971912" TEXT="zudem Probe auf den next-Ptr legen">
|
||||
|
|
|
|||
Loading…
Reference in a new issue