The Maude strategy language

Steven Eker, Narciso Martí-Oliet, José Meseguer, Rubén Rubio, Alberto Verdejo

Research output: Contribution to journalArticlepeer-review

Abstract

Rewriting logic is a natural and expressive framework for the specification of concurrent systems and logics. The Maude specification language provides an implementation of this formalism that allows executing, verifying, and analyzing the represented systems. These specifications declare their objects by means of terms and equations, and provide rewriting rules to represent potentially non-deterministic local transformations on the state. Sometimes a controlled application of these rules is required to reduce non-determinism, to capture global, goal-oriented or efficiency concerns, or to select specific executions for their analysis. That is what we call a strategy. In order to express them, respecting the separation of concerns principle, a Maude strategy language was proposed and developed. The first implementation of the strategy language was done in Maude itself using its reflective features. After ample experimentation, some more features have been added and, for greater efficiency, the strategy language has been implemented in C++ as an integral part of the Maude system. This paper describes the Maude strategy language along with its semantics, its implementation decisions, and several application examples from various fields.

Original languageEnglish (US)
Article number100887
JournalJournal of Logical and Algebraic Methods in Programming
Volume134
DOIs
StatePublished - Aug 2023

Keywords

  • Formal specification
  • Maude
  • Rewriting logic
  • Rewriting strategies

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Software
  • Logic
  • Computational Theory and Mathematics

Fingerprint

Dive into the research topics of 'The Maude strategy language'. Together they form a unique fingerprint.

Cite this