GPSS

GPSS — Ümumi məqsədli simulyasiya dili(ing. General Purpose Simulation System) 1961ު-ci illərdə Geoffrey Gordon tərəfindən yaradılmış, ümumi məqsədli diskret zamanlı simulyasiya proqramlaşdırma dilidir. Dil əsas olaraq proqramlaşdırma bilməyən analizçilər üçün, trafik və növbə sistemlərini modellşdirmək üçün yaradılıb. Dildə 53 blokdan istifadə olunur.

Aşağıdakı nümunə GPSS proqramından götürülüb və proqramın əsas məqsədini özündə ehtiva edir. Nümunədə bərbər dükanının bir günü modelləşdirilib.

Müştərilər dükana daxil olur, əgər bərbər məşğuldursa (hər hansı bir müştəri xidmət alır) sırada gözləyir. Bu sistemdə xidmət(FCFS-first come-first served) ilk gələn – ilk xidmət olunur prinsipi ilə göstərilir. Müştəriyə xidmət olunduqdan sonra o sistemi tərk edir. Burdakı məqsəd gələn müştəri sayından və xidmət sürətindən asılı olaraq müştərilərin sırada gözləmə müddətlərinin tapılmasıdır.

      SIMULATE               ; Define model
*
*  Model segment 1
*
      GENERATE 18,6          ; Customer arrive every 18±6 mn
      QUEUE    Chairs        ; Enter the line
      SEIZE    Joe           ; Capture the barber
      DEPART   Chairs        ; Leave the line
      ADVANCE  16,4          ; Get a hair cut in 16±4 mn
      RELEASE  Joe           ; Free the barber
      TERMINATE              ; Leave the shop
*
*  Model segment 2
*
      GENERATE 480           ; Timer arrives at time = 480 mn
      TERMINATE 1            ; Shut off the run
*
*  Control cards
*
      START     1            ; Start one run
      END                    ; End model

Yuxarıdakı kodun icrasına uyğun nəticə aşağıdakı kimi alınır.

FACILITY           AVERAGE            NUMBER        AVERAGE         SEIZING      PREEMPTING
                UTILIZATION          ENTRIES       TIME/TRAN       TRANS. NO.    TRANS. NO.
       Joe            .860               26          15.884              26

QUEUE        MAXIMUM    AVERAGE     TOTAL      ZERO      PERCENT   AVERAGE   $AVERAGE       TABLE    CURRENT
            CONTENTS    CONTENT    ENTRIES    ENTRIES     ZEROS  TIME/TRANS TIME/TRANS     NUMBER   CONTENTS
  Chairs           1       .160        27         12       44.4      2.851      5.133                      1
$AVERAGE TIME/trans = AVERAGE TIME/TRANS EXCLUDING ZERO ENTITIES

Yuxarıdakı alınmış nəticə onu göstərir ki, bərbər vaxtının 86%-in məşğul olub. 26 müştəriyə xidmət edib və hər biri üçün ortalama olaraq 16 dəq vaxt sərf edib. Alınmış nəticə həmçinin onu göstərir ki,1 müştəri öz sırasın gözləyir, ümumi sıraya daxil olmalar 27-dir bunlardan 12-si sıra gözləmədən xidmət alıb. Ümumi olaraq orta gözləmə vaxtı 2.851 nm və növbədə olmuş 15(27-12=15) müştəri 5.133 nm gözləyib.

Əsas Versiyaları

[redaktə | vikimətni redaktə et]
  • GPSS I (1961)
  • GPSS II (1962)
  • GPSS III (1965)
  • GPSS/360 (1967)
  • GPSS V (1975)
  • GPSS/H (1978)
  • GPSS/PC (1984)
  • Micro-GPSS (1) (1990)
  • GRAMOS-GPSS (1993)
  • GPSS World (1993)
  • Micro-GPSS (2) (1996).

Xarici Keçidlər

[redaktə | vikimətni redaktə et]