Witamy w dokumentacji języka Volang – języka programowania firmy Voldeno. Stanowi on kluczowe narzędzie do implementacji logiki bloków w naszym ekosystemie inteligentnego domu.
Wprowadzenie
Volang to specjalizowany język programowania stworzony przez firmę Voldeno, zaprojektowany jako fundament logiczny dla nowoczesnego systemu Voldeno Smart Home. Stanowi on pomost między sprzętową warstwą urządzeń a wysokopoziomową logiką automatyki, umożliwiając tworzenie zaawansowanych scenariuszy sterowania w sposób bezpieczny i wydajny.
Głównym przeznaczeniem języka Volang jest definiowanie zachowania Bloków. W systemie Voldeno blok stanowi autonomiczną jednostkę funkcjonalną (np. sterownik rolet, termostat czy licznik energii). Volang umożliwia programistom określenie, w jaki sposób bloki te reagują na sygnały wejściowe, przetwarzają stan wewnętrzny oraz wyzwalają akcje na podstawie zdarzeń.
Architektura: Model kompilowany
W przeciwieństwie do prostych języków skryptowych, które są interpretowane bezpośrednio z tekstu, Volang wykorzystuje architekturę Maszyny Wirtualnej (VM). Proces wykonywania składa się z dwóch odrębnych etapów:
- Kompilacja: Kod źródłowy napisany przez programistę jest przetwarzany przez kompilator Volang. Etap ten weryfikuje składnię, typy danych oraz spójność logiczną, przekształcając kod w zoptymalizowany format binarny, zwany bajtkodem.
- Wykonanie: Wynikowy bajtkod jest ładowany do Wirtualnej Maszyny Volang (Volang VM) – dedykowanego środowiska uruchomieniowego działającego na sterownikach Voldeno. VM odpowiada za interpretację instrukcji bajtkodu oraz ich bezpieczne wykonanie na fizycznym sprzęcie.
Dlaczego Volang VM?
Zastosowanie architektury maszyny wirtualnej przynosi znaczące korzyści w środowiskach inteligentnego domu, ujednolica proces tworzenia oprogramowania oraz rozszerza możliwości sprzętu:
- Bezpieczeństwo (Sandboxing): Kod użytkownika uruchamiany jest w izolowanym środowisku, odseparowanym od rdzenia systemu operacyjnego. Błąd wykonania (np. dzielenie przez zero) zatrzyma jedynie dany skrypt wewnątrz maszyny wirtualnej, gwarantując, że ogólna stabilność sterownika pozostanie nienaruszona.
- Wydajność: Wykonywanie zwięzłego, binarnego bajtkodu jest znacznie szybsze i bardziej efektywne pod względem zasobów niż parsowanie plików tekstowych w czasie rzeczywistym, co jest kluczowe dla systemów wbudowanych i mikrokontrolerów.
- Przenośność: Logika napisana w języku Volang jest niezależna od sprzętu. Może być ona uruchamiana na dowolnym urządzeniu zdolnym do obsługi Maszyny Wirtualnej Volang, bez względu na zastosowaną architekturę procesora.
- Identyczna symulacja: Dzięki temu, że Volang VM działa spójnie na różnych platformach, dokładnie ta sama logika bloków może być uruchamiana wewnątrz Voldeno Studio. Umożliwia to programistom testowanie i debugowanie kodu w środowisku desktopowym z gwarancją, że zachowanie będzie identyczne jak w rzeczywistym systemie produkcyjnym.
- Wykonywanie rozproszone: Wydajność maszyny wirtualnej pozwala na jej uruchomienie nie tylko na centralnej jednostce Voldeno Hub, ale także na peryferyjnych modułach rozszerzeń. Funkcjonalność ta umożliwia realizację prawdziwie rozproszonej logiki, w której złożone przetwarzanie może odbywać się lokalnie na urządzeniu (tzw. przetwarzanie brzegowe), nie ograniczając się jedynie do podstawowego raportowania zdarzeń.