TLA + je specifikační jazyk založený na teorii množin , logice prvního řádu a časové logice akcí ( TLA, temporal logic of actions ) . Vyvinutý Leslie Lamport [1] , výzkumník v teorii distribuovaných systémů .
Temporální logiku zavedl Amir Pnueli v 70. letech 20. století. Leslie Lamport viděl nedostatečnost tohoto nápadu pro popis systémů jako celku a dospěl k myšlence potřeby používat stavové automaty , které dostaly význam vzorců časové logiky, které popisují všechny možné cesty provádění. Tak se zrodila myšlenka časové logiky akcí (TLA), která časovou logiku doplnila o následující [2] :
V důsledku usilovné práce na myšlenkách TLA se objevil jazyk specifikace nazvaný TLA + [2] .
Jazyk TLA + je svým duchem poněkud podobný Z-notaci a možná dokonce vznikl pod jeho vlivem [1] .
Specifikace TLA je dočasný vzorec, často nazývaný Spec, který je predikátem (výrokem) o chování . Chování představuje možný způsob provedení systému nebo jinými slovy představuje možnou historii vesmíru, kterou systém může obsahovat. Chování vyhovující Spec jsou správné chování systému [1] .
Stav je přiřazení hodnot proměnným, krok je dvojice stavů. Nyní lze chování považovat za nekonečnou posloupnost stavů a kroky chování lze nazvat dvojicí po sobě jdoucích stavů chování. Predikát stavu je funkce, jejíž výsledek, booleovská hodnota true nebo false, odpovídá příkazu stavu. Akce je funkce, která má význam predikátu nad krokem. Tato funkce zahrnuje jak proměnné prvního kroku, tak i druhého, které jsou obvykle označeny prvočíslem [1] .
Jedna z nejjednodušších netriviálních specifikací je následující [1] :
Zde Init je predikát stavu, Next je akce, v i jsou proměnné, je jediným časovým operátorem v této specifikaci (pravda ve všech budoucích stavech).
Bezplatný a otevřený software společnosti Microsoft | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
obecná informace |
| ||||||||||||
Software _ |
| ||||||||||||
licence | |||||||||||||
související témata |
| ||||||||||||
Kategorie |