Formal Aspects of Computing

, Volume 29, Issue 2, pp 309–334 | Cite as

A Maude environment for CafeOBJ

  • Adrián Riesco
  • Kazuhiro Ogata
  • Kokichi Futatsugi
Original Article

Abstract

We present in this paper an interpreter implemented in Maude for non-behavioral CafeOBJ specifications. This alternative implementation poses a number of advantages: (1) it allows Maude tools to be used with CafeOBJ specifications, (2) it improves the performance of some CafeOBJ commands, such as search, (3) it enriches CafeOBJ syntax with Maude syntax, and (4) it makes CafeOBJ easily extensible, since new commands and tools can be included and tested and, once they are sufficiently mature, can be considered for inclusion in the Lisp implementation of CafeOBJ. The current tool presents a number of improvements over the tool presented in previous papers: it supports principal sorts, all kinds of CafeOBJ views, and all the search predicates recently implemented in the system. These improvements have allowed us to run the most recent CafeOBJ specifications, hence proving the robustness of the tool. Moreover, we present case studies illustrating the power of the tool, focusing on the falsification and verification of the NSPK and QLOCK protocols, respectively.

Keywords

CafeOBJ Full Maude Integration NSPK QLOCK 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. BEM13.
    Bae K, Escobar S, Meseguer J (2013) Abstract Logical Model Checking of Infinite-State Systems Using Narrowing. In: Raamsdonk F (ed) 24th International Conference on Rewriting Techniques and Applications, RTA 2013, vol 21 of Leibniz International Proceedings in Informatics, Dagstuhl, Germany, pp 81–96. Schloss Dagstuhl–Leibniz-Zentrum fuer InformatikGoogle Scholar
  2. BJM00.
    Bouhoula A, Jouannaud J-P, Meseguer J (2000) Specification and proof in membership equational logic. Theor Comput Sci 236: 35–132MathSciNetCrossRefMATHGoogle Scholar
  3. BM04.
    Bidoit M, Mosses PD (2004) Casl user manual, volume 2900 of Lecture Notes in Computer Science. SpringerGoogle Scholar
  4. BR15.
    Bogdanas D, Rosu G (2015) K-java: a complete semantics of java. In: Rajamani SK, Walker D (eds) Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2015. ACM, pp 445–456Google Scholar
  5. CDE+07.
    Clavel M, Durán F, Eker S, Lincoln P, Martí-Oliet N, Meseguer J, Talcott C (2007) All about Maude: a high-performance logical framework, volume 4350 of Lecture Notes in Computer Science. SpringerGoogle Scholar
  6. CDE+11.
    Clavel M, Durán F, Eker S, Lincoln P, Martí-Oliet N, Meseguer J, Talcott C (2011) Maude manual (version 2.6). http://maude.cs.uiuc.edu/maude2-manual
  7. CHK+12.
    Codescu M, Horozal F, Kohlhase M, Mossakowski T, Rabe F, Sojakova K (2012) Towards logical frameworks in the heterogeneous tool set hets. In: Mossakowski T, Kreowski HJ (eds) Proceedings of the 20th International Workshop on Recent Trends in Algebraic Development Techniques, WADT 2010, Revised Selected Papers, volume 7137 of Lecture Notes in Computer Science. Springer, pp 139–159Google Scholar
  8. CMP07.
    Clavel M, Meseguer J, Palomino M (2007) Reflection in membership equational logic, many-sorted equational logic, Horn logic with equality, and rewriting logic. Theor Comput Sci 373(1-2): 70–91MathSciNetCrossRefMATHGoogle Scholar
  9. CMRM11.
    Codescu M, Mossakowski T, Riesco A, Maeder C (2011) Integrating Maude into Hets. In: Johnson M, Pavlovic D (eds) Proceedings of the 13th International Conference on Algebraic Methodology and Software Technology, AMAST 2010, volume 6486 of Lecture Notes in Computer Science. Springer, pp 60–75Google Scholar
  10. cR10.
    Şerbanuţă T-F, Roşu G (2010) K-Maude: a rewriting based tool for semantics of programming languages. In: Proceedings of the 8th International Workshop on Rewriting Logic and its Applications, WRLA 2010, volume 6381 of Lecture Notes in Computer Science. Springer, pp 104–122Google Scholar
  11. DF00.
    Diaconescu R, Futatsugi K (2000) Behavioural coherence in object-oriented algebraic specification. J Univ Comput Sci 6: 74–95MathSciNetMATHGoogle Scholar
  12. DÖ09.
    Durán F, Ölveczky PC (2009) A guide to extending Full Maude illustrated with the implementation of Real-Time Maude. In: Roşu G (ed) Proceedings of the 7th International Workshop on Rewriting Logic and its Applications, WRLA 2008, Electronic Notes in Theoretical Computer Science, vol 238(3). Elsevier, pp 83–102Google Scholar
  13. DRA11.
    Durán F, Rocha C, Álvarez JM (2011) Towards a Maude formal environment. In: Agha G, Meseguer J, Danvy O (eds) Formal modeling: actors, open systems, biological systems, volume 7000 of Lecture Notes in Computer Science. Springer, pp 329–351Google Scholar
  14. DY83.
    Dolev D, Yao AC (1983) On the security of public key protocols. IEEE TIT. IT-29:198–208Google Scholar
  15. EMOMV07.
    Eker S, Martí-Oliet N, Meseguer J, Verdejo A (2007) Deduction, strategies, and rewriting. In: Archer M, Boy de la Tour T, Munoz CA (eds) Proceedings of the 6th International Workshop on Strategies in Automated Deduction, STRATEGIES 2006. Electronic Notes in Theoretical Computer Science, vol 174(11). Elsevier, pp 3–25Google Scholar
  16. ER12.
    Ellison C, Roşu G (2012) An executable formal semantics of C with applications. In: Proceedings of the 39th Symposium on Principles of Programming Languages, POPL 2012. ACM, pp 533–544Google Scholar
  17. FD98.
    Futatsugi K, Diaconescu R (1998) CafeOBJ Report. World Scientific, AMAST SeriesGoogle Scholar
  18. FGO12.
    Futatsugi K, Gâinâ D, Ogata K (2012) Principles of proof scores in CafeOBJ. Theor Comput Sci 464: 90–112MathSciNetCrossRefMATHGoogle Scholar
  19. Fut.
    Futatsugi K. 12th lecture of the course i613 algebraic formal methods. http://www.jaist.ac.jp/~kokichi/class/i613-1312
  20. Fut15.
    Futatsugi K (2015) Generate and check method for verifying transition systems in cafeobj. In: De Nicola R, Hennicker R (eds) Software, Services, and Systems - Essays Dedicated to Martin Wirsing on the Occasion of His Retirement from the Chair of Programming and Software Engineering, volume 8950 of Lecture Notes in Computer Science. Springer, pp 171–192Google Scholar
  21. GFO12.
    Găină D, Futatsugi K, Ogata K (2012) Constructor-based logics. J Univ Comput Sci 18(16): 90–112MathSciNetMATHGoogle Scholar
  22. Gro.
    CoFI Tools Task Group. CoFI, the common framework initiative for algebraic specification and development. http://www.cofi.info
  23. GWM+00.
    Goguen J, Winkler T, Meseguer J, Futatsugi K, Jouannaud J-P (2000) Introducing OBJ. In: Software engineering with OBJ: algebraic specification in action. KluwerGoogle Scholar
  24. GZCA13.
    Gâinâ D, Zhang M, Chiba Y, Arimoto Y (2013) Constructor-based inductive theorem prover. In: Heckel R, Milius S (eds) Proceedings of the 5th International Conference in Algebra and Coalgebra in Computer Science, CALCO 2013, volume 8089 of Lecture Notes in Computer Science. Springer, pp 328–333. http://www.jaist.ac.jp/~danielmg/citp.html
  25. HHP93.
    Harper R, Honsell F, Plotkin GD (1993) A framework for defining logics. J ACM 40(1): 143–184MathSciNetCrossRefMATHGoogle Scholar
  26. Kir13.
    Kirchner H (2013) A rewriting point of view on strategies. In: Mogavero F, Murano A, Vardi MY (eds) Proceedings 1st International Workshop on Strategic Reasoning, SR 2013, Rome, Italy, March 16–17, volume 112 of EPTCS, pp 99–105Google Scholar
  27. Kir15.
    Kirchner H (2015) Rewriting strategies and strategic rewrite programs. In: Martí-Oliet N, Ölveczky PC, Talcott C (eds) Logic, Rewriting, and Concurrency - Essays dedicated to José Meseguer on the Occasion of His 65th Birthday, volume 9200 of Lecture Notes in Computer Science. Springer, pp 380–403Google Scholar
  28. KKB99.
    Kreowski H-J, Bernd K-B (eds) (1999) Algebraic Foundations of Systems Specification, 1st edn. Springer, Secaucus, NJ, USAGoogle Scholar
  29. KKN13.
    Kirchner C, Kirchner H, Nahon F (2013) Narrowing based inductive proof search. In: Voronkov A, Weidenbach C (eds) Programming logics—essays in memory of Harald Ganzinger, volume 7797 of Lecture Notes in Computer Science. Springer, pp 216–238Google Scholar
  30. KM12.
    Kohlhase M, Mossakowski T (2012) Final project report—latin: Logic atlas and integrator. https://svn.omdoc.org/repos/latin/public/latin_report.pdf
  31. LGCR09.
    Lucanu D, Goriac E-I, Caltais G, Rosu G (2009) CIRC: A behavioral verification tool based on circular coinduction. In: Kurz A, Lenisa M, Tarlecki A (eds) Proceedings of the 3rd International Conference on Algebra and Coalgebra in Computer Science, CALCO 2009, volume 5728 of Lecture Notes in Computer Science. Springer, pp 433–442Google Scholar
  32. LR07.
    Lucanu D, Rosu G (2007) CIRC: a circular coinductive prover. In: Mossakowski T, Montanari U, Haveraaen M (eds) Proceedings of the 2nd International Conference on Algebra and Coalgebra in Computer Science, CALCO 2007, volume 4624 of Lecture Notes in Computer Science, pages. Springer, pp 372–378Google Scholar
  33. Mes92.
    Meseguer J (1992) Conditional rewriting logic as a unified model of concurrency. Theor Comput Sci 96(1): 73–155MathSciNetCrossRefMATHGoogle Scholar
  34. MMC14.
    Mossakowski T, Maeder C, Codescu M (2014) Hets user guide—version 0.99. Technical report, DFKI GmbH, Formal Methods for Software DevelopmentGoogle Scholar
  35. MML07.
    Mossakowski T, Maeder C, Lüttich K (2007) The Heterogeneous Tool Set. In: Grumberg O, Huth M (eds) Proceedings of the 13th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2007, volume 4424 of Lecture Notes in Computer Science. Springer-Verlag Heidelberg, pp 519–522Google Scholar
  36. Mos04.
    Mosses P (2004) (ed) Casl reference manual, volume 2960 of Lecture Notes in Computer Science. SpringerGoogle Scholar
  37. MR07.
    Meseguer J, Roşu G (2007) The rewriting logic semantics project. Theor Comput Sci 373(3): 213–237MathSciNetCrossRefMATHGoogle Scholar
  38. NKOF08.
    Nakamura M, Kong W, Ogata K, Futatsugi K (2008) A specification translation from behavioral specifications to rewrite specifications. IEICE Trans 91-D(5):1492–1503Google Scholar
  39. NS78.
    Needham RM, Schroeder MD (1978) Using encryption for authentication in large networks of computers. Commun ACM 21(12): 993–999CrossRefMATHGoogle Scholar
  40. NSF10.
    Nakagawa AT, Sawada T, Futatsugi K (2010) CafeOBJ user’s manual (version 1.4.8). http://www.comp.dit.ie/pbrowne/compfund2/manual.pdf
  41. OF03.
    Ogata K, Futatsugi K (2003) Proof scores in the OTS/CafeOBJ method. In: Najm E, Nestmann U, Stevens P (eds) Proceedings of the 6th IFIP International Conference on Formal Methods for Open Object-based Distributed Systems, FMOODS 2003, volume 2884 of Lecture Notes in Computer Science. pp 170–184Google Scholar
  42. OF14.
    Ogata K, Futatsugi K (2014) Theorem proving based on proof scores for rewrite theory specifications of OTSs. In: Iida S, Meseguer J, Ogata K (eds) Specification, algebra and software: essays Dedicated to Kokichi Futatsugi, volume 8373 of Lecture Notes in Computer Science, pp 630–656Google Scholar
  43. ÖM07.
    Ölveczky PC, Meseguer J (2007) Semantics and pragmatics of Real-Time Maude. Higher-Order Symb Comput 20: 161–196Google Scholar
  44. OOS12.
    Ouranos I, Ogata K, Stefaneas PS (2012) Formal analysis of TESLA protocol in the Timed OTS/CafeOBJ method. In: Margaria T, Steffen B (eds) ISoLA (2), volume 7610 of Lecture Notes in Computer Science. Springer, pp 126–142Google Scholar
  45. Pfe94.
    Pfenning F (1994) Elf: a meta-language for deductive systems (system descrition). In: Bundy A (ed) Proceedings of the 12th International Conference on Automated Deduction, CADE-12, volume 814 of Lecture Notes in Computer Science. Springer, pp 811–815Google Scholar
  46. Pfe96.
    Pfenning F (1996) The practice of logical frameworks. In: Kirchner H (ed) Proceedings Of The 21St International Colloquium On Trees In Algebra And Programming, CAAP 1996, volume 1059 of Lecture Notes in Computer Science. Springer, pp 119–134Google Scholar
  47. Pfe02.
    Pfenning F (2002) Proof and system-reliability, chapter logical frameworks—a brief introduction. Springer, pp 137–166Google Scholar
  48. Rie14.
    Riesco A (2014) An integration of CafeOBJ into full Maude. In: Escobar S (ed) Proceedings of the 10th International Workshop on Rewriting Logic and Its Applications, WRLA 2014, Revised Selected Papers, volume 8663 of Lecture Notes in Computer Science. Springer, pp 230–246Google Scholar
  49. RLS+16.
    Rusu V, Lucanu D, Serbanuta T-F, Arusoaie A, Stefanescu A, Rosu G (2016) Language definitions as rewrite theories. J Logic Algebraic Methods Programm 85(1): 98–120MathSciNetCrossRefMATHGoogle Scholar
  50. RMM14.
    Rocha C, Meseguer J, Muñoz CA (2014) Rewriting modulo SMT and open system analysis. In: Escobar S (ed) Proceedings of the 10th International Workshop on Rewriting Logic and Its Applications, WRLA 2014, volume 8663 of Lecture Notes in Computer Science. Springer, pp 247–262Google Scholar
  51. ROF16.
    Riesco A, Ogata K, Futatsugi K (2016) CafeInMaude: a CafeOBJ interpreter in maude. In: Stevens P, Wasowski A (eds) Proceedings of the 19th International Conference on Fundamental Approaches to Software Engineering, FASE 2016, volume 9633 of Lecture Notes in Computer Science. Springer. Springer, pp 377–380Google Scholar
  52. RVMOC12.
    Riesco A, Verdejo A, Martí-Oliet N, Caballero R (2012) Declarative debugging of rewriting logic specifications. J Logic Algebraic Program 81(7-8): 851–897MathSciNetCrossRefMATHGoogle Scholar
  53. SFP15.
    Sawada T, Futatsugi K, Preining N (2015) CafeOBJ reference manual (version 1.5.3)Google Scholar
  54. VMO06.
    Verdejo A, Martí-Oliet N (2006) Executable structural operational semantics in Maude. J Logic Algebraic Program 67: 226–293MathSciNetCrossRefMATHGoogle Scholar
  55. ZO09.
    Zhang M, Ogata K (2009) Modular implementation of a translator from behavioral specifications to rewrite theory specifications. In: Choi B (ed) Proceedings of the 9th International Conference on Quality Software, QSIC 2009. IEEE Computer Society, pp 406–411Google Scholar

Copyright information

© British Computer Society 2016

Authors and Affiliations

  1. 1.Facultad de Informática de la Universidad Complutense, C/ Profesor José García SantesmasesMadridSpain
  2. 2.School of Information ScienceJAISTNomiJapan
  3. 3.Research Center for Software VerificationJAISTNomiJapan

Personalised recommendations