Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
2004, The Journal of Logic and Algebraic Programming
…
15 pages
1 file
I am delighted to see my Aarhus notes [60] on SOS, Structural Operational Semantics, published as part of this special issue. The notes already contain some historical remarks, but the reader may be interested to know more of the personal intellectual context in which they arose. I must straightaway admit that at this distance in time I do not claim total accuracy or completeness: what I write should rather be considered as a reconstruction, based on (possibly faulty) memory, papers, old notes and consultations with colleagues.
Algebraic Methodology and Software Technology, 2002
Modular SOS is a recently-developed variant of Plotkin's Structural Operational Semantics (SOS) framework. It has several pragmatic advantages over the original framework-the most significant being that rules specifying the semantics of individual language constructs can be given definitively, once and for all. Modular SOS is being used for teaching operational semantics at the undergraduate level. For this purpose, the meta-notation for modular SOS rules has been made more user-friendly, and derivation of computations according to the rules is simulated using Prolog. After giving an overview of the foundations of Modular SOS, this paper gives some illustrative examples of the use of the framework, and discusses various pragmatic aspects.
Electronic Notes in Theoretical Computer Science, 2009
In contrast to a transition system specification in process algebra, a structural operational semantics (SOS) of a programming language usually involves auxiliary entities: stores, environments, etc. When specifying SOS rules, particular auxiliary entities often need to be propagated unchanged between premises and conclusions. The standard technique is to make such propagation explicit, using variables. However, referring to all entities that need to be propagated unchanged in each rule can be tedious, and it hinders direct reuse of rules in different language descriptions. This paper proposes a new interpretation of SOS rules, such that each auxiliary entity is implicitly propagated in all rules in which it is not mentioned. The main benefits include significant notational simplification of SOS rules and much-improved reusability. This new interpretation of SOS rules is based on the same foundations as Modular SOS, but avoids the notational overhead of grouping auxiliary entities together in labels. After motivating and explaining implicit propagation, the paper considers the foundations of SOS and Modular SOS specifications, and defines the meaning of SOS specifications with implicit propagation by translating them to Modular SOS. It then shows how implicit propagation can simplify various rules found in the SOS literature.
Electronic Notes in Theoretical Computer Science, 2007
The paper describes a language consisting of two layers, terms and computation rules, whose operational semantics is given in terms of two relations: simplification and computation. Simplification is induced by confluent rewriting on terms. Computation is induced by chemical reactions, like those in the Join-calculus. The language can serve as metalanguage for defining the operational semantics of other languages. This is demonstrated by defining encodings of several calculi (representing idealized programming languages).
Journal of Logic and Algebraic Programming, 2004
Using MSOS, the transition rules for each construct of a programming language can be given incrementally, once and for all, and do not need reformulation when further constructs are added to the language. MSOS thus provides an exceptionally high degree of modularity in language descriptions, removing a shortcoming of the original SOS framework.
Electronic Notes in Theoretical Computer Science, 2007
Strategies are a powerful mechanism to control rule application in rule-based systems. For instance, different transition relations can be defined and then combined by means of strategies, giving rise to an effective tool to define the semantics of programming languages. We have endowed the Maude MSOS Tool (MMT), an executable environment for modular structural operational semantics, with the possibility of defining strategies over its transition rules, by combining MMT with the Maude strategy language interpreter prototype. The combination was possible due to Maude's reflective capabilities. One possible use of MMT with strategies is to execute Ordered SOS specifications. We show how a particular form of strategy can be defined to represent an OSOS order and therefore execute, for instance, SOS specifications with negative premises. In this context, we also discuss how two known techniques for the representation of negative premises in OSOS become simplified in our setting.
Proceedings of Twelfth Annual IEEE Symposium on Logic in Computer Science
We present a categorical theory of 'well-behaved' operational semantics which aims at complementing the established theory of domains and denotational semantics to form a coherent whole. It is shown that, if the operational rules of a programming language can be modelled as a natural transformation of a suitable general form, depending on functorial notions of syntax and behaviour, then one gets the following for free: an operational model satisfying the rules and a canonical, internally fully abstract denotational model which satisfies the operational rules. The theory is based on distributive laws and bialgebras; it specialises to the known classes of well-behaved rules for structural operational semantics, such as GSOS.
Journal of Functional Programming, 1998
In this paper we give a big-step Structured Operational Semantics (SOS), in the style of Plotkin, Kahn and Milner, of a significant fragment of the functional programming language Scheme, including quote, eval, quasiquote and unquote. The SOS formalism allows us to discuss incrementally the various features of the language and to keep a low mathematical overhead, thus producing a rigorous account of the semantics of a ‘real’ programming language, which nonetheless has a pedagogical value. More specifically, we formalize four strictly increasing fragments of Scheme, using a number of formal systems which express the evaluation of expressions, the display of output results, and the handling of errors.
Proceedings of Joint 4th International Computer Science Conference and 4th Asia Pacific Software Engineering Conference
SOFL (Structured-Object-Based-Formal Language) is a formal language and method for practical systems development. As a language, it integrates data ow diagrams, VDM-SL, and Petri nets to provide a graphical and textural formal notation for speci cation construction. Previous publications introducing SOFL are based on its informal semantics. In this paper, we provide a formal operational semantics which gives a rm foundation for consistent understanding and application of SOFL in practical systems development. Development of the semantics, and application of SOFL to practical systems, have led to some changes in the original de nitions. This formal semantics will serve as a rm foundation for building an e ective support environment for SOFL.
… SERIES-UNIVERSITY OF NEWCASTLE UPON TYNE …, 2003
This paper presents a method to describe the operational semantics of languages based on their meta-model. We combine the established high-level modelling languages MOF, OCL, and UML activities to create language models that cover abstract syntax, runtime configurations, and the behaviour of runtime elements. The method allows graphical and executable language models. These models are easy to read by humans and are formal enough to be processed in a generic model interpreter. We use Petri-nets as a running example to explain the method. The paper further proposes design patterns for common language concepts. The presented method was applied to the existing modelling language SDL to examine its applicability.
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.
Lecture Notes in Computer Science, 1994
Electronic Notes in Theoretical Computer Science, 2011
Fundamenta Informaticae, 2010
Journal of Logical and Algebraic Methods in Programming, 2019
Arxiv preprint arXiv:0811.4367, 2008
Fundamenta Informaticae, 2004
Future Generation Computer Systems, 2000
Mathematical Foundations of Programming Semantics, 1992
Theoretical Computer Science, 1994
Clei Electronic Journal, 2009
Mathematical Foundations of Programming Semantics, 1994
Information Processing Letters, 2005
Proceedings of the 8th conference on Computational linguistics -, 1980
Communications in Computer and Information Science, 2016
Electronic Notes in Theoretical Computer Science, 2009
Theoretical Computer Science, 2007