Runtime / wykonanie i komunikacja
Runtime, generatory, Storage Host i State
Nazwy spotykają się w jednym systemie, ale opisują różne odpowiedzialności. Nie ma jednej biblioteki o identycznych możliwościach pod każdym środowiskiem Junexis.
Kompilator i generatory
Lang opisuje i analizuje projekt .jnx, a generatory przygotowują kod dla obsługiwanych środowisk.
- Generator C++ emituje m.in.
embedded/junexis/runtime.h. - Generator TypeScript emituje
report/runtime.ts. - Generator Go przygotowuje kod serwera i jego zależności; przy odpowiednim kontrakcie także klientów Storage.
Te pliki i ich zachowanie trzeba oceniać w kontekście generatora. Nie są automatycznie tym samym co JunexisLang.Runtime.dll. Wspólna nazwa kanału nie jest dowodem pełnej zgodności anulowania, zamknięcia, trwałości i dostarczania.
Pierwszy system z generatorów · Reguły komunikacji języka.
Storage Host: osobny proces dla dostawców danych
Junexis.Storage.Runtime.Host uruchamia jawnie wskazane biblioteki providerów i obsługuje ABI junexis.storage.runtime/0.1. W referencyjnym hoście komunikacja przebiega jako JSON rozdzielany znakami nowej linii przez stdin/stdout. To osobny gospodarz, a nie uniwersalny serwer całego Runtime.
| Warstwa | Odpowiedzialność |
|---|---|
| SDK | Publiczne kontrakty autora dostawcy i narzędzia zgodności. |
| Storage Host | Ładowanie wybranych providerów, bindingi i obsługa żądań ABI. |
| Dostawca | Operacje i cechy magazynu: Memory, SQLite lub PostgreSQL. |
| Generator i aplikacja | Wygenerowane kontrakty użycia oraz klient właściwy dla wybranej drogi. |
Załadowanie DLL nie jest jej izolacją w sandboxie. Wybór i zaufanie do providera muszą poprzedzać jego uruchomienie. W tym przeglądzie nie wykonywano nowej próby Host → provider → baza.
Tworzenie dostawcy w SDK · Rola SDK w platformie.
State: trwałe fakty określonego scenariusza
State jest opcjonalny. Zachowuje i uzgadnia fakty komunikacji oraz wykonania; nie jest bazą biznesową aplikacji ani obowiązkową zależnością każdego kanału.
Repo State ma lokalny pilot z adapterem oraz rzeczywistym Scheduler Runtime: jedna autorytatywna droga dostarczenia należy do State, bez drugiej trwałej kolejki Runtime dla tej samej próby. Dokumentacja opisuje lokalne próby restartów i odczytu nieznanego wyniku ACK.
To ograniczony pilot, nie gotowy standardowy provider dla dowolnego wdrożenia. Nie utożsamiaj AttemptBoundQueue z trwałym tokenem State, a lokalnego odbioru ACK z pełną synchronizacją powracających urządzeń. W tym kroku przejrzano kod i dokumentację pilota; nie uruchamiano go ponownie.
Obserwacja i praca z projektem
Observability może odczytywać metryki z przygotowanego Runtime. Debug i Narrative korzystają z instrumentacji i zebranych zdarzeń. Samo użycie kanału w pierwszym przykładzie nie uruchamia tych usług ani nie tworzy Story.
Studio pomaga przygotować projekt i uruchomić obsługiwane ścieżki, ale nie usuwa różnic pomiędzy implementacjami wykonania.