Modellvalidering
Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från
versionen som granskades den 26 augusti 2019; kontroller kräver
2 redigeringar .
Modellkontroll ( model checking , engelska model checking ) är en metod för automatisk formell verifiering av parallella system med ett ändligt antal tillstånd, den låter dig kontrollera om en given systemmodell uppfyller formella specifikationer.
Den så kallade Kripke - modellen används vanligtvis som modell , som formellt definieras enligt följande: , där är mängden tillstånd, är mängden initiala tillstånd, är övergångsförhållandet, är märkningsfunktionen.





Vanligtvis ges specifikationer på den formella logikens språk. För specifikationen av hårdvara och mjukvara används som regel tidslogik - ett speciellt språk som låter dig beskriva systemets beteende i tid.
En viktig specifikationsfråga är fullständighet. Modellkontrollmetoden gör det möjligt att verifiera att modellen av det system som konstrueras motsvarar en given specifikation, dock är det omöjligt att avgöra om den givna specifikationen omfattar alla egenskaper som systemet måste uppfylla.
Den största svårigheten som måste övervinnas under testning av modeller är relaterad till den kombinatoriska explosionseffekten i tillståndsrummet. Detta problem uppstår i system med många komponenter som interagerar med varandra, såväl som i system med datastrukturer som kan anta ett stort antal värden.
Verktyg
- BLAST - statisk analysator av C - program
- CADP (Construction and Analysis of Distributed Processes) är ett designverktyg för protokoll och distribuerade system
- CHESS är ett verktyg för att testa flertrådade program för .Net ( managed ) och Win32, 64
- ISP - MPI programkod verifierare
- Java Pathfinder är ett gratis verktyg för att kontrollera flertrådade Java - program .
- MoonWalker är ett gratis verktyg för att testa .Net - program
- MRMC (Markov Reward Model Checker)
- NuSMV - symbolisk verifierare
- PRISM - probabilistisk symbolisk verifierare
- Kanin - verifierare för realtidssystem
- SPIN är en allmän verifierare för att kontrollera att distribuerade program och protokoll är korrekta
- Vereofy - programverifierare för komponentsystem
- μCRL2 är ett gratis verktyg baserat på ACP
- UPPAAL är en verktygslåda för modellering, verifiering och validering av realtidssystem modellerade som nätverk av tidsautomater
- Zing [1] är ett Microsoft -verktyg för utveckling av drivrutiner som låter dig kontrollera tillståndsmodellerna för samtidig programvara.
Anteckningar
- ↑ Zing . Hämtad 18 juli 2018. Arkiverad från originalet 18 juli 2018. (obestämd)
Litteratur
- Clark E. M., Gramberg O., Peled D. Verifiering av programmodeller. Modellkontroll. - M. : MTSNMO, 2002. - 416 sid. — ISBN 5940570542 .
- Karpov Yu. G. Modellkontroll. Verifiering av parallella och distribuerade mjukvarusystem. - St Petersburg. : BHV-Petersburg, 2009. - 460 sid. — ISBN 9785977504041 .
- Velder S. E., Lukin M. A., Shalyto A. A., Yaminov B. R. Verifiering av automatiska program. - St. Petersburg State University ITMO, 2011. - 242 sid.
Länkar