Predavanje 11 Flashcards
(18 cards)
Formalne metode - definicija
Formalne metode u životnom ciklusu razvoja progrmaske potpore obuhvaćaju metode i tehnike zasnovane na matematici i formalnoj logici za oblikovanje složenih sustava
Ciljevi formalnih metoda
- izgraditi sustav bez pogrešaka
- pokazati da sustav zadovoljava zahtjeve na ispravan način
- pronaći pogreške u postojećem sustavu
- pokazati da u postojećem sustavu nema pogrešaka
Svojstva formalne semantike
- matematička osnova omogućava precizan opis svojstava
- jednoznačnost
- omogućava konzistentnost, ispravnost, te izražavanje specifikacije i implementacije
Klasifikacija formalnih metoda
- specifikacija
- sinteza
- verifikacija
Formalna verifikacija - definicija
Proces kojim dokazujemo da implementacija sustava posjeduje svojstva i ponašanje kao i formalna specifikacija sustava
Metode formalne verifikacije
- dokazivanje teorema
- provjera modela
- provjera ekvivalentnosti
Od čega se sastoji proces formalne verifikacije
- odabir ključnog dijela implementacije koja se želi FV
- odabir konkretne formalne metode s pomoću koje se treba provesti FV
- primjena korištene metode FV
- vrednovanje rezultata
- dokumentiranje i ispravljanje nedostataka
SAT problem
Tražimo model skupa formula
Kripke struktura (S,R,L)
skup stanja S
relacija R
funkcija označavanja L - istiniti atomički simboli u svakom stanju
Temeljna postavka izvođenja stroja stanja kao kontekst vremenske logike
Promatramo izvođenje stroja stanja kroz sve moguće putove
Kvantifikator A
All, istražujemo sve putove izvođenja počevši od nekog stanja
Kvantifikator E
Exists, postoji najmanje jedanput na kojem je svojstvo zadovoljeno
Vremenski operator X
Neposredni sljedbenici ili sljedbenik
Vremenski operator G
Provjeravaju se sva stanja
Vremenski operator F
Provjeravaju se neka moguća dosegnuta ili dosegnuto
Vremenski operator U
Provjerava se da li su atomički simboli istiniti u stanjima duž puta ili putova dok se ne stigne u stanje koje nas zanima
Posebnost “Until” (A U B)
- A može biti istinit ili ne u i nakon stanja u kojem je B = true
- B može biti istinit i prije početnog stanja s
Hoareovo pravilo
Za ispravan rad programa C vrijedi: “Ako je istinit preduvjet prije
izvođenja C, tada završni uvjet mora biti istinit završetkom izvođenja C.”