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.
Similar content being viewed by others
References
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 Informatik
Bouhoula A, Jouannaud J-P, Meseguer J (2000) Specification and proof in membership equational logic. Theor Comput Sci 236: 35–132
Bidoit M, Mosses PD (2004) Casl user manual, volume 2900 of Lecture Notes in Computer Science. Springer
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–456
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. Springer
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
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–159
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–91
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–75
Ş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–122
Diaconescu R, Futatsugi K (2000) Behavioural coherence in object-oriented algebraic specification. J Univ Comput Sci 6: 74–95
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–102
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–351
Dolev D, Yao AC (1983) On the security of public key protocols. IEEE TIT. IT-29:198–208
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–25
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–544
Futatsugi K, Diaconescu R (1998) CafeOBJ Report. World Scientific, AMAST Series
Futatsugi K, Gâinâ D, Ogata K (2012) Principles of proof scores in CafeOBJ. Theor Comput Sci 464: 90–112
Futatsugi K. 12th lecture of the course i613 algebraic formal methods. http://www.jaist.ac.jp/~kokichi/class/i613-1312
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–192
Găină D, Futatsugi K, Ogata K (2012) Constructor-based logics. J Univ Comput Sci 18(16): 90–112
CoFI Tools Task Group. CoFI, the common framework initiative for algebraic specification and development. http://www.cofi.info
Goguen J, Winkler T, Meseguer J, Futatsugi K, Jouannaud J-P (2000) Introducing OBJ. In: Software engineering with OBJ: algebraic specification in action. Kluwer
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
Harper R, Honsell F, Plotkin GD (1993) A framework for defining logics. J ACM 40(1): 143–184
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–105
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–403
Kreowski H-J, Bernd K-B (eds) (1999) Algebraic Foundations of Systems Specification, 1st edn. Springer, Secaucus, NJ, USA
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–238
Kohlhase M, Mossakowski T (2012) Final project report—latin: Logic atlas and integrator. https://svn.omdoc.org/repos/latin/public/latin_report.pdf
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–442
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–378
Meseguer J (1992) Conditional rewriting logic as a unified model of concurrency. Theor Comput Sci 96(1): 73–155
Mossakowski T, Maeder C, Codescu M (2014) Hets user guide—version 0.99. Technical report, DFKI GmbH, Formal Methods for Software Development
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–522
Mosses P (2004) (ed) Casl reference manual, volume 2960 of Lecture Notes in Computer Science. Springer
Meseguer J, Roşu G (2007) The rewriting logic semantics project. Theor Comput Sci 373(3): 213–237
Nakamura M, Kong W, Ogata K, Futatsugi K (2008) A specification translation from behavioral specifications to rewrite specifications. IEICE Trans 91-D(5):1492–1503
Needham RM, Schroeder MD (1978) Using encryption for authentication in large networks of computers. Commun ACM 21(12): 993–999
Nakagawa AT, Sawada T, Futatsugi K (2010) CafeOBJ user’s manual (version 1.4.8). http://www.comp.dit.ie/pbrowne/compfund2/manual.pdf
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–184
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–656
Ölveczky PC, Meseguer J (2007) Semantics and pragmatics of Real-Time Maude. Higher-Order Symb Comput 20: 161–196
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–142
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–815
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–134
Pfenning F (2002) Proof and system-reliability, chapter logical frameworks—a brief introduction. Springer, pp 137–166
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–246
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–120
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–262
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–380
Riesco A, Verdejo A, Martí-Oliet N, Caballero R (2012) Declarative debugging of rewriting logic specifications. J Logic Algebraic Program 81(7-8): 851–897
Sawada T, Futatsugi K, Preining N (2015) CafeOBJ reference manual (version 1.5.3)
Verdejo A, Martí-Oliet N (2006) Executable structural operational semantics in Maude. J Logic Algebraic Program 67: 226–293
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–411
Author information
Authors and Affiliations
Corresponding author
Additional information
Dines Bjørner
Research partially supported by Japanese project Kakenhi 23220002, MINECO Spanish projects StrongSoft (TIN2012-39391-C04-04) and TRACES (TIN2015-67522-C3-3-R), and Comunidad de Madrid project N-Greens Software-CM (S2013/ICE-2731).
Rights and permissions
About this article
Cite this article
Riesco, A., Ogata, K. & Futatsugi, K. A Maude environment for CafeOBJ. Form Asp Comp 29, 309–334 (2017). https://doi.org/10.1007/s00165-016-0398-7
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-016-0398-7