A GPSS programozási nyelv

Bevezetés

Történet

A GPSS története 1961-re nyúlik vissza. Ekkor jelentette meg Geoffrey Gordon két cikkét, amelyben körvonalazta elképzeléseit az új nyelvről. Az elnevezés (General Purpose Simulation System) az általános jellegű rendszerek szimulációjára utalt. Először az IBM 704-, 709-, és 7090-es számítógépein valósították meg (GPSS I.).

A nyelv filozófiája az volt, hogy a modellezőknek ne kelljen megismerniük sem a számítógépet, sem a programozási nyelveket ahhoz, hogy modelljüket számítógépen futtatni tudják, ugyanakkor viszont modelljeiket a lehető legkönnyebben írhassák le a számítógép számára. Innen ered a blokkorientáltság. A blokkok száma kezdetben 25 volt, melyek a rendszerek fontosabb tulajdonságait írták le, és ezeket tetszőlegesen ismételni, variálni lehetett. A modell dinamikus elemei a tranzakciók voltak.

Mindezek a nyelv továbbfejlesztésével: GPSS II (1964) és GPSS III (1965) sem változtak. A GPSS III-ban jelent meg az ADVANCE blokk, azaz az alkotóelemektől független késleltetés, és ennek következtében átalakultak a blokkfunkciók, ill. a késleltetések rendszere. Új, kifinomultabb lehetőségek (ugrásvariációk, nyomkövetés, felhasználói listák, stb.) jelentek meg, és a blokkok jobban specializálódtak.

Mindez a fejlődés azonban mindig biztosította a korábbi modellek futtathatóságát (kompatibilitás a múlttal). (Megjegyezzük, hogy ez az állapot a SIAS kifejlesztésének is az alapja. Ez egy Siemens számítógépeken futtatható, GPSS-re alapuló szimulációs nyelv.)

1967-ben hozták létre a GPSS/360-at (ami a GPSS IV-nek tekinthető, bár nem szokták így nevezni) az IBM System/360-as és 370-es számítógépeire. Ekkor változik meg a név General Purpose Simulation System-re (általános célú szimulációs rendszer). Ebben a változatban jelennek meg a tömbösített értékőrzők, a csoportok, amelyekkel a felhasználó logikai kapcsolatokat tud létrehozni tranzakciók vagy számok között. Megnövelik a véletlenszám-generátorok számát nyolcra, bevezetik a logikai változókat, lehetővé teszik a függvények kártyáinak szabad formátumát, megnövelik a tranzakciók paramétereinek számát, lehetővé teszik a szimbolikus címzést. Ekkor jelennek meg a makrók, kiíratást szerkesztő utasítások, HELP rutinok, az UPDATE funkció alkalmazásának lehetősége.

A további fejlesztések során két újabb változat jelent meg: a GPSS/360 V2 (1969) és a GPSS V (1972). A GPSS V a legutolsó fejlesztési lépés, ahol a fő hangsúlyt a nyelv teljesítőképességének növelésére, a rutinfeladatok egyszerűsítésére és a modell méretéből adódó korlátok kiterjesztésére fektették. Új típusú paraméterek, tömbök teszik lehetővé a rugalmasabb adatkezelést, lehetővé vált PL/1 rutinok kapcsolása.

És mi várható a jövőre nézve? (a forrás 1980-as kiadású – TM) A GPSS mind ez ideig tartó fejlesztése minden változatosság ellenére is csak mennyiséginek tekinthető. Az alapvető blokkdiagramos felfogás megmaradt, csak a teljesítőképesség, a spektrum szélesedett. Várhatólag további könnyítések jelennek meg a programozás, a nyomon követés területén, valamint a modell helyességének ellenőrzésére. Egyre sürgetőbbé válik a szimulációk terminálokon keresztüli lefuttatása, a gyors és egyszerű modellmódosítás, a kiíratások megjelenítése képernyőn, sőt talán bizonyos jellemzők folyamatos változásának grafikonon történő végigkövetése is. Lehetőség legyen a modellbe történő benyúlásra a modell futtatása közben, és a szimulációs modell adatbázisokhoz is kapcsolódni tudjon. Egyben várható, hogy a számítógép hatékonyságának növekedésével a szimulációk gazdaságossága is növekszik (nagyobb rendszerek nagyobb modelljei, hosszabb szimulációk).

A jelen

A GPSS nyelvet jelenleg hivatalosan nem fejlesztik, és használata is ritka.