Results 1  10
of
34
Maude: Specification and Programming in Rewriting Logic
, 2001
"... Maude is a highlevel language and a highperformance system supporting executable specification and declarative programming in rewriting logic. Since rewriting logic contains equational logic, Maude also supports equational specification and programming in its sublanguage of functional modules and ..."
Abstract

Cited by 211 (66 self)
 Add to MetaCart
Maude is a highlevel language and a highperformance system supporting executable specification and declarative programming in rewriting logic. Since rewriting logic contains equational logic, Maude also supports equational specification and programming in its sublanguage of functional modules and theories. The underlying equational logic chosen for Maude is membership equational logic, that has sorts, subsorts, operator overloading, and partiality definable by membership and equality conditions. Rewriting logic is reflective, in the sense of being able to express its own metalevel at the object level. Reflection is systematically exploited in Maude endowing the language with powerful metaprogramming capabilities, including both userdefinable module operations and declarative strategies to guide the deduction process. This paper explains and illustrates with examples the main concepts of Maude's language design, including its underlying logic, functional, system and objectoriented modules, as well as parameterized modules, theories, and views. We also explain how Maude supports reflection, metaprogramming and internal strategies. The paper outlines the principles underlying the Maude system implementation, including its semicompilation techniques. We conclude with some remarks about applications, work on a formal environment for Maude, and a mobile language extension of Maude.
Building Equational Proving Tools by Reflection in Rewriting Logic
 In Cafe: An IndustrialStrength Algebraic Formal Method
, 1998
"... This paper explains the design and use of two equational proving tools, namely an inductive theorem prover  to prove theorems about equational specifications with an initial algebra semantics  and a ChurchRosser checkerto check whether such specifications satisfy the ChurchRosser property. ..."
Abstract

Cited by 41 (22 self)
 Add to MetaCart
This paper explains the design and use of two equational proving tools, namely an inductive theorem prover  to prove theorems about equational specifications with an initial algebra semantics  and a ChurchRosser checkerto check whether such specifications satisfy the ChurchRosser property. These tools can be used to prove properties of ordersorted equational specifications in Cafe [11] and of membership equational logic specifications in Maude [7, 6]. The tools have been written entirely in Maude and are in fact executable specifications in rewriting logic of the formal inference systems that they implement.
ZeroSafe Nets: Comparing the Collective and Individual Token Approaches
"... The main feature of zerosafe nets is a primitive notion of transition synchronization. To this aim, besides ordinary places, called stable places, zerosafe nets are equipped with zero places, which in an observable marking cannot contain any token. This yields the notion of transaction: a basic ..."
Abstract

Cited by 40 (20 self)
 Add to MetaCart
The main feature of zerosafe nets is a primitive notion of transition synchronization. To this aim, besides ordinary places, called stable places, zerosafe nets are equipped with zero places, which in an observable marking cannot contain any token. This yields the notion of transaction: a basic atomic computation, which may use zero tokens as triggers, but defines an evolution between observable markings only. The abstract counterpart of a generic zerosafe net B consists of an ordinary P/T net whose places are the stable places of B, and whose transitions represent the transactions of B. The two nets offer both the refined and the abstract model of the same system, where the former can be much smaller than the latter, because of the transition synchronization mechanism. Depending on the chosen approach  collective vs individual token philosophy  two notions of transaction may be defined, each leading to different operational and abstract models. Their comparison is fully dis...
Research Directions in Rewriting Logic
, 1998
"... Rewriting logic expresses an essential equivalence between logic and computation. System states are in bijective correspondence with formulas, and concurrent computations are in bijective correspondence with proofs. Given this equivalence between computation and logic, a rewriting logic axiom of the ..."
Abstract

Cited by 32 (12 self)
 Add to MetaCart
Rewriting logic expresses an essential equivalence between logic and computation. System states are in bijective correspondence with formulas, and concurrent computations are in bijective correspondence with proofs. Given this equivalence between computation and logic, a rewriting logic axiom of the form t \Gamma! t 0 has two readings. Computationally, it means that a fragment of a system 's state that is an instance of the pattern t can change to the corresponding instance of t 0 concurrently with any other state changes; logically, it just means that we can derive the formula t 0 from the formula t. Rewriting logic is entirely neutral about the structure and properties of the formulas/states t. They are entirely userdefinable as an algebraic data type satisfying certain equational axioms. Because of this ecumenical neutrality, rewriting logic has, from a logical viewpoint, good properties as a logical framework, in which many other logics can be naturally represented. And, computationally, it has also good properties as a semantic framework, in which many different system styles and models of concurrent computation and many different languages can be naturally expressed without any distorting encodings. The goal of this paper is to provide a relatively gentle introduction to rewriting logic, and to paint in broad strokes the main research directions that, since its introduction in 1990, have been pursued by a growing number of researchers in Europe, the US, and Japan. Key theoretical developments, as well as the main current applications of rewriting logic as a logical and semantic framework, and the work on formal reasoning to prove properties of specifications are surveyed.
Cartesian Closed Double Categories, their LambdaNotation, and the PiCalculus
, 1999
"... We introduce the notion of cartesian closed double category to provide mobile calculi for communicating systems with specific semantic models: One dimension is dedicated to compose systems and the other to compose their computations and their observations. Also, inspired by the connection between s ..."
Abstract

Cited by 22 (12 self)
 Add to MetaCart
We introduce the notion of cartesian closed double category to provide mobile calculi for communicating systems with specific semantic models: One dimension is dedicated to compose systems and the other to compose their computations and their observations. Also, inspired by the connection between simply typed calculus and cartesian closed categories, we define a new typed framework, called double notation, which is able to express the abstraction /application and pairing/projection operations in all dimensions. In this development, we take the categorical presentation as a guidance in the interpretation of the formalism. A case study of the ßcalculus, where the double  notation straightforwardly handles name passing and creation, concludes the presentation.
Internal Strategies in a Rewriting Implementation of Tile Systems
 Rewriting Logic and its Applications, volume 15 of Electronic Notes in Theoretical Computer Science. Elsevier Sciences
, 1998
"... Tile logic extends rewriting logic, taking into account rewriting with sideeffects and rewriting synchronization. Since rewriting logic is the semantic basis of several language implementation efforts, it is interesting to map tile logic back into rewriting logic in a conservative way, to obtain ex ..."
Abstract

Cited by 17 (11 self)
 Add to MetaCart
(Show Context)
Tile logic extends rewriting logic, taking into account rewriting with sideeffects and rewriting synchronization. Since rewriting logic is the semantic basis of several language implementation efforts, it is interesting to map tile logic back into rewriting logic in a conservative way, to obtain executable specifications of tile systems. The resulting implementation requires a metalayer to control the rewritings, so that only tile proofs are accepted. However, by exploiting the reflective capabilities of the Maude language, such metalayer can be specified as a kernel of internal strategies. It turns out that the required strategies are very general and can be reformulated in terms of search algorithms for nonconfluent systems equipped with a notion of success. We formalize such strategies, giving their detailed description in Maude, and showing their application to modeling uniform tile systems. 1 Introduction The evolution of a process in a concurrent system often depends on the ...
Maude as a Metalanguage
, 1998
"... One of the key goals of rewriting logic from its beginning has been to provide a semantic and logical framework in which many models of computation and languages can be naturally represented. There is by now very extensive evidence supporting the claim that rewriting logic is indeed a very flexible ..."
Abstract

Cited by 16 (3 self)
 Add to MetaCart
One of the key goals of rewriting logic from its beginning has been to provide a semantic and logical framework in which many models of computation and languages can be naturally represented. There is by now very extensive evidence supporting the claim that rewriting logic is indeed a very flexible and simple logical and semantic framework. From a language design point of view the obvious question to ask is: how can a rewriting logic language best support logical and semantic framework applications, so that it becomes a metalanguage in which a very wide variety of logics and languages can be both semantically defined, and implemented? Our answer is: by being reflective. This paper discusses our latest language design and implementation work on Maude as a reflective metalanguage in which entire environmentsincluding syntax definition, parsing, pretty printing, execution, and input/outputcan be defined for a language or logic L of choice. 1
Comparing Logics for Rewriting: Rewriting logic, action calculi and tile logic
 Theoretical Computer Science
, 2002
"... The large diffusion of concurrent and distributed systems has spawned in recent years a variety of new formalisms, equipped with features for supporting an easy specification of such systems. The aim of our paper is to analyze three proposals, namely rewriting logic, action calculi and tile logic, c ..."
Abstract

Cited by 15 (3 self)
 Add to MetaCart
(Show Context)
The large diffusion of concurrent and distributed systems has spawned in recent years a variety of new formalisms, equipped with features for supporting an easy specification of such systems. The aim of our paper is to analyze three proposals, namely rewriting logic, action calculi and tile logic, chosen among those formalisms designed for the description of rulebased systems. For each of these logics we first try to understand their foundations, then we briefly sketch some applications. The overall goal of our work is to find out a common layout where these logics can be recast, thus allowing for a comparison and an evaluation of their specific features.
Symmetric Monoidal and Cartesian Double Categories as a Semantic Framework for Tile Logic
 MATHEMATICAL STRUCTURES IN COMPUTER SCIENCE
, 2002
"... Tile systems offer a general paradigm for modular descriptions of concurrent systems, based on a set of rewriting rules with sideeffects. Monoidal double categories are a natural semantic framework for tile systems, because the mathematical structures describing system states and synchronizing acti ..."
Abstract

Cited by 14 (9 self)
 Add to MetaCart
Tile systems offer a general paradigm for modular descriptions of concurrent systems, based on a set of rewriting rules with sideeffects. Monoidal double categories are a natural semantic framework for tile systems, because the mathematical structures describing system states and synchronizing actions (called configurations and observations, respectively, in our terminology) are monoidal categories having the same objects (the interfaces of the system). In particular, configurations and observations based on netprocesslike and term structures are usually described in terms of symmetric monoidal and cartesian categories, where the auxiliary structures for the rearrangement of interfaces correspond to suitable natural transformations. In this paper we discuss the lifting of these auxiliary structures to double categories. We notice that the internal construction of double categories produces a pathological asymmetric notion of natural transformation, which is fully exploited in one dimension only (for example, for configurations or for observations, but not for both). Following Ehresmann (1963), we overcome this biased definition, introducing the notion of generalized natural transformation between four double functors (rather than two). As a consequence, the concepts of symmetric monoidal and cartesian (with consistently chosen products) double categories arise in a natural way from the corresponding ordinary versions, giving a very good relationship between the auxiliary structures of configurations and observations. Moreover, the Kelly–Mac Lane coherence axioms can be lifted to our setting without effort, thanks to the characterization of two suitable diagonal categories that are always present in a double category. Then, symmetric monoidal and cartesian double categories are shown to offer an adequate semantic setting for process and term tile systems.
Executable Tile Specifications for Process Calculi
, 1999
"... . Tile logic extends rewriting logic by taking into account sideeffects and rewriting synchronization. These aspects are very important when we model process calculi, because they allow us to express the dynamic interaction between processes and "the rest of the world". Since rewriting log ..."
Abstract

Cited by 14 (10 self)
 Add to MetaCart
. Tile logic extends rewriting logic by taking into account sideeffects and rewriting synchronization. These aspects are very important when we model process calculi, because they allow us to express the dynamic interaction between processes and "the rest of the world". Since rewriting logic is the semantic basis of several language implementation efforts, an executable specification of tile systems can be obtained by mapping tile logic back into rewriting logic, in a conservative way. However, a correct rewriting implementation of tile logic requires the development of a metalayer to control rewritings, i.e., to discard computations that do not correspond to any deduction in tile logic. We show how such methodology can be applied to term tile systems that cover and extend a wideclass of SOS formats for the specification of process calculi. The wellknown casestudy of full CCS, where the term tile format is needed to deal with recursion (in the form of the replicator operator), is di...