Results 1  10
of
12
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
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 23 (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
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.
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.
Making Choices Lazily
 Proc. FPCA'95, ACM
, 1995
"... We present a natural semantics that models the untyped, normal order calculus plus McCarthy's amb in the context of callbyneed parameter passing. This results in a singular semantics for amb. Previous work on singular choice has concentrated on erratic choice, a less interesting nondeterministic ..."
Abstract

Cited by 8 (3 self)
 Add to MetaCart
We present a natural semantics that models the untyped, normal order calculus plus McCarthy's amb in the context of callbyneed parameter passing. This results in a singular semantics for amb. Previous work on singular choice has concentrated on erratic choice, a less interesting nondeterministic choice operator, and only in relation to callby value parameter passing, or callbyname restricted to deterministic terms. The natural semantics contains rules for both convergent and divergent behaviour, allowing it to distinguish programs that dier only in their divergent behaviour. As a result, it is more discriminating than current domaintheoretic models. This, and the fact that it models singular amb, makes the natural semantics suitable for reasoning about lazy, functional languages containing McCarthy's amb. 1 Introduction The need for nondeterminism in functional programming is apparent. There are parallel algorithms that are inherently nondeterministic, deterministic para...
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...
Singular and Plural Nondeterministic Parameters
, 1997
"... : The article defines algebraic semantics of singular (calltimechoice) and plural (runtimechoice) nondeterministic parameter passing and presents a specification language in which operations with both kinds of parameters simultaneously can be defined. Sound and complete calculi for both semantic ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
: The article defines algebraic semantics of singular (calltimechoice) and plural (runtimechoice) nondeterministic parameter passing and presents a specification language in which operations with both kinds of parameters simultaneously can be defined. Sound and complete calculi for both semantics are introduced. We study the relations between the two semantics and point out that axioms for operations with plural arguments may be considered as axiom schemata for operations with singular arguments. Keywords: algebraic specification, manysorted algebra, nondeterminism, sequent calculus. AMS classifications: 68Q65, 68Q60, 68Q10, 68Q55, 03B60, 08A70. 1. Introduction The notion of nondeterminism arises naturally in describing concurrent systems. Various approaches to the theory and specification of such systems, for instance, CCS [16], CSP [9], process algebras [1], event structures [26], include the phenomenon of nondeterminism. But nondeterminism is also a natural concept in descr...
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.