Formal metodlar

Vikipediya, azad ensiklopediya
Naviqasiyaya keç Axtarışa keç

Formal metodlar — proqram təminatının analizi, dizaynı və təsdiqi üçün riyazi və formal yanaşmaların tətbiqini ifadə edir. Bu metodlar proqram sistemlərinin dəqiq tərifini və spesifikasiyasını təmin edir, beləliklə, proqramların doğruluğunu, etibarlılığını və keyfiyyətini artırmağa kömək edir.[1] Formal metodlar, sistemlərin düzgün işlədiyini sübut etmək, xətaların aşkarlanmasını asanlaşdırmaq və proqramın müvafiq spesifikasiyaya uyğun olduğuna əmin olmaq üçün istifadə edilir.[2]

Əsas xüsusiyyətləri

[redaktə | vikimətni redaktə et]
  1. Riyazi təriflər — formal metodlar proqramların və sistemlərin riyazi modelini təqdim edir. Bu, proqramın davranışını dəqiq və obyektiv şəkildə ifadə etməyə imkan tanıyır.[3]
  2. Təsdiq və sübut — formal metodlar sistemlərin düzgünlüyünü sübut etməyə imkan verir. Bu, proqramın spesifikasiyaya uyğun işlədiyini təmin etməyə kömək edir.
  3. Sistem modelləşdirməsi — formal metodlar proqram sistemlərinin və onların komponentlərinin modelləşdirilməsi üçün istifadə olunur. Bu, sistemin xüsusiyyətlərini və davranışını başa düşməyə kömək edir.[4]
  4. Etibarlılıq və güvən — formal metodların tətbiqi sistemlərin etibarlılığını artırır. Müəyyən bir sistemin və ya proqramın səhvsiz işləməsi üçün riyazi sübutların aparılması, sistemin keyfiyyətini artırır.[5]

Formal metodlar, proqram təminatının inkişafında, analizi və təsdiqində müasir yanaşmaları təmsil edir.[6] Onlar sistemlərin doğruluğunu təmin etmək, xətaların aşkarlanmasını asanlaşdırmaq və etibarlılığı artırmaq üçün vacib vasitələrdir.[7] Nəzəri və praktik tətbiqlər, formal metodların proqram təminatı inkişafında əhəmiyyətini artırır, müasir informatikanın inkişafına töhfə verir.

  1. Holloway, C. Michael. "Why Engineers Should Consider Formal Methods" (PDF). 16th Digital Avionics Systems Conference (27–30 October 1997). 16 November 2006 tarixində orijinalından (PDF) arxivləşdirilib. İstifadə tarixi: 2006-11-16.
  2. Gulwani, Sumit; Polozov, Oleksandr; Singh, Rishabh. "Program Synthesis". Foundations and Trends in Programming Languages. 4 (1–2). 2017: 1–119. doi:10.1561/2500000010. 2024-09-27 tarixində arxivləşdirilib. İstifadə tarixi: 2024-10-29.
  3. Butler, R. W. "What is Formal Methods?". 2001-08-06. 2006-12-08 tarixində arxivləşdirilib. İstifadə tarixi: 2006-11-16.
  4. Utting, Mark; Reeves, Steve. "Teaching formal methods lite via testing". Software Testing, Verification and Reliability. 11 (3). August 31, 2001: 181–195. doi:10.1002/stvr.223.
  5. Bjørner, Dines; Henson, Martin C. Logics of Specification Languages. 2008. VII–XI.
  6. O'Hearn, Peter W.; Tennent, Robert D. Algol-like Languages. 1997.
  7. Backus, J.W. The Syntax and Semantics of the Proposed International Algebraic Language of Zürich ACM-GAMM Conference // Proceedings of the International Conference on Information Processing. UNESCO. 1959.