Véges állapot automata (Finite State Machine FSM)

A mérés összehasonlítás, a mérőműszer a mérési eredményt egy etalonnal hasonlítja össze. Ezt teszi a mérőkészlet is a MONITOR és EMULATOR mérési módokban is, ahol a mérési eredmény egy bonyolult jelzésszekvencia, melyet össze kell hasonlítani egy "etalon" szabályrendszerrel, protokollal. Ráadásul az "etalon" szabályrendszer is változó, hiszen egy távközlési protokollnak számos nemzeti változata létezik. Ez azt a követelményt támasztja a mérőkészülékkel szemben, hogy az összehasonlítás alapját képező szabályrendszer a felhasználó által szerkeszthető legyen.

Az összehasonlításhoz tehát protokollokat kell specifikálni a mérőkészletben.

+++ Nem része a műszerkönyvnek: A távközlési protokollok specifikációjának számos formája ismert: véges állapotú automaták (Finite State Machine, FSM), gráf modellek, leírónyelvek (Estelle, SDL), Message Sequence Chart.+++

A mérőkészülékekben megvalósított protokoll editor a véges állapot automaták állapot-táblázatos (STATE_TABLE) leírásmódján alapul, azaz a protokollt egy táblázattal (állapot-táblázat) adjuk meg:


           +-------+------------+-------------...+------------+
           |       | State1     | State2         | StateN     |
           +-------+------------+-------------...+------------+
           |       | Action-    |                |            |
           |       | block:     |                |            |
           |       | Condition11| Condition12    | Condition1N|
           |Event1 | Action11   | Action12       | Action1N   |
           |       | NewState11 | NewState12     | NewState1N |
           +-------+------------+-------------...+------------+
           |       | Condition21| Condition22    | Condition2N|
           |Event2 | Action21   | Action22       | Action2N   |
           |       | NewState21 | NewState22     | NewState2N |
           +-------+------------+-------------...+------------+
           .       .            .                .            .
           .       .            .                .            .
           |       | ConditionM1| ConditionM2    | ConditionMN|
           |EventM | ActionM1   | ActionM2       | ActionMN   |
           |       | NewStateM1 | NewStateM2     | NewStateMN |
           +-------+------------+-------------...+------------+
Ezen leírásmód lényege az, hogy a jelzési folyamat minden időpillanatban egy meghatározott állapottal (STATE) írható le. Az állapotok alkotják a táblázat oszlopait, a táblázat sorait pedig azon események (EVENT(S)), melyek hatására az automata állapotot vált. A táblázatba írjuk be, hogy az esemény hatására és bizonyos feltételek (CONDITION) teljesülése vagy hiánya esetén milyen műveleteket akciókat (processzeket) végzünk (ACTION) és mi lesz az automata új állapota (NEW_STATE). Ezek az eljárások alkotják az automata egy akció blokkját, melynek - folyamatábrája általánosságban:
                            +------------+
                            |   STATE    |
                            +------+-----+
                                   |------->-------+----------->--------+
                                   |               |                    |
                            +------+-----+  +------+-----+  ...  +------+-----+
                            >   EVENT    |  >   EVENT1   |       >   EVENTn   |
                            +------+-----+  +------+-----+  ...  +------+-----+
                                   |               |                    |
                                   |-------<-------+-----------<--------+
                                   |                          -
                     TRUE   +------+-----+   FALSE            |
                    +-------< CONDITION-i>--------+           |
                    |       +------------+        |           |
                    |                             |           |
             +------+-----+                +------+-----+  akció
             |   ACTION_i >                | ACTION_i+1 >  blokk
             +------+-----+                +------+-----+     |
                    |                             |           |
                    +- - - CHAIN (+2)- - - - - - -+           |
                    |                             |
               CHAIN (+3)                         |           |
             +------+-----+                +------+-----+     |
             | ACTION_i+3 >                | ACTION_i+2 >     |
             +------+-----+                +------+-----+     |
                    |                             |           |
             +------+-----+                +------+-----+     |
             |NEW_STATE   |                |NEW_STATE   |     |
             +------------+                +------------+     |
                                                              -
 
A beérkező események túlnyomórészt a mérendő objektum felől érkező jelzések (SIGNALS), az akciók pedig túlnyomórészt az ezekre válaszként küldött jelzések.

A megvalósított táblázatban minden állapotot, eseményt, feltételt, akciót, jelzést azonosítóval jelölünk. Az esemény, feltétel és akció azonosítók a gyártó által beépített és a felhasználó által paraméterezhető eljárásokat takarnak. A jelzés azonosítók a felhasználó által szerkeszthető fizikai paramétereket (frekvencia, szint, kód, időtartam) takarnak.