Informatika & Komputer    
   
Daftar Isi
(Sebelumnya) List of MIDI editors and sequencersList of molecular graphics systems (Berikutnya)

Daftar/Tabel -- model checking tools

This article lists model checking tools classified by some interesting properties. Some articles about: history[1] and introduction[2] to Model Checking. There are some books[3] that deal with model checking techniques. For more general tools see Daftar/Tabel -- Modeling Tools.

Contents

Perbandingan -- some model checking tools

NameModel CheckingEquivalence checkingGUIAvailability
Plain, Probabilistic, Stochastic, ...Modelling languageProperties languageSupported equivalencesCounter example generation  GUI  Graphical SpecificationCounter example visualizationSoftware licenseProgramming language usedPlatform / OS
APMCApproximate ProbabilisticReactive modulesPCTL, PLTLNoYesNoNoFUSCCUnix & related
ARCPlainAltaRicaμ-calculus CTL*YesYesNoNoFUSCANSI CUnix & related
BANDERACode analysisJavaCTL, LTLYesYesYesYesFreeJavaWindows and Unix related
BLASTCode analysisCMonitor automataYesNoNoNoFreeOCamlWindows and Unix related
CADENCE SMVPlainCadence SMV, SMV, VerilogCTL, LTL YesYesNoNoFUSC?Windows and Unix related
CADPProbabilisticLOTOS, FSP, LOTOS NTAFMCSB, WB, BB, OE, STE, WTE, SE, tau*EYesYesYesYesFUSC?MacOS, Linux, Solaris, Windows
CBMCCode analysisC, C++AssertionsYesYesNoNoFreeC++Windows and Unix related
CPAcheckerCode analysesCMonitor automataYesYesNoYesFreeJavaAny
CWB-NCPlain and TimedCCS, CSP, LOTOS, TCCSAFMC, CTL, GCTLSB, WB, me, MEYesYesNoNoFUSCSMLWindows and Unix related
DBRoverTimedAda, C, C++, Java, VHDL, VerilogLTL, MTL NoYesYesYesNon-freeCommercial use only?Windows and Unix related
DiVinE ToolPlainDVE input language, C/C++ (via LLVM bitcode), Timed automataLTL YesYesNoYesFreeC/C++Unix, Windows
DREAMReal-timeC++, Timed automataMonitor automata YesNoNoNoFreeC++Windows and Unix related
Edinburgh CWBPlainCCS, TCCS, SCCSμ-calculusSB, WB, BB, me, ME, OEYesNoNoNoFUSCSMLWindows and Unix related
EmbeddedValidatorHybridSimulink/Stateflow/TargetLink/CMonitor automata YesYesYesYesNon-freeCommercial use only?Windows
Expander2Hybrid AFMC, CTLSB, OENoYesNoNoFreeO'HaskellUnix related
Fc2ToolsPlainFC2?SB, WB, BBYesNoYesYesFree?Unix related
GEARPlain?AFMC, CTL, μ-calculus YesYesYesYesFreeJavaWindows and Unix related
ImProvePlainHaskellAssertions YesNoNoNoFreeHaskellLinux, Windows, Mac-OS
Java PathfinderPlain and timedJavaunknownNoYesNoNoNOSAJavaMacOS, Windows, Linux
LLBMCCode analysisC (, C++, all languages supported by LLVM)AssertionsYesNoNoNoFUSCC++Windows and Unix related
LTSAPlainFSPLTL YesYesNoYesFreeJavaWindows and Unix related
LTSminPlain, Real-timePromela, μCRL, mCRL2, DVE Input Languageμ-calculus, LTL, CTL*SB, BBYesNoNoNoFreeC, C++Unix, MacOSX, Windows
MCMASPlain, EpistemicISPLCTL, CTLK YesYesNoYesFreeC++Unix, Windows, Mac-OS
mCRL2Plain, Real-timemCRL2mCRL2 mu-calculusSB, BB, t*E, STE, WTEYesYesNoYesFreeC++MacOS, Linux, Solaris, Windows
MRMCReal-time, ProbabilisticPlain MCCSL, CSRL, PCTL, PRCTLSBNoNoNoNoFreeCWindows, Linux, MacOS
NuSMVPlainSMVCTL, LTL, PSL YesNoNoNoFreeCUnix, Windows, MacOSX
ompca, OpenMP C Analysissoftware symbolic simulation with API controlC/C++ programs with OpenMP directiveslogic predicates or flexible procedures through API YesYesNoYesFreeC, C++Ubuntu Linux, Windows version available soon
PATPlain,Real-time,ProbabilisticCSP#, Timed CSP, Probablilistic CSPLTL, Assertions YesYesYesYesFreeC#Windows, other OS with Mono
PRISMProbabilisticPEPA, PRISM language, Plain MCCSL, PLTL, PCTL NoYesNoNoFreeC++, JavaWindows, Linux, MacOS
Reactis TesterHybridSimulink/Stateflow? NoYesYesNoNon-freeCommercial use onlySMLWindows, Linux
REDdense-time, linear hybrid, fully symboliccommunicating timed automata (CTA), linear-hybrid automata (LHA)TCTL with fairness assumptions, CTA with fairness assumptionstimed simuilation, fair simulationYesYesYesYesFreeC/C++Ubuntu Linux
SATABSCode analysisC, C++AssertionsYesYesNoNoFreeC++Windows and Unix related
SLMCPlainpi-calculusCCLYesNoNoNoFreeOCAMLWindows and Unix related
SPINPlainPromelaLTL YesYesNoYesFUSCC, C++Windows and Unix related
SpotPlainPetri nets, DVE Input LanguageLTL, PSL subset YesNoNoNoFreeC, C++Unix & related
TAPAALReal-timeTimed-Arc Petri Nets, age invariants, inhibitor arcs, transport arcsTCTL subset NoYesYesYesFreeC++, JavaMacOS, Windows, Linux
TAPAsPlainCCSPCTL, μ-calculusSB, WB, BB, STE, WTE, me, ME, OEYesYesYesYesFreeJavaWindows, MacOS and Unix related
UPPAALReal-timeTimed automata, C subsetTCTL subset YesYesYesYesFUSCC++, JavaMacOS, Windows, Linux
ROMEOReal-timeTime Petri Nets, stopwatch parametric Petri netsTCTL subset YesYesYesNoFreeC++, tcl/tkMacOS, Windows, Linux
TLCPlainTLA+, PlusCalTLA YesYesYesNoFreeJavaWindows, Linux

Modelling languages

  • AltaRica: a language designed to model both functional and dysfunctional behaviours of critical systems.
  • Cadence SMV: Cadence SMV Input Language; synchronous modeling language that has features supporting SMV's style of compositional refinement verification and abstract interpretation.
  • CCS: Calculus of communicating systems; process calculus introduced by Robin Milner around 1980 and the title of a book describing the calculus.
  • CCSP: A process calculus obtained from CCS by incorporating some operators of CSP. It is defined by Olderog[4] and by van Glabbeek/Vaandrager.[5]
  • CSP: Communicating sequential processes; formal language for describing patterns of interaction in concurrent systems. FDR2 is a refinement checking tool for CSP, comparing two models for compatibility.
  • DVE input language: a system is described as Network of Extended Finite State Machines communicating via shared variables and unbuffered channels. Does not contain support for buffered channels and for checking the type of message to be received without performing the receive proper.
  • FC2: Machine-level ASCII representation for synchronized (hierarchical) networks of automata. Defined by the Esprit Basic Research Action CONCUR, 1992. Used as an input and exchange format by a number of verification tools, mainly in the area of process algebras.
  • FSP: Finite State Processes.
  • Java: Object-oriented programming language.
  • LOTOS: Language Of Temporal Ordering Specification (ISO standard 8807); formal specification language based on temporal ordering used for protocol specification in ISO OSI standards.
  • PEPA: Performance Evaluation Process Algebra; it is a stochastic process algebra designed for modelling computer and communication systems.
  • Plain MC: these are simple text-file formats used in MRMC and PRISM.
  • PRISM language: PRISM model description language.
  • Promela: Process or Protocol Meta Language; it is a verification modeling language. The language allows for the dynamic creation of concurrent processes to model, for example, distributed systems.
  • Reactive modules: a component-based modeling language for synchronous and asynchronous hardware and software systems
  • REDLIB: Timed CTL.
  • Simulink/Stateflow: an interactive design and simulation tool for event-driven systems.
  • SCCS: synchronous calculus of communicating systems.
  • SMV: SMV input language.
  • TCCS: Timed CCS.
  • Verilog: a hardware description language (HDL) used to model electronic systems.
  • VHDL: commonly used as a design-entry language for field-programmable gate arrays and application-specific integrated circuits in electronic design automation of digital circuits.

Properties language

  • AFMC: Alternation Free Modal mu-Calculus.
  • Assertions: Imperative assertion statements.
  • CSL: Continuous Stochastic Logic, characterizes bisimulation of continuous-time Markov processes.
  • CSRL: Continuous Stochastic Reward Logic; a logic to specify measures over CTMCs extended with a reward structure (so-called Markov reward models).
  • CTL: Computation Tree Logic; a branching-time logic, meaning that its model of time is a tree-like structure in which the future is not determined; there are different paths in the future, any one of which might be an actual path that is realized.
  • GCTL: Generalized Computation Tree Logic, it's both state based and action based.
  • LTL: Linear temporal logic; a modal temporal logic with modalities referring to time.
  • Monitor automata: ???.
  • mCRL2 mu-calculus: Kozen's propositional modal mu-calculus (excluding atomic propositions), extended with: - data-depended processes - quantification over data types - multi actions - time - regular formulas.
  • mu-calculus: temporal logics with a least fix-point operator μ.
  • PCTL: Probabilistic CTL; an extension of CTL which allows for probabilistic quantification of described properties.
  • PLTL: Probabilistic Linear Temporal Logic.
  • PRCTL: Probabilistic Reward Computation Tree Logic; it extends PCTL with reward-bounded properties.
  • PSL: Property specification language

Abbreviations

Equivalences:

  • SB: Strong Bisimulation
  • WB: Weak Bisimulation
  • BB: Branching Bisimulation
  • STE: Strong Trace Equivalence
  • WTE: Weak Trace Equivalence
  • me: May Equivalence
  • ME: Must Equivalence
  • OE: Observational Equivalence
  • SE: Safety Equivalence
  • t*E: tau*.a Equivalence

Software license:

  • FUSC: Free Under Specific Condition

References

External links

  • Tools: a database for verification tools
(Sebelumnya) List of MIDI editors and sequencersList of molecular graphics systems (Berikutnya)