process analysis toolkit

13
Process Analysis Toolkit • PAT is A SPIN-like self- contained environment for system specification, visualized simulation and automated verification. • PAT is designed for supporting multiple domain specific languages. • PAT embeds complementary model checking algorithms, e.g., reachability analysis by depth/breadth first search, SCC-based LTL verification, on-the- fly refinement checking, etc. • PAT is available at http://pat.comp.nus.edu.s g

Upload: kiayada-webb

Post on 01-Jan-2016

51 views

Category:

Documents


2 download

DESCRIPTION

Process Analysis Toolkit. PAT is A SPIN-like self-contained environment for system specification, visualized simulation and automated verification. PAT is designed for supporting multiple domain specific languages. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Process Analysis Toolkit

Process Analysis Toolkit• PAT is A SPIN-like self-contained environment for system specification, visualized simulation and automated verification. • PAT is designed for supporting multiple domain specific languages.• PAT embeds complementary model checking algorithms, e.g., reachability analysis by depth/breadth first search, SCC-based LTL verification, on-the-fly refinement checking, etc.• PAT is available at

http://pat.comp.nus.edu.sg

Page 2: Process Analysis Toolkit

CSP@PAT for Concurrent Systems• The modeling language combines high-level compositional operators from process algebra with program-like codes. • PAT supports a variety of fairness notions for distributed algorithms, process-level weak/strong fairness, event-level weak/local strong/global strong fairness, etc. PAT outperforms SPIN for verification with fairness. • PAT has been applied to many recently develop distributed algorithms (bug found!) and others.

Page 3: Process Analysis Toolkit

WS@PAT for Web Services• WS@PAT supports specialized intermediate languages for Web Service Choreography and Orchestration, which abstract WS-CDL and WSBPEL. • WS@PAT checks conformance between Choreography and Orchestration using an on-the-fly refinement checking algorithm.• WS@PAT verifies implementability of choreography by syntactic analysis and generates prototype orchestration.

Page 4: Process Analysis Toolkit

Fairness: Motivating Examples

• Peterson’s algorithm– Bounded by-pass requires weak process-level

weak fairness• Population Protocols– Leader election in complete network graph

(requires weak fairness)– Leader election in network rings (requires strong

global fairness)– Token circulation in rings (requires strong global

fairness)

Page 5: Process Analysis Toolkit

Process-level Fairness

• Process-level weak fairness (e.g., SPIN)– Each process must make infinite progress if always

possible.

• Process-level strong fairness (e.g., CHESS) – Each process must make infinite progress if

repeated possible.

Page 6: Process Analysis Toolkit

Weak Action Fairness

• <>[] a is enabled => []<> a is engaged• Weak action fairness vs. process-level weak

fairness

Page 7: Process Analysis Toolkit

Strong Local Fairness

• []<> a is enabled => []<> a is engaged• Strong local fairness vs weak action fairness

Page 8: Process Analysis Toolkit

Strong Global Fairness

• If a step is infinitely often enabled, it must be taken infinitely.

• Strong global fairness vs. strong local fairness

Page 9: Process Analysis Toolkit

Verification under Fairness

• Setting 1: one notion of fairness is applied to the whole system.– Verification under fairness = Loop searching, i.e.,

given a (liveness) property, a counterexample is a fair loop which fails the property.

– Fair loop searching = Fair SCC searching, i.e., an on-the-fly model checking algorithm based Tarjan’s algorithm

Page 10: Process Analysis Toolkit

Pros and Cons

• Pro: no additional user inputs.• Con:– sometimes overwhelming, e.g., the eventual

leader detector.– Partial order reduction is applicable to only

verification under weak action fairness or weaker.

Page 11: Process Analysis Toolkit

Verification under Fairness

• Setting 2: individual actions are annotated with fairness constraints.– The same SCC-based verification is used to identify

fair SCCs.• Pros– Different parts of the system may have different

fairness,– Partial order reduction is possible.

• Con: need users to annotate fairness with the relevant actions.

Page 12: Process Analysis Toolkit

Verification under Fairness

• Setting 3: design a fair scheduler to generate only fair executions

• Pros– Smaller state graph, – Nested depth-first-search is possible,– Infinite state systems may become finite.

• Con: the fair scheduler needs additional data structure to guarantee.

Page 13: Process Analysis Toolkit

Experiments