Specifying and Verifying Event-Based Fairness Enhanced Systems

  • Jun Sun
  • Yang Liu
  • Jin Song Dong
  • Hai H. Wang
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5256)


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.


Model Check Operational Semantic Linear Temporal Logic Parallel Composition Strongly Connect Component 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alagarsamy, K.: Some Myths About Famous Mutual Exclusion Algorithms. SIGACT News 34(3), 94–103 (2003)CrossRefGoogle Scholar
  2. 2.
    Apt, K.R., Francez, N., Katz, S.: Appraising Fairness in Languages for Distributed Programming. Distributed Computing 2, 226–241 (1988)CrossRefzbMATHGoogle Scholar
  3. 3.
    Brookes, S.D.: Traces, Pomsets, Fairness and Full Abstraction for Communicating Processes. In: Brim, L., Jančar, P., Křetínský, M., Kucera, A. (eds.) CONCUR 2002. LNCS, vol. 2421, pp. 466–482. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  4. 4.
    Brookes, S.D., Roscoe, A.W., Walker, D.J.: An Operational Semantics for CSP. Technical report (1986)Google Scholar
  5. 5.
    Chaki, S., Clarke, E.M., Ouaknine, J., Sharygina, N., Sinha, N.: State/Event-Based Software Model Checking. In: Boiten, E.A., Derrick, J., Smith, G.P. (eds.) IFM 2004. LNCS, vol. 2999, pp. 128–147. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  6. 6.
    Costa, G., Stirling, C.: Weak and Strong Fairness in CCS. In: Chytil, M.P., Koubek, V. (eds.) MFCS 1984. LNCS, vol. 176, pp. 245–254. Springer, Heidelberg (1984)CrossRefGoogle Scholar
  7. 7.
    Costa, J.F., Sernadas, A.: Progress Assumption in Concurrent Systems. Formal Aspects of Computing 7(1), 18–36 (1995)CrossRefzbMATHGoogle Scholar
  8. 8.
    Damm, W., Harel, D.: LSCs: Breathing Life into Message Sequence Charts. Formal Methods in System Design 19(1), 45–80 (2001)CrossRefzbMATHGoogle Scholar
  9. 9.
    Dong, J.S., Hao, P., Sun, J., Zhang, X.: A Reasoning Method for Timed CSP Based on Constraint Solving. In: Liu, Z., He, J. (eds.) ICFEM 2006. LNCS, vol. 4260, pp. 342–359. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  10. 10.
    Song Dong, J., Hao, P., Qin, S., Sun, J., Wang, Y.: Timed Patterns: TCOZ to Timed Automata. In: Davies, J., Schulte, W., Barnett, M. (eds.) ICFEM 2004. LNCS, vol. 3308, pp. 483–498. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  11. 11.
    Grumberg, O., Clarke, E.M., Peled, D.A.: Model Checking. MIT Press, Cambridge (2000)Google Scholar
  12. 12.
    Geldenhuys, J., Valmari, A.: More efficient on-the-fly LTL verification with Tarjan’s algorithm. Theoritical Computer Science 345(1), 60–82 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  13. 13.
    Henzinger, M.R., Telle, J.A.: Faster Algorithms for the Nonemptiness of Streett Automata and for Communication Protocol Pruning. In: Karlsson, R., Lingas, A. (eds.) SWAT 1996. LNCS, vol. 1097, pp. 16–27. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  14. 14.
    Hoare, C.A.R.: Communicating Sequential Processes. Inte. Series in Computer Science. Prentice-Hall, Englewood Cliffs (1985)zbMATHGoogle Scholar
  15. 15.
    Holzmann, G.J.: The Model Checker SPIN. IEEE Transactions on Software Engeering 23(5), 279–295 (1997)CrossRefGoogle Scholar
  16. 16.
    Kesten, Y., Pnueli, A., Raviv, L., Shahar, E.: Model Checking with Strong Fairness. Formal Methods and System Design 28(1), 57–84 (2006)CrossRefzbMATHGoogle Scholar
  17. 17.
    Lamport, L.: Fairness and Hyperfairness. Distributed Computing 13(4), 239–245 (2000)CrossRefGoogle Scholar
  18. 18.
    Latvala, T., Heljanko, K.: Coping with Strong Fairness. Fundamenta Informaticae 43(1–4), 175–193 (2000)MathSciNetzbMATHGoogle Scholar
  19. 19.
    Liu, Y., Sun, J., Dong, J.S.: An Analyzer for Extended Compositional Process Algebras. In: 30th International Conference on Software Engineering (ICSE 2008) Companion Volume, pp. 919–920. ACM Press, New York (2008)Google Scholar
  20. 20.
    Nuutila, E., Soisalon-Soininen, E.: On Finding the Strongly Connected Components in a Directed Graph. Information Processing Letters 49(1), 9–14 (1994)MathSciNetCrossRefzbMATHGoogle Scholar
  21. 21.
    Older, S.: Strong Fairness and Full Abstraction for Communicating Processes. Information and Computation 163(2), 471–509 (2000)MathSciNetCrossRefzbMATHGoogle Scholar
  22. 22.
    Peled, D.: Ten Years of Partial Order Reduction. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427, pp. 17–28. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  23. 23.
    Puhakka, A., Valmari, A.: Liveness and Fairness in Process-Algebraic Verification. In: Larsen, K.G., Nielsen, M. (eds.) CONCUR 2001. LNCS, vol. 2154, pp. 202–217. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  24. 24.
    Roscoe, A.W., Gardiner, P.H.B., Goldsmith, M., Hulance, J.R., Jackson, D.M., Scattergood, J.B.: Hierarchical Compression for Model-Checking CSP or How to Check 10\(^{\mbox{20}}\) Dining Philosophers for Deadlock. In: Brinksma, E., Steffen, B., Cleaveland, W.R., Larsen, K.G., Margaria, T. (eds.) TACAS 1995. LNCS, vol. 1019, pp. 133–152. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  25. 25.
    Schneider, S.: Concurrent and Real-time Systems: the CSP Approach. John Wiley, Chichester (2000)Google Scholar
  26. 26.
    Schwoon, S., Esparza, J.: A Note on On-the-Fly Verification Algorithms. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 174–190. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  27. 27.
    Sun, J., Dong, J.S.: Design Synthesis from Interaction and State-Based Specifications. IEEE Transactions on Software Engineering 32(6), 349–364 (2006)CrossRefGoogle Scholar
  28. 28.
    Sun, J., Liu, Y., Dong, J.S., Wang, H.: The Process Analysis Toolset Pat. Technical report,

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Jun Sun
    • 1
  • Yang Liu
    • 1
  • Jin Song Dong
    • 1
  • Hai H. Wang
    • 2
  1. 1.School of ComputingNational University of SingaporeSingapore
  2. 2.School of Electronics and Computer ScienceUniversity of SouthamptonUK

Personalised recommendations