Virtuální konečný stavový stroj - Virtual finite-state machine - Wikipedia

A virtuální konečný stavový stroj (VFSM) je konečný stavový stroj (FSM) definované v a Virtuální prostředí. Koncept VFSM poskytuje metodu specifikace softwaru k popisu chování řídicího systému pomocí přiřazených názvů vlastností vstupního řízení a výstupních akcí.

Metoda VFSM zavádí model provedení a usnadňuje představu spustitelné specifikace. Tato technologie se používá hlavně ve složitých aplikacích pro řízení strojů, přístrojové vybavení a telekomunikace.

Proč

Hlavním problémem implementace stavového stroje je generování logických podmínek (podmínky přechodu stavu a podmínky akce). V hardwarovém prostředí, kde státní stroje našly své původní použití, tento problém neexistuje: všechny signály jsou logické. Naproti tomu stavové stroje specifikované a implementované v softwaru vyžadují logické podmínky, které samy o sobě mají více hodnot.

Příklady:
- Teplota může být minimálně nízká, dobrá, vysoká
- Příkazy mohou mít několik hodnot: Init, Start, Stop, Break, Continue
- V (hierarchickém) systému stavových automatů mají stavové automaty Slave mnoho stavů, které se používají v podmínkách hlavního stavového automatu.
Mnoho vstupních signálů navíc není známo, například kvůli přerušenému kabelu, což znamená, že i digitální vstupní signály (považované za klasické booleovské hodnoty) jsou ve skutečnosti signály 3 hodnot: nízký, vysoký, neznámý. Příklad Teplota potřebuje pravděpodobně také hodnotu Neznámý.

Pozitivní logická algebra tento problém řeší vytvořením virtuálního prostředí, které umožňuje specifikaci stavových strojů pro software využívající vícehodnotové proměnné.

Vlastnosti ovládání

Proměnná v prostředí VFSM může mít jednu nebo více hodnot, které jsou relevantní pro ovládací prvek - v takovém případě se jedná o vstupní proměnnou. Tyto hodnoty jsou ovládacími vlastnostmi této proměnné. Vlastnosti ovládacího prvku nemusí být nutně konkrétní hodnoty dat, ale jsou spíše určitými stavy proměnné. Například digitální proměnná může poskytovat tři ovládací vlastnosti: TRUE, FALSE a UNKNOWN podle možných logických hodnot. Numerická (analogová) vstupní proměnná má řídicí vlastnosti jako: LOW, HIGH, OK, BAD, UNKNOWN podle rozsahu požadovaných hodnot. Časovač může mít svůj OVER stav (časový limit nastal) jako svou nejvýznamnější kontrolní hodnotu; další hodnoty mohou být STOPPED, RUNNING atd ...

Akce

Proměnná v prostředí VFSM může být aktivována akcemi - v takovém případě se jedná o výstupní proměnnou. Například digitální výstup má dvě akce: True a False. Numerická (analogová) výstupní proměnná má akci: Nastavit. Časovač, který je oba: vstupní a výstupní proměnná může být spuštěna akcemi jako: Start, Stop nebo Reset.

Virtuální prostředí

Virtuální prostředí charakterizuje prostředí, ve kterém VFSM pracuje. Je definována třemi sadami jmen:

  • názvy vstupů představují ovládací prvky všech dostupných proměnných
  • názvy výstupů představují dostupné akce s proměnnými
  • názvy států, jak je definováno pro každý ze států FSM.

Názvy vstupů vytvářejí virtuální podmínky k provádění přechodů stavu nebo vstupních akcí. Virtuální podmínky jsou vytvářeny pomocí pozitivní logická algebra. Názvy výstupů spouštějí akce (akce vstupu, akce ukončení, akce vstupu nebo akce přechodu).

Obrázek 1: VFSM ve virtuálním prostředí

A virtuální konečný stavový stroj je konečný stavový stroj (FSM) definované v a virtuální prostředí. Koncept VFSM poskytuje metodu specifikace softwaru k popisu chování řídicího systému pomocí přiřazených jmen vstupu vlastnosti kontroly a výstupu akce.

Metoda VFSM zavádí model provádění a usnadňuje myšlenku spustitelná specifikace. Tato technologie se používá hlavně ve složitých aplikacích pro řízení strojů, přístrojové vybavení a telekomunikace.

Pozitivní logická algebra

Pravidla pro vytvoření virtuální podmínky jsou následující:

Názvy vstupů a virtuální vstup

Stav vstupu je popsán vstupními názvy, které vytvářejí množinu.

Například:
- pro vstup A: Anames = {A1, A2, A3}
- pro vstup B: Bnames = {B1, B2}
- pro vstup C: Cnames = {C1, C2, C3, C4, C5}
atd.

Virtual Input VI je sada vzájemně se vylučujících prvků názvů vstupů. VI obsahuje vždy prvek vždy.

Příklady:
VI = {vždy}
VI = {vždy, A1}
VI = {vždy, A1, B2, C4}

Logické operace se vstupními názvy

& (AND) operation is a set of input names.

Například
A1 & B3 & C2= > {A1, B3, C2}

| (OR) operation is a table of sets of input names.

Například
A1 | B3 | C2 =>

~ (Doplněk) je doplněk sady názvů vstupů.

Například
~A2 = {A1, A3}

Logický výraz

Logickým výrazem je tabulka OR sady AND (odpovídá disjunktivní formě logického výrazu).

Například:
A1 & B3 | A1 & B2 & C4 | C2 =>
Logické výrazy se používají k vyjádření jakékoli logické funkce.

Vyhodnocení logického výrazu

Logická hodnota (true, false) logického výrazu se vypočítá testováním, zda některá ze sad AND v tabulce OR je podmnožinou VI.

Názvy výstupů a virtuální výstup

Stav výstupu je popsán názvy výstupů, které vytvářejí sadu.

Například:
pro výstup Xnames = {X1, X2}
pro výstup Ynames = {Y1, Y2, Y3}
Virtuální výstup VO je sada vzájemně se vylučujících prvků názvů výstupů.

Virtuální prostředí

Virtuální název a virtuální výstup vyplněný názvy států vytvoří virtuální prostředí VE, kde je uvedeno chování.

Model provedení VFSM

Obrázek 2: Vývojový diagram prováděcího programu VFSM

Podmnožina všech definovaných názvů vstupů, které mohou existovat pouze v určité situaci, se nazývá virtuální vstup (VI). Například teplota může být „příliš nízká“, „dobrá“ nebo „příliš vysoká“. I když jsou definovány tři vstupní názvy, ve skutečné situaci může existovat pouze jeden z nich. Tenhle staví VI.

Podmnožina všech definovaných názvů výstupů, které mohou existovat pouze v určité situaci, se nazývá virtuální výstup (VO). VO je vytvořeno aktuální akcí VFSM.

Specifikace chování je vytvořena stavovou tabulkou, která popisuje všechny podrobnosti všech stavů VFSM.

Exekutor VFSM je spuštěn VI a aktuálním stavem VFSM. S ohledem na specifikaci chování aktuálního stavu je nastavena VO.

Obrázek 2 ukazuje jednu možnou implementaci VFSM exekutora. Na základě této implementace je třeba vzít v úvahu typické charakteristiky chování.

Státní tabulka

hlavní strana: tabulka přechodu stavu.

A stavová tabulka definuje všechny podrobnosti o chování stavu VFSM. Skládá se ze tří sloupců: v prvním sloupci se používají názvy stavů, ve druhém jsou umístěny virtuální podmínky vytvořené ze vstupních jmen pomocí kladné logické algebry a ve třetím sloupci se zobrazují názvy výstupů:

Název státuPodmínky)Akce
Aktuální stavVstupní akceNázev výstupu
Ukončete akciNázev výstupu
Virtuální stavNázev výstupu
......
Název dalšího státuVirtuální stavNázev výstupu
Název dalšího státuVirtuální stavNázev výstupu
.........

Přečtěte si tabulku následovně: první dva řádky definují akce vstupu a výstupu aktuálního stavu. Následující řádky, které neposkytují další stav, představují vstupní akce. Nakonec řádky poskytující další stav představují podmínky přechodu stavu a přechodové akce. Všechna pole jsou volitelná. Čistý kombinatorický VFSM je možný pouze v případě, že jsou použity vstupní akce, ale nejsou definovány žádné přechody stavu. Přechodovou akci lze nahradit správným použitím jiných akcí.

Nástroje

Reference

  • Wagner, F., „Modeling Software with Finite State Machines: A Practical Approach“, Rosa Fischer-Löw Verlag 1994, ISBN  3-929465-04-3
  • Wagner, F., „The Virtual Finite State Machines: Executable Control Flow Specification“, Auerbach Publications, 2006, ISBN  0-8493-8086-3
  • Specifikace spustitelného souboru VFSM, CompEuro 1992 Proceedings
  • Stav nedorozumění stroje, IEE journal "Computing and Control Engineering", 1997
  • Moderní nástroj pro návrh softwaru v reálném čase: Poučení z leva, IEE journal „Computing and Control Engineering“, 2003
  • Spolehlivý, opakovaně použitelný software pro modelování a vytváření., Sborník inženýrství počítačového softwaru 2003 (ECBS'03)
  • Překlenutí propasti mezi modelováním softwaru a kódem, Sborník inženýrství počítačového softwaru 2004 (ECBS'04)
  • [1], Wagner, T., „VFSMML - standard XML pro VFSM“, 2004
  • [2] „„ Návrh a implementace virtuálního konečného stavu stroje “, Bell Labs Technical Journal / svazek 2, vydání 1, 2002