Nadrealizam simbola – formalni jezici višeg nivoa i budućnost softvera (i ne samo softvera)


Čovekova priča o pisanju počinje još pre pet i po hiljada godina: od misterioznih vinčanskih znakova urezanih u keramiku, preko klinastih piktograma prvih sumerskih spisa, preko Linearnih A i B u minojsko‑mikenskoj palati, pa sve do latiničnih slova koja i danas koristimo na tastaturi. Svaki od tih koraka bio je revolucionaran pomak – glinene pločice zemenjene su papirusom, zatim pergamentom, razvio se kurziv a odatle smo štamparskom presom stigli do digitalnog ekrana.

Danas, na pragu novih paradigmi, možda je vreme da i naš jezik evoluira: da umesto pukih simbola prihvati strukture – prave mehanizme koji opisuju međusobne veze, tipove i ponašanja.

U tekstu koji sledi pričamo o tome kako formalni jezici višeg nivoa nastavljaju tu dugu tradiciju unapređivanja zapisanih misli, ali usmerenu ka složenim softverskim i sistemskim prostranstvima.

Kako učiniti da mašina razume sat, a ne samo kazaljke

Zamisli prijatelja koji nikada nije video sat. Daješ mu fotografiju sata i kažeš:

“Evo slike. Sada mi reci kako radi.”

On gleda te kazaljke i cifre, ali nema pojma šta pokreće zupčanike, oprugu ili zašto kazaljka ide brže jednom, a sporije drugom prilikom. Vrlo brzo mu nestaje strpljenje, jer slika sama po sebi ne priča priču o strukturi i dinamici unutar sata.


Šta možemo da uradimo?

Umesto da crtam samo kazaljke, ja vam dam model sata:

Slobodan opis (“Entitet ‘zupčanik 12’, koji ima 20 zuba, povezan je sa ‘osovinom A’, okreće se pod uglom θ i prenosi snagu na ‘zupčanik 13’.”) jeste sjajan za ljudsko razumevanje, ali nije mašinski proverljiv.

Mašina ne zna šta znači “20 zuba” u kontekstu kompatibilnosti s osovinom A, ne može da automatski potvrdi da ugao θ nikad ne prekorači maksimum ili da zupčanici pravilno naležu jedan na drugi.

Formalni jezik višeg nivoa mog rada umesto toga definiše:

  1. Tip Gear sa atributom num_teeth: Integer i odnosom mounted_on: Shaft.
  2. Pravilo mesh(G1, G2) koje automatski zahteva da module(G1) == module(G2) i generiše relaciju prenosa snage.
  3. Verifikaciju: mašina može da pokrene proveru tipova i ograničenja, potvrdi da nema sudara i da je ugao θ u dozvoljenom opsegu.

Tako, umesto da mašina “pogađa” semantiku tvoje rečenice, ona neposredno koristi definisane entitete, relacije i pravila – i može potpuno automatski da proveri, simulira ili generiše kod bez ručne intervencije.


Zašto je ovo važno?

  1. Razumevanje: Mašina više ne “pogađa” šta simboli znače – već razume strukturu koju ste joj dali.
  2. Proverljivost: Uz pomoć formalnih pravila i automatizovanih proverivača, možete dokazati da vaš model sata nema “zaglavljenih” zupčanika, prekoračenja ugaonih granica ni zaglavljenih mehaničkih delova – dakle, mašina sama garantuje da sve klizi glatko, bez neplaniranih lomova ili zastoja.
  3. Ekspresivnost: Umesto da radimo sa pukim nizom simbola ili apstraktnih poruka, dobijamo pravu „radionicu“ – model u kome se jasno vide sve komponente, veze i ponašanja sistema, kao da gledate unutrašnjost satnog mehanizma “uživo”.

U praksi, ovo znači da možemo da gradimo sigurnosne protokole, distribuirane sisteme ili čak biološke simulacije s istom preciznošću kojom bismo modelovali zupčanike i opruge u satu.


Kratka priča iz istorije

  • 1950‑te: Chomsky je pokazao da nizovi simbola mogu modelovati jezike – to je kao kad naučiš da pročitaš kazaljke.
  • 1980‑te: graf‑gramatike i kategorijske metode dodaju strukturu – ali često ostaješ zaglavljen u apstrakciji, bez “mehaničkih zupčanika”.
  • 2000‑te: procesni kalkuli i koalgebre uvode dinamiku – ali opet, nemaju unutrašnje atribute i relacije koje bih ja nazvao “važnim delovima sata”.

Moj rad unifikuje na svoj način sve te ideje: grafove, dinamiku, tipove i pravila.


Filozofski pogled

Ako su reči okvir našeg razmišljanja, onda su formalni jezici okvir našeg konstruktorskog uma. Proširiti formalni jezik znači proširiti mogućnost mišljenja i modelovanja.


Šta sledi?

  • Otvorene biblioteke u C#, Rust i Pythonu – da odmah probate ovaj “3D model sata”.
  • Alati za verifikaciju – da budete sigurni da vaš model nema “viška zupčanika” ili da se ne vrti u prazno.
  • Vizuelni editori – da gledate i pomerate entitete uživo, bez pisanja stotina pravila rukom.
  • Istraživanja – da uvedemo slučajnost (“probabilistički zupčanici”), vremenske -dinamičke oplodnje i grafičke prikaze funkcija.

Gde ovo vodi? Vrata novih dimenzija

Ovaj rad nije samo o softveru. On otvara put jezicima koji prevazilaze tekst:

ModalitetPrimer
Vizuelni3D modeli sa interaktivnim relacijama
ZvučniKompozicije gde harmonija definiše “tipove”
ProstorniAR/VR scene sa fizikalnim pravilima
VremenskiLogogrami poput onih iz Arrivala

Budućnost: Zamislite da crtate arhitektonski plan, a sistem automatski generiše:

  • Građevinske proračune (tip: struct Beam: length, material),
  • Protok ljudi (relacija: connects(Floor1, Stairs)),
  • Akustičke modele (transformacija: apply_reverb(space, freq)).

„U početku bješe riječ, i riječ bješe u Boga, i Bog bješe riječ“ *
– Napisano jednim od mogućih vizuelnih jezika višeg nivoa

Primer pojednostavljene gramatike koju smo koristili u gornjem primeru

Struktura logograma

  • Spoljašnji krug obavezno otvara svaku poruku kao simbol „celine / konteksta“.
  • Elementi se dodaju na (ili unutar) kruga u smeru suprot­nom od kazaljke na satu, čitajući se spolja → unutra.

Osnovni grafički morfemi

Morfem (vizuelni znak)Ključna semantikaParametri / nijanse
Spoljašnji krugcelina, kosmos, kontekstdebljina = intenzitet scene
Radijalne bodljemnoštvo, populacijabroj & gustina = količina
Prazni lukrascep, nedostatakdužina prekida = veličina jaza
Talasivoda, fluid, tokbroj talasa = zapremina / dubina
Vertikalni grebenkopno, stabilnostvisina = čvrstina
Spiralaseme, život, „Riječ“ (ideja u razvoju)broj obrtaja = složenost misli
Klinasta strelausmerena akcija, popravkaugao = pravac delovanja
Plamen‑peronada, uzlazni potencijalbroj pera = jačina nade
Kap‑suzaopasnost, propastveličina = stepen pretnje
Unutrašnji prsten (Σ‑marker)entitet / pojamprisustvo = isticanje subjekta
Aureola prsten (Ω‑marker)božanska / apsolutna prirodadebljina = transcendencija
Most‑luk (WITH)zajedništvo, „u/sa“dužina luka = bliskost odnosa
Stapajući prsten (IS)identitet „X = Y“stepen stapanja = potpunost
AT‑BEGIN markertemporalno „u početku“položaj trake = tačka početka

Sintaksno pravilo „krugovnog” jezika

  1. Fiksni orijentir
    • Spoljašnji krug je uvek prva „rečenica zagrada“ – on postavlja kontekst.
  2. Smer čitanja
    • Logogram se čita suprotno od kazaljke na satu (CCW).
    • Kreće se od najdebljeg spoljašnjeg poteza ili od posebnog markera (npr. AT‑BEGIN na 12 h), pa se nastavlja CCW oko kružnice.
  3. Hijerarhija slojeva
    • Spolja → unutra: svaka nova idejna jedinica nalazi se za nijansu bliže centru.
    • Spoljašnji elementi određuju uzroke / okvire, unutrašnji element posledice / ishode.
  4. Entitetski markeri
    • Σ‑prsten (pojam/biće) može sadržati manji motiv (spirala, talas, greben…).
    • Ako Σ dobije Ω‑aureolu, entitet zadobija „božansku / apsolutnu“ prirodu.
  5. Operatori odnosa
    • WITH‑most: tanka, zakrivljena traka koja spaja dva Σ → značenje „X je u/sa Y“.
    • IS‑stapanje: dva Σ prelaze u jedan prsten → identitet „X = Y“.
    • AT‑BEGIN: kratka radijalna traka na 12 h spoljašnjeg kruga → vremenski okvir „na početku“.
  6. Intonacija
    • Plamen‑pero nagore dodaje pozitivno usmerenje / nadu.
    • Kap‑suza nadole signalizira opasnost / pad.
  7. Rečenice u nizu
    • Više krugova postavljamo sleva udesno (strip‑tabla).
    • Vizuelne rime (isti spoljašnji motiv) povezuju logograme u poglavlja.

Praktično: čitalac „ulazi“ u krug, prati CCW tok i tumači svaki sledeći sloj kao dublji nivo značenja.


Kompozicija više rečenica

  • Više krugova se ređaju sleva udesno kao panel‑strip; svaki logogram = jedna ključna scena.
  • Između krugova nema linije teksta: povezuju ih vizuelne rime (isti spoljašnji motiv označava isto „poglavlje“).

Primer:
Puni krug + bodlje → spirala → plamen označava

„Mnoštvo bića u zajedničkoj celini proizvodi ideju koja rađa nadu.“
„Мноштво бића у заједничкој целини производи идеју која рађа наду.“

Gde možeš da pronađeš više?

🔗 Higher‑Level Formal Languages na Zenodo

Pozivam te: uzmi svoj “sat”, modeluj ga ovim jezikom, i reci mi šta si otkrio. Čak i ako nisi “satofil”, videćeš kako se naša mašina pretvara iz “crne kutije” u jasno razrađeni skup delova – i možda shvatiš da kod svojih softverskih sistema možeš da vidiš isto.


“Sudeći po tome kako modelujemo kompleksnost, razumećemo svet. Zato hajde da naučimo da govorimo jezikom zupčanika, opruga i veza – pre nego što pokušamo da kažemo samo ‘pomerio se’.”

Оставите одговор

Ваша адреса е-поште неће бити објављена. Неопходна поља су означена *