Invocation: conjectures pertaining an implementation of Node-Graph generation
To escape a possible deadlock in analysis, I resort to developing some kind of free-wheeling presupposition how the **Builder** could be implemented — a centrepiece of the Lumiera architecture envisioned thus far — which ''unfortunately'' can only be planned and developed in a more solid way ''after'' the current »Vertical Slice« is completed. Thus I find myself in the uncomfortable situation of having to work towards a core piece, which can not yet be built, since it relies heavily on the very structures to be built...
This commit is contained in:
parent
604c4b580b
commit
ce9bf7f143
3 changed files with 611 additions and 44 deletions
|
|
@ -1,8 +1,9 @@
|
|||
/*
|
||||
NODE-WIRING-BUILDER.hpp - Setup of render nodes connectivity
|
||||
NODE-BUILDER.hpp - Setup of render nodes connectivity
|
||||
|
||||
Copyright (C) Lumiera.org
|
||||
2009, Hermann Vosseler <Ichthyostega@web.de>
|
||||
2024 , Hermann Vosseler <Ichthyostega@web.de>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as
|
||||
|
|
@ -20,7 +21,7 @@
|
|||
|
||||
*/
|
||||
|
||||
/** @file node-wiring-builder.hpp
|
||||
/** @file node-builder.hpp
|
||||
** Helper for defining the desired wiring and operation mode for a render node.
|
||||
** During the Builder run, the render nodes network is wired up starting from the
|
||||
** source (generating) nodes up to the exit nodes. As the wiring is implemented through
|
||||
|
|
@ -38,8 +39,8 @@
|
|||
*/
|
||||
|
||||
|
||||
#ifndef ENGINE_NODE_WIRING_BUILDER_H
|
||||
#define ENGINE_NODE_WIRING_BUILDER_H
|
||||
#ifndef ENGINE_NODE_BUILDER_H
|
||||
#define ENGINE_NODE_BUILDER_H
|
||||
|
||||
|
||||
#include "steam/engine/proc-node.hpp"
|
||||
|
|
@ -106,4 +107,4 @@ namespace engine {
|
|||
|
||||
|
||||
}} // namespace steam::engine
|
||||
#endif /*ENGINE_NODE_WIRING_BUILDER_H*/
|
||||
#endif /*ENGINE_NODE_BUILDER_H*/
|
||||
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
#include "lib/test/run.hpp"
|
||||
#include "steam/engine/proc-node.hpp"
|
||||
#include "steam/engine/node-wiring-builder.hpp"
|
||||
#include "steam/engine/node-builder.hpp"
|
||||
#include "steam/engine/test-rand-ontology.hpp"
|
||||
//#include "lib/util.hpp"
|
||||
|
||||
|
|
|
|||
|
|
@ -68363,7 +68363,7 @@
|
|||
<node CREATED="1719689436610" ID="ID_1674105231" MODIFIED="1719689676839" STYLE="fork" TEXT="Architektur-Design">
|
||||
<node CREATED="1719689474045" ID="ID_1718547868" MODIFIED="1719689676839" TEXT="Umgang mit dem Implementierungs-Typ">
|
||||
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1719689186161" ID="ID_3439776" MODIFIED="1719790237123" TEXT="Design-Frage: Opaque oder Typed?">
|
||||
<linktarget COLOR="#8c4f70" DESTINATION="ID_3439776" ENDARROW="Default" ENDINCLINATION="32;187;" ID="Arrow_ID_579852970" SOURCE="ID_1037364637" STARTARROW="None" STARTINCLINATION="-630;-23;"/>
|
||||
<linktarget COLOR="#8c4f70" DESTINATION="ID_3439776" ENDARROW="Default" ENDINCLINATION="32;187;" ID="Arrow_ID_579852970" SOURCE="ID_1037364637" STARTARROW="None" STARTINCLINATION="-650;-26;"/>
|
||||
<icon BUILTIN="help"/>
|
||||
<node CREATED="1719689711749" ID="ID_860062674" MODIFIED="1719689722983" TEXT="Frage des Umganges">
|
||||
<node CREATED="1719689728721" ID="ID_219728438" MODIFIED="1719689747469" TEXT="Opaque: ein Handle für die Library"/>
|
||||
|
|
@ -68395,7 +68395,11 @@
|
|||
<node CREATED="1719690437269" ID="ID_1422464736" MODIFIED="1719690443972" TEXT="Rolle des Stream-Type-Managers"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1719689451088" ID="ID_1590678849" MODIFIED="1719689676839" STYLE="fork" TEXT="Integration"/>
|
||||
<node CREATED="1719689451088" ID="ID_1590678849" MODIFIED="1719689676839" STYLE="fork" TEXT="Integration">
|
||||
<node CREATED="1720131966251" ID="ID_789242183" MODIFIED="1720132035015" TEXT="Implementierunts-Stream-Types per Media-Handling-Library">
|
||||
<linktarget COLOR="#698ace" DESTINATION="ID_789242183" ENDARROW="Default" ENDINCLINATION="-1373;68;" ID="Arrow_ID_1529340331" SOURCE="ID_681530662" STARTARROW="None" STARTINCLINATION="1458;286;"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1680567302856" ID="ID_599503027" MODIFIED="1680567686765" TEXT="Output-Management">
|
||||
<linktarget COLOR="#890814" DESTINATION="ID_599503027" ENDARROW="Default" ENDINCLINATION="-447;649;" ID="Arrow_ID_1542547570" SOURCE="ID_1793577189" STARTARROW="None" STARTINCLINATION="-1299;-27;"/>
|
||||
|
|
@ -71237,6 +71241,153 @@
|
|||
<linktarget COLOR="#a9b4c1" DESTINATION="ID_1843874673" ENDARROW="Default" ENDINCLINATION="-398;-418;" ID="Arrow_ID_908178206" SOURCE="ID_818640049" STARTARROW="None" STARTINCLINATION="1004;0;"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1720053707354" ID="ID_132183535" MODIFIED="1720053743636">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
«<b>Domain-Ontology</b>-Mapping»
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
<node BACKGROUND_COLOR="#ccb59b" COLOR="#6e2a38" CREATED="1720053763955" ID="ID_73622691" MODIFIED="1720053781818" TEXT="Bewußter Verzicht auf eine übergreifende Gesamt-Systematik">
|
||||
<font ITALIC="true" NAME="SansSerif" SIZE="14"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
<node CREATED="1720053807508" ID="ID_478947971" MODIFIED="1720053920259" TEXT="hinter jeder Media-handling-Library steht implizit eine Domain-Ontology">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
Einfach gesagt: jede Media-handling-Library definiert, was für Medien-Dinge es geben kann, wie diese zusammenhängen und klassifiziert werden und wie deren Eigenschaften festgestellt werden können...
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1720053459603" ID="ID_154423823" MODIFIED="1720055356193">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
<u>Feststellung</u>: Domain-Ontologies werden über <b>Aufgaben-Callbacks</b>  eingebunden
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
<b>Dies ist ein Beschluß auf Basis einer induktiven Grundhaltung</b>: Wir haben den bestehenden Umgang mit dem Thema »Media-Processing« betrachtet und auf diesem Hintergrund eine Architektur-Lösung gefunden, die nicht auf einer mutwillig deduktiv gesetzten Ordnung beruht. Es wird ein Rahmen abgesteckt, was man typischerweise „mit Medien machen“ möchte, und aus diesem wird ein Baukasten-System destilliert, auf dessen Basis sich diese üblichen Ziele und Zwecke erreichen lassen. Dieser Rahmen bleibt jedoch offen, insofern er nicht als eine innere Systematik ausgearbeitet wird. Stattdessen gibt es — aus diesem Baukasktensystem heraus — bestimmte Aufgaben, die im Rahmen der jeweiligen Domain-Ontology zu lösen sind. Lumiera stellt dafür den Raum für ein Modell bereit, und einen Ordnungsrahmen, wie mit den Modellbestandteilen umzugehen ist. Es obliegt dann aber dem jeweiligen Domain-Adapter (Façade), diese von Lumiera vorgegebenen Erwartungen <i>in der jeweiligen Domäne zu realisieren. </i>
|
||||
</p>
|
||||
<p>
|
||||
Zur Wirkung der aufgerufenen Aufgaben und zur Semantik müssen gewisse Annahmen gemacht werden, wie z.B. das ein Medium <i>gerendert</i> werden kann. Es wird aber nicht versucht, dies weiter klassifikatorisch zu fassen; die Wirkung dieser Aktionen wird durchgereicht, und der Sinn liegt bei demjenigen, der Lumiera verwendet, um damit etwas zu bauen.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
<linktarget COLOR="#5f2a35" DESTINATION="ID_154423823" ENDARROW="Default" ENDINCLINATION="1034;37;" ID="Arrow_ID_140292863" SOURCE="ID_1065771845" STARTARROW="None" STARTINCLINATION="-1126;43;"/>
|
||||
<node CREATED="1720054037983" ID="ID_998800564" MODIFIED="1720054057817" TEXT="der Schlüssel dazu sind Proc-Assets und Stream-Types"/>
|
||||
<node CREATED="1720054101630" ID="ID_945345705" MODIFIED="1720055718797" TEXT="eine Reihe fester Aufgaben wird der jeweiligen Domain-Ontology zur Lösung überlassen">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
<u>Beispiele</u>:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
Feststellen, ob eine Verbindung für einen bestimmten Medienstrom realisierbar ist
|
||||
</li>
|
||||
<li>
|
||||
Auswahl eines Codecs für einen »Strom-Prototypen«, dessen Bedeutung anderweitig festgelegt wurde
|
||||
</li>
|
||||
<li>
|
||||
Entscheiden, in welcher Reihenfolge und in welcher Form Voraussetzungen bereitzustellen sind
|
||||
</li>
|
||||
<li>
|
||||
Übersetzen eines Medienstroms in die Repräsentation einer anderen Media-handling-Library
|
||||
</li>
|
||||
<li>
|
||||
Bereitstelleung einer Verschaltung im Detail, damit ein Verarbeitungsschritt im Rahmen der Lumiera Render-Engine als pull-Job ausgeführt werden kann
|
||||
</li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1720054135861" HGAP="68" ID="ID_1209441678" MODIFIED="1720054245606" TEXT="die Formulierung dieser Aufgaben impliziert ihrerseits eine Domain-Ontology für »Lumiera«" VSHIFT="-18">
|
||||
<edge COLOR="#6d263c"/>
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1720130539076" ID="ID_1412635142" MODIFIED="1720130541429" TEXT="Zugang">
|
||||
<node CREATED="1720130547177" ID="ID_1951362007" MODIFIED="1720131367464" TEXT="Media-Handling Libraries">
|
||||
<arrowlink COLOR="#4f3a5f" DESTINATION="ID_363368096" ENDARROW="Default" ENDINCLINATION="-789;-54;" ID="Arrow_ID_1565612239" STARTARROW="None" STARTINCLINATION="-783;90;"/>
|
||||
<node CREATED="1720130584900" ID="ID_1070682695" MODIFIED="1720130624428" TEXT="werden über ein Plug-in eingebunden"/>
|
||||
<node CREATED="1720130698197" ID="ID_1902734020" MODIFIED="1720130731101" TEXT="via Discovery oder von einem Projekt angefordert"/>
|
||||
<node CREATED="1720130735082" ID="ID_160478297" MODIFIED="1720132146520" TEXT="dieses Plug-in registriert Proc-Assets und Stream-Impl-Types">
|
||||
<linktarget COLOR="#5d98c6" DESTINATION="ID_160478297" ENDARROW="Default" ENDINCLINATION="690;33;" ID="Arrow_ID_997282325" SOURCE="ID_201972860" STARTARROW="None" STARTINCLINATION="674;0;"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1720130846275" ID="ID_403420396" MODIFIED="1720130863674" TEXT="im Modell verwendete Proc-Assets ⟶ Builder"/>
|
||||
<node CREATED="1720130865542" ID="ID_951609658" MODIFIED="1720130888166" TEXT="zu einem Proc-Asset findet man eine OntologyFacade">
|
||||
<node CREATED="1720130952572" ID="ID_985731220" MODIFIED="1720130980080" TEXT="Heterogene Sammlung von Aufgaben-Callbacks"/>
|
||||
<node CREATED="1720130983954" ID="ID_717103380" MODIFIED="1720131022669" TEXT="die Core kann darüber Medien-bezogene Aufgaben delegieren"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1720135778805" ID="ID_1517976595" MODIFIED="1720135783535" TEXT="OntologyFacade">
|
||||
<node CREATED="1720135836595" ID="ID_176172242" MODIFIED="1720136047405" TEXT="summon(Asset)">
|
||||
<node CREATED="1720136139853" ID="ID_645368246" MODIFIED="1720140166340" TEXT="generischer Zugriff"/>
|
||||
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1720140169464" ID="ID_468581640" MODIFIED="1720140177495" TEXT="unklar: notwendig?">
|
||||
<icon BUILTIN="help"/>
|
||||
<node CREATED="1720140179940" ID="ID_9303724" MODIFIED="1720140213960" TEXT="eigentlich könnte das Asset einen Direkt-Link bieten"/>
|
||||
<node CREATED="1720140216705" ID="ID_1968480484" MODIFIED="1720140229668" TEXT="aber dann ist das Problem mit nicht ladbaren Plug-ins"/>
|
||||
<node CREATED="1720140230601" ID="ID_653394065" MODIFIED="1720140238818" TEXT="insofern könnte eine Indirektion sinnvoll sein"/>
|
||||
<node CREATED="1720140280792" ID="ID_68301753" MODIFIED="1720140360247" TEXT="es sei denn, Plug-ins können geschlossen werden">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
....gehe aber nicht davon aus, daß dies möglich ist, weil es den Zugriff auf Inhalte aus Plug-ins überall deutlich komplexer macht und auch zu Contention führen könnte
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
</node>
|
||||
<node CREATED="1720140248429" ID="ID_890837844" MODIFIED="1720140277438" TEXT="den gleichen Effekt könnte man aber genauso gut per Initialisierung erreichen"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1720140741456" ID="ID_1881905294" MODIFIED="1720140743838" TEXT="Methoden">
|
||||
<node CREATED="1720056867428" ID="ID_276447533" MODIFIED="1720141170582" TEXT="configureNode(builder)">
|
||||
<arrowlink COLOR="#736075" DESTINATION="ID_335227601" ENDARROW="Default" ENDINCLINATION="-868;69;" ID="Arrow_ID_564567687" STARTARROW="None" STARTINCLINATION="526;65;"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1719277198122" ID="ID_1431538917" MODIFIED="1720141373210" TEXT="konkrete Instanzen">
|
||||
<node CREATED="1719277214775" ID="ID_1364518400" MODIFIED="1719277219923" TEXT="Beispiel FFmpeg"/>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1719277220672" ID="ID_973384222" MODIFIED="1720141411990" TEXT="konkret: TestRandOntology">
|
||||
<arrowlink COLOR="#df3950" DESTINATION="ID_594112005" ENDARROW="Default" ENDINCLINATION="666;-662;" ID="Arrow_ID_801625266" STARTARROW="None" STARTINCLINATION="-1433;133;"/>
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node CREATED="1720141460866" ID="ID_435545323" MODIFIED="1720141491458" TEXT="stellt komplette Fake-Implementierung für Media-Processing bereit"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#990000" CREATED="1522457000411" FOLDED="true" ID="ID_736034555" MODIFIED="1563022234022" TEXT="Basis-System">
|
||||
<linktarget COLOR="#af98b6" DESTINATION="ID_736034555" ENDARROW="Default" ENDINCLINATION="2208;-356;" ID="Arrow_ID_1927977085" SOURCE="ID_1228603701" STARTARROW="None" STARTINCLINATION="448;721;"/>
|
||||
|
|
@ -71440,7 +71591,27 @@
|
|||
<node CREATED="1481688517437" HGAP="24" ID="ID_241232196" MODIFIED="1557498707236" TEXT="Lifecycle" VSHIFT="8">
|
||||
<icon BUILTIN="info"/>
|
||||
<node CREATED="1481688521532" ID="ID_1825349679" MODIFIED="1557498707236" TEXT="Session startet on demand"/>
|
||||
<node CREATED="1481688529539" ID="ID_1972961763" MODIFIED="1557498707236" TEXT="SessionManager ist zuständig"/>
|
||||
<node CREATED="1481688529539" ID="ID_1972961763" MODIFIED="1557498707236" TEXT="SessionManager ist zuständig">
|
||||
<node CREATED="1720131213336" ID="ID_363368096" MODIFIED="1720131367464" TEXT="Media-Handling-Library">
|
||||
<linktarget COLOR="#4f3a5f" DESTINATION="ID_363368096" ENDARROW="Default" ENDINCLINATION="-789;-54;" ID="Arrow_ID_1565612239" SOURCE="ID_1951362007" STARTARROW="None" STARTINCLINATION="-783;90;"/>
|
||||
<node CREATED="1720131708901" ID="ID_659381589" MODIFIED="1720131711512" TEXT="Bedeutung">
|
||||
<node CREATED="1720131712765" ID="ID_698484685" MODIFIED="1720131744588" TEXT="Funktionalität zum Umgang mit Medien">
|
||||
<node CREATED="1720131745950" ID="ID_941979444" MODIFIED="1720131769984" TEXT="Laden / Struktur ermitteln"/>
|
||||
<node CREATED="1720131770548" ID="ID_740554056" MODIFIED="1720131783582" TEXT="Codieren und Decodieren"/>
|
||||
<node CREATED="1720131784714" ID="ID_1186162194" MODIFIED="1720131814851" TEXT="Systematik für Formate und Eigenschaften"/>
|
||||
<node CREATED="1720131815886" ID="ID_530870160" MODIFIED="1720131825969" TEXT="Verarbeitung und Transformation"/>
|
||||
<node CREATED="1720131827605" ID="ID_399333708" MODIFIED="1720131831435" TEXT="Adapter und Konverter"/>
|
||||
</node>
|
||||
<node CREATED="1720131843591" ID="ID_181543953" MODIFIED="1720131865660" TEXT="Discovery / Zugang zu Werkzeugen">
|
||||
<node CREATED="1720131918153" ID="ID_1836300139" MODIFIED="1720131924180" TEXT="Effekte / Proc-Assets"/>
|
||||
<node CREATED="1720131924781" ID="ID_681530662" MODIFIED="1720132035015" TEXT="Stream-Types">
|
||||
<arrowlink COLOR="#698ace" DESTINATION="ID_789242183" ENDARROW="Default" ENDINCLINATION="-1373;68;" ID="Arrow_ID_1529340331" STARTARROW="None" STARTINCLINATION="1458;286;"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1720131872920" ID="ID_1632336549" MODIFIED="1720131883493" TEXT="implizit: eine Domain-Ontology"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1481688544921" ID="ID_1934560784" MODIFIED="1557498707236" TEXT="wenn Session geladen, ist ProcDispatcher freigegeben"/>
|
||||
<node CREATED="1481688562830" ID="ID_708961458" MODIFIED="1557498707236" TEXT="SessionSubsystem startet processing loop im ProcDispatcher"/>
|
||||
<node CREATED="1481777252497" FOLDED="true" ID="ID_1789585729" MODIFIED="1557498707236" TEXT="Shutdown">
|
||||
|
|
@ -71481,11 +71652,18 @@
|
|||
<node CREATED="1533401481917" HGAP="31" ID="ID_1634540822" MODIFIED="1557498707237" TEXT="Struktur" VSHIFT="-19">
|
||||
<icon BUILTIN="hourglass"/>
|
||||
<node CREATED="1533918273704" ID="ID_1490841818" MODIFIED="1557498707237" TEXT="Modell">
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1533918279368" FOLDED="true" ID="ID_90099848" MODIFIED="1557498707237" TEXT="Assets">
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1533918279368" FOLDED="true" ID="ID_90099848" MODIFIED="1720131398331" TEXT="Assets">
|
||||
<icon BUILTIN="yes"/>
|
||||
<node CREATED="1533918370708" ID="ID_1044798440" MODIFIED="1557498707237" TEXT="Arten">
|
||||
<node CREATED="1533918396480" ID="ID_1371207426" MODIFIED="1557498707237" TEXT="Media"/>
|
||||
<node CREATED="1533918387145" ID="ID_421009475" MODIFIED="1557498707237" TEXT="Proc"/>
|
||||
<node CREATED="1533918387145" ID="ID_421009475" MODIFIED="1557498707237" TEXT="Proc">
|
||||
<node CREATED="1720132085518" ID="ID_869220549" MODIFIED="1720132088038" TEXT="Bedeutung">
|
||||
<node CREATED="1720132093674" ID="ID_1968058210" MODIFIED="1720132114499" TEXT="abstrahiertes Handle für eine Verarbeitungs-Funktionalität"/>
|
||||
<node CREATED="1720132115255" ID="ID_201972860" MODIFIED="1720135672129" TEXT="Zugang zu einer Domain-Ontology">
|
||||
<arrowlink COLOR="#5d98c6" DESTINATION="ID_160478297" ENDARROW="Default" ENDINCLINATION="690;33;" ID="Arrow_ID_997282325" STARTARROW="None" STARTINCLINATION="674;0;"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1533918391201" ID="ID_1099238975" MODIFIED="1557498707237" TEXT="Struct"/>
|
||||
<node CREATED="1533918403071" ID="ID_277977903" MODIFIED="1557498707237" TEXT="Meta"/>
|
||||
</node>
|
||||
|
|
@ -72206,6 +72384,33 @@
|
|||
<linktarget COLOR="#fec499" DESTINATION="ID_804147257" ENDARROW="Default" ENDINCLINATION="-696;77;" ID="Arrow_ID_521000760" SOURCE="ID_573821275" STARTARROW="None" STARTINCLINATION="-206;21;"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1720141000407" ID="ID_301474820" MODIFIED="1720141011879" TEXT="gesammelte Pläne und Skizzen">
|
||||
<node CREATED="1720141066223" ID="ID_1879448068" MODIFIED="1720141072690" TEXT="Schrittweiser Aufbau des Graphen"/>
|
||||
<node CREATED="1720141079653" ID="ID_973244167" MODIFIED="1720141084536" TEXT="Hilfsmittel">
|
||||
<node CREATED="1720141090052" ID="ID_926335933" MODIFIED="1720141112386" TEXT="Domain-Ontology">
|
||||
<node CREATED="1720141118464" ID="ID_1346694117" MODIFIED="1720141131319" TEXT="tifft Detail-Entscheidungen"/>
|
||||
<node CREATED="1720141131811" ID="ID_1652703630" MODIFIED="1720141142065" TEXT="paßgenaue Parametrisierung"/>
|
||||
<node CREATED="1720141142821" ID="ID_503081572" MODIFIED="1720141145712" TEXT="Einstieg">
|
||||
<node CREATED="1720056867428" ID="ID_335227601" MODIFIED="1720141199163">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
Callback: <font color="#980133" face="Monospaced">configureNode(builder)</font>
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<linktarget COLOR="#736075" DESTINATION="ID_335227601" ENDARROW="Default" ENDINCLINATION="-1615;135;" ID="Arrow_ID_1074618773" SOURCE="ID_1405029324" STARTARROW="None" STARTINCLINATION="-161;-261;"/>
|
||||
<linktarget COLOR="#736075" DESTINATION="ID_335227601" ENDARROW="Default" ENDINCLINATION="-868;69;" ID="Arrow_ID_564567687" SOURCE="ID_276447533" STARTARROW="None" STARTINCLINATION="526;65;"/>
|
||||
<node CREATED="1720141228066" ID="ID_1022058853" MODIFIED="1720141239963" TEXT="Argument: ein Level-2-Builder"/>
|
||||
<node CREATED="1720141241216" ID="ID_1290033100" MODIFIED="1720141311730" TEXT="Aufgabe: konfigurieren um korrekten Aufruf im Render-Node-Network zu ermöglichen"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1448314932726" ID="ID_669869188" MODIFIED="1557498707237" POSITION="right" TEXT="Render">
|
||||
|
|
@ -81357,7 +81562,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
<node CREATED="1714955621585" ID="ID_1431510635" MODIFIED="1718969080504" TEXT="diese Analyse zeigt: hierfür ist stets irgendwo eine Spezialbehandlung notwendig">
|
||||
<arrowlink COLOR="#4441d1" DESTINATION="ID_685938023" ENDARROW="Default" ENDINCLINATION="312;-9;" ID="Arrow_ID_120542506" STARTARROW="Default" STARTINCLINATION="236;32;"/>
|
||||
<arrowlink COLOR="#4441d1" DESTINATION="ID_685938023" ENDARROW="Default" ENDINCLINATION="290;-16;" ID="Arrow_ID_120542506" STARTARROW="Default" STARTINCLINATION="214;25;"/>
|
||||
<node CREATED="1714955711147" ID="ID_467104305" MODIFIED="1714955727685" TEXT="und zwar im Zusammenhang mit der Pull/Aufruf-Steuerung"/>
|
||||
<node CREATED="1714955841766" ID="ID_790467122" MODIFIED="1714955867147" TEXT="es kann nicht vollständig auf ein einfacheres Muster zurückgeführt werden"/>
|
||||
<node CREATED="1714955904265" ID="ID_1418095631" MODIFIED="1714955937657" TEXT="⟹ daher erscheint es sinnvoll, dies in der Infrastruktur zu handhaben (TurnoutSystem)"/>
|
||||
|
|
@ -81747,19 +81952,31 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
<node CREATED="1719276014384" ID="ID_274182619" MODIFIED="1719276023591" TEXT="Entwurf syntaktische Struktur">
|
||||
<node CREATED="1719970599748" ID="ID_1299763307" MODIFIED="1719971414858" TEXT="in mehrere Layer aufteilen">
|
||||
<node CREATED="1719970599748" ID="ID_1299763307" MODIFIED="1720050731701" TEXT="in mehrere Level aufteilen">
|
||||
<icon BUILTIN="yes"/>
|
||||
<node CREATED="1719970637161" ID="ID_1950149667" MODIFIED="1719970684780" TEXT="Layer-1 : direkte Instruktionen für den Turnout-Aufruf"/>
|
||||
<node CREATED="1719970685856" ID="ID_211931717" MODIFIED="1719970790228" TEXT="Layer-2 : Regel/Einzelfall-Spec zum Aufbau dieser Instruktionen"/>
|
||||
<node CREATED="1719970720107" ID="ID_1553139394" MODIFIED="1719970788551" TEXT="Layer-3 : wie diese Spec aus der Domain-Ontology gewonnen wird"/>
|
||||
<node CREATED="1719970637161" ID="ID_1950149667" MODIFIED="1720050731702" TEXT="Level-1 : direkte Instruktionen für den Turnout-Aufruf">
|
||||
<node CREATED="1720143780134" ID="ID_543930243" MODIFIED="1720143791462" TEXT="hier wird auf Implementierungs-Details gearbeitet"/>
|
||||
</node>
|
||||
<node CREATED="1719970685856" ID="ID_211931717" MODIFIED="1720050731702" TEXT="Level-2 : Regel/Einzelfall-Spec zum Aufbau dieser Instruktionen">
|
||||
<node CREATED="1720143793642" ID="ID_1838058439" MODIFIED="1720143808196" TEXT="hier werden direkte Verdrahtungs-Anweisungen gegeben"/>
|
||||
<node CREATED="1720143808851" ID="ID_192188421" MODIFIED="1720143843751" TEXT="viele Aufrufe sind getemplated und werden auf die Domain-Ontology spezialisiert"/>
|
||||
</node>
|
||||
<node CREATED="1719970720107" ID="ID_1553139394" MODIFIED="1720050731702" TEXT="Level-3 : wie diese Spec aus der Domain-Ontology gewonnen wird">
|
||||
<node CREATED="1720143846147" ID="ID_913414972" MODIFIED="1720143869956" TEXT="auf diesem Level wird per Proc-Assets und StreamTypes spezifiziert"/>
|
||||
<node CREATED="1720143873151" ID="ID_92747719" MODIFIED="1720143899547" TEXT="es werden nur gewünschte Produktions-Verbindungen spezifiziert"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1719970252027" ID="ID_1241897346" MODIFIED="1719971248624" TEXT="Builder-Schema">
|
||||
<linktarget COLOR="#b82d72" DESTINATION="ID_1241897346" ENDARROW="Default" ENDINCLINATION="-200;386;" ID="Arrow_ID_1194515432" SOURCE="ID_912277542" STARTARROW="None" STARTINCLINATION="-600;-89;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node CREATED="1719971327507" ID="ID_1941686244" MODIFIED="1719971330895" TEXT="Layer-2">
|
||||
<node CREATED="1719971327507" ID="ID_1941686244" MODIFIED="1720050731701" TEXT="Level-2">
|
||||
<node CREATED="1719970302300" ID="ID_87633601" MODIFIED="1719970332019" TEXT="Prinzip: 1:1 als Default + explizite Abweichung">
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
<node CREATED="1720143945014" ID="ID_1230383106" MODIFIED="1720143962663" TEXT="prepareNode()">
|
||||
<node CREATED="1720143965823" ID="ID_1699834856" MODIFIED="1720144003274" TEXT="addLead(ProcNode&)"/>
|
||||
<node CREATED="1720146287602" ID="ID_1218472857" MODIFIED="1720146293047" TEXT="preparePort()">
|
||||
<node CREATED="1720146294771" ID="ID_1809522763" MODIFIED="1720146303963" TEXT="nested Port builder"/>
|
||||
<node CREATED="1719971113760" ID="ID_1114865524" MODIFIED="1719971122094" TEXT="Slot-Anzahl">
|
||||
<node CREATED="1719971123638" ID="ID_62698915" MODIFIED="1719972104567" TEXT="inSlots(s)"/>
|
||||
<node CREATED="1719971135344" ID="ID_800443773" MODIFIED="1719972017411" TEXT="outSlots(r)"/>
|
||||
|
|
@ -81786,13 +82003,367 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
Problem: wie kommt man von <b>Layer-3</b> in <b>Layer-2</b>?
|
||||
diese wird später <i>irgendwo</i> instantiiert
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
<font NAME="SansSerif" SIZE="16"/>
|
||||
<icon BUILTIN="forward"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1720179641909" ID="ID_931208358" MODIFIED="1720179644115" TEXT="Namen">
|
||||
<node CREATED="1720179652998" ID="ID_748409736" MODIFIED="1720179657194" TEXT="NodeBuilder"/>
|
||||
<node CREATED="1720179657996" ID="ID_444686449" MODIFIED="1720179661335" TEXT="PortBuilder"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1719971317790" ID="ID_1077643019" MODIFIED="1720050731701" TEXT="Level-3">
|
||||
<node CREATED="1719276025136" ID="ID_607906936" MODIFIED="1720141533940" TEXT="retrieve(StreamType)">
|
||||
<node CREATED="1720141555165" ID="ID_719195906" MODIFIED="1720141895290" TEXT="(Port/Meta-Builder)">
|
||||
<linktarget COLOR="#928896" DESTINATION="ID_719195906" ENDARROW="Default" ENDINCLINATION="570;0;" ID="Arrow_ID_234747839" SOURCE="ID_805401685" STARTARROW="None" STARTINCLINATION="326;-28;"/>
|
||||
<font NAME="SansSerif" SIZE="9"/>
|
||||
</node>
|
||||
<node CREATED="1720141562371" ID="ID_1619759685" MODIFIED="1720141573926" TEXT="from(ProcAsset)">
|
||||
<node CREATED="1720141580754" ID="ID_1907959573" MODIFIED="1720141595988" TEXT="erzeugt Level-3-Builder"/>
|
||||
<node CREATED="1720141660968" ID="ID_465932510" MODIFIED="1720141680498" TEXT="requiredSources() ⟼ Iteration Stream-Types">
|
||||
<node CREATED="1720141682604" ID="ID_537478684" MODIFIED="1720141699286" TEXT="erlaubt rekursiven Abstieg"/>
|
||||
<node CREATED="1720141700752" ID="ID_805401685" MODIFIED="1720141902187" TEXT="liefert wieder den Port/Meta-Builder">
|
||||
<arrowlink COLOR="#928896" DESTINATION="ID_719195906" ENDARROW="Default" ENDINCLINATION="570;0;" ID="Arrow_ID_234747839" STARTARROW="None" STARTINCLINATION="326;-28;"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1720142032180" ID="ID_1854436803" MODIFIED="1720146809835" TEXT="brauche hier Möglichkeit zum Umordnen">
|
||||
<linktarget COLOR="#fedef1" DESTINATION="ID_1854436803" ENDARROW="Default" ENDINCLINATION="454;0;" ID="Arrow_ID_1501169682" SOURCE="ID_245906119" STARTARROW="None" STARTINCLINATION="327;22;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1720179596269" ID="ID_849206696" MODIFIED="1720179598384" TEXT="Namen">
|
||||
<node CREATED="1720179600628" ID="ID_108747409" MODIFIED="1720179623627" TEXT="LinkBuilder"/>
|
||||
<node CREATED="1720179605723" ID="ID_1431673545" MODIFIED="1720179616718" TEXT="ProcBuilder"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1720142049315" ID="ID_1840404622" MODIFIED="1720142067263" TEXT="zu klären: wie wird gebaut?">
|
||||
<icon BUILTIN="help"/>
|
||||
<node COLOR="#5b280f" CREATED="1720142114517" ID="ID_1211707471" MODIFIED="1720142134441" TEXT="explizit bauen: erfordert Terminal-Aufruf">
|
||||
<icon BUILTIN="button_cancel"/>
|
||||
</node>
|
||||
<node CREATED="1720142071632" ID="ID_1182265017" MODIFIED="1720142136745" TEXT="man könnte implizit bauen">
|
||||
<icon BUILTIN="idea"/>
|
||||
<node CREATED="1720142079922" ID="ID_1478345371" MODIFIED="1720142096058" TEXT="jeder Aufruf würde implizit eine neue Verbindung hinzufügen"/>
|
||||
<node CREATED="1720142214733" ID="ID_976281051" MODIFIED="1720142232695" TEXT="es entsteht eine verzeigterte Struktur, die am top-Level hängt"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1720142240418" ID="ID_1500142886" MODIFIED="1720142487418" TEXT="Thema: Allokation">
|
||||
<icon BUILTIN="bell"/>
|
||||
<node CREATED="1720142246625" ID="ID_1961890425" MODIFIED="1720142250988" TEXT="einfachste Variante: Heap">
|
||||
<node CREATED="1720142251975" ID="ID_785287551" MODIFIED="1720142269018" TEXT="würde einfach mit STL-Containern funktionieren"/>
|
||||
<node CREATED="1720142279304" ID="ID_279480620" MODIFIED="1720142323752" TEXT="die gesamte Struktur hängt dann in einem top-Level-Handle/Container"/>
|
||||
</node>
|
||||
<node CREATED="1720142325190" ID="ID_1137568717" MODIFIED="1720142336373" TEXT="ließe sich nahtlos auf AllocationCluster umstellen">
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
<node CREATED="1720142353961" ID="ID_1566479288" MODIFIED="1720142444850" TEXT="nicht zu elaboriert konstruieren — es sind trainsiente Datenstrukturen">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
...nach dem Level-3-Build-walk sind sie allesamt nicht mehr erforderlich — und könnten per AllocationCluster auf einen Schlag weggeworfen werden
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1720142448886" ID="ID_117793588" MODIFIED="1720142471097" TEXT="⟹ POD-Daten bevorzugen hier">
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1719973271918" HGAP="-15" ID="ID_1012140126" MODIFIED="1720050731698" TEXT="Zusammenarbeit der Builder-Level-APIs planen" VSHIFT="41">
|
||||
<font NAME="SansSerif" SIZE="13"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1720021669482" ID="ID_856272280" MODIFIED="1720050731701" TEXT="Problem: Level-3 ist ohne Kenntnis des Builders schwer zu bestimmen">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
</node>
|
||||
<node CREATED="1720021727803" ID="ID_1443907589" MODIFIED="1720021745383" TEXT="Mutmaßungen zur Arbeitsweise">
|
||||
<icon BUILTIN="yes"/>
|
||||
<icon BUILTIN="idea"/>
|
||||
<node CREATED="1720021760317" ID="ID_1457497362" MODIFIED="1720021770223" TEXT="es ist bereits eine Render-Path-Entscheidung gefallen">
|
||||
<node CREATED="1720021811589" ID="ID_1187400985" MODIFIED="1720021824216" TEXT="es steht fest wer von wem gespeist wird"/>
|
||||
<node CREATED="1720022375386" ID="ID_594341172" MODIFIED="1720022424031" TEXT="es liegt für jede geplante Node ein Implementator (Proc-Asset) vor"/>
|
||||
<node CREATED="1720022875427" ID="ID_753997343" MODIFIED="1720026538847" TEXT="ausgehend von den Model-Ports läßt sich auf jeder Node ein Port belegen">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
...d.h. die Planung steigt für einen Port ein, findet für dieses in Proc-Asset in einem bereits vorliegenden Prototypen der Connectivity, und kann für dieses Proc-Asset alle benötigten Inputs identifizieren und jeden von diesen einem anderen, ebenfalls bereits bekannten Vorläufer Proc-Asset zuordnen; diese Zuordnung wäre dann die Belegung eines Port, und das Proc-Asset würde zu einer geplanten Node. Im Besonderen ist durch diese Vorraussetzung festgelegt, daß alle diese Belegungen bereits eindeutig und entscheidbar sind; Zweideutigeiten und Unmöglichkeiten sind in den vorausgehenden Verarbeitungsschritten bereits aussortiert worden...
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node CREATED="1720022987880" ID="ID_489705172" MODIFIED="1720023037181" TEXT="jeder Verbindung zwischen Ports ist ein vollständiger StreamType (incl Impl) zugeordnet"/>
|
||||
</node>
|
||||
<node CREATED="1720023633266" ID="ID_1800473484" MODIFIED="1720023643788" TEXT="der Graph wird von oben nach unten traversierend angelegt">
|
||||
<node CREATED="1720023661101" ID="ID_1167754603" MODIFIED="1720023684647" TEXT="Traversierungen propagieren über geplante Ports"/>
|
||||
<node CREATED="1720023685696" ID="ID_23739033" MODIFIED="1720050731700">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
Leads (≙Vorgänger-Nodes) werden nach Bedarf angelegt als <b>Level-3-Builder</b>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1720026115771" ID="ID_104849013" MODIFIED="1720026135981" TEXT="⟹ es muß bereits einen Prototypen-Graphen geben, der aus verknüpften Proc-Assets besteht"/>
|
||||
<node CREATED="1720026735793" ID="ID_1396481954" MODIFIED="1720026746203" TEXT="jedem der neuen Builder wird sukzessive mitgeteilt">
|
||||
<node CREATED="1720026847123" ID="ID_181650965" MODIFIED="1720026851834" TEXT="das Proc-Asset"/>
|
||||
<node CREATED="1720026766454" ID="ID_203063173" MODIFIED="1720026783954" TEXT="die Ausgangs-Ports mit StreamType"/>
|
||||
<node CREATED="1720026785595" ID="ID_1540907767" MODIFIED="1720146804637" TEXT="für jeden Port die Vorgänger-Builder, in Auswertungs-Reihenfolge">
|
||||
<linktarget COLOR="#c6dffd" DESTINATION="ID_1540907767" ENDARROW="Default" ENDINCLINATION="79;-31;" ID="Arrow_ID_851396319" SOURCE="ID_245906119" STARTARROW="None" STARTINCLINATION="917;59;"/>
|
||||
</node>
|
||||
<node CREATED="1720026890125" ID="ID_949026722" MODIFIED="1720027047468" TEXT="für jeden Port ggfs. noch spezielle Qualifier (Cache, in-place...)"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1720027053175" ID="ID_1948826697" MODIFIED="1720050630863" TEXT="schließlich erfolgt ein Level-3-Build-walk bottom-up">
|
||||
<node CREATED="1720027094940" ID="ID_1358037329" MODIFIED="1720027105937" TEXT="rekursiv depth-first bis zum Blatt"/>
|
||||
<node CREATED="1720052096281" ID="ID_653731910" MODIFIED="1720052252822" TEXT="dieser Walk navigiert Nodes, nicht Ports">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
...anders als die Konfigurations-Walks auf Level-3 vor dem Triggern des Build-Walk; <i>diese</i> traversieren über Ports und Stream-Verbindungen, folgen also einem bestimmten Berechnungspfad. Dagegen für die Level-2-Builder sind Lead-Nodes vorrausgesetzt, und das bedeutet, ein Build erfolgt für die ganze Nodes, für alle Ports zusammen
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1720027106671" ID="ID_585872128" MODIFIED="1720027137328" TEXT="für das Blatt wird eine ProcNode emittiert (siehe unten)"/>
|
||||
<node CREATED="1720027141761" ID="ID_636601618" MODIFIED="1720050639817">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
sodann wird für den Vorgänger ein <b>Level-2-Builder</b> erstellt
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1720027470575" ID="ID_169802651" MODIFIED="1720027501821" TEXT="diesem teilt man die bereits gebauten Nodes der Vorgänger-Ebene mit"/>
|
||||
<node CREATED="1720027503298" ID="ID_723523671" MODIFIED="1720027519092" TEXT="und gibt ihm dann detaillierte Layout- und Verdrahtungs-Anweisungen"/>
|
||||
<node CREATED="1720027520168" ID="ID_700553797" MODIFIED="1720027539817" TEXT="mit dem build() fällt dann die Node auf dieser Ebene an"/>
|
||||
<node CREATED="1720027542031" ID="ID_724335679" MODIFIED="1720027554527" TEXT="am Ende kommt dieser Aufruf bei der Exit-Node raus"/>
|
||||
</node>
|
||||
<node CREATED="1720044840263" ID="ID_1645055205" MODIFIED="1720050620489">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
tatsächlich ist jede Port-Impl ≙ Turnout ein <b>Level-1-Builder</b>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
<node CREATED="1720044868896" ID="ID_1975967610" MODIFIED="1720044885241" TEXT="er bekommt konkrete Frame/Invocation-Koordinaten"/>
|
||||
<node CREATED="1720044891733" ID="ID_1524283016" MODIFIED="1720044909294" TEXT="und eine konkrete Buffer / Output-Konfiguration"/>
|
||||
<node CREATED="1720044952532" ID="ID_707302843" MODIFIED="1720044974468" TEXT="und baut daraus ein Turnout-System auf dem Stack"/>
|
||||
<node CREATED="1720044986999" ID="ID_1458288447" MODIFIED="1720045032781" TEXT="welches dann die Processing-Function aufruft und die Daten durchreicht"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1720045073507" ID="ID_1770114651" MODIFIED="1720045126936" TEXT="Analyse: Rolle der Domain-Ontologie in diesem Build-Prozeß">
|
||||
<icon BUILTIN="info"/>
|
||||
<node CREATED="1720045685664" ID="ID_853315049" MODIFIED="1720045717786" TEXT="zu jedem Proc-Asset läßt sich eine Domain-Ontology-Façade beschaffen"/>
|
||||
<node CREATED="1720050584217" ID="ID_1109503102" MODIFIED="1720050782625" TEXT="Beobachtung: Level-3 bewegt sich komplett auf Asset / Planungs-Ebene">
|
||||
<node CREATED="1720050791708" ID="ID_895132050" MODIFIED="1720050804216" TEXT="es werden Assets (Proc, StreamType) assoziiert"/>
|
||||
<node CREATED="1720050806564" ID="ID_60886862" MODIFIED="1720050818270" TEXT="es werden bereits getroffene Entscheidungen markiert"/>
|
||||
<node CREATED="1720050841007" ID="ID_1163813926" MODIFIED="1720050862482" TEXT="es werden Verbindungen zu anderen Buildern hergestellt"/>
|
||||
<node CREATED="1720050863236" ID="ID_422946316" MODIFIED="1720050899911">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
<i>nichts davon</i> hängt von Strukturen aus der Domain-Ontology ab
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1720050935650" ID="ID_953217530" MODIFIED="1720051429787" TEXT="Aber im Level-3-Build-walk sind Detail-Festlegungen zur Konfiguration zu treffen">
|
||||
<node CREATED="1720051437951" ID="ID_229685486" MODIFIED="1720051446209" TEXT="konkreter Typ des Invocation-Adapters">
|
||||
<node CREATED="1720051449169" ID="ID_941282827" MODIFIED="1720051461919" TEXT="dieser legt viele weitere Details fest"/>
|
||||
<node CREATED="1720051462533" ID="ID_561764021" MODIFIED="1720051478317" TEXT="er muß zum konkreten API passen"/>
|
||||
<node CREATED="1720051480787" ID="ID_1776896869" MODIFIED="1720051495163" TEXT="er wird möglicherweise selber aus Bausteinen zusammengesetzt"/>
|
||||
<node CREATED="1720051495839" ID="ID_280066333" LINK="#ID_1041217509" MODIFIED="1720051669449" TEXT="aber ich möchte ihn komplett der Ontology überlassen">
|
||||
<node BACKGROUND_COLOR="#ccb59b" COLOR="#6e2a38" CREATED="1720051751588" HGAP="29" ID="ID_1941576766" MODIFIED="1720051770060" TEXT="wichtige Richtungsentscheidung" VSHIFT="2">
|
||||
<font ITALIC="true" NAME="SansSerif" SIZE="11"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1720051819389" ID="ID_251866460" MODIFIED="1720051843049" TEXT="detailliertes Wissen über Reihenfolge und Bedeutung der Parameter"/>
|
||||
<node CREATED="1720052282761" ID="ID_910353867" MODIFIED="1720052306785" TEXT="Kenntniss der konkreten Buffer-Inlay-Typen, und der Möglichkeit von Array-Bildungen">
|
||||
<node CREATED="1720052331922" ID="ID_401973584" MODIFIED="1720052381439" TEXT="die Inlay-Typen sind komplett frei zur Gestaltung durch die Ontology-Façade"/>
|
||||
<node CREATED="1720052632428" ID="ID_925122333" MODIFIED="1720052719118" TEXT="wo welcher Buffer verwendet wird, hängt aber genau am Implementation-StreamType">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
...und hinter dem liegen ebenfalls Strukturen aus der Ontologie; das ist ja sogar gradezu der Kern der Sache: jede Library bestimmt was es für Arten von Medien und Strömen geben kann
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1720052744723" ID="ID_208313377" MODIFIED="1720053007582" TEXT="ob nebeneinander liegende Buffer inhaltlich zusammengehören, läßt sich nicht schematisieren">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
...das klingt vielleicht nach einer <i>steilen These,</i> beruht aber auf der Beobachtung, daß eine solche Schematisierung (wiewohl denkbar), ihrerseits wieder Teil einer Domain-Ontology wäre — jeder Versuch, dies zu generalisieren liefe auf eine Universal-Ontologie des ganzen Fachbereichs hinaus, und ist daher grundsätzlich zum Scheitern verurteilt, denn so etwas gehört nicht auf die Ebene praktischer Organisation, auf der wir uns hier bewegen, bei der Konstruktion von Systemen der Informationstechnik.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1720053033526" ID="ID_799276435" MODIFIED="1720053088632">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
Konsequenz ⟹ der Aufruf der Level-2-Parametrisierung muß <b>in einem Callback passieren</b>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
<node CREATED="1720053103203" ID="ID_1538806453" MODIFIED="1720053124436" TEXT="das heißt, der muß konkret für jede Library erneut programmiert werden"/>
|
||||
<node CREATED="1720053127440" ID="ID_1257983511" MODIFIED="1720053141961" TEXT="maximal könnte man eine default-template-Method mitgeben"/>
|
||||
<node CREATED="1720053143008" ID="ID_642764933" MODIFIED="1720053169357" TEXT="der Implementator einer Ontology-Façade muß also das Builder-API sehr gut kennen">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
</node>
|
||||
<node CREATED="1720053176857" ID="ID_239650652" MODIFIED="1720053226806" TEXT="gewiß wird es weitere Callbacks geben, die bereits auf einem höheren Level aktiviert werden"/>
|
||||
<node BACKGROUND_COLOR="#ccb59b" COLOR="#6e2a38" CREATED="1720053264453" ID="ID_1065771845" MODIFIED="1720053969635" TEXT="damit wurde das Grundmuster der Domain-Ontology-Integration festgestellt">
|
||||
<arrowlink COLOR="#5f2a35" DESTINATION="ID_154423823" ENDARROW="Default" ENDINCLINATION="1034;37;" ID="Arrow_ID_140292863" STARTARROW="None" STARTINCLINATION="-1126;43;"/>
|
||||
<font ITALIC="true" NAME="SansSerif" SIZE="14"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1720055869531" ID="ID_1902042340" MODIFIED="1720055876262" TEXT="Praktische Schlußfolgerungen">
|
||||
<node CREATED="1720056045107" ID="ID_1321366990" MODIFIED="1720056065556" TEXT="der Level-2-Builder stellt ein inneres API dar for den Callback">
|
||||
<node CREATED="1720056074278" ID="ID_1095032014" MODIFIED="1720056098810" TEXT="d.h. er stellt Informationen und Werkzeuge/Methoden bereit"/>
|
||||
<node CREATED="1720056103464" ID="ID_421201772" MODIFIED="1720056121381" TEXT="im Besonderen muß der Builder also Discovery-Funktionen bieten"/>
|
||||
<node CREATED="1720056122089" ID="ID_139764395" MODIFIED="1720056160112" TEXT="diese werden nach Bedarf und Maßgabe der Domain-Façaden erweitert"/>
|
||||
</node>
|
||||
<node CREATED="1720056258318" ID="ID_53195824" MODIFIED="1720056820452" TEXT="im Default-Zustand muß der Builder eine wirkungslose Aktion definieren">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
Das bedeutet: wenn man auf dem default-konstruierten Builder die <font face="Monospaced" color="#2a0ca1">build()</font>-Metode ausführt, dann entsteht eine Node, die zwar alle erwarteten Ports hat, aber alle diese Ports liefern bei Aufruf ein NULL-Handle des jeweils eingesetzten BufferProviders liefert. (Selbstverständlich wäre es viel schöner, an dieser Stelle einen <i>leeren Frame</i> zu liefern, aber das ist nicht möglich, ohne das Format zu kennen, welches jedoch von der Domain-Façade geleistet werden muß)
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1720056867428" ID="ID_1405029324" MODIFIED="1720141199162">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
der Callback lautet: <font face="Monospaced" color="#980133">configureNode(builder)</font>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
<arrowlink COLOR="#736075" DESTINATION="ID_335227601" ENDARROW="Default" ENDINCLINATION="-1615;135;" ID="Arrow_ID_1074618773" STARTARROW="None" STARTINCLINATION="-161;-261;"/>
|
||||
<node CREATED="1720056906583" ID="ID_703475051" MODIFIED="1720056951980" TEXT="der Implementator muß sich vom Builder die Informationen holen, z.B. das Proc-Asset"/>
|
||||
<node CREATED="1720056964391" ID="ID_1024510676" MODIFIED="1720056973222" TEXT="auf dem Builder wurde vorher festgelegt...">
|
||||
<node CREATED="1720056974568" ID="ID_1218485228" MODIFIED="1720056986424" TEXT="die Liste der Lead-Nodes (Vorläufer)"/>
|
||||
<node CREATED="1720056989003" ID="ID_353562541" MODIFIED="1720056999574" TEXT="die Liste der erwarteten Ports"/>
|
||||
<node CREATED="1720057061954" ID="ID_865710330" MODIFIED="1720057090674" TEXT="das Proc-Asset">
|
||||
<node CREATED="1720057095621" ID="ID_1600900436" MODIFIED="1720057110167" TEXT="dieses ist der Domain-Ontology bekannt"/>
|
||||
<node CREATED="1720057110842" ID="ID_1574719157" MODIFIED="1720057121518" TEXT="da letztere auf Basis dieses Asset gewählt wurde"/>
|
||||
</node>
|
||||
<node CREATED="1720057139927" ID="ID_843581345" MODIFIED="1720057274218" TEXT="ggfs weitere Modus-Festlegungen (z.B. Caching, ....)">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
Hiermit sei nur angezeigt, daß es weitere solche Festlegungen zur Betriebsart geben kann, die typischerweise auf einem höheren Level bereits entschieden wurden, vermutlich ebernfalls unter Zuhilfename der Domain-Façade
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1720057313834" ID="ID_1434509987" MODIFIED="1720058376686">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
Alle diese Callbacks werden auf dem Interface <font face="Monospaced" color="#1e02c8">DomainFacade</font> gesammelt
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1720057355642" ID="ID_657181060" MODIFIED="1720057407671" TEXT="Problem der Code-Anordnung: Lumiera Layer-Ordnung">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
<node CREATED="1720057413361" ID="ID_1448689517" MODIFIED="1720057439211" TEXT="muß im Layer des Builders liegen, also im Steam-Layer"/>
|
||||
<node CREATED="1720057451030" ID="ID_1281885285" MODIFIED="1720057466031" TEXT="das überträgt sich dann auch auf die Domain-Façades"/>
|
||||
<node CREATED="1720057515141" ID="ID_1995372860" MODIFIED="1720057544617" TEXT="auch der Level-2-Builder wird damit zum externen Interface"/>
|
||||
<node CREATED="1720057581292" ID="ID_959409799" MODIFIED="1720057781594" TEXT="⟹ Domain-Façade-Plug-ins müssen gegen die liblumieracore gelinkt sein"/>
|
||||
<node CREATED="1720057798998" ID="ID_395221318" MODIFIED="1720057949056" TEXT="oder alternativ entsteht eine relativ fette Interface-Library">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
...diese muß die Grundzüge des Asset-Systems, die Schnittstellen-Entitägen des Builders, das Stream-Type-Framework (und vmtl.) noch Weiteres enthalten. Außerdem müssen alle die genannten Entitäten von der Implementierungs-Ebene entkoppelt sein
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1720058387040" ID="ID_841944627" MODIFIED="1720058413832" TEXT="dieses Interface wird eine offene heterogene Sammlung von Callbacks"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1720058481188" ID="ID_1577091440" MODIFIED="1720058528733" TEXT="⟹ der Level-3-build enthält einen Call-out via DomainFacade"/>
|
||||
<node CREATED="1720058625192" ID="ID_1924296035" MODIFIED="1720058641546" TEXT="dagegen auf Level-2 gibt es nur auf Typ getemplatete Methoden"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -85567,8 +86138,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
dann sind <i>unendlich viele </i>Template-Instanzen die Folge
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#e0d4b7" COLOR="#a50167" CREATED="1719787060712" ID="ID_1412088712" MODIFIED="1719787463871" TEXT="trotzdem: muß auf Kombinatorik-Treiber achten">
|
||||
|
|
@ -85628,7 +86198,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node CREATED="1713823362710" ID="ID_66967253" MODIFIED="1719277373397" TEXT="Hilfsmittel zur Entwicklung und zum Aufbau">
|
||||
<node CREATED="1719277267208" HGAP="29" ID="ID_594112005" MODIFIED="1719625152303" TEXT="brauche eine komplette Test-Ontologie" VSHIFT="7">
|
||||
<linktarget COLOR="#ff2400" DESTINATION="ID_594112005" ENDARROW="Default" ENDINCLINATION="-136;-44;" ID="Arrow_ID_1657525718" SOURCE="ID_1706482104" STARTARROW="None" STARTINCLINATION="101;9;"/>
|
||||
<linktarget COLOR="#df3950" DESTINATION="ID_594112005" ENDARROW="Default" ENDINCLINATION="666;-662;" ID="Arrow_ID_801625266" SOURCE="ID_973384222" STARTARROW="None" STARTINCLINATION="-529;52;"/>
|
||||
<linktarget COLOR="#df3950" DESTINATION="ID_594112005" ENDARROW="Default" ENDINCLINATION="666;-662;" ID="Arrow_ID_801625266" SOURCE="ID_973384222" STARTARROW="None" STARTINCLINATION="-1433;133;"/>
|
||||
<node CREATED="1719277376922" ID="ID_420782384" MODIFIED="1719787483524" TEXT="das ist zugleich ein Prüfstein für das angestrebte »generische Design«">
|
||||
<arrowlink COLOR="#a63b5a" DESTINATION="ID_1834369403" ENDARROW="Default" ENDINCLINATION="-507;-32;" ID="Arrow_ID_249989493" STARTARROW="None" STARTINCLINATION="-211;811;"/>
|
||||
<linktarget COLOR="#412dcd" DESTINATION="ID_420782384" ENDARROW="Default" ENDINCLINATION="131;-411;" ID="Arrow_ID_317368901" SOURCE="ID_746946876" STARTARROW="None" STARTINCLINATION="241;1448;"/>
|
||||
|
|
@ -85733,7 +86303,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</ul>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<linktarget COLOR="#4441d1" DESTINATION="ID_685938023" ENDARROW="Default" ENDINCLINATION="312;-9;" ID="Arrow_ID_120542506" SOURCE="ID_1431510635" STARTARROW="Default" STARTINCLINATION="236;32;"/>
|
||||
<linktarget COLOR="#4441d1" DESTINATION="ID_685938023" ENDARROW="Default" ENDINCLINATION="290;-16;" ID="Arrow_ID_120542506" SOURCE="ID_1431510635" STARTARROW="Default" STARTINCLINATION="214;25;"/>
|
||||
<linktarget COLOR="#5840f9" DESTINATION="ID_685938023" ENDARROW="Default" ENDINCLINATION="612;30;" ID="Arrow_ID_1312114841" SOURCE="ID_306809523" STARTARROW="None" STARTINCLINATION="-108;-1205;"/>
|
||||
</node>
|
||||
<node CREATED="1718969510891" ID="ID_731501936" MODIFIED="1718969527622" TEXT="der konkrete pull()-Vorgang geht über einen Port ein"/>
|
||||
|
|
@ -85875,8 +86445,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<arrowlink COLOR="#4a497f" DESTINATION="ID_1464453876" ENDARROW="Default" ENDINCLINATION="-115;13;" ID="Arrow_ID_1411577361" STARTARROW="None" STARTINCLINATION="98;7;"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1719625383125" ID="ID_1834369403" MODIFIED="1719785215297" TEXT="hier muß die Test-Ontology eingebunden werden">
|
||||
<linktarget COLOR="#bf3d87" DESTINATION="ID_1834369403" ENDARROW="Default" ENDINCLINATION="-365;21;" ID="Arrow_ID_239565642" SOURCE="ID_831247737" STARTARROW="None" STARTINCLINATION="129;-285;"/>
|
||||
<linktarget COLOR="#a63b5a" DESTINATION="ID_1834369403" ENDARROW="Default" ENDINCLINATION="-507;-32;" ID="Arrow_ID_249989493" SOURCE="ID_420782384" STARTARROW="None" STARTINCLINATION="-211;811;"/>
|
||||
<linktarget COLOR="#bf3d87" DESTINATION="ID_1834369403" ENDARROW="Default" ENDINCLINATION="-365;21;" ID="Arrow_ID_239565642" SOURCE="ID_831247737" STARTARROW="None" STARTINCLINATION="129;-285;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1719626914799" ID="ID_1823583408" MODIFIED="1719626995786" TEXT="Aufgabe: herausfinden wie man sie verwendet">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
|
|
@ -85891,7 +86461,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
<node CREATED="1719671062644" ID="ID_1149892579" MODIFIED="1719967945765" TEXT="es besteht eine Verbindung zum StreamType">
|
||||
<node CREATED="1719689154081" ID="ID_1037364637" MODIFIED="1719790237122" TEXT="latenter Konflikt: bisher zielt der Stream-Impl-Typ ehr auf Verbergen">
|
||||
<arrowlink COLOR="#8c4f70" DESTINATION="ID_3439776" ENDARROW="Default" ENDINCLINATION="32;187;" ID="Arrow_ID_579852970" STARTARROW="None" STARTINCLINATION="-630;-23;"/>
|
||||
<arrowlink COLOR="#8c4f70" DESTINATION="ID_3439776" ENDARROW="Default" ENDINCLINATION="32;187;" ID="Arrow_ID_579852970" STARTARROW="None" STARTINCLINATION="-650;-26;"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#282e77" CREATED="1719703209982" ID="ID_1227172782" MODIFIED="1719704690800" TEXT="muß diese Verbindung hier überhaupt nochmal aufgegriffen werden?">
|
||||
<node CREATED="1719703237589" ID="ID_65226297" MODIFIED="1719703250647" TEXT="schließlich sollte der Builder doch alles bereits explizit machen"/>
|
||||
|
|
@ -85962,8 +86532,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
...insofern ist das eindeutig die elegantere Lösung. Auf den ersten Blick mag die komplette Trennung „sauberer“ wirken, jedoch muß dazu eine Meta-Repräsentation geschaffen werden, die für jedwede Art von Medium gilt, und es muß dafür ein Interpreter im Builder bereitstehen. Da auf der anderen Seite ohnehin ein Adapter für jede Library geschrieben werden muß, besteht die Möglichkeit, für jede Library einen eigenständige Weg zu verwenden, um letztlich die Aufrufparameter auszugeben; das bedeutet, man kann in der jeweiligen Fach-Ontologie bleiben, und das Ontology-Mapping beschränkt sich auf eine Übersetzung in das sehr rudimentäre Muster von Node-Aufrufen, wie von der Render-Engine gefordert
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</html></richcontent>
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -86011,8 +86580,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
...aber diese Info muß aus dem Library-Adapter bezogen werden können, und zwar schon viel früher, wenn das entspr. Processing-Asset erstellt wird; das kann allerdings auch eine dynamischen Rückruf in die LIbrary implizieren
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node CREATED="1719706288722" ID="ID_587946705" MODIFIED="1719706307051" TEXT="Buffer-Format (Größe, ggfs Layout) ausgabeseitig"/>
|
||||
<node CREATED="1719706307912" ID="ID_783578660" MODIFIED="1719707576163" TEXT="Markierung für Inplace-Buffer, falls nötig/möglich">
|
||||
|
|
@ -86034,8 +86602,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node CREATED="1719707578476" ID="ID_1483652660" MODIFIED="1719708016058" TEXT="Markierung wenn Buffer von der Library gemanaged werden">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
|
|
@ -86045,8 +86612,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
ein ganz besonders lästiges Thema: in der C-Welt gilt es als Feature, und nicht als Bug, wenn eine Library dem Aufrufer das Memory-Management abnimmt; Libraries sind in der Hinsicht oft unsäglich „kreativ“. Typischerweise bedeutet das, daß man sich dann an ein ganz spezielles Protokoll halten muß; in Lumiera würden wir so etwas als besonderen BufferProvider verkapseln, mit einem speziellen »Inlay-Typ«, der dann lifecycle-Events an die Library weitergibt
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node CREATED="1719709588097" ID="ID_1082507507" MODIFIED="1719709836158">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
|
|
@ -86064,8 +86630,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
Das ist ein spezielles Konstrukt, das sich direkt aus dem Setup mit BufferProvider ergibt: man sieht einen speziellen Buffer-»slot« vor, in den ein Adapter-Typ inplantiert wird; dieser Adapter bekommt eine Referenz auf die FeedManifold und wird dann getriggert, was die eigentliche externe Berechnung in der Library bewirkt. Da dieser Typ maßgeschneidert ist, kann er ein zusätzliches Kontroll- und Informations-API bieten
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</html></richcontent>
|
||||
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1719711275180" HGAP="33" ID="ID_105731741" MODIFIED="1719711304124" TEXT="Vorsicht: man könnte diesen auch direkt inlinen?" VSHIFT="3">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1719764158370" ID="ID_1459507139" MODIFIED="1719764186583" TEXT="vorerst offene Frage">
|
||||
|
|
@ -86188,8 +86753,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
...man könnte ein System von <i>nested scopes</i> aufbauen, auf Basis einer <i>persistenten Datenstruktur. </i>Es ist aber noch nicht klar, ob soetwas jemals gebraucht wird <font size="2">(YAGNI)</font>; im Besonderen bräuchte man dann auch einen Propagations-Mechanismus für Bindings, und damit wird die Sache komplex und potentiell aufwendig. Als ein anderes Modell könnte man lediglich einen Verweis auf einen Key-Value-Store durchgeben, der dann auf dem Einstiegs-Stackframe liegen würde. Und als minimal-Version würden wir nur einen Koordinaten-Record per Funktionsparameter nach unten durchreichen — bräuchten dann aber einen <i>offband-channel</i>  um Muting und Aktivierungen (z.B. Switchboard) durchzugeben; letztere müssen übrigens auf Ebene der Job-Invocation atomar aufgegriffen werden (wie genau ist noch nicht klar)
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</html></richcontent>
|
||||
<icon BUILTIN="hourglass"/>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -86338,9 +86902,9 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1718975949293" ID="ID_8397683" MODIFIED="1719784064096" TEXT="Weaving-Patterns — welche Basis?">
|
||||
<linktarget COLOR="#ad5890" DESTINATION="ID_8397683" ENDARROW="Default" ENDINCLINATION="-1667;-180;" ID="Arrow_ID_539070296" SOURCE="ID_208065994" STARTARROW="None" STARTINCLINATION="-368;1501;"/>
|
||||
<linktarget COLOR="#73464f" DESTINATION="ID_8397683" ENDARROW="Default" ENDINCLINATION="-658;-271;" ID="Arrow_ID_1227431876" SOURCE="ID_1047998990" STARTARROW="None" STARTINCLINATION="-254;17;"/>
|
||||
<linktarget COLOR="#e00637" DESTINATION="ID_8397683" ENDARROW="Default" ENDINCLINATION="748;-69;" ID="Arrow_ID_1695197621" SOURCE="ID_1163433329" STARTARROW="None" STARTINCLINATION="59;422;"/>
|
||||
<linktarget COLOR="#ee113c" DESTINATION="ID_8397683" ENDARROW="Default" ENDINCLINATION="-362;29;" ID="Arrow_ID_543535373" SOURCE="ID_1619627824" STARTARROW="None" STARTINCLINATION="109;8;"/>
|
||||
<linktarget COLOR="#73464f" DESTINATION="ID_8397683" ENDARROW="Default" ENDINCLINATION="-658;-271;" ID="Arrow_ID_1227431876" SOURCE="ID_1047998990" STARTARROW="None" STARTINCLINATION="-254;17;"/>
|
||||
<icon BUILTIN="help"/>
|
||||
<node CREATED="1719790298955" HGAP="27" ID="ID_282329743" MODIFIED="1719790448961" TEXT="liefert die Spec für das Anlegen der FeedManifold" VSHIFT="17">
|
||||
<icon BUILTIN="info"/>
|
||||
|
|
@ -86606,8 +87170,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
...und das ist ein besonders lästiger Grenzfall, der höchstwahrscheinlich sehr selten auftritt, dann aber ein knock-out sein könnte; das bedeutet, für diesen seltenen Fall muß die Möglichkeit für freies Mapping vorgesehen werden
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node COLOR="#5b280f" CREATED="1719878308873" ID="ID_356997601" MODIFIED="1719878794984" TEXT="Es wäre auch denkbar, diesen Fall komplett auf den Cache abzuwälzen">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
|
|
@ -86629,7 +87192,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node CREATED="1719961035792" ID="ID_1537523544" MODIFIED="1719961054626" TEXT="N-tes Resultat wird einmal als »Port« gedacht"/>
|
||||
<node CREATED="1719961055974" ID="ID_1173813263" MODIFIED="1719961064552" TEXT="dann wieder als »Slot«"/>
|
||||
<node CREATED="1719961065124" ID="ID_844591678" MODIFIED="1719961069789" TEXT="und dann wieder als Buffer"/>
|
||||
<node CREATED="1719961086370" ID="ID_1979667669" MODIFIED="1719961271774" TEXT="Konsequenz ⟹ auf Spect / Meta-Ebene beschränkten und Mapping nach innen nehmen">
|
||||
<node CREATED="1719961086370" ID="ID_1979667669" MODIFIED="1719961271774" TEXT="Konsequenz ⟹ auf Spec / Meta-Ebene beschränkten und Mapping nach innen nehmen">
|
||||
<arrowlink COLOR="#67434d" DESTINATION="ID_1186198930" ENDARROW="Default" ENDINCLINATION="-3;-54;" ID="Arrow_ID_43760137" STARTARROW="None" STARTINCLINATION="-125;4;"/>
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
|
|
@ -86776,7 +87339,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
Das ist eine Entscheidung. Man könnte ganz im Gegenteil jetzt anfangen, einen generischen Media-Function-Invoker zu schreiben, der von einer Routing-Tabelle gesteuert wird. <b>Das werde ich nicht tun</b>, da dies den<i>  Schein einer Generizität erzeugt, die gar nicht gegeben ist.</i>  Vielmehr gehe ich davon aus, daß die meisten Fälle offensichtlich-einfach sind, und in komplexeren Fällen muß man ohnehin wissen, was die jeweilige Library braucht; es wäre reine Verschwendung, das in ein Meta-Routing-Format zu pressen...<i> </i>
|
||||
Das ist eine Entscheidung. Man könnte ganz im Gegenteil jetzt anfangen, einen generischen Media-Function-Invoker zu schreiben, der von einer Routing-Tabelle gesteuert wird. <b>Das werde ich nicht tun</b>, da dies den<i> Schein einer Generizität erzeugt, die gar nicht gegeben ist.</i> Vielmehr gehe ich davon aus, daß die meisten Fälle offensichtlich-einfach sind, und in komplexeren Fällen muß man ohnehin wissen, was die jeweilige Library braucht; es wäre reine Verschwendung, das in ein Meta-Routing-Format zu pressen...<i> </i>
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
|
|
@ -86795,7 +87358,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<linktarget COLOR="#961457" DESTINATION="ID_1119707110" ENDARROW="Default" ENDINCLINATION="989;-28;" ID="Arrow_ID_1007029324" SOURCE="ID_339209474" STARTARROW="None" STARTINCLINATION="894;52;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1719967803009" ID="ID_1698494454" MODIFIED="1719968250669" TEXT="⟹ die Reihenfolge der Lead-Pulls muß vom Builder wählbar sein">
|
||||
<linktarget COLOR="#5e5e77" DESTINATION="ID_1698494454" ENDARROW="Default" ENDINCLINATION="-306;13;" ID="Arrow_ID_151141126" SOURCE="ID_172436088" STARTARROW="None" STARTINCLINATION="641;-12;"/>
|
||||
<linktarget COLOR="#5e5e77" DESTINATION="ID_1698494454" ENDARROW="Default" ENDINCLINATION="-306;13;" ID="Arrow_ID_151141126" SOURCE="ID_172436088" STARTARROW="None" STARTINCLINATION="597;43;"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -86849,7 +87412,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node CREATED="1719968160956" ID="ID_1900536063" MODIFIED="1719968167375" TEXT="schließt Array-Auffächerung ein"/>
|
||||
</node>
|
||||
<node CREATED="1719968107352" ID="ID_172436088" MODIFIED="1719968261181" TEXT="Reihenfolge der rekursiven pull()-Aufrufe">
|
||||
<arrowlink COLOR="#5e5e77" DESTINATION="ID_1698494454" ENDARROW="Default" ENDINCLINATION="-306;13;" ID="Arrow_ID_151141126" STARTARROW="None" STARTINCLINATION="641;-12;"/>
|
||||
<arrowlink COLOR="#5e5e77" DESTINATION="ID_1698494454" ENDARROW="Default" ENDINCLINATION="-306;13;" ID="Arrow_ID_151141126" STARTARROW="None" STARTINCLINATION="597;43;"/>
|
||||
</node>
|
||||
<node CREATED="1719968185473" ID="ID_1239704157" MODIFIED="1719968217280" TEXT="ein bestimmtes Resultat-BuffHandle wird weitergegeben und nicht geschlossen"/>
|
||||
</node>
|
||||
|
|
@ -127643,8 +128206,11 @@ std::cout << tmpl.render({"what", "World"}) << s
|
|||
<node CREATED="1681085863204" ID="ID_136936235" MODIFIED="1681085881132" TEXT="isoliert system-Level Services und externe Library-Erweiterungen"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1720131181173" ID="ID_792463857" MODIFIED="1720131194751" TEXT="Extern">
|
||||
<node CREATED="1720131209154" ID="ID_218200346" MODIFIED="1720131229705" TEXT="Integration"/>
|
||||
<node CREATED="1512923647255" ID="ID_1800845122" MODIFIED="1557498707237" TEXT="Plug-in"/>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#435e98" CREATED="1670599468591" HGAP="175" ID="ID_1144378342" MODIFIED="1670599561156" POSITION="left" TEXT="Methoden" VSHIFT="-32">
|
||||
<edge COLOR="#6164d8" STYLE="linear"/>
|
||||
<font NAME="SansSerif" SIZE="16"/>
|
||||
|
|
|
|||
Loading…
Reference in a new issue