Results 1 
6 of
6
Notions of Computation Determine Monads
 Proc. FOSSACS 2002, Lecture Notes in Computer Science 2303
, 2002
"... We give semantics for notions of computation, also called computational effects, by means of operations and equations. We show that these generate several of the monads of primary interest that have been used to model computational effects, with the striking omission of the continuations monad, demo ..."
Abstract

Cited by 54 (7 self)
 Add to MetaCart
We give semantics for notions of computation, also called computational effects, by means of operations and equations. We show that these generate several of the monads of primary interest that have been used to model computational effects, with the striking omission of the continuations monad, demonstrating the latter to be of a different character, as is computationally true. We focus on semantics for global and local state, showing that taking operations and equations as primitive yields a mathematical relationship that reflects their computational relationship.
Java Jr.: A fully abstract trace semantics for a core Java language
 In ESOP, volume 3444 of LNCS
, 2005
"... Abstract. We introduce an expressive yet semantically clean core Javalike language, Java Jr., and provide it with a formal operational semantics based on traces of observable actions which represent interaction across package boundaries. A detailed example based on the Observer Pattern is used to d ..."
Abstract

Cited by 23 (0 self)
 Add to MetaCart
Abstract. We introduce an expressive yet semantically clean core Javalike language, Java Jr., and provide it with a formal operational semantics based on traces of observable actions which represent interaction across package boundaries. A detailed example based on the Observer Pattern is used to demonstrate the intuitive character of the semantic model. We also show that our semantic trace equivalence is fullyabstract with respect to a natural notion of testing equivalence for object systems. This is the first such result for a full classbased OOlanguage with inheritance. 1
Functor Categories and TwoLevel Languages
 In Foundations of Software Science and Computation Structures (FoSSaCS
, 1998
"... We propose a denotational semantics for the twolevel language of [GJ91, Gom92], and prove its correctness w.r.t. a standard denotational semantics. Other researchers (see [Gom91, GJ91, Gom92, JGS93, HM94]) have claimed correctness for lambdamix (or extensions of it) based on denotational models, b ..."
Abstract

Cited by 15 (4 self)
 Add to MetaCart
We propose a denotational semantics for the twolevel language of [GJ91, Gom92], and prove its correctness w.r.t. a standard denotational semantics. Other researchers (see [Gom91, GJ91, Gom92, JGS93, HM94]) have claimed correctness for lambdamix (or extensions of it) based on denotational models, but the proofs of such claims rely on imprecise definitions and are basically awed. At a technical level there are two important differences between our model and more naive models in Cpo: the domain for interpreting dynamic expressions is more abstract (we interpret code as terms modulo conversion), the semantics of newname is handled differently (we exploit functor categories). The key idea is to interpret a twolevel language in a suitable functor category Cpo D op rather than Cpo. The semantics of newname follows the ideas pioneered by Oles and Reynolds for modeling the stack discipline of Algollike languages. Indeed, we can think of the objects of D (i.e. the natural numbers) as ...
Mathematical models of computational and combinatorial structures. Invited address for Foundations
 of Software Science and Computation Structures (FOSSACS 2005
, 2005
"... Abstract. The general aim of this talk is to advocate a combinatorial perspective, together with its methods, in the investigation and study of models of computation structures. This, of course, should be taken in conjunction with the wellestablished views and methods stemming from algebra, category ..."
Abstract

Cited by 9 (3 self)
 Add to MetaCart
Abstract. The general aim of this talk is to advocate a combinatorial perspective, together with its methods, in the investigation and study of models of computation structures. This, of course, should be taken in conjunction with the wellestablished views and methods stemming from algebra, category theory, domain theory, logic, type theory, etc. In support of this proposal I will show how such an approach leads to interesting connections between various areas of computer science and mathematics; concentrating on one such example in some detail. Specifically, I will consider the line of my research involving denotational models of the pi calculus and algebraic theories with variablebinding operators, indicating how the abstract mathematical structure underlying these models fits with that of Joyal’s combinatorial species of structures. This analysis suggests both the unification and generalisation of models, and in the latter vein I will introduce generalised species of structures and their calculus. These generalised species encompass and generalise various of the notions of species used in combinatorics. Furthermore, they have a rich mathematical structure (akin to models of Girard’s linear logic) that can be described purely within Lawvere’s generalised logic. Indeed, I will present and treat the cartesian closed structure, the linear structure, the differential structure, etc. of generalised species axiomatically in this mathematical framework. As an upshot, I will observe that the setting allows for interpretations of computational calculi (like the lambda calculus, both typed and untyped; the recently introduced differential lambda calculus of Ehrhard and Regnier; etc.) that can be directly seen as translations into a more basic elementary calculus of interacting agents that compute by communicating and operating upon structured data.
Denotational Semantics for a HigherOrder Extension of the Monadic \pi Calculus (draft paper)
"... We study a version of the higherorder #calculus where transmittable items include items of ground type, such as communication channel names, but functions into processes as well. After providing operational semantics to the language we lay out a basic equational theory # which includes interleavin ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
We study a version of the higherorder #calculus where transmittable items include items of ground type, such as communication channel names, but functions into processes as well. After providing operational semantics to the language we lay out a basic equational theory # which includes interleaving and normal form laws. We then construct a denotational model by solving an appropriate domain equation in a functor category. We provide explicit constructions of the syntactic operators and demonstrate (1) that the equational theory # presented is valid in the model. Finally, (2) we derive from validity of # a Computational Adequacy Theorem for the model. 1 Preliminaries Interest in recent years has clearly turned to languages for describing distributed systems as well as to languages with higherorder features and languages incorporating both functional and concurrent features. Relevant work includes, among others, CML [16], the #calculus [14], the Join Calculus [7], and Facile [5]. La...
MFPS 2011 A resource analysis of the πcalculus
"... We give a new treatment of the πcalculus based on the semantic theory of separation logic, continuing a research program begun by Hoare and O’Hearn. Using a novel resource model that distinguishes between public and private ownership, we refactor the operational semantics so that sending, receiving ..."
Abstract
 Add to MetaCart
We give a new treatment of the πcalculus based on the semantic theory of separation logic, continuing a research program begun by Hoare and O’Hearn. Using a novel resource model that distinguishes between public and private ownership, we refactor the operational semantics so that sending, receiving, and allocating are commands that influence owned resources. These ideas lead naturally to two denotational models: one for safety and one for liveness. Both models are fully abstract for the corresponding observables, but more importantly both are very simple. The close connections with the model theory of separation logic (in particular, with Brookes’s action trace model) give rise to a logic of processes and resources. Keywords: separation logic, picalculus, ownership, resources, scope extrusion, full abstraction Names play a leading role in the πcalculus [12]: they are both the means of communication, and the data communicated. This paper presents a study of the πcalculus based on a new mechanism for name management, which is in turn rooted in separation logic. The main benefit of this study is a very simple—but fully abstract—denotational semantics for the πcalculus. Traditionally, the use of names in the πcalculus is governed by lexical, but dynamicallyexpandable, scope. In the composite process P ∣new x.Q for example, the channel x is by virtue of scope initially private to Q. The prefix new x is not an imperative allocation. It is a binder that remains fixed as Q evolves—a constant reminder that x is private—until Q sends x in a message. At that point, the binder is lifted to cover both P and Q, dynamically “extruding ” the scope of x. The πcalculus relies on αrenaming and side conditions about freshness to ensure that its privacy narrative is borne out. In contrast, work on separation logic has led to models of dynamicallystructured concurrency based on resources and ownership, rather than names This paper is electronically published in