Pentru a fi inclus în nucleul Linux 5.20 (este posibil ca ramura să primească numărul 6.0), a fost propus un set de patch-uri ce implementează mecanismul RV (Runtime Verification), care oferă instrumente pentru verificarea corectitudinii funcționării în sisteme de înaltă fiabilitate, garantând absența eșecurilor. Verificarea se efectuează în timpul execuției prin atașarea handler-elor la punctele de înregistrare, comparând parcursul efectiv de execuție cu un model determinist de referință predefinit, care definește comportamentul așteptat al sistemului.
Informația de la punctele de înregistrare transformă modelul dintr-o stare în alta, iar dacă noua stare nu corespunde parametrilor modelului, se generează un avertisment sau nucleul este transformat în starea „panic” (se presupune că sistemele de înaltă fiabilitate vor identifica astfel de situații și vor reacționa la ele). Modelul automatului, care determină tranzițiile dintr-o stare în alta, este exportat în format „dot” (graphviz), după care este tradus cu ajutorul utilitarului dot2c într-o reprezentare în limbajul C, care este încărcată sub formă de modul al nucleului, urmărind abaterile parcursului de execuție de la modelul predeterminat.

Verificarea cu modelul în timpul execuției este poziționată ca o metodă mai eficientă și mai ușor de implementat în practică pentru confirmarea corectitudinii execuției în sisteme critice, completând metodele clasice de validare a fiabilității, cum ar fi verificarea modelului și dovezi matematice de conformitate a codului cu specificațiile definite într-un limbaj formal. Printre avantajele RV se numără capacitatea de a asigura o verificare strictă fără a necesita implementarea întregului sistem într-un limbaj de modelare, precum și reacția flexibilă la evenimente neprevăzute, de exemplu, pentru a bloca răspândirea ulterioară a eșecurilor în sisteme critice.
Sursa: opennet.ro
