Results 1 
8 of
8
The rewriting logic semantics project
 University of Illinois at UrbanaChampaign
, 2005
"... Rewriting logic is a flexible and expressive logical framework that unifies algebraic denotational semantics and structural operational semantics (SOS) in a novel way, avoiding their respective limitations and allowing succinct semantic definitions. The fact that a rewrite logic theory’s axioms incl ..."
Abstract

Cited by 59 (15 self)
 Add to MetaCart
(Show Context)
Rewriting logic is a flexible and expressive logical framework that unifies algebraic denotational semantics and structural operational semantics (SOS) in a novel way, avoiding their respective limitations and allowing succinct semantic definitions. The fact that a rewrite logic theory’s axioms include both equations and rewrite rules provides a useful “abstraction dial ” to find the right balance between abstraction and computational observability in semantic definitions. Such semantic definitions are directly executable as interpreters in a rewriting logic language such as Maude, whose generic formal tools can be used to endow those interpreters with powerful program analysis capabilities. Key words: Semantics and analysis of programming languages, rewriting logic 1
A K Definition of Scheme ⋆
"... Abstract. This paper presents an executable rewriting logic semantics of R 5 RS Scheme using the K definitional technique [19]. We refer to this definition as KScheme. The presented semantics follows the K language definitional style but is almost entirely equational. It can also be regarded as a d ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
(Show Context)
Abstract. This paper presents an executable rewriting logic semantics of R 5 RS Scheme using the K definitional technique [19]. We refer to this definition as KScheme. The presented semantics follows the K language definitional style but is almost entirely equational. It can also be regarded as a denotational specification with an initial model semantics of Scheme. Equational specifications can be executed on common rewrite engines, provided that equations are oriented into rewrite rules, typically from lefttoright. The rewriting logic semantics in this paper is the most complete formal definition of Scheme that we are aware of, in the sense that it provides definitions for more Scheme language features than any other similar attempts. The presented executable definition, KScheme, can serve as a platform for experimentation with variants and extensions of Scheme, for example concurrency. KScheme also serves to show the viability of K as a definitional framework for programming languages.
The rewriting logic semantics project: a progress report. In: Owe O, Steffen M, Telle J (eds) Fundamentals of computation theory, volume 6914 of lecture notes in computer science
, 2011
"... Abstract. Rewriting logic is an executable logical framework well suited for the semantic definition of languages. Any such framework has to be judged by its effectiveness to bridge the existing gap between language definitions on the one hand, and language implementations and language analysis tool ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
(Show Context)
Abstract. Rewriting logic is an executable logical framework well suited for the semantic definition of languages. Any such framework has to be judged by its effectiveness to bridge the existing gap between language definitions on the one hand, and language implementations and language analysis tools on the other. We give a progress report on how researchers in the rewriting logic semantics project are narrowing the gap between theory and practice in areas such as: modular semantic definitions of languages; scalability to real languages; support for real time; semantics of software and hardware modeling languages; and semanticsbased analysis tools such as static analyzers, model checkers, and program provers. 1
An Executable Rewriting Logic Semantics of KScheme, in: D. Dube (Ed
 Laval University
, 2007
"... This paper presents an executable rewriting logic semantics of KScheme, a dialect of Scheme based (partially) on the informal definition given in the R 5 RS report (Kelsey et al. 1998). The presented semantics follows the K language definitional style (Ros¸u 2005 and 2006) and is a pure rewriting l ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
This paper presents an executable rewriting logic semantics of KScheme, a dialect of Scheme based (partially) on the informal definition given in the R 5 RS report (Kelsey et al. 1998). The presented semantics follows the K language definitional style (Ros¸u 2005 and 2006) and is a pure rewriting logic specification (Meseguer 1992) containing 772 equations and 1 rewrite rule, so it can also be regarded as an algebraic denotational specification with an initial model semantics. Rewriting logic specifications can be executed on common (contextinsensitive) rewrite engines, provided that equations are oriented into rewrite rules, typically from lefttoright. While in theory rewriting logic specifications can let certain behaviors underspecified, thus allowing more models, in practice they need to completely specify all the desired behaviors if one wants to use their associated rewrite systems as “interpreters”, or “implementations”. To become executable, KScheme overspecifies certain features left undefined on purpose in R 5 RS. In spite of overspecifying for executability reasons, the rewriting logic semantics in this paper is the most complete formal definition of a language in the Scheme family that we are aware of, in the sense that it provides definitions for more Scheme language features than any other similar attempts. The presented executable definition of KScheme can serve as a platform for experimentation with variants and extensions of Scheme, for example concurrency. The Maude system is used in this paper, but other rewrite engines could have been used as well. Even though, on paper, K rewritebased definitions tend to be as compact and highlevel as reductionbased definitions with evaluation contexts, their complete translation in Maude as executable specifications is rather verbose and lowlevel. An automated translator from K to Maude is under development, which will reduce the size of definitions following the K style several times and will certainly increase their readability. The complete Maude specification is public, together with a webbased interface to “execute” KScheme programs without having to download Maude.
SOS 2005 Preliminary Version The Rewriting Logic Semantics Project
"... Rewriting logic is a flexible and expressive logical framework that unifies denotational semantics and SOS in a novel way, avoiding their respective limitations and allowing very succinct semantic definitions. The fact that a rewrite theory’s axioms include both equations and rewrite rules provide ..."
Abstract
 Add to MetaCart
(Show Context)
Rewriting logic is a flexible and expressive logical framework that unifies denotational semantics and SOS in a novel way, avoiding their respective limitations and allowing very succinct semantic definitions. The fact that a rewrite theory’s axioms include both equations and rewrite rules provides a very useful “abstraction knob ” to find the right balance between abstraction and observability in semantic definitions. Such semantic definitions are directly executable as interpreters in a rewriting logic language such as Maude, whose generic formal tools can be used to endow those interpreters with powerful program analysis capabilities.
An Equational Specification for the Scheme Language
"... Abstract. This work describes the formal semantics of SCHEME 1 as an equational theory in the MAUDE rewriting system. The semantics is based on continuations and is highly modular. We briefly investigate the relationship between our methodology for defining programming languages and other semantic f ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. This work describes the formal semantics of SCHEME 1 as an equational theory in the MAUDE rewriting system. The semantics is based on continuations and is highly modular. We briefly investigate the relationship between our methodology for defining programming languages and other semantic formalisms. We conclude by showing some performance results of the interpreter obtained for free from the executable specification. 1.
An Equational Specification for the Scheme Language
"... Abstract. This work describes the formal semantics of SCHEME 1 as an equational theory in the MAUDE rewriting system. The semantics is based on continuations and is highly modular. We briefly investigate the relationship between our methodology for defining programming languages and other semantic f ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. This work describes the formal semantics of SCHEME 1 as an equational theory in the MAUDE rewriting system. The semantics is based on continuations and is highly modular. We briefly investigate the relationship between our methodology for defining programming languages and other semantic formalisms. We conclude by showing some performance results of the interpreter obtained for free from the executable specification. 1.
Computational Logical Frameworks and Generic Program Analysis Technologies
"... The technologies developed to solve the verifying compiler grand challenge should be generic, that is, not tied to a particular language but widely applicable to many languages. Such technologies should also be semanticsbased, that is, based on a rigorous formal semantics of the languages. For this ..."
Abstract
 Add to MetaCart
(Show Context)
The technologies developed to solve the verifying compiler grand challenge should be generic, that is, not tied to a particular language but widely applicable to many languages. Such technologies should also be semanticsbased, that is, based on a rigorous formal semantics of the languages. For this, a computational logical framework with efficient executability and a spectrum of metatools can serve as a basis on which to: (1) define the formal semantics of any programming language; and (2) develop generic program analysis techniques and tools that can be instantiated to generate powerful analysis tools for each language of interest. Not all logical frameworks can serve such purposes well. We first list some specific requirements that we think are important to properly address the grand challenge. Then we present our experience with rewriting logic as supported by the Maude system and its formal tool environment. Finally, we discuss some future directions of research. 2 Logical Framework Requirements Based on experience, current trends, and the basic requirements of the grand challenge problem, we believe that any logical framework serving as a computational infrastructure for the various technologies for solving the grand challenge should have at least the following features: 1. good data representation capabilities, 2. support for concurrency and nondeterminism, 3. simplicity of the formalism, 1 4. efficient implementability, and efficient metatools, 5. support for reflection, 6. support for inductive reasoning, preferably with initial model semantics, 7. support for generation of proof objects, acting as correctness certificates. While proponents of a framework may claim that it has all these features, in some cases further analysis can show that it either lacks some of them, or can only “simulate ” certain features in a quite artificial way. A good example is the simulation/elimination of concurrency in inherently deterministic formalisms by implementing or defining thread/process scheduling algorithms. Another example might be the claim that the lambda calculus has good data representation capabilities because one can encode numbers as Church numerals.