Specifying and Verifying Event-Based Fairness Enhanced Systems

Liveness/Fairness plays an important role in software specification, verification and development. Existing event-based compositional models are safety-centric. In this paper, we describe a framework for systematically specifying and verifying event-based systems under fairness assumptions. We introduce different event annotations to associate fairness constraints with individual events. Fairness annotated events can be used to embed liveness/fairness assumptions in event-based models flexibly and naturally. We show that state-of-the-art verification algorithms can be extended to verify models under fairness assumptions, with little computational overhead. We further improve the algorithm by other model checking techniques like partial order reduction. A toolset named Pat has been developed to verify fairness enhanced event-based systems. Experiments show that Pat handles large systems with multiple fairness assumptions.

[1]  Susan Older,et al.  Strong Fairness and Full Abstraction for Communicating Processes , 2000, Inf. Comput..

[2]  Gerardo Costa,et al.  Weak and Strong Fairness in CCS , 1987, Inf. Comput..

[3]  Antti Valmari,et al.  Liveness and Fairness in Process-Algebraic Verification , 2001, CONCUR.

[4]  Gordon Plotkin,et al.  An Operational Semantics for CSP. , 1982 .

[5]  Andrzej Lingas,et al.  Algorithm Theory — SWAT'96 , 1996, Lecture Notes in Computer Science.

[6]  Jun Sun,et al.  An analyzer for extended compositional process algebras , 2008, ICSE Companion '08.

[7]  Jan Arne Telle,et al.  Faster Algorithms for the Nonemptiness of Streett Automata and for Communication Protocol Pruning , 1995, SWAT.

[8]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[9]  Amílcar Sernadas,et al.  Progress assumption in concurrent systems , 2005, Formal Aspects of Computing.

[10]  Jun Sun,et al.  Design synthesis from interaction and state-based specifications , 2006, IEEE Transactions on Software Engineering.

[11]  Eljas Soisalon-Soininen,et al.  On Finding the Strongly Connected Components in a Directed Graph , 1994, Inf. Process. Lett..

[12]  Nissim Francez,et al.  Appraising fairness in languages for distributed programming , 2005, Distributed Computing.

[13]  Ajitha Rajan,et al.  Requirements Coverage as an Adequacy Measure for Conformance Testing , 2008, ICFEM.

[14]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[15]  Michal P. Chytil,et al.  Mathematical Foundations of Computer Science 1984 , 1984, Lecture Notes in Computer Science.

[16]  R. Milner,et al.  Bigraphical Reactive Systems , 2001, CONCUR.

[17]  Steve A. Schneider,et al.  Concurrent and Real-time Systems: The CSP Approach , 1999 .

[18]  Leslie Lamport Fairness and hyperfairness , 2000, Distributed Computing.

[19]  Timo Latvala,et al.  Coping With Strong Fairness , 2000, Fundam. Informaticae.

[20]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[21]  Stephen D. Brookes,et al.  Traces, Pomsets, Fairness and Full Abstraction for Communicating Processes , 2002, CONCUR.

[22]  Joël Ouaknine,et al.  State/Event-Based Software Model Checking , 2004, IFM.

[23]  K. Alagarsamy,et al.  Some myths about famous mutual exclusion algorithms , 2003, SIGA.

[24]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[25]  Michael Goldsmith,et al.  Hierarchical Compression for Model-Checking CSP or How to Check 1020 Dining Philosophers for Deadlock , 1995, TACAS.

[26]  Wang Yi,et al.  Timed Patterns: TCOZ to Timed Automata , 2004, ICFEM.

[27]  Javier Esparza,et al.  A Note on On-the-Fly Verification Algorithms , 2005, TACAS.

[28]  Doron A. Peled,et al.  Ten Years of Partial Order Reduction , 1998, CAV.

[29]  Jaco Geldenhuys,et al.  More efficient on-the-fly LTL verification with Tarjan's algorithm , 2005, Theor. Comput. Sci..

[30]  Amir Pnueli,et al.  Model Checking with Strong Fairness , 2006, Formal Methods Syst. Des..

[31]  David Harel,et al.  LSCs: Breathing Life into Message Sequence Charts , 1999, Formal Methods Syst. Des..

[32]  Bill Roscoe,et al.  An Operational Semantics for CSP , 1986 .

[33]  Kousha Etessami,et al.  A Hierarchy of Polynomial-Time Computable Simulations for Automata , 2002, CONCUR.

[34]  Jun Sun,et al.  A Reasoning Method for Timed CSP Based on Constraint Solving , 2006, ICFEM.