Liveness Properties in CafeOBJ – A Case Study for Meta-Level Specifications

  • Norbert Preining
  • Kazuhiro Ogata
  • Kokichi Futatsugi
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8981)

Abstract

We provide an innovative development of algebraic specifications and proof scores in CafeOBJ by extending a base specification to the meta-level that includes infinite transition sequences. The infinite transition sequences are modeled using behavioral specifications with hidden sort, and make it possible to prove safety and liveness properties in a uniform way.

As an example of the development, we present a specification of Dijkstra’s binary semaphore, a protocol to guarantee exclusive access to a resource. For this protocol we will give three different properties, one being the mutual exclusion (or safety) property, and two more regarding different forms of liveness, which we call progress property and entrance property. These three properties are verified in a computationally uniform way (by term rewriting) based on the new development.

Besides being a case study of modeling meta-properties in CafeOBJ, we provide an initial characterization of strength of various properties. Furthermore, this method can serve as a blue-print for other specifications, in particular those based on Abstract State System (ASSs).

Keywords

Algebraic specification Liveness CafeOBJ Verification 

References

  1. 1.
    Bae, K., Meseguer, J.: Predicate abstraction of rewrite theories. In: Dowek, G. (ed.) RTA-TLCA 2014. LNCS, vol. 8560, pp. 61–76. Springer, Heidelberg (2014) CrossRefGoogle Scholar
  2. 2.
    Bae, K., Meseguer, J.: Infinite-state model checking of LTLR formulas unsing narrowing. In: WRLA 2014, 10th International Workshop on Rewriting Logic and its Applications, to appearGoogle Scholar
  3. 3.
    Bjørner, N., Browne, A., Colón, M., Finkbeiner, B., Manna, Z., Sipma, H., Uribe, T.E.: Verifying temporal properties of reactive systems: a step tutorial. Form. Methods Syst. Des. 16(3), 227–270 (2000)CrossRefGoogle Scholar
  4. 4.
    Chandy, K.M., Misra, J.: Parallel Program Design—A Foundation. Addison-Wesley, Boston (1989)Google Scholar
  5. 5.
    Chetali, B.: Formal verification of concurrent programs using the Larch prover. IEEE Trans. Softw. Eng. 24(1), 46–62 (1998)CrossRefGoogle Scholar
  6. 6.
    Futatsugi, K.: Generate and check methods for invariant verification in CafeOBJ. In: JAIST Research Report IS-RR-2013-006, http://hdl.handle.net/10119/11536 (2013)
  7. 7.
    Futatsugi, K.: Generate and check method for verifying transition systems in CafeOBJ. Submitted for publication (2014)Google Scholar
  8. 8.
    Futatsugi, K., Gâinâ, D., Ogata, K.: Principles of proof scores in CafeOBJ. Theor. Comput. Sci. 464, 90–112 (2012)CrossRefMATHGoogle Scholar
  9. 9.
    Goguen, J.A., Lin., K.: Behavioral verification of distributed concurrent systems with BOBJ. In: QSIC, pp. 216–235. IEEE Computer Society (2003)Google Scholar
  10. 10.
    Iida, S., Meseguer, J., Ogata, K. (eds.): Specification, Algebra, and Software. LNCS, vol. 8373, pp. 520–540. Springer, Heidelberg (2014) CrossRefMATHGoogle Scholar
  11. 11.
    Meseguer, J.: Twenty years of rewriting logic. J. Log. Algebr. Program. 81(7–8), 721–781 (2012)CrossRefMATHMathSciNetGoogle Scholar
  12. 12.
    Ogata, K., Futatsugi, K.: State machines as inductive types. IEICE Trans. Fundam. Electron. Commun. Comput. Sci. E90–A(12), 2985–2988 (2007)CrossRefGoogle Scholar
  13. 13.
    Ogata, K., Futatsugi, K.: Proof score approach to verification of liveness properties. IEICE Trans. 91–D(12), 2804–2817 (2008)Google Scholar
  14. 14.
    Ogata, K., Futatsugi, K.: A combination of forward and backward reachability analysis methods. In: Dong, J.S., Zhu, H. (eds.) ICFEM 2010. LNCS, vol. 6447, pp. 501–517. Springer, Heidelberg (2010) CrossRefGoogle Scholar
  15. 15.
    Paulson, L.C.: Mechanizing UNITY in Isabelle. ACM Trans. Comput. Log. 1(1), 3–32 (2000)CrossRefMathSciNetGoogle Scholar
  16. 16.
    Podelski, A., Rybalchenko, A.: Transition invariants. In: LICS, pp. 32–41. IEEE Computer Society (2004)Google Scholar
  17. 17.
    Preining, N.: Specifications in CafeOBJ http://www.preining.info/blog/cafeobj/
  18. 18.
    Preining, N., Futatsugi, K., Ogata, K.: Proving liveness properties using abstract state machines and \(n\)-visibility. In: Talk at the 22nd International Workshop on Algebraic Development Techniques WADT 2014, Sinaia, Romania, September 2014Google Scholar
  19. 19.
    Rybakov, V.: Linear temporal logic with until and next, logical consecutions. Ann. Pure Appl. Log. 155(1), 32–45 (2008)CrossRefMATHMathSciNetGoogle Scholar
  20. 20.
    Stiliadis, D., Varma, A.: Latency-rate servers: a general model for analysis of traffic scheduling algorithms. IEEE/ACM Netw. 6(5), 611–624 (1998)CrossRefGoogle Scholar
  21. 21.
    Wierman, A.: Fairness and scheduling in single server queues. Surv. Oper. Res. Manag. Sci. 16(1), 39–48 (2011)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Norbert Preining
    • 1
  • Kazuhiro Ogata
    • 1
  • Kokichi Futatsugi
    • 1
  1. 1.Japan Advanced Institute of Science and TechnologyResearch Center for Software VerificationNomiJapan

Personalised recommendations