Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti MI-SOC: 11 METODY VERIFIKACE SYSTÉMŮ NA ČIPU Hana Kubátov vá doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta 1 informačních technologii ČVUT v Praze
VERIFIKACE A VALIDACE Část 1 Techniky formální verifikace a validace Část 2 Pokročilé techniky simulace Aserce Statická a dynamická formální verifikace Kombinované verifikační techniky Metriky verifikace 2
NĚCO NAVRHNOUT NENÍ VŠECHNO zadání (specifikace) simulace část návrhového postupu syntetický krok analytické kroky časová analýza analýza příkonu report report srovnání (verifikace) report analýza plochy report řešení (implementace) simulace 3
SIMULACE NENÍ JEDINÝ PROSTŘEDEK zadání (specifikace) část návrhového postupu syntetický krok report verifikace report validace bezrozpornost úplnost bezpečnost živost řešení (implementace) report verifikace bezpečnost živost 4
PROBLÉMY SIMULACE PODROBNĚJI V ČÁSTI 2 Kvalita stimulů rozhoduje ruční nebo náhodné generování srovnání neúplné (různé simulační modely) úplné pokrytí není možné dosáhnout Velikost systémů se zvětšuje počet stavů roste exponenciálně s počtem klopných obvodů proudové a paralelní zpracování interakce mezi funkcemi velké týmy 5
AUTOMATICKÁ SYNTÉZA CORRECTNESS BY DESIGN specifikace správně program správně vstupní specifikace nutno validovat => výsledek správně pochopení vstupních specifikací syntézními nástroji se v praxi liší pracovní postup není možno omezit na automatické nástroje 6
FORMÁLNÍ VERIFIKACE A VALIDACE má vlastnosti matematického důkazu platí pro všechny přípustné vstupní hodnoty nevyžaduje generování stimulů vyžaduje formální popis specifikace (zadání) přípustných vstupů implementace (řešení) příp. vlastností k ověření Formální popis: má jednoznačně definovaný význam (sémantiku), což umožňuje použít matematický aparát 7
TYPICKÉ OVĚŘOVANÉ VLASTNOSTI Invarianty, například bezpečnost (nestane se nic špatného): jestliže procesy A 1 až A n žádají o vstup do kritické sekce, jen jeden z nich vstoupí živost (něco dobrého nastane): jestliže procesy A 1 až A n žádají o vstup do kritické sekce, alespoň jeden z nich vstoupí do časového limitu Funkce zadání může být vlastností 8
ZÁKLADNÍ STRATEGIE Kontrola zadaných vlastností (kontrola modelu) důkaz, že daná vlastnost je splněna na pro všechny přípustné vstupy formálně: daný popis (zadání, řešení) je modelem zadané vlastnosti Důkaz vět verfikace validace verfikace žádaný vztah zadání a řešení jako věta (teorém) matematické logiky Kontrola ekvivalence zadání a řešení ekvivalence automatů ekvivalence funkcionálních popisů 9 verfikace
KONTROLA MODELU Kontrola zadaných vlastností (kontrola modelu) důkaz, že daná vlastnost je splněna na pro všechny přípustné vstupy formálně: daný popis (zadání, řešení) je modelem zadané vlastnosti Důkaz vět verfikace validace verfikace žádaný vztah zadání a řešení jako věta (teorém) matematické logiky Kontrola ekvivalence zadání a řešení ekvivalence automatů ekvivalence funkcionálních popisů 10 verfikace
MATEMATICKÁ LOGIKA A MODELY Formální jazyk: množina všech vytvářecí správně utvořených pravidla formulí množina symbolů množina všech správně utvořených formulí predikátové logiky spočetná konstrukce množina booleovského identifikátorů výrazu konstant, aplikace proměnných a funkce funkcí kvantifikace booleovské formule operátory kvantifikátory 11
MATEMATICKÁ LOGIKA A MODELY Formální systém: formální jazyk množina axiomatických formulí inferenční (odvozovací) pravidla nebere v úvahu význam symbolů a formulí důkaz axiom formule formule dokazovaná formule inferenční pravidlo inferenční pravidlo inferenční pravidlo 12
MODELOVÁNÍ Formální systém význam symbolů Doména ohodnocení proměnných Ohodnocení proměnných, pro které formule Formule je pravdivá, true false je modelem této formule Teorie (množina formulí) Model teorie 13
MODELOVÁNÍ - PŘÍKLAD Formální systém y i je true, právě když Y[i] == 'H', pro i=0..3 Automat: stavové proměnné Y[0:3] 1 0 0 0 Teorie: y 1 +y 2 +y 3 +y 4 y i true 0 1 0 0 0 0 1 0 0 0 0 1 automat je modelem teorie 14
EXPLICITNÍ KONTROLA MODELU hardware (struktura nebo chování) automat graf přechodů (reprezentace stromu všech výpočetních posloupností) kontrola modelu OK/protipříklad kontrola pro všechny stavy n bitů 2 n stavů vlastnost typicky formule časované logiky 15
SYMBOLICKÁ KONTROLA MODELU hardware (struktura nebo chování) automat vlastnost ROBDD přechodové funkce ROBDD kontroly kontrola modelu OK/protipříklad 16
DŮKAZ VĚT Kontrola zadaných vlastností (kontrola modelu) důkaz, že daná vlastnost je splněna na pro všechny přípustné vstupy formálně: daný popis (zadání, řešení) je modelem zadané vlastnosti Důkaz vět verfikace validace verfikace žádaný vztah zadání a řešení jako věta (teorém) matematické logiky Kontrola ekvivalence zadání a řešení ekvivalence automatů ekvivalence funkcionálních popisů 17 verfikace
ŘEŠENÍ SPLŇUJE ZADÁNÍ? Řešení je ekvivalentní zadání Impl Spec Řešení implikuje zadání Impl Spec Řešení je modelem zadání Impl = Spec 18
ZÁKLADNÍ POŽADAVKY NA LOGICKÝ APARÁT Bezespornost každá dokazatelná věta (formule) je pravdivá Úplnost každou pravdivou větu je možno dokázat Rozhodnutelnost o pravdivosti každé věty je možno rozhodnout Důsledek nerozhodnutelnosti: dokazovací algoritmus se nikdy nezastaví 19
PRAKTICKÉ POŽADAVKY NA LOGICKÝ APARÁT Expresivita je možno vyjádřit všechny vlastnosti hardware podstatné pro korektní funkci (např. prahové jevy na úrovni tranzistorů?) je možno vyjádřit všechny časové požadavky (spojitý vs. diskrétní čas) Flexibilita kompozitní důkazy: důkaz celku syntakticky sestaven z důkazů částí hierarchické důkazy induktivní důkazy: schopnost dokázat moduly parametrizované např. šířkou dat 20
POŽADAVKY NA LOGICKÝ APARÁT DOKONČENÍ Automatizovatelnost automatický důkaz skryje před uživatelem použitý aparát poloautomatické důkazy vyžadují specializované pracovníky Každá trochu slušně expresivní logika je nerozhodnutelná volně podle Gödela, 1931 Precizní modely, ale nerozhodnutelnou logiku nebo omezené modely, výpočetně vhodnou logiku? 21
KONSTRUKCE A KONTROLA DŮKAZU axiom axiom inferenční pravidla formule formule formule inferenční pravidla formule dokazovaná formule cesta od axiomů k dokazované formuli známa: kontrola důkazu (syntaktická manipulace) cesta není známa: konstrukce důkazu (kombinatorický problém) 22
KONTROLA MODELU VS. DOKAZOVÁNÍ VĚT plně automatizované postupy volba vlastností kritická pro praktické použití poskytne protipříklad možnost postupného zjemňování obtížně automatizovatelné úplný důkaz možnost hierarchických a kompozitních důkazů 23
KONTROLA EKVIVALENCE Kontrola zadaných vlastností (kontrola modelu) důkaz, že daná vlastnost je splněna na pro všechny přípustné vstupy formálně: daný popis (zadání, řešení) je modelem zadané vlastnosti Důkaz vět verfikace validace verfikace žádaný vztah zadání a řešení jako věta (teorém) matematické logiky Kontrola ekvivalence zadání a řešení ekvivalence automatů ekvivalence funkcionálních popisů 24 verfikace
KONTROLA EKVIVALENCE původní popis transformační pravidla popis popis transformační pravidla popis dokazovaný popis 25