Skip to main content

An Overview of the Maude Strategy Language and its Applications

  • Conference paper
  • First Online:
Rewriting Logic and Its Applications (WRLA 2022)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 13252))

Included in the following conference series:

Abstract

In the Maude specification language, the behavior of systems is modeled by nondeterministic rewrite rules, whose free application may not always be desirable. Hence, a strategy language has been introduced to control the application of rules at a high level, without the intricacies of metaprogramming. In this paper, we give an overview of the Maude strategy language, its applications, related verification tools, and extensions, illustrated with examples.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 79.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    The search-using command is not currently available in the official version of Maude, but in an extended version with the strategy-aware model checker [38].

  2. 2.

    dsrewrite is the depth-first search variant of srewrite, which does a fair breadth-first-like search.

References

  1. Examples of the Maude strategy language (2022). https://fadoss.github.io/strat-examples

  2. Agha, G.A., Meseguer, J., Sen, K.: PMaude: rewrite-based specification language for probabilistic object systems. In: Cerone, A., Wiklicky, H. (eds.) Proceedings of the Third Workshop on Quantitative Aspects of Programming Languages, QAPL 2005, Edinburgh, UK, 2–3 April 2005. Electronic Notes in Theoretical Computer Science, vol. 153(2), pp. 213–239. Elsevier (2006). https://doi.org/10.1016/j.entcs.2005.10.040

  3. Aguirre, L., Martí-Oliet, N., Palomino, M., Pita, I.: Strategies in conditional narrowing modulo SMT plus axioms. Technical report 2/21, Departamento de Sistemas Informáticos y Computación. Universidad Complutense de Madrid (2021). https://eprints.ucm.es/68621/

  4. Atzei, N., Bartoletti, M., Lande, S., Yoshida, N., Zunino, R.: Developing secure bitcoin contracts with BitML. In: Dumas, M., Pfahl, D., Apel, S., Russo, A. (eds.) Proceedings of the ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/SIGSOFT FSE 2019, Tallinn, Estonia, 26–30 August 2019, pp. 1124–1128. ACM (2019). https://doi.org/10.1145/3338906.3341173

  5. Bachmair, L., Dershowitz, N.: Equational inference, canonical proofs, and proof orderings. J. ACM 41(2), 236–276 (1994). https://doi.org/10.1145/174652.174655

    Article  MathSciNet  MATH  Google Scholar 

  6. Balland, E., Brauner, P., Kopetz, R., Moreau, P.-E., Reilles, A.: Tom: piggybacking rewriting on Java. In: Baader, F. (ed.) RTA 2007. LNCS, vol. 4533, pp. 36–47. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-73449-9_5

    Chapter  Google Scholar 

  7. Bentea, L., Ölveczky, P.C.: A probabilistic strategy language for probabilistic rewrite theories and its application to cloud computing. In: Martí-Oliet, N., Palomino, M. (eds.) WADT 2012. LNCS, vol. 7841, pp. 77–94. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-37635-1_5

    Chapter  Google Scholar 

  8. Borovanský, P., Kirchner, C., Kirchner, H., Ringeissen, C.: Rewriting with strategies in ELAN: a functional semantics. Int. J. Found. Comput. Sci. 12(1), 69–95 (2001). https://doi.org/10.1142/S0129054101000412

    Article  MathSciNet  MATH  Google Scholar 

  9. Braga, C., Verdejo, A.: Modular structural operational semantics with strategies. In: van Glabbeek, R., Mosses, P.D. (eds.) Proceedings of the Third Workshop on Structural Operational Semantics, SOS 2006, Bonn, Germany, 26 August 2006. Electronic Notes in Theoretical Computer Science, vol. 175, no. 1, pp. 3–17. Elsevier (2007). https://doi.org/10.1016/j.entcs.2006.10.024

  10. Bravenboer, M., Kalleberg, K.T., Vermaas, R., Visser, E.: Stratego/XT 0.17. A language and toolset for program transformation. Sci. Comput. Program. 72(1–2), 52–70 (2008). https://doi.org/10.1016/j.scico.2007.11.003

    Article  MathSciNet  Google Scholar 

  11. Clarke, E.M., Henzinger, T.A., Veith, H., Bloem, R. (eds.): Handbook of Model Checking. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-10575-8

    Book  MATH  Google Scholar 

  12. Clavel, M.: Strategies and user interfaces in Maude at work. In: Gramlich, B., Lucas, S. (eds.) Proceedings of the 3rd International Workshop on Reduction Strategies in Rewriting and Programming, WRS 2003, Valencia, Spain, 8 June 2003. Electronic Notes in Theoretical Computer Science, vol. 86, no. 4, pp. 570–592. Elsevier (2003). https://doi.org/10.1016/S1571-0661(05)82612-X

  13. Clavel, M., et al.: Maude manual v3.2.1 (2022-02). http://maude.cs.illinois.edu

  14. Clavel, M., Meseguer, J.: Reflection and strategies in rewriting logic. In: Meseguer, J. (ed.) Proceedings of the First International Workshop on Rewriting Logic and its Applications, WRLA 1996, Asilomar, California, 3–6 September 1996. Electronic Notes in Theoretical Computer Science, vol. 4, pp. 126–148. Elsevier (1996). https://doi.org/10.1016/S1571-0661(04)00037-4

  15. Durán, F., et al.: Programming and symbolic computation in Maude. J. Log. Algebraic Methods Program. 110 (2020). https://doi.org/10.1016/j.jlamp.2019.100497

  16. Eker, S., Martí-Oliet, N., Meseguer, J., Verdejo, A.: Deduction, strategies, and rewriting. In: Archer, M., de la Tour, T.B., Muñoz, C. (eds.) Proceedings of the 6th International Workshop on Strategies in Automated Deduction, STRATEGIES 2006, Seattle, WA, USA, 16 August 2006. Electronic Notes in Theoretical Computer Science, vol. 174, no. 11, pp. 3–25. Elsevier (2007). https://doi.org/10.1016/j.entcs.2006.03.017

  17. Eker, S., Meseguer, J., Sridharanarayanan, A.: The Maude LTL model checker. In: Gadducci, F., Montanari, U. (eds.) Proceedings of the Fourth International Workshop on Rewriting Logic and its Applications, WRLA 2002, Pisa, Italy, 19–21 September 2002. Electronic Notes in Theoretical Computer Science, vol. 71, pp. 162–187. Elsevier (2004). https://doi.org/10.1016/S1571-0661(05)82534-4

  18. Fernández, M., Kirchner, H., Pinaud, B.: Strategic port graph rewriting: an interactive modelling framework. Math. Struct. Comput. Sci. 29(5), 615–662 (2019). https://doi.org/10.1017/S0960129518000270

    Article  MathSciNet  MATH  Google Scholar 

  19. Hensel, C., Junges, S., Katoen, J.P., Quatmann, T., Volk, M.: The probabilistic model checker Storm. Int. J. Softw. Tools Technol. Transf. 23(4), 1–22 (2021). https://doi.org/10.1007/s10009-021-00633-z

  20. Hernández Cerezo, A.: Strategies for implementing SAT algorithms in rewriting logic. Bachelor’s thesis, Universidad Complutense de Madrid (2020). https://eprints.ucm.es/63693

  21. Hidalgo-Herrero, M., Verdejo, A., Ortega-Mallén, Y.: Using Maude and its strategies for defining a framework for analyzing Eden semantics. In: Antoy, S. (ed.) Proceedings of the Sixth International Workshop on Reduction Strategies in Rewriting and Programming, WRS 2006, Seattle, WA, USA, 11 August 2006. Electronic Notes in Theoretical Computer Science, vol. 174, no. 10, pp. 119–137. Elsevier (2007). https://doi.org/10.1016/j.entcs.2007.02.051

  22. Kowalski, R.A.: Algorithm = logic + control. Commun. ACM 22(7), 424–436 (1979). https://doi.org/10.1145/359131.359136

    Article  MATH  Google Scholar 

  23. Kwiatkowska, M., Norman, G., Parker, D.: PRISM 4.0: verification of probabilistic real-time systems. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 585–591. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-22110-1_47

    Chapter  Google Scholar 

  24. Lescanne, P.: Implementation of completion by transition rules + control: ORME. In: Kirchner, H., Wechler, W. (eds.) ALP 1990. LNCS, vol. 463, pp. 262–269. Springer, Heidelberg (1990). https://doi.org/10.1007/3-540-53162-9_44

    Chapter  Google Scholar 

  25. Lucas, S.: Context-sensitive rewriting. ACM Comput. Surv. 53(4), 78:1–78:36 (2020). https://doi.org/10.1145/3397677

  26. Marin, M., Kutsia, T.: Foundations of the rule-based system \(\rho \)Log. J. Appl. Non Class. Log. 16(1–2), 151–168 (2006). https://doi.org/10.3166/jancl.16.151-168

    Article  MathSciNet  MATH  Google Scholar 

  27. Martí-Oliet, N., Meseguer, J., Verdejo, A.: Towards a strategy language for Maude. In: Martí-Oliet, N. (ed.) Proceedings of the Fifth International Workshop on Rewriting Logic and its Applications, WRLA 2004, Barcelona, Spain, 27 March–4 April 2004. Electronic Notes in Theoretical Computer Science, vol. 117, pp. 417–441. Elsevier (2004). https://doi.org/10.1016/j.entcs.2004.06.020

  28. Martí-Oliet, N., Meseguer, J., Verdejo, A.: A rewriting semantics for Maude strategies. In: Roşu, G. (ed.) Proceedings of the Seventh International Workshop on Rewriting Logic and its Applications, WRLA 2008, Budapest, Hungary, 29–30 March 2008. Electronic Notes in Theoretical Computer Science, vol. 238, no. 3, pp. 227–247. Elsevier (2009). https://doi.org/10.1016/j.entcs.2009.05.022

  29. Meseguer, J.: Conditional rewriting logic as a unified model of concurrency. Theor. Comput. Sci. 96(1), 73–155 (1992). https://doi.org/10.1016/0304-3975(92)90182-F

    Article  MathSciNet  MATH  Google Scholar 

  30. Meseguer, J.: Twenty years of rewriting logic. J. Log. Algebr. Program. 81(7–8), 721–781 (2012). https://doi.org/10.1016/j.jlap.2012.06.003

    Article  MathSciNet  MATH  Google Scholar 

  31. Rosa-Velardo, F., Segura, C., Verdejo, A.: Typed mobile ambients in Maude. In: Cirstea, H., Martí-Oliet, N. (eds.) Proceedings of the 6th International Workshop on Rule-Based Programming, RULE 2005, Nara, Japan, 23 April 2005. Electronic Notes in Theoretical Computer Science, vol. 147(1), pp. 135–161. Elsevier (2006). https://doi.org/10.1016/j.entcs.2005.06.041

  32. Rubio, R.: Model checking of strategy-controlled systems in rewriting logic. Ph.D. thesis, Universidad Complutense de Madrid (2022). https://eprints.ucm.es/71531

  33. Rubio, R., MartĂ­-Oliet, N., Pita, I., Verdejo, A.: Model checking strategy-controlled rewriting systems. In: FSCD 2019 (2019). https://doi.org/10.4230/LIPIcs.FSCD.2019.31

  34. Rubio, R., Martí-Oliet, N., Pita, I., Verdejo, A.: Parameterized strategies specification in Maude. In: Fiadeiro, J.L., Tutu, I. (eds.) WADT 2018. LNCS, vol. 11563, pp. 27–44. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-23220-7_2

    Chapter  MATH  Google Scholar 

  35. Rubio, R., Martí-Oliet, N., Pita, I., Verdejo, A.: The semantics of the Maude strategy language. Technical report 01/21, Departamento de Sistemas Informáticos y Computación, Universidad Complutense de Madrid (2021). https://eprints.ucm.es/67449

  36. Rubio, R., MartĂ­-Oliet, N., Pita, I., Verdejo, A.: Strategies, model checking and branching-time properties in Maude. J. Log. Algebr. Methods Program. 123, 100700 (2021). https://doi.org/10.1016/j.jlamp.2021.100700

    Article  MathSciNet  MATH  Google Scholar 

  37. Rubio, R., MartĂ­-Oliet, N., Pita, I., Verdejo, A.: Metalevel transformation of strategies. J. Log. Algebr. Methods Program. 124, 100728 (2022). https://doi.org/10.1016/j.jlamp.2021.100728

    Article  MathSciNet  MATH  Google Scholar 

  38. Rubio, R., Martí-Oliet, N., Pita, I., Verdejo, A.: Model checking strategy-controlled systems in rewriting logic. Autom. Softw. Eng. 29(1), 1–62 (2021). https://doi.org/10.1007/s10515-021-00307-9

    Article  MATH  Google Scholar 

  39. Rubio, R., MartĂ­-Oliet, N., Pita, I., Verdejo, A.: Simulating and model checking membrane systems using strategies in Maude. J. Log. Algebr. Methods Program. 124, 100727 (2022). https://doi.org/10.1016/j.jlamp.2021.100727

    Article  MathSciNet  MATH  Google Scholar 

  40. Santos-García, G., Palomino, M.: Solving Sudoku puzzles with rewriting rules. In: Denker, G., Talcott, C. (eds.) Proceedings of the 6th International Workshop on Rewriting Logic and its Applications, WRLA 2006, Vienna, Austria, 1–2 April 2006. Electronic Notes in Theoretical Computer Science, vol. 176, no. 4, pp. 79–93. Elsevier (2007). https://doi.org/10.1016/j.entcs.2007.06.009

  41. Santos-García, G., Palomino, M., Verdejo, A.: Rewriting logic using strategies for neural networks: An implementation in Maude. In: Corchado, J.M., Rodríguez, S., Llinas, J., Molina, J.M. (eds.) International Symposium on Distributed Computing and Artificial Intelligence (DCAI 2008). Advances in Soft Computing, vol. 50, pp. 424–433. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-540-85863-8_50

    Chapter  Google Scholar 

  42. Verdejo, A., MartĂ­-Oliet, N.: Basic completion strategies as another application of the Maude strategy language. In: Escobar, S. (ed.) WRS 2011 (2012). https://doi.org/10.4204/EPTCS.82.2

Download references

Acknowledgments

I would like to thank Kyungmin Bae for the invitation to give this tutorial at WRLA, as well as the coauthors of previous works on the strategy language, Steven Eker, Narciso Martí-Oliet, José Meseguer, Alberto Verdejo, Isabel Pita, and the other members of the Maude Team. Special thanks are due to Narciso Martí-Oliet for their helpful comments when revising this manuscript. This work was partially supported by the Spanish Ministry of Science and Innovation through projects TRACES (TIN2015-67522-C3-3-R) and ProCode (PID2019-108528RB-C22), and by the Spanish Ministry of Universities through grant FPU17/02319.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Rubén Rubio .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Rubio, R. (2022). An Overview of the Maude Strategy Language and its Applications. In: Bae, K. (eds) Rewriting Logic and Its Applications. WRLA 2022. Lecture Notes in Computer Science, vol 13252. Springer, Cham. https://doi.org/10.1007/978-3-031-12441-9_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-12441-9_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-12440-2

  • Online ISBN: 978-3-031-12441-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics