2 research outputs found
Executable Structural Operational Semantics in Maude
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 Validation Environment for LOTOS
This paper presents a set of mutually integrated tools that have been developed at the University of Ottawa for the validation of LOTOS specifications. This set includes a step-by-step interactive executor, similar to HIPPO [vE89], but with additional features related to those of SMILE [EW92], a behavior graph generator having features similar to those of LOLA [QFP88], and a CTL model checker. We show how the features of the toolkit can be used to validate specifications, with emphasis on the use of the model-checker