Mis on ametlik kinnitamine?

Arvutiahelate ja tarkvara testimisel kasutatakse sageli formaalset kontrollimist, kui nende süsteemide funktsiooni analüüsitakse matemaatiliste valemite abil. Tarkvara arendamise puhul kasutatakse protsessi tavaliselt selleks, et eelnevalt kindlaksmääratud mudeli alusel näidata, kas programm töötab korralikult. Mõnikord osutub teoreetiline mudel ebarahuldavaks. Lisaks tarkvara lähtekoodile saab formaalset verifitseerimist kasutada kombineeritud vooluringide väljatöötamisel, mida kasutatakse arvutuste tegemiseks arvutites, aga ka arvuti mälus. Erinevad lähenemisviisid hõlmavad faktijärgset kontrollimist, paralleelset kontrollimist ja integreeritud kontrollimist lisaks erinevatele meetoditele.

Arvutuste matemaatilisi protseduure, mida nimetatakse algoritmideks, kasutatakse formaalses kontrollis, et testida toodete funktsioone igas arendusetapis. Tarkvaraarendajad võivad leida vigu nii lähtekoodist kui ka selle koostamiseks kasutatud mudelist. Mõnikord saab koodi kirjutamises põhimõttelisi muudatusi teha enne, kui disainiviga lõpptulemust mõjutab. Kontrollimise etapp aitab üldiselt kindlaks teha, kas toode teeb seda, mida kavatseti teha, ja vastab selle rakenduse spetsifikatsioonidele, mille jaoks see on ette nähtud.

Ametlik kontrollimine võib toimuda toote valmimisel, mida nimetatakse faktijärgseks kontrollimiseks. Standardmeetodit, mida kasutatakse kogu projekteerimis- ja arendusprotsessis, ei analüüsita enne, kui süsteem on valmis. Tõsiste vigade tuvastamine selles etapis põhjustab sageli kulukaid ja aeganõudvaid parandusi. Arendust ja kontrollimist võivad paralleelselt teostada ka kaks eraldi meeskonda. Omavahelise suhtluse kaudu saavad arendajad kogu projekteerimisprotsessi vältel keskenduda iseseisvatele ülesannetele.

Integreeritud kontrollimine on see, kui üks meeskond viib läbi arenduse ja vajaliku hindamise. Toote võimekuse kontrollimiseks kasutatakse sageli keerulisi matemaatilisi kontseptsioone. Ametliku kontrollimise meetodid on projektiti erinevad, kuid sageli kasutatakse mudelite kontrollimist. Riist- või tarkvaramudel koosneb erinevatest omadustest, mida disainerid valmistootes soovivad. Mudelit ja süsteemi saab perioodiliselt kontrollida, et näha, kas omadused vastavad.

Teine formaalse kontrollimise meetod hõlmab matemaatiliste valemite ja loogika kasutamist süsteemi ja selle omaduste esitamiseks. Formaalses süsteemis määratletud reeglid leitakse üldiselt loogikast. Mõlemad meetodid kasutavad erinevaid vahendeid, et teha kindlaks, kas toote konkreetne spetsifikatsioon on täidetud. Arendajad saavad ametlikus kontrolliprotsessis kasutada erinevat tüüpi tarkvara, millest igaüks on kohandatud konkreetse süsteemi või programmeerimiskeele jaoks.