Region (kontrola modelu) - Region (model checking)
![]() | tento článek možná matoucí nebo nejasné čtenářům. Zejména matoucí pro ty, kteří toto téma neznají.Dubna 2019) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
v kontrola modelu, pole počítačová věda, a kraj je konvexní mnohostěn v pro nějakou dimenzi a přesněji a zóna, uspokojující určitou vlastnost minimality. Rozdělení oblastí .
Sada zón závisí na sadě omezení formuláře , , a , s a některé proměnné a konstanta. Oblasti jsou definovány tak, že pokud jsou dva vektory a patří do stejné oblasti, pak splňují stejná omezení . Navíc, když jsou tyto vektory považovány za n-tici hodiny, oba vektory mají stejnou sadu možných futurů. Intuitivně to znamená, že jakýkoli časovaná výroková časová logika -formule, nebo časovaný automat nebo signální automat pouze s použitím omezení nelze rozlišit oba vektory.
Sada regionů umožňuje vytvořit automat regionu, což je řízený graf ve kterém každý uzel je oblast a každá hrana ujisti se že je možná budoucnost . Vezmeme produkt tohoto regionu automatu a časovaný automat který přijímá jazyk vytváří konečný automat nebo a Büchi automat který přijímá nečasovaný . Zejména umožňuje snížit problém prázdnoty pro k problému prázdnoty pro konečný nebo Büchiho automat. Tuto techniku používá například software UPPAAL.[1]
Definice
Nechat sada hodiny. Pro každého nechat . Intuitivně toto číslo představuje horní mez na hodnotách, na které hodiny lze porovnat. Definice oblasti nad hodinami používá tato čísla je. Nyní jsou uvedeny tři ekvivalentní definice.
Vzhledem k přiřazení hodin , označuje region, ve kterém patří. Sada regionů je označena .
Ekvivalence přiřazení hodin
První definice umožňuje snadno otestovat, zda dvě přiřazení patří do stejné oblasti.
Oblast může být definována jako třída ekvivalence pro nějaký vztah ekvivalence. Dvě přiřazení hodin a jsou ekvivalentní, pokud splňují následující omezení:[2]:
- iff , pro každého a celé číslo a ~ je jedním z následujících vztahů =, < nebo ≤.
- iff , pro každého , , , být zlomková část skutečný a ~ je jedním z následujících vztahů =, < nebo ≤.
První druh omezení to zajišťuje a splňuje stejná omezení. Opravdu, pokud a , pak vyhovuje pouze druhé zadání . Na druhou stranu, pokud a , obě přiřazení splňují přesně stejnou sadu omezení, protože omezení používají pouze integrální konstanty.
Druhý druh omezení zajišťuje, že budoucnost dvou přiřazení splňuje stejná omezení. Například nechte a . Potom omezení je nakonec spokojen s budoucností bez vynulování hodin, ale ne do budoucnosti bez vynulování hodin.
Výslovná definice oblasti
Zatímco předchozí definice umožňuje otestovat, zda dvě přiřazení patří do stejné oblasti, neumožňuje snadno reprezentovat oblast jako datovou strukturu. Třetí definice uvedená níže umožňuje poskytnout kanonické kódování oblasti.
Oblast lze explicitně definovat jako a zóna pomocí sady rovnic a nerovnic splňujících následující omezení:
- pro každého , obsahuje buď:
- pro celé číslo
- pro celé číslo ,
- ,
- dále pro každý pár hodin , kde obsahuje omezení formuláře a , pak obsahuje (ne) rovnost formuláře s být buď =, < nebo ≤.
Od kdy a jsou pevné, poslední omezení je ekvivalentní s .
Tato definice umožňuje kódovat oblast jako datovou strukturu. Postačuje pro každé hodiny uvést, do kterého intervalu patří, a vyvolat pořadí zlomkové části hodin, které patří do otevřeného intervalu délky 1. Z toho vyplývá, že velikost této struktury je s počet hodin.
Časovaná bisimulace
Pojďme nyní uvést třetí definici regionů. I když je tato definice abstraktnější, je to také důvod, proč se při kontrole modelu používají regiony. Tato definice intuitivně uvádí, že dvě přiřazení hodin patří do stejné oblasti, pokud jsou rozdíly mezi nimi takové, že ne časovaný automat může si jich všimnout. Vzhledem k jakémukoli běhu počínaje přiřazením hodin , pro jakýkoli jiný úkol ve stejné oblasti je běh , procházet stejnými místy, číst stejná písmena, přičemž jediný rozdíl je v tom, že doba čekání mezi dvěma po sobě jdoucími přechody se může lišit, a tudíž se liší i postupné variace hodin.
Nyní je uvedena formální definice. Vzhledem k sadě hodin , dvě přiřazení dvě přiřazení hodin a patří do stejné oblasti, pokud pro každou z nich časovaný automat ve kterém stráže nikdy nesrovnávají hodiny na číslo větší než , vzhledem k libovolnému umístění z , existuje časovaný bisimulace mezi rozšířenými státy a . Přesněji řečeno, tato bisimulace zachovává písmena a umístění, ale ne přesné přiřazení hodin.[1]:7
Provoz v regionech
Některé operace jsou nyní definovány v regionech: Resetování některých jeho hodin a nechání plynout čas.
Resetování hodin
Vzhledem k regionu definovaný množinou (ne) rovnic a sada hodin , region podobný ve kterém hodiny jsou restartovány, je nyní definováno. Tato oblast je označena , je definován následujícími omezeními:
- každé omezení neobsahující hodiny ,
- omezení pro .
Sada přiřazení definovaná je přesně sada úkolů pro .
Časový nástupce
Vzhledem k regionu , regiony, kterých lze dosáhnout bez vynulování hodin, se nazývají časové nástupce . Nyní jsou uvedeny dvě ekvivalentní definice.
Definice
Region hodin je časovým nástupcem jiné hodinové oblasti pokud pro každý úkol , existuje nějaký pozitivní reálný takhle .
Všimněte si, že to neznamená . Například region definovaný množinou omezení má časového nástupce definovaný množinou omezení . Ve skutečnosti pro každého , to stačí vzít . Neexistuje však žádný skutečný takhle nebo dokonce takové ; Vskutku, definuje trojúhelník while definuje segment.
Vypočitatelná definice
Druhá definice, která je nyní uvedena, umožňuje explicitně vypočítat sadu časového nástupce oblasti, danou její sadou omezení.
Vzhledem k regionu definována jako sada omezení definujme jeho sadu časových nástupců. K tomu jsou nutné následující proměnné. Nechat soubor omezení formuláře . Nechat sada hodin takhle obsahuje omezení . Nechat sada hodin taková, že neexistují žádná omezení formy v .
Li je prázdný, je jeho vlastním časovým nástupcem. Li , pak je jediným časovým nástupcem . Jinak je tu nejméně časově nástupce nerovná se . Nejméně nástupce času, pokud není prázdný, obsahuje:
- omezení
- ,
- , a
- pro každého takhle nepatří omezení .
Li je prázdný, nejmenší časový nástupce je definován následujícími omezeními:
- omezení nepoužívat hodiny ,
- omezení , pro každé omezení v , s .
Vlastnosti
Existuje nanejvýš regiony, kde je počet hodin.[2]:203
Region automat
Vzhledem k časovanému automatu , své automat regionu je konečný automat nebo a Büchi automat který přijímá nečasovaný . Tento automat je podobný , kde jsou hodiny nahrazeny oblastí. Regionální automat je intuitivně konstruován jako produkt a regionálního grafu. Tento regionový graf je definován jako první.
Graf regionu
The region region je zakořeněný řízený graf, který modeluje množinu možných hodinových hodnot během běhu časovaného autoamtonu. Je definován takto:
- jeho uzly jsou regiony,
- jeho kořen je počáteční oblast , definovaný množinou omezení ,
- sada hran je , pro časový nástupce .
Region automat
Nechat A časovaný automat. Pro každé hodiny , nechť největší počet takovým, že existuje stráž formy v . The automat regionu z , označeno je konečný nebo Büchi automat, který je v podstatě produktem a regionálního grafu definovaného výše. To znamená, že každý stav regionálního automatu je dvojice obsahující loctaion z a region. Jelikož přiřazení dvou hodin patřících do stejné oblasti splňuje stejnou stráž, každá oblast obsahuje dostatek informací k rozhodnutí, které přechody lze provést.
Formálně je automat oblasti definován takto:
- jeho abeceda je ,
- jeho sada států je ,
- jeho sada států je s počáteční oblast,
- jeho sada přijímajících států je ,
- jeho přechodový vztah obsahuje , pro , takový, že a je časovým nástupcem .
Vzhledem k jakémukoli běhu z , sekvence je označen , je to běh a přijímá pouze tehdy, když přijímá[2]:207. Z toho vyplývá, že . Zejména, přijímá časované slovo právě tehdy přijímá slovo. Dále přijímací běh lze vypočítat z přijímajícího běhu .
Reference
- ^ A b Bengtsson, Johan; Yi, Wang L (2003). „Načasované automaty: sémantika, algoritmy a nástroje“. Přednášky o souběžnosti a Petriho sítích. 3098: 87–124. doi:10.1007/978-3-540-27755-2_3.
- ^ A b C Alur, Rajeev; Dill, David L (25. dubna 1994). „Teorie časovaných automatů“ (PDF). Teoretická informatika. 126 (2): 183–235. doi:10.1016/0304-3975(94)90010-8.