Results 1 -
5 of
5
Rewriting Logic Semantics: From Language Specifications to Formal Analysis Tools
- In Proceedings of the IJCAR 2004. LNCS
, 2004
"... Abstract. Formal semantic definitions of concurrent languages, when specified in a well-suited semantic framework and supported by generic and efficient formal tools, can be the basis of powerful software analysis tools. Such tools can be obtained for free from the semantic definitions; in our exper ..."
Abstract
-
Cited by 32 (8 self)
- Add to MetaCart
Abstract. Formal semantic definitions of concurrent languages, when specified in a well-suited semantic framework and supported by generic and efficient formal tools, can be the basis of powerful software analysis tools. Such tools can be obtained for free from the semantic definitions; in our experience in just the few weeks required to define a language’s semantics even for large languages like Java. By combining, yet distinguishing, both equations and rules, rewriting logic semantic definitions unify both the semantic equations of equational semantics (in their higher-order denotational version or their first-order algebraic counterpart) and the semantic rules of SOS. Several limitations of both SOS and equational semantics are thus overcome within this unified framework. By using a high-performance implementation of rewriting logic such as Maude, a language’s formal specification can be automatically transformed into an efficient interpreter. Furthermore, by using Maude’s breadth first search command, we also obtain for free a semi-decision procedure for finding failures of safety properties; and by using Maude’s LTL model checker, we obtain, also for free, a decision procedure for LTL properties of finite-state programs. These possibilities, and the competitive performance of the analysis tools thus obtained, are illustrated by means of a concurrent Caml-like language; similar experience with Java (source and JVM) programs is also summarized. 1
Implementing CCS in Maude 2
- Proceedings Fourth International Workshop on Rewriting Logic and its Applications, WRLA 2002
, 2002
"... This paper describes in detail how to bridge the gap between theory and practice in a new implementation of the CCS operational semantics in Maude, where transitions become rewrites and inference rules become conditional rewrite rules with rewrites in the conditions, as made possible by the new feat ..."
Abstract
-
Cited by 19 (5 self)
- Add to MetaCart
This paper describes in detail how to bridge the gap between theory and practice in a new implementation of the CCS operational semantics in Maude, where transitions become rewrites and inference rules become conditional rewrite rules with rewrites in the conditions, as made possible by the new features in Maude 2.0. We implement both the usual transition semantics and the weak transition semantics where internal actions are not observed, and on top of them we also implement the HennessyMilner modal logic for describing processes. We compare this implementation with a previous one where transitions become judgements and inference rules become rewrites, and also comment on extensions to the LOTOS language.
Executable Structural Operational Semantics in Maude
, 2003
"... This paper describes in detail how to bridge the gap between theory and practice when implementing in Maude structural operational semantics described in rewriting logic, where transitions become rewrites and inference rules become conditional rewrite rules with rewrites in the conditions, as mad ..."
Abstract
-
Cited by 11 (5 self)
- Add to MetaCart
This paper describes in detail how to bridge the gap between theory and practice when implementing in Maude structural operational semantics described in rewriting logic, where transitions become rewrites and inference rules become conditional rewrite rules with rewrites in the conditions, as made possible by the new features in Maude 2.0. We validate this technique using it in several case studies: a functional language Fpl (evaluation and computation semantics, including an abstract machine), imperative languages WhileL (evaluation and computation semantics) and GuardL with nondeterminism (computation semantics), Kahn's functional language Mini-ML (evaluation or natural semantics), Milner's CCS (with strong and weak transitions), and Full LOTOS (including ACT ONE data type specifications). In addition, on top of CCS we develop an implementation of the Hennessy-Milner modal logic for describing local capabilities of processes, and for LOTOS we build an entire tool where Full LOTOS specifications can be entered and executed (without user knowledge of the underlying implementation of the semantics). We also compare this method based on transitions as rewrites with another one based on transitions as judgements.
A Causal Semantics for CCS via Rewriting Logic
- Theoretical Computer Science
, 2000
"... We consider two operational semantics for ccs dened in the literature: the rst exploits Proved Transition Systems (pts) and the second Rewriting Logic (rl). We show that the interleaving interpretation of both semantics agree, in that they dene the same transitions and exhibit the same nondeterminis ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
We consider two operational semantics for ccs dened in the literature: the rst exploits Proved Transition Systems (pts) and the second Rewriting Logic (rl). We show that the interleaving interpretation of both semantics agree, in that they dene the same transitions and exhibit the same nondeterministic structure. In addition, we study causality in ccs computations. We recall its treatment via pts, exhibiting the notion of causality presented in the literature, and we show how to recast it in the rl semantics via suitable axioms. Also in this case, the two semantics agree. Contents 1 Introduction 2 2 Some notions on Process Algebras 3 2.1 The Calculus of Communicating Systems 4 2.2 Proved Transition System 6 2.3 Causality and Concurrency 7 ? Research partly supported by the Italian CNR Progetto Strategico Modelli e Metodi per la Matematica e l'Ingegneria and MURST Progetto Tecniche Formali per la Specica, l'Analisi, la Verica, la Sintesi e la Trasformazione di Sistemi Software. ...
Executing and Verifying CCS in Maude
- Dpto. Sistemas Informaticos y Programacion, Universidad Complutense de
, 2002
"... We explore the features of rewriting logic and, in particular, of the rewriting logic language Maude as a logical and semantic framework for representing and executing inference systems. In order to illustrate the general ideas, we have represented both the semantics of Milner's CCS and a modal logi ..."
Abstract
-
Cited by 6 (6 self)
- Add to MetaCart
We explore the features of rewriting logic and, in particular, of the rewriting logic language Maude as a logical and semantic framework for representing and executing inference systems. In order to illustrate the general ideas, we have represented both the semantics of Milner's CCS and a modal logic for describing local capabilities of CCS processes. Although a rewriting logic representation of the CCS semantics was given previously, it cannot be directly executed in the current default interpreter of Maude. Moreover, it cannot be used to answer questions such as which are the successors of a process after performing an action, which is used to dene the semantics of Hennessy-Milner modal logic. Basically, the problems are the existence of new variables in the righthand side of the rewrite rules and the nondeterministic application of the semantic rules, inherent to CCS. We show how these problems can be solved in a general, not CCS dependent way by exploiting the reective properties of rewriting logic, which allow controlling the rewriting process. We also show how the semantics can be extended to traces of actions and to the CCS weak transition relation. This executable specication plus the reective control of the rewriting process can be used to analyze CCS processes.

