90 likes | 214 Views
PAT: Getting started. Outline. What is PAT? Installation System Components Editor Simulator Model Checkers System Architecture Language Syntax Example Demonstration QA. What is PAT?. Process Analysis Toolkit: an enhanced Simulator , Model Checker for concurrent systems
E N D
Outline • What is PAT? • Installation • System Components • Editor • Simulator • Model Checkers • System Architecture • Language Syntax • Example Demonstration • QA
What is PAT? • Process Analysis Toolkit: an enhanced Simulator, Model Checker for concurrent systems • Visualized simulation, • Full LTL model checking (under fairness), • Refinement checking (behaviors + data). • Website • http://pat.comp.nus.edu.sg • Download (Demo) • Register your information • Download the latest version installation file
Installation • System Requirements • OS: Windows XP, Windows Vista and Windows Server 2000/2003/2008. • .NET Framework 2.0 • Installation • Follow the installation wizard. • Update and Un-installation • Automatic update • Easy un-installation from program list
System Components • Editor: user friendly editing environment featured with • Syntax highlight • Text editing: copy/paste, find/replace, (un)comments… • Multi-documents • Simulator • Step by Step simulator • State space generation (up to 300 states) • Trace replace • Model Checker • Deadlock freeness • Reachability testing • LTL property checking (with fairness assumptions) • Refinement checking
Language Syntax CSP Based language extended with variables. (F1 help in PAT) • Global definitions: • Constants • Variables/arrays • Channels • Propositions • Expressions • Integer / Boolean variables • Math operators: +, -, *, /, mod, >, <, ==, != • Logic operators: &&, || • If-then-else • while loop • User defined methods in C# • Assertion • Deadlock-freeness • Reachability • LTL • Refinement/equivalence • Process definitions • Stop • Skip • Event prefixing • Assignments • Channel output/input • Sequential composition • External/Internal choice • Conditional choice • Case • Guarded process • Interleaving • Parallel composition • Interrupt • Hiding • Selecting • Recursion