Results 1  10
of
17
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 64 (0 self)
 Add to MetaCart
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.
Games and full abstraction for nondeterministic languages
, 1999
"... Abstract Nondeterminism is a pervasive phenomenon in computation. Often it arises as an emergent property of a complex system, typically as the result of contention for access to shared resources. In such circumstances, we cannot always know, in advance, exactly what will happen. In other circumstan ..."
Abstract

Cited by 31 (3 self)
 Add to MetaCart
Abstract Nondeterminism is a pervasive phenomenon in computation. Often it arises as an emergent property of a complex system, typically as the result of contention for access to shared resources. In such circumstances, we cannot always know, in advance, exactly what will happen. In other circumstances, nondeterminism is explicitly introduced as a means of abstracting away from implementation details such as precise command scheduling and control flow. However, the kind of behaviours exhibited by nondeterministic computations can be extremely subtle in comparison to those of their deterministic counterparts and reasoning about such programs is notoriously tricky as a result. It is therefore important to develop semantic tools to improve our understanding of, and aid our reasoning about, such nondeterministic programs. In this thesis, we extend the framework of game semantics to encompass nondeterministic computation. Game semantics is a relatively recent development in denotational semantics; its main novelty is that it views a computation not as a static entity, but rather as a dynamic process of interaction. This perspective makes the theory wellsuited to modelling many aspects of computational processes: the original use of game semantics in modelling the simple functional language PCF has subsequently been extended to handle more complex control structures such as references and continuations.
Adequacy for algebraic effects
 In 4th FoSSaCS
, 2001
"... We present a logic for algebraic effects, based on the algebraic representation of computational effects by operations and equations. We begin with the acalculus, a minimal calculus which separates values, effects, and computations and thereby canonises the order of evaluation. This is extended to ..."
Abstract

Cited by 30 (16 self)
 Add to MetaCart
We present a logic for algebraic effects, based on the algebraic representation of computational effects by operations and equations. We begin with the acalculus, a minimal calculus which separates values, effects, and computations and thereby canonises the order of evaluation. This is extended to obtain the logic, which is a classical firstorder multisorted logic with higherorder value and computation types, as in Levy’s callbypushvalue, a principle of induction over computations, a free algebra principle, and predicate fixed points. This logic embraces Moggi’s computational λcalculus, and also, via definable modalities, HennessyMilner logic, and evaluation logic, though Hoare logic presents difficulties. 1
Erratic Fudgets: A Semantic Theory for an Embedded Coordination Language
 SCIENCE OF COMPUTER PROGRAMMING
, 2003
"... The powerful abstraction mechanisms of functional programming languages provide the means to develop domainspecific programming languages within the language itself. Typically, this is realised by designing a set of combinators (higherorder reusable programs) for an application area, and by constr ..."
Abstract

Cited by 20 (3 self)
 Add to MetaCart
The powerful abstraction mechanisms of functional programming languages provide the means to develop domainspecific programming languages within the language itself. Typically, this is realised by designing a set of combinators (higherorder reusable programs) for an application area, and by constructing individual applications by combining and coordinating individual combinators. This paper is concerned with a successful example of such an embedded programming language, namely Fudgets, a library of combinators for building graphical user interfaces in the lazy functional language Haskell. The Fudget library has been used to build a number of substantial applications, including a web browser and a proof editor interface to a proof checker for constructive type theory. This paper develops a semantic theory for the nondeterministic stream processors that are at the heart of the Fudget concept. The interaction of two features of stream processors makes the development of such a semantic theory problematic: (i) the sharing of computation provided by the lazy evaluation mechanism of the underlying host language, and (ii) the addition of nondeterministic choice needed to handle the natural concurrency that reactive applications entail We demonstrate that this combination of features in a higherorder functional language can be tamed to provide a tractable semantic theory and induction principles suitable for reasoning about contextual equivalence of Fudgets.
Filter Models for ConjunctiveDisjunctive λcalculi
, 1996
"... The distinction between the conjunctive nature of nondeterminism as opposed to the disjunctive character of parallelism constitutes the motivation and the starting point of the present work. λcalculus is extended with both a nondeterministic choice and a parallel operator; a notion of reduction i ..."
Abstract

Cited by 12 (6 self)
 Add to MetaCart
The distinction between the conjunctive nature of nondeterminism as opposed to the disjunctive character of parallelism constitutes the motivation and the starting point of the present work. λcalculus is extended with both a nondeterministic choice and a parallel operator; a notion of reduction is introduced, extending fireduction of the classical calculus. We study type assignment systems for this calculus, together with a denotational semantics which is initially defined constructing a set semimodel via simple types. We enrich the type system with intersection and union types, dually reflecting the disjunctive and conjunctive behaviour of the operators, and we build a filter model. The theory of this model is compared both with a Morrisstyle operational semantics and with a semantics based on a notion of capabilities.
Must Preorder in NonDeterministic Untyped λcalculus
 IN CAAP '92, VOLUME 581 OF LNCS
, 1992
"... This paper studies the interplay between functional application and nondeterministic choice in the context of untyped λcalculus. We introduce an operational semantics which is based on the idea of must preorder, coming from the theory of process algebras. To characterize this relation, we build a ..."
Abstract

Cited by 11 (1 self)
 Add to MetaCart
This paper studies the interplay between functional application and nondeterministic choice in the context of untyped λcalculus. We introduce an operational semantics which is based on the idea of must preorder, coming from the theory of process algebras. To characterize this relation, we build a model using the classical inverse limit construction, and we prove it fully abstract using a generalization of Böhm trees.
A game semantics of Idealized CSP
 Seventeenth Conference on Mathematical Foundations of Programming Semantics, MFPS ’01, volume 45 of Electronic notes in Theoretical Computer Science
, 2001
"... A games semantics is described for a typed functional language which includes primitives for parallel composition and for synchronous communication on private channels. The semantics is based on a category obtained by extending "HylandOng games" with a representation of multiple threads of control ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
A games semantics is described for a typed functional language which includes primitives for parallel composition and for synchronous communication on private channels. The semantics is based on a category obtained by extending "HylandOng games" with a representation of multiple threads of control using "concurrency pointers" which express a new kind of causality relation between moves. The semantics is proved to be fully abstract for "channelfree" types with respect to a mayandmust equivalence for the finitary fragment, and with respect to mayequivalence for the whole language, using factorization results to reduce definability to the sequential case.
NonDeterministic Extensions of Untyped λcalculus
 INFO. AND COMP
, 1995
"... The main concern of this paper is the study of the interplay between functionality and non determinism. Indeed the first question we ask is whether the analysis of parallelism in terms of sequentiality and non determinism, which is usual in the algebraic treatment of concurrency, remains correct in ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
The main concern of this paper is the study of the interplay between functionality and non determinism. Indeed the first question we ask is whether the analysis of parallelism in terms of sequentiality and non determinism, which is usual in the algebraic treatment of concurrency, remains correct in presence of functional application and abstraction. We identify non determinism in the setting of λcalculus with the absence of the ChurchRosser property plus the inconsistency of the equational theory obtained by the symmetric closure of the reduction relation. We argue in favour of a distinction between non determinism and parallelism, due to the conjunctive nature of the former in contrast to the disjunctive character of the latter. This is the basis of our analysis of the operational and denotational semantics of non deterministiccalculus, which is the classical calculus plus a choice operator, and of our election of bounded indeterminacy as the semantical counterpart of conjunctive non determinism. This leads to operational semantics based on...
A Semantics for Static Type Inference in a Nondeterministic Language
, 1994
"... Plotkin used the models of reduction in order to obtain a semantic characterization of static type inference in the pure calculus. Here we apply these models to the study of a nondeterministic language, obtaining results analogous to Plotkin's. 1 Introduction The models of reduction are a generali ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
Plotkin used the models of reduction in order to obtain a semantic characterization of static type inference in the pure calculus. Here we apply these models to the study of a nondeterministic language, obtaining results analogous to Plotkin's. 1 Introduction The models of reduction are a generalization of the usual syntactic models for the pure calculus (see [Plo92] and the references therein). If a term M reduces to a term N then its interpretation in a model of reduction is "smaller than" or equal to the interpretation of N (and not necessarily equal as in models). Plotkin obtained a series of soundness and completeness results for static type inference with respect to models of reduction. With type inference in mind, it seems natural that M and N be interpreted differently, since it may be possible to infer a type for N but not for M . The study of nondeterministic languages gives rise to an alternative motivation for considering models of reduction. In nondeterministic lang...
A Filter Model for Concurrent λCalculus
 SIAM J. Comput
, 1998
"... Type free lazy calculus is enriched with angelic parallelism and demonic nondeterminism. Callbyname and callbyvalue abstractions are considered and the operational semantics is stated in terms of a must convergence predicate. We introduce a type assignment system with intersection and union typ ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
Type free lazy calculus is enriched with angelic parallelism and demonic nondeterminism. Callbyname and callbyvalue abstractions are considered and the operational semantics is stated in terms of a must convergence predicate. We introduce a type assignment system with intersection and union types and we prove that the induced logical semantics is fully abstract.