This book gives a comprehensive account of Maude, a language and system based on rewriting logic. Many examples are used throughout the book to illustrate the main ideas and features of Maude, and its many possible uses. Maude modules are rewrite theories. Computation with such modules is - cient deduction by rewriting. Because of its logical basis and its initial model semantics,aMaudemodulede?nesaprecisemathematicalmodel.Thismeans that Maude and its formal tool environment can be used in three, mutually reinforcing ways: • as a declarative programming language; • as an executable formal speci?cation language; and • as a formal veri?cation system. Maude’s rewriting logic is simple, yet very expressive. This gives Maude good representational capabilities as a semantic framework to formally represent a wide range of systems, including models of concurrency, distributed al- rithms, network protocols, semantics of programming languages, and models of cell biology. Rewriting logic is also an expressive universal logic,making Maude a ?exible logical framework in which many di?erent logics and - ference systems can be represented and mechanized. This makes Maude a useful metatool to build many other tools, including those in its own formal tool environment. Thanks to the logic’s simplicity and the use of advanced semi-compilation techniques, Maude has a high-performance implementation, making it competitive with other declarative programming languages.
Author(s): Manuel Clavel, Francisco Durán, Steven Eker, Patrick Lincoln, Narciso Martí-Oliet, José Meseguer, Carolyn Talcott (auth.)
Series: Lecture Notes in Computer Science 4350
Edition: 1
Publisher: Springer-Verlag Berlin Heidelberg
Year: 2007
Language: English
Pages: 802
Tags: Programming Techniques; Software Engineering; Programming Languages, Compilers, Interpreters; Artificial Intelligence (incl. Robotics); Mathematical Logic and Formal Languages
Front Matter....Pages -
Introduction....Pages 1-28
Front Matter....Pages 29-29
Using Maude....Pages 31-37
Syntax and Basic Parsing....Pages 39-59
Functional Modules....Pages 61-118
A Hierarchy of Data Types: From Trees to Sets....Pages 119-129
System Modules....Pages 131-157
Playing with Maude....Pages 159-184
Module Operations....Pages 185-230
Predefined Data Modules....Pages 231-305
Specifying Parameterized Data Structures in Maude....Pages 307-338
Object-Based Programming....Pages 339-372
Model Checking Invariants Through Search....Pages 373-384
LTL Model Checking....Pages 385-418
Reflection, Metalevel Computation, and Strategies....Pages 419-458
Metaprogramming Applications....Pages 459-483
Mobile Maude....Pages 485-522
User Interfaces and Metalanguage Applications....Pages 523-555
Front Matter....Pages 557-557
Full Maude: Extending Core Maude....Pages 559-597
Object-Oriented Modules....Pages 599-642
Front Matter....Pages 643-643
A Sampler of Application Areas....Pages 645-665
Front Matter....Pages 643-643
Some Tools....Pages 667-693
Front Matter....Pages 695-695
Debugging and Troubleshooting....Pages 697-736
Complete List of Maude Commands....Pages 737-749
Core Maude Grammar....Pages 751-756
Back Matter....Pages -