1.1. fejezet, G2 általános jellemzői

  • Objektum orientált nyelv.
    Az OOP fejlesztéseknél a jól átgondolt fejlesztés során létrehozott objektumok későbbi munkák során újrahasznosíthatóak.
  • Eljárás és szabály alapú fejlesztés lehetősége:
    A programok - vagy más néven tudásbázisok - létrehozása történhet eljárások ill. metódusok kódolásával, és az angol nyelvtanon alapuló mondat formájú szabályok megfogalmazásával is.
  • Nagy stabilitás
    A fejlesztői környezet folyamatos ellenőrzése biztosítja a begépelt sorok szintaktikai és sematikai helyességét. A stabilitást növeli, hogy futás közben a sematikai vagy szintaktikai hibákat tartalmazó objektumok futáskor nem kerülnek kiértékelésre. A nyelvtanilag helyes, de érvénytelen hivatkozások beépítésekor hibaüzenet generálódik, viszont a keretrendszer csak az érvénytelen hivatkozások kiértékelésekor függeszti fel a tudásbázis futását, hibaüzenet generálásával. A futtatás jóváhagyás után folytatható.
  • Újrafordítás és rendszerleállás nélküli fejlesztés lehetősége
    A gyors fejlesztést segíti a szintaktikailag és sematikailag helyes szabályok, valamint az eljárások inline fordítása. A felügyelő és kiértékelő rendszer szabályhalmazát módosítani, új szabályt bevinni vagy kivonni a rendszer leállítása nélkül lehet. Így a már meglévő, letesztelt és üzembe helyezett szabályok megszakítás és korlátozás nélkül értékelődhetnek ki.
  • Többszálú, többfelhasználós, többplatformú (Unix, VMS és Windows) elosztott rendszerek fejlesztése.
  • Programozható időzítőhöz kötött vezérlés lehetősége: valós idejű kapcsolat a külvilággal
  • Hálózatkezelés (TCP/IP protokoll)
  • Kiváló referenciák világszerte

A G2 rendszerben felépített tudásbázis leginkább eljárások és egymásba ágyazható dinamikus objektumok gráfszerű halmazának fogható fel. Egy objektumosztály egy object-definition objektumra történő újabb attribútum-nevek felfűzésével deklarálható. Az attribútumok típusa, kiinduló, maximum ill. minimum értékei meghatározhatók. Egy object-definition -ból létrehozott példány a deklarációnak megfelelő attribútumokat tartalmazza. Felmerül a kérdés, hogy a dinamikus tárolás miatt az objektumok elérési ideje nagyságrendekkel megnő a fix címzéshez képest. Erre megoldást jelenthet a dinamikusan létrehozott objektumok nevének egy belső szótárban történő sorszámozott tárolása. A hivatkozások számokká alakítása történhet akár fordítási, akár futási időben. A sorszám használat csökkenti a keresés során összehasonlításokra fordított időt, így az objektumok elérési ideje javul.

A szabályok és metódusok kiértékelési és végrehajtási sorrendje dinamikus gráf szerkezetben tárolódik. Mivel minden dinamikus, a rendszer üzemeltetése közben változhat. Ez nagy rugalmasságot eredményez.
A G2 legegyszerűbb futási módja, amikor a program olyan gyorsan hajtódik végre, amilyen sebességet a számítógép architektúrája megenged. Ha a végrehajtás egy programozható ütemezővel szinkronban történik, lehetővé válik valós idejű mérések pontos végzése, illetve szimulált időtérben történő kísérletezés. A G2-ben megoldották mind a szinkronizált, mind a szinkronizálatlan vezérlést.