Results 1  10
of
25
The origins of structural operational semantics
 Journal of Logic and Algebraic Programming
, 2004
"... We review the origins of structural operational semantics. The main publication ‘A Structural Approach to Operational Semantics, ’ also known as the ‘Aarhus Notes, ’ appeared in 1981 [G.D. Plotkin, A structural approach to operational semantics, DAIMI FN19, Computer Science Department, Aarhus Unive ..."
Abstract

Cited by 82 (0 self)
 Add to MetaCart
(Show Context)
We review the origins of structural operational semantics. The main publication ‘A Structural Approach to Operational Semantics, ’ also known as the ‘Aarhus Notes, ’ appeared in 1981 [G.D. Plotkin, A structural approach to operational semantics, DAIMI FN19, Computer Science Department, Aarhus University, 1981]. The development of the ideas dates back to the early 1970s, involving many people and building on previous work on programming languages and logic. The former included abstract syntax, the SECD machine, and the abstract interpreting machines of the Vienna school; the latter included the λcalculus and formal systems. The initial development of structural operational semantics was for simple functional languages, more or less variations of the λcalculus; after that the ideas were gradually extended to include languages with parallel features, such as Milner’s CCS. This experience set the ground for a more systematic exposition, the subject of an invited course of lectures at Aarhus University; some of these appeared in print as the 1981 Notes. We discuss the content of these lectures and some related considerations such as ‘small state’ versus ‘grand state, ’ structural versus compositional semantics, the influence of the Scott–Strachey approach to denotational semantics, the treatment of recursion and jumps, and static semantics. We next discuss relations with other work and some immediate further development. We conclude with an account of an old, previously unpublished, idea: an alternative, perhaps more readable, graphical presentation of systems of rules for operational semantics.
Mechanizing Programming Logics in Higher Order Logic
 in Current Trends in Hardware Verification and Automated Theorem Proving, ed. P.A. Subrahmanyam and Graham Birtwistle
, 1989
"... Formal reasoning about computer programs can be based directly on the semantics of the programming language, or done in a special purpose logic like Hoare logic. The advantage of the first approach is that it guarantees that the formal reasoning applies to the language being used (it is well known, ..."
Abstract

Cited by 61 (3 self)
 Add to MetaCart
Formal reasoning about computer programs can be based directly on the semantics of the programming language, or done in a special purpose logic like Hoare logic. The advantage of the first approach is that it guarantees that the formal reasoning applies to the language being used (it is well known, for example, that Hoare’s assignment axiom fails to hold for most programming languages). The advantage of the second approach is that the proofs can be more direct and natural. In this paper, an attempt to get the advantages of both approaches is described. The rules of Hoare logic are mechanically derived from the semantics of a simple imperative programming language (using the HOL system). These rules form the basis for a simple program verifier in which verification conditions are generated by LCFstyle tactics whose validations use the derived Hoare rules. Because Hoare logic is derived, rather than postulated, it is straightforward to mix semantic and axiomatic reasoning. It is also straightforward to combine the constructs of Hoare logic with other applicationspecific notations. This is briefly illustrated for various logical constructs, including termination statements, VDMstyle ‘relational’ correctness specifications, weakest precondition statements and dynamic logic formulae. The theory underlying the work presented here is well known. Our contribution is to propose a way of mechanizing this theory in a way that makes certain practical details work out smoothly.
Proving Concurrent Constraint Programs Correct
, 1994
"... We develop a compositional proofsystem for the partial correctness of concurrent constraint programs. Soundness and (relative) completeness of the system are proved with respect to a denotational semantics based on the notion of strongest postcondition. The strongest postcondition semantics provide ..."
Abstract

Cited by 59 (13 self)
 Add to MetaCart
We develop a compositional proofsystem for the partial correctness of concurrent constraint programs. Soundness and (relative) completeness of the system are proved with respect to a denotational semantics based on the notion of strongest postcondition. The strongest postcondition semantics provides a justification of the declarative nature of concurrent constraint programs, since it allows to view programs as theories in the specification logic. 1 Introduction Concurrent constraint programming ([24, 25, 26]) (ccp, for short) is a concurrent programming paradigm which derives from replacing the storeasvaluation conception of von Neumann computing by the storeas constraint model. Its computational model is based on a global store, represented by a constraint, which expresses some partial information on the values of the variables involved in the computation. The concurrent execution of different processes, which interact through the common store, refines the partial information of...
Algebraic Approaches to Nondeterminism  an Overview
 ACM Computing Surveys
, 1997
"... this paper was published as Walicki, M.A. and Meldal, S., 1995, Nondeterministic Operators in Algebraic Frameworks, Tehnical Report No. CSLTR95664, Stanford University ..."
Abstract

Cited by 24 (3 self)
 Add to MetaCart
this paper was published as Walicki, M.A. and Meldal, S., 1995, Nondeterministic Operators in Algebraic Frameworks, Tehnical Report No. CSLTR95664, Stanford University
Parametric limits, in
 Proc. 19th Ann. IEEE Symp. on Logic in Comp. Sci., IEEE
"... We develop a categorical model of polymorphic lambda calculi using a notion called parametric limits, which extend the notion of limits in categories to reexive graphs of categories. We show that a number of parametric models of polymorphism can be captured in this way. We also axiomatize the struc ..."
Abstract

Cited by 11 (5 self)
 Add to MetaCart
(Show Context)
We develop a categorical model of polymorphic lambda calculi using a notion called parametric limits, which extend the notion of limits in categories to reexive graphs of categories. We show that a number of parametric models of polymorphism can be captured in this way. We also axiomatize the structure of re
exive graphs needed for modelling parametric polymorphism based on ideas of brations, and show that it leads to proofs of representation results such as the initial algebra and nal coalgebra properties one expects in polymorphic lambda calculi.
Soundness of Data Refinement for a Higher Order Imperative Language
, 1999
"... Using a settheoretic model of predicate transformers and ordered data types, we give a semantics for an Oberonlike higher order imperative language with record subtyping and proceduretype variables and parameters. Data refinement is shown to be sound for this language: It implies algorithmic refi ..."
Abstract

Cited by 10 (4 self)
 Add to MetaCart
Using a settheoretic model of predicate transformers and ordered data types, we give a semantics for an Oberonlike higher order imperative language with record subtyping and proceduretype variables and parameters. Data refinement is shown to be sound for this language: It implies algorithmic refinement when suitably localized. And all constructs are shown to preserve simulation, so data refinement can be carried out piecewise.
Relating Multifunctions and Predicate Transformers through Closure Operators
 of Lecture Notes in Computer Science
, 1994
"... . We study relations between predicate transformers and multifunctions in a topological setting based on closure operators. We give topological definitions of safety and liveness predicates and using these predicates we define predicate transformers. State transformers are multifunctions with values ..."
Abstract

Cited by 5 (3 self)
 Add to MetaCart
(Show Context)
. We study relations between predicate transformers and multifunctions in a topological setting based on closure operators. We give topological definitions of safety and liveness predicates and using these predicates we define predicate transformers. State transformers are multifunctions with values in the collection of fixed points of a closure operator. We derive several isomorphisms between predicate transformers and multifunctions. By choosing different closure operators we obtain multifunctions based on the usual power set construction, on the Hoare, Smyth and Plotkin power domains, and based on the compact and closed metric power constructions. Moreover, they are all related by isomorphisms to the predicate transformers. 1 Introduction There are (at least) two different ways of assigning a denotational semantics to a programming language: forward or backward. A typical forward semantics is a semantics that models a program as a function from initial states to final states. In th...
Isomorphisms between Predicate and State Transformers
 In Proc., MFCS '93, Springer LNCS 711
, 1993
"... We study the relation between state transformers based on directed complete partial orders and predicate transformers. Concepts like `predicate', `liveness', `safety' and `predicate transformers' are formulated in a topological setting. We treat state transformers based on the Ho ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
(Show Context)
We study the relation between state transformers based on directed complete partial orders and predicate transformers. Concepts like `predicate', `liveness', `safety' and `predicate transformers' are formulated in a topological setting. We treat state transformers based on the Hoare, Smyth and Plotkin powerdomains and consider continuous, monotonic and unrestricted functions. We relate the transformers by isomorphisms thereby extending and completing earlier results and giving a complete picture of all the relationships.
Relating State Transformation Semantics and Predicate Transformer Semantics for Parallel Programs
, 1993
"... A state transformation semantics and a predicate transformer semantics for programs built from atomic actions, sequential composition, nondeterministic choice, parallel composition, atomisation, and recursion are presented. Both semantic models are derived from some SOSstyle labelled transition sys ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
(Show Context)
A state transformation semantics and a predicate transformer semantics for programs built from atomic actions, sequential composition, nondeterministic choice, parallel composition, atomisation, and recursion are presented. Both semantic models are derived from some SOSstyle labelled transition system. The state transformation semantics and the predicate transformer semantics are shown to be isomorphic extending results of Plotkin and Best. AMS Subject Classification (1991): 68Q55 CR Subject Classification (1991): D.3.1, F.3.2 Keywords & Phrases: state transformation, predicate transformer, isomorphism, labelled transition system, parallelism Note: This work was partially supported by the Netherlands Nationale Faciliteit Informatica programme, project Research and Education in Concurrent Systems (REX).
On the Semantics of Refinement Calculi
, 2000
"... Refinement calculi for imperative programs provide an integrated framework for programs and specifications and allow one to develop programs from specifications in a systematic fashion. The semantics of these calculi has traditionally been de ned in terms of predicate transformers and poses several ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
Refinement calculi for imperative programs provide an integrated framework for programs and specifications and allow one to develop programs from specifications in a systematic fashion. The semantics of these calculi has traditionally been de ned in terms of predicate transformers and poses several challenges in defining a state transformer semantics in the denotational style. We de ne a novel semantics in terms of sets of state transformers and prove it to be isomorphic to positively multiplicative predicate transformers. This semantics disagrees with the traditional semantics in some places and the consequences of the disagreement are analyzed.