TLA + este un limbaj de specificație bazat pe teoria mulțimilor , logica de ordinul întâi și logica temporală a acțiunilor ( TLA, logica temporală a acțiunilor ). Dezvoltat de Leslie Lamport [1] , un cercetător în teoria sistemelor distribuite .
Logica temporală a fost introdusă de Amir Pnueli în anii 1970. Leslie Lamport a văzut insuficiența acestei idei pentru a descrie sistemele în ansamblu și a ajuns la ideea necesității de a folosi mașini de stare , cărora li sa dat semnificația formulelor logice temporale care descriu toate căile de execuție posibile. Astfel, a luat naștere ideea logicii temporale a acțiunilor (TLA), care a completat logica temporală cu următoarele [2] :
Ca rezultat al muncii minuțioase asupra ideilor TLA, a apărut un limbaj de specificație numit TLA + [2] .
Limbajul TLA + este oarecum similar în spirit cu notația Z și poate chiar să fi fost creat sub influența sa [1] .
O specificație TLA este o formulă temporală, adesea numită Spec, care este un predicat (afirmație) despre comportament . Comportamentul reprezintă o posibilă modalitate de a executa un sistem sau, cu alte cuvinte, reprezintă o posibilă istorie a universului pe care sistemul îl poate conține. Comportamentele care satisfac Spec sunt comportamentele corecte ale sistemului [1] .
O stare este o atribuire de valori variabilelor, un pas este o pereche de stări. Acum , comportamentul poate fi gândit ca o succesiune infinită de stări, iar pașii comportamentului pot fi numiți o pereche de stări succesive ale comportamentului. Un predicat de stare este o funcție al cărei rezultat, valoarea booleană adevărată sau falsă, se potrivește cu declarația de stare. O acțiune este o funcție care are sensul de predicat asupra unui pas. Această funcție implică atât variabilele primului pas, cât și ale celui de-al doilea, care sunt de obicei marcate cu un prim [1] .
Una dintre cele mai simple specificații non-triviale este următoarea [1] :
Aici Init este un predicat de stare, Next este o acțiune, v i sunt variabile, este singurul operator temporal din această specificație (adevărat în toate stările viitoare).
Software gratuit și open source Microsoft | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
informatii generale |
| ||||||||||||
software _ |
| ||||||||||||
Licențe | |||||||||||||
subiecte asemănătoare |
| ||||||||||||
Categorie |