Eighteenth Workshop on the Mathematical Foundations of Programming Semantics
Abstracts
Invited Talks
Rajeev Alur, Penn, Reachability Analysis of Hybrid Systems using Predicate Abstraction
Predicate
abstraction has emerged to be a powerful technique for extracting
finite-state models from infinite-state discrete programs. This talk
discusses algorithms and tools for reachability analysis of
hybrid systems by combining the notion of predicate abstraction with
recent techniques for approximating the set of reachable states of
linear systems using polyhedra. Given a hybrid system and a set
of user-defined boolean predicates, we consider the finite discrete
quotient whose states correspond to the all possible truth assignments
to the input predicates. The tool performs an on-the-fly exploration
of the abstract system by using weakest preconditions to compute
abstract transitions corresponding to the discrete switches and
conservative polyhedral approximations to compute abstract transitions
corresponding to continuous flows. Compared to tools such as Checkmate
and d/dt, this approach requires significantly less computational
resources as the emphasis is shifted from computing the reachable set
to searching in the abstract quotient. We demonstrate the utility of
the proposed technique by analyzing controllers from automotive
applications.
We rapidly introduce elements of abstract interpretation,
a formalization of the (effective) conservative approximation of the
semantics of programs and more generally software and hardware
computer systems.
We argue that most semantics-based reasonings and computations on
programs involve conservative approximations which are naturally
formalized by abstract interpretation. This is illustrated on the
syntax and semantics of programming languages, typing and type
inference, program transformation, model-checking and static program
analysis.
John Hatcliff, Kansas State, Model-checking Concurrent Java Software Using the Bandera Tool Set
Finite-state verification
techniques, such as model checking, have been an effective means for finding
subtle defects in hardware designs. The increased use of concurrent software in
embedded applications and the widespread adoption of Java with its built-in
concurrency constructs have led researchers to attempt to adapt model-checking
techniques to software. To date, this effort has been hindered by several
obstacles including construction of correct tractable models from programs with
enormous state spaces, appropriate specification of checkable software
requirements, and interpretation of very long counterexample traces.
In this talk, we describe Bandera -- an integrated collection of tools
for model-checking concurrent Java software that attempts to overcome
the obstacles described above. Bandera is a model compiler in
the sense that it takes Java source code as input and compiles it to a
program model expressed in the input language of one of several
existing verification tools including SMV, Spin, dSpin, and JPF.
Program slicing and abstract interpretation components are used during
compilation to customize the program model with respect to the
properties being checked. Bandera is like a debugger in the sense that
it maps counterexamples produced by back-end model checkers back to
the source code level, and it allows the user to replay program
execution both forwards and backwards along the path of the
counterexample.
We illustrate the functionality Bandera's major components with some simple
examples and give an overview of how Bandera's extensible temporal property
specification language can be used to specify temporal properties in terms of
Java source code features. We conclude with a discussion of other forms of
automated tool support that we are currently working on that we believe are
necessary for model-checking properties of large code bases.
John Mitchell, Stanford, Mechanism Design and Network Security
There are at least three
kinds of behavior on the Internet: honest compliance with standard protocols,
destructive non-compliance, and rational profit-maximizing self interest.
Historically, Internet protocols were defined under the assumption that routers
and nodes would compy with protocol standards. Computer security is generally
concerned with behavior that is destructive to others, without serving any
obvious goal for the attacker. Traditional economic theory analyzes rational
behavior that maximizes some form of profit or wellfare.
In this talk, we will discuss some network problems, such as congestion control
and interdomain network routing, where rational self interest may lead agents
not to comply with protocol standards. For these problems, we aim to develop
mechanisms that will provide good global performance when local behavior is
profit maximizing. In a variation on standard mechamism design, we also look at
ways to use the extra information associated with these mechansims to improve
security against malicious and potentially irrational attacks.
Traditional mechanism design involves the design of pricing functions to
encourage desired behavior. Recent interest in algorithmic mechanism design,
which recognizes the computational limits of participating agents, has led to
increasing interest in applications of mechanism design to electronic commerce
and computer science.
John Reynolds, CMU, An Introduction to Separation Logic
In joint work with Peter
O'Hearn and Hongseok Yang, based on early ideas of Burstall, we have developed
an extension of Hoare logic that permits reasoning about shared mutable data
structure, and possibly other kinds of shared resources.
The simple imperative programming language is extended with commands (not
expressions) for accessing and modifying shared structures, and for explicit
allocation and deallocation of storage. Assertions are extended by
introducing an "separating conjunction" operation that asserts that
its subformulas hold for disjoint parts of the heap. Coupled with the inductive
definition of predicates on abstract data structures, this extension permits the
concise and flexible description of structures with controlled sharing.
In this talk, we will introduce the basic concepts of our approach, including
extensions that permit unrestricted address arithmetic, dynamically allocated
arrays, and recursive procedures.
Doug Smith, Kestrel, Composition and Refinement of Behavioral Specifications
The Specware/Designware system supports specifying, refining, and reasoning about complex software applications. The system combines higher-order logical specifications, composition, refinement, and abstract design theories, all couched in a categorical setting. Applications include complex scheduling algorithms, Java byte code verifier, Java applet generation, mechanical system design, and system composition and refinement. We show how to extend higher-order logical specifications to evolving specifications (especs) in such a way that composition and refinement operations extend to capture the dynamics of evolving, adaptive, and self-adaptive software development, while remaining efficiently computable. The framework is partially implemented in the Epoxi extension of Specware.
Special Sessions
Abstract Interpretation
Roberto Gacobazzi, Verona, Systematic design of complete abstractions: from semantics to program analysis via model-checking
Completeness is a desirable feature of any abstraction, formalizing the intuition that, relatively to the approximated observables, there is no loss of information which is accumulated by approximating computations in the corresponding abstract domain. In this talk we consider the problem of making abstract interpretations complete by minimally refining or simplifying abstract domains. We provide a constructive characterization for the least complete refinement and the greatest complete simplification of abstractions relatively to a forward/backward semantics. We show how this theory can be used to derive both effective algorithms for manipulating and comparing abstract interpretations and to better understand the power and limitations of known abstractions in semantics, program analysis and model-checking. We show that compositional semantics abstracting maximal traces of a transition system can be systematically derived by making the abstraction complete for trace concatenation. Then, starting from Cousot's observation that state-based model-checking is incomplete with respect to the trace-based semantics of an enhanced mu-calculus, we show that there is no way to make it complete unless having traces them self in the model or by considering straightforward abstractions asserting that a trace is a trace. This proves that any state-based model checking is intrinsically incomplete with respect to the trace-based semantics of the mu-calculus. We conclude by giving a constructive characterization of Clarke et al.'s spurious counterexamples in terms of completeness of the underlying abstract interpretation. This result allows us to understand the structure of the counterexamples produced by a model-checker that can be removed by systematically refining abstractions. The results presented in the talk have been obtained jointly with: Isabella Mastroeni, Elisa Quintarelli, Francesco Ranzato, and Francesca Scozzari.
Eric Goubault, Commissariat a` l'Energie Atomique, Analysis of floating-point computations
Everybody knows that computers calculate numerical results which are mostly wrong, yet they are intensively used for simulating highly complex physical processes and for predicting their behavior. Transcendental numbers cannot be represented exactly in a computer, since machines only use finite implementations of numbers (floating-point numbers instead of mathematical real numbers); they are truncated to a given number of decimals. Less known is that the usual algebraic laws (associativity for instance) that we use when thinking about numbers are no longer true in general when it comes to manipulating floating-point numbers. I will present in this talk correct semantics of IEEE754 floating-point numbers together with static analyses through its abstract interpretation (joint work with M. Martel and S. Putot at CEA, under the auspices of EEC project DAEDALUS). The prototype analyzer coming out from this study will be briefly shown on interesting examples, typical from instrumentation and control software.
Jens Palsberg, Purdue, Compiling with Code-Size Constraints
Most compilers ignore the problems of limited code space in embedded systems. Designers of embedded software often have no better alternative than to manually optimize the source code or even the compiled code. Besides being tedious and error-prone, such manual optimization results in obfuscated code which is difficult to maintain and reuse. In this talk we present a code-size-directed compiler. We phrase register allocation and code generation as an integer linear programming problem where the desired bound on the code size is expressed as an additional constraint. Our experimental results show that our compiler, when applied to two commercial microcontrollers, can generate code that is as compact as carefully crafted code.
Martin Rinard, MIT. Abstract Interpretation and Future Program Analysis Problems
Abstract interpretation has been around for a long time and has been used to succesfully solve a variety of program analysis problems. As the field continues to develop, new problems and issues arise. Using our combined pointer and escape analysis as background, we discuss some of these issues and speculate on the role that abstract interpretation will play in the continuing development of program analysis.
Hybrid Systems
Luca de Alfaro, UCSC, Games as types for system-level design
A functional type in a programming language provides a static description of the relation between the input and output values of a function. If we allow this relation to change dynamically, we obtain a game. With each state of the game is associated a functional type; at each round of the game, the two players Input and Output choose values that satisfy the local functional type of the state, and the game proceeds to a successor state. As noted by Abramsky, games provide a semantics for interaction: this talk explores the use of games for capturing the dynamic behavior of system components, obtaining a type system for system-level design. In particular, we show that type checking corresponds to game composition, and answers the question "do the components interact in a compatible way?", while subtyping corresponds to game refinement, and answers the question "can one component be substituted for another in a design?". We illustrate the use of games as types with examples from hardware and protocols.
Radha Jagadeesan, Loyola, Chicago, Approximate reasoning in probabilistic concurrency.
Hybrid cc is a synchronous
concurrent constraint programming language targeted to the modelling and
simulation of hybrid systems. Hybrid cc has been used for a range of
examples including electromechanical systems in model based computing projects
(at Parc and Nasa), and biological systems (in the ModBio project at Loria).
Several of these examples motivate, and some incorporate stochastic modeling.
This talk focuses on the issues that arise out of the integration of
probabilities. Robust reasoning in the presence of probability numbers requires
the use of reasoning techniques that are not too dependent on the exact
numerical values of the probabilities. We present recent results on metric
based approximate reasoning for weak bisimulation in labelled
concurrent Markov chains. We describe a fixed point characterization of
the metric (to permit coinductive proofs for approximate reasoning) and a
real-valued modal logic characterization of the metric. These results
support the thesis that approximate reasoning is no harder than the classical
exact reasoning in concurrency theory.
Hybrid cc is joint work with Bobrow, Gupta and Saraswat. The study of
approximate reasoning for probabilistic systems is joint work with Desharnais,
Gupta and Panangaden.
Bill Rounds & Hosung Song, University of Michigan, The Phi-Calculus -- a new method for specifying distributed control of mobile embedded systems
The Phi-calculus is a hybrid extension of Milner's Pi-calculus which allows processes to interact with continuous environments. The key idea is to add an explicit formal model of the active, continuous (physical) environment to an algebraic process description, and to add environmental actions to processes which allow them to explicitly manipulate their environment. In this talk we specify flow transition rules (evolution of the continuous environment over time) and show that weakly bisimilar Phi-processes flow in the same way when placed in the same environment.
Security Session
Rohit Chadha, University of Pennsylvania, Advantage and abuse-freeness in contract-signing protocols
Distributed contract
signing over a network involves many challenges in mimicking the features of
paper contract signing. For instance, a paper contract is usually signed by both
parties at the same time and at the same place, but distributed electronic
transactions over a network is inherently asymmetric in that someone has to send
the first message.
Several digital contract-signing protocols have been devised in order to
overcome this basic asymmetry and to achieve symmetric properties such as
fairness, namely: 1) if nothing goes wrong, both participants receive a valid
contract, 2) every participant may complete the protocol, and 3) either both
participants receive a valid contract or neither one does. Such protocols often
involve a trusted third party that can enforce the contract
after it witnesses a partial completion of the protocol. In optimistic
contract-signing protocols the trusted third party is contacted only in case of
a dispute, otherwise the protocol can be completed without involving the third
party. Such protocols involve several subprotocols that allow a contract to be
signed normally or aborted or resolved by the trusted third party.
Another kind of symmetry desirable in distributed contract signing was
identified by Garay, Jakobsson, and MacKenzie: a fair protocol is said to be
abuse-free if, at any stage of the protocol, it is impossible for any
participant, say A, to be able to prove to an outside challenger that A has the
power to choose between completing the contract and aborting it. A formal
analysis of the Garay-Jakobsson-MacKenzie two-party contract-signing protocol
was carried out by Mitchell and Shmatikov using a finite state verification
tool. They showed that negligence of the trusted third party may lead to loss of
abuse-freeness or fairness. Based on their analysis, Mitchell and Shmatikov also
suggested a revision of the protocol. This revised version is our reference
point.
We study an approximation of the abuse-freeness property, namely, at any stage
of a fair protocol, any protocol participant does not have both the power to
complete the contract as well as the power to abort it. As noted by Mitchell and
Shmatikov, this property is not trace-based. We use a multiset-rewriting
formalism for protocol analysis to formally state this property in terms of a
certain recursive property of the protocol execution tree, which we then prove
by inductive methods. Our proof relies on a strong notion of fairness adopted
from which itself we formally state in the multiset-rewriting formalism and
prove by inductive methods. We also show that our approximation of
abuse-freeness, even though it is not a trace-based property, it may
nevertheless be represented in by means of provability in a logical system, in
the multiplicative additive fragment of linear logic, in which formal
derivations
correspond to full protocol execution trees and vice versa. This work was
carried out in collaboration with Max Kanovich and Andre Scedrov.
We also discuss current work in progress with John Mitchell, Andre Scedrov, and
Vitaly Shmatikov. We strengthen the definition of abuse-freeness in two ways. We
consider strategies against honest participants interested in completing the
contract and whose actions display a bias toward a positive outcome. We suggest
a formulation of "evidence to an outside participant" by means of
epistemic logic.
Trevor Jim, AT&T, TBA
Drew Dean, SRI, Programming Language Theory and System Security
Joshua Guttman, MItre Corporation. TBA
Catherine Meadows, NRL, A Unification Algorithm for the Group Diffie-Hellman Protocol
Equational unification can be an
effective tool for the analysis of cryptographic protocols. This, for example,
is the technique used by the NRL Protocol Analyzer, which uses narrowing to
reason about cryptographic operations which can be described in terms of rewrite
rules.
However, the effectiveness of equational unification in cryptographic protocol
analysis has been hampered by the lack of unification algorithms that can be
used to reason about some of the more equationally rich algorithms used by many
cryptographic systems, such as Diffie-Hellman, group Diffie-Hellman, and blinded
signatures.
In this paper we attempt to close this gap by providing an algorithm that can be
used to reason about protocols that use the Diffie-Hellman and group
Diffie-Hellman algorithm. (This is joint work with Paliath Narendran)
Dan Wallach, Rice University, Termination in Language-Based Systems
Language runtime systems are increasingly being embedded in systems to support runtime extensibility via mobile code. Such systems raise a number of concerns when the code running in such systems is potentially buggy or untrusted. While sophisticated access controls have been designed for mobile code and are shipping as part of commercial systems such as Java, there is no support for terminating mobile code short of terminating the entire language runtime. This paper presents a concept called ``soft termination'' which can be applied to virtually any mobile code system. Soft termination allows mobile code threads to be safely terminated while preserving the stability of the language runtime. In addition, function bodies can be permanently disabled, thwarting attacks predicated on system threads eventually calling untrusted functions. Soft termination guarantees termination by breaking any potential infinite loops in mobile code. We present a formal design for soft termination and an implementation of it for Java, built using Java bytecode rewriting, which demonstrates reasonable performance (3-25% slowdowns on benchmarks).
Rebecca Wright, DIMACS, Reasoning about trust and insurance in a public key infrastructure
In the real world,
insurance is used to mitigate financial risk to individuals in many
settings. Similarly, it has been suggested that insurance can be used
in distributed systems, and in particular, in authentication
procedures, to mitigate individual's risks there. In this talk, we
further explore the use of insurance for public-key certificates and
other kinds of statements. We also describe an application using
threshold cryptography in which insured keys would also have an
auditor involved in any transaction using the key, allowing the
insurer better control over its liability. We provide a formal yet
simple insurance logic that can be used to deduce the amount of
insurance associated with statements based on the insurance associated
with related statements. Using the logic, we show how trust
relationships and insurance can work together to provide
confidence.
(This is joint work with Jon Millen, SRI International.)
Spatial Logics Session
Philippa Gardner, Imperial College, Querying Data on the Web
Two groups have recently studied
related `spatial' logics for reasoning locally about related data models: the
group centering on O'Hearn and Reynolds developed a new program logic for
low-level programs that manipulate RAM data structures, based on the bunched
logic of O'Hearn and Pym; the group centering on Cardelli, Gardner and
Ghelli developed techniques for analysing and manipulating Web data (such
as XML), based on the ambient logic of Cardelli and Gordon. The formal
similarity of these spatial logics reflects the strong pre-formal connection
between the Web and linked data structures: a URL is like an address, and a web
link is like a pointer (an address embedded within a data structure).
Gardner will explain these connections using her recent work on querying
data on the Web. This work is joint research with Luca Cardelli and Giorgio
Ghelli
Luis Caires, Lisbon, A Spatial Logic for Concurrency (joint work with Luca Cardelli)
We present the semantics and proof
theory of a modal logic for describing the spatial organization and the
behavior of distributed systems. In addition to standard logical and temporal
operators, our logic includes spatial operations corresponding to process
composition and name hiding, and a fresh name quantifier. Properties of
concurrent systems can also be defined by second-order quantification and hence
(through an encoding) by recursion. A central aim of our logic is the
combination of a logical notion of freshness with inductive and coinductive
definitions of properties.
Cristiano Calcagno, Imperial College, Decidability Results for Some Spatial Logics
We study the problem of decidability and validity for two spatial logics: a logic for pointers bases on the logic of Bunched Implications and a subset of the Ambient Logic. In both cases validity is undecidable in the presence of quantifiers, but the quantifier-free sublogics are decidable.
Giorgio Ghelli, Pisa, A Spatial Logic for Querying Graphs
We give a description of graphs using constructs from process algebra, which leads to a natural multiset semantics. We introduce a spatial logic for reasoning about graphs, which integrates well with our graphical models and allows us to reason locally about disjoint subgraphs Finally, we extend our logic to provide a query language, which preserves the multiset semantics of our graph model.
David Pym, Bath, Completeness in Resource Semantics
The semantics of BI, the logic of bunched implications, may be motivated by models of resource. At the most basic level, in which resources are modelled as preordered monoids, various completeness results obtain: elementary, topological and Grothendieck topological. Moving to semantic tableaux, a basis for efficient theorem proving, we obtain a complete procedure for generating models and countermodels. As a consequence we obtain for (propositional) BI the following: the finite model property, a new proof of decidability, and a completeness theorem for a resource semantics based on partial preordered monoids including, as a natural example, intuitionistic pointer logic.
Contributed Talks
Andrej Bauer (with Dana Scott), Ljubljana, Coherence Numbers of Domains
A reflexive domain is one that
contains its own continuous function space as a retract. Reflexive domains are
models of the untyped lambda calculus, and from them we build categories of
partial equivalence relations, also known as PER models. The results presented
in this talk were motivated by the question how many PER models on reflexive
Scott domains there are, up to equivalence of categories.
We first discuss the notion of "n-coherent" domains, a straightforward
generalization of Plotkin's definition of coherently complete domains, and the
related notion of a "coherence number" of a domain.
Using results about the existence of universal n-coherent domains, we prove
several domain theoretic results about reflexive domains. One such result is
that a domain D is reflexive if, and only if, the product D x D is a retract of
D. We also show that there are only countably many PER models on reflexive Scott
domains, one for each coherence number between 1 and aleph null.
Steve Brookes, CMU, Traces: towards a unification of paradigms
We show how to provide an abstract, state-free semantics for a wide variety of parallel programming languages using traces. The approach is robust enough to incorporate shared-memory parallelism as well as CSP-style processes communicating synchronously, and Kahn-style networks of asynchronously communicating processes
Bob Coecke, Oxford, The domain theoretic nature of quantum mechanics.
We begin by introducing a domain of
classical states with Shannon entropy as a measurement. We then show how to
construct a domain of quantum states from a domain of classical states.
Moreover, the measure of content on classical states extends to a measure of
content on quantum states. In the context of our example, the extension of
Shannon entropy from classical to quantum states yields the fundamental von
Neumann entropy. This establishes that well-known notions of information and
content are instances of the measurement formalism in domain theory.
This work opens up some striking new perspectives on fundamental issues in
physics. In particular, the traditional study of the quantum structure,
initiated by Birkhoff and von Neumann in terms of the lattice of projections,
coincides with the study of the maximal elements of the domain of quantum states
(e.g. Gleason's theorem on the measures on closed subspaces of Hilbert space).
Surprisingly, by exploiting the domain theoretic structure of quantum mechanics
itself (as opposed to merely representing quantum states within a domain), the
domain of quantum states also naturally carries the non-unitary dynamics
(collapse) of a quantum system. The is joint work with Keye Martin
Brian Dunphy, University of Ilinois, Parametric semantic of Polymorphic Algol
John Reynolds formalized a notion of
uniformity called relational parametricity as characterized by the preservation
of relations. He used this notion in giving a set-theoretic semantics of the
polymorphic lambda calculus. Certain representation results for polymorphic
types in the model were exhibited to show that relational parametricity captures
the intuitive understanding of uniformity.
While considering Algol-like languages, Peter O'Hearn and Bob Tennent observed
that a procedure declared in some world (collection of currently allocated
variables) not only runs in all future worlds, but that its behavior is uniform
over all future worlds. They adapted their categorical model of Idealized Algol
to include a parametricity requirement - certain relations between future worlds
are preserved.This enforces some uniformity property, as they showed this model
satisfied some expected program equivalence which did not hold in previous
models.
In this talk, we consider semantics for Polymorphic Algol. It seems reasonable
to expect a model with two levels of parametricity requirements (that is, two
different kinds of 'relations' that are preserved) corresponding to the two
forms of uniformity mentioned above would satisfy both the representation
results and the program equivalences. Indeed, we give such a model. However, our
attempt at extending the O'Hearn-Tennent model to accommodate parametric
polymorphism fails to satisfy the representation results. Analysis of what
happens here points out how parametricity can improve categorical models.
Dan Ghica, Queens University, A Specification Language for Model Checking Algol with Active Expressions
We present a specification language for first-order Algol with active expressions. The specification language has a regular-language semantic model similar to that of the programming language itself, so the validity of specifications is semantically decidable. But the specification language also enjoys good logical properties which allow composing specification by inferential reasoning. The specifications language is inspired by Reynolds's universal specifications but is based on different semantic ideas. Instead of a non-interference predicate we use a "stability" generalized universal quantifier stipulating that the object denoted by an identifier is technically well-behaved. Specifications can be verified either semantically or inferentially; we therefore argue that this specification language is suitable for compositional model checking of Algol with active expressions.
Mercedes Hidalgo-Herrero, Lisbon, Tailoring Laziness for a Distributed Setting. A Denotational Point of View.
Combining distributed parallelism
and laziness requires some relaxation of the latter on behalf of the former,
with the consequent introduction of speculative computation, which will range
between a minimum and a maximum in each particular program execution, due to the
time-dependency inherent in parallel systems. Besides, dealing with side-effects
(process creation and value communication) requires to take care of the order in
which expressions are evaluated.
With these ideas in mind, we define a continuation-based denotational semantics
for a very simple lazy language with explicit process creation and implicit
process communication.
Yoshiki Kinoshita, C.R.T. of Informatics, Category Theoretical Aspects on Kleene Algebra
There are several intersting category theoretical structures around the notion of Kleene algebra introduced by Dexter Kozen. The category of small Kleene algebras almost forms an Ab-category (only, homsets form Abelian monoids rather than Abelian groups), and this structure explains the semiring structure of Kleene algebra. This structure and the extra structure for the Kleene star allows the usual matrix presentation of finite state automata. I try to clarify these category theoretical aspects of the theory of Kleene algebra, which seems to be missing so far. I may be able to continue to my on-going work of the generalisation of Kleene algebraic approach to regular tree languages.
Ranko Lazic, Warwick, On Definability of Parametric Families of Labelled Transition Systems
Logical relations and bisimulation can be used to define when a family of labelled transition systems (LTSs) is parametric. We present a result which states that, under certain restrictions on types, a parametric family of LTSs is definable by a symbolic LTS.
Daniel Leivant, Indiana, Implicit computational complexity for higher type functionals
Paul Levy, Universite Paris 7, Continuation Semantics for Call-By-Push-Value
Call-by-push-value (CBPV) is a new
programming language paradigm, based on the slogan ``a value is, a computation
does''. We claim that CBPV provides the semantic primitives from which the
call-by-value and call-by-name paradigms are built. Evidence for this claim is
found in a remarkably wide range of semantics: from operational semantics, in
big-step form and in machine form,
to denotational models using domains, possible worlds, continuations and games.
In this talk, we show how, starting from a Felleisen-Friedman-style CK-machine
operational semantics for CBPV, we can add control effects using an additional
type constructor for outsides. We then give denotational semantics using
continuations. We see that the while a value type A denotes the set of values of
type A, a computation type B denotes the set of outsides for type B. We explain
why, although in many models we interpret computation types by algebras for a
Moggi monad, that would not be suitable in this instance.
We see that we recover traditional continuation semantics for CBV, and
Streicher-Reus' continuation semantics for CBN. We also see how to generalize
our continuation semantics to model CBPV + control + other effects.
Keye Martin, Oxford, The informatic derivative
The measurement formalism uses
`domain' as a means of modelling informative objects but otherwise has goals
that can safely be regarded as different from those of classical domain theory.
For this reason, some may choose to say that it is a part of domain theory,
while others may not. Its concern is not restricted to computer science, nor is
it restricted to physics: We are interested in any discipline where the basic
ideas of partiality and totality, information content, and `process' arise
naturally.
This talk is about one of the basic instruments of the measurement formalism,
its informatic derivative, which offers a method for calculating the rate at
which processes manipulate information with respect to a specified notion of
content (measurement). Ideally, we hope to have time enough to consider examples
of informatic rates of change on the interval domain, the domain of partial
functions on the naturals, the domain of analytic mappings, and the domain of
quantum states
Michael Mislove, Tulane, Colimits in Categories of Ordered Structures
We investigate the existence of colimits in categories of ordered structures showing that topology often can be used to give an explicit representation of the colimit when it exists.
Kundan Misra, Warwick, Data Refinement of Concurrent Systems
Data refinement is the
conversion of data from an interpretation in a more abstract ADT (``abstract
data type'') to an interpretation in a more concrete ADT. Hoare asked when is it
possible to uniquely extend a refinement from a finite specification of an ADT
to the entire specification of the ADT (Hoare:1972). This is important because
it is never possible to fully check a refinement of an ADT over its entire,
infinite specification. Kinoshita and Power have found an elegant approach to
this problem using algebraic structure and the Eilenberg-Moore category of the
semantic category of the programming language concerned. However, they have not
considered data refinement in a concurrent context. Indeed, little work has been
done on data refinement in a concurrent context. We are working on developing a
general data refinement formalism for synchronous dataflow programs, as
represented by the interaction category of synchronous processes (SProc), using
the Eilenberg-Moore category.
Lax logical relations provide an alternative way of defining a refinement
between extensions of SProc based on relations between sets (Plotkin:2000ppst).
The advantage of lax logical relations over algebraic structure is their
simplicity and their ready extensibility to alternative models of concurrency.
We have applied the lax logical relations approach to refinement to both
dataflow and transition systems.
Of great interest are the insights provided by algebraic structure and lax
logical relations into the meaning of data refinement for different models of
concurrency, such as dataflow, transition systems, Petri nets and coloured Petri
nets. Categorical interpretations of these models have much to offer in
understanding data refinement in a concurrent context, especially as category
theory is a convenient tool for algebraic structure and lax logical relations.
Joel Ouaknine, Tulane, Model Checking Timed Automata with FDR
FDR is a well-established model checker for the untimed process algebra CSP. Given two processes P and Q, FDR allows one to decide whether P is refined by Q, i.e., whether all the behaviours of Q are also possible behaviours of P. Recent work by the first author has laid a framework for extending the use of FDR to model checking Timed CSP processes. In order to apply this work to the problem of checking refinement between timed automata, one must adequately interpret timed automata within the framework of Timed CSP. Although it can be shown that no direct translation of timed automata into Timed CSP exists, we are able to provide a systematic account of how refinement between timed automata can be interpreted in Timed CSP, and thus checked on FDR. We illustrate our findings with a small case study. (This is joint work with James Worrell.)
Prakash Panagaden, McGill, Continuous Stochastic Logic Characterizes Bisimulation for Continuous-time Markov Processes
Recently Baier et. al. showed that if two continuous-time Markov chains (CTMSs) are bisimilar then they obey the same formulas of continuous stochastic logic (CSL). We prove that the reverse holds as well. In fact we prove this for systems where the state space may be a continuum. Along the way we give a new proof that the set of Zeno paths has measure zero if the transition rates are bounded.
John Power, Edinburgh, Combining computational effects: commutativity and sum
We begin to develop a unified
account of modularity for computational effects. We use the notion of enriched
Lawvere theory, together with its relationship with strong monads, to
reformulate Moggi's paradigm for modelling computational effects; we emphasise
the importance here of the operations that induce computational effects. Effects
qua theories are then combined by appropriate bifunctors (on the category of
theories). We give a theory of the commutative combination of effects, which in
particular yields Moggi's side-effects monad transformer (an application is the
combination of side-effects with nondeterminism). And We give a theory for the
sum of computational effects, which in particular yields Moggi's exceptions
monad transformer (an application
is the combination of exceptions with other effects).
Uday Reddy, Birmingham, Polymorphic types and parametric limits
In giving a set-theoretic semantics to the polymorphic lambda calculus, John Reynolds has noted that a polymorphic type such as FORALL X. F(X) does not represent arbitrary families of elements of sets F(X), but rather only the parametric families that behave in a uniform way for all X. In his characterization, parametric families have components that preserve all possible relations between sets chosen for X. On the surface, one finds that the notion of limits in category theory is very similar to this, where LIM X. F(X) consists of families that preserve all possible morphisms between objects chosen for X.
In this talk, we make this connection concrete by characterizing polymorphic types as form of limits (called parametric limits) in a suitable setting of categories. This enables us to generalize Reynolds's semantics to categorical level so that the ideas of polymorphism and parametricity can be interpreted in arbitrary categories with the requisite structure. We axiomatize the requisite structure so that representation results concerning polymorphic types for initial algebras and final coalgebras follow from the axioms.
.James Worrell, Tulane, A Coalgebraic Approach to Probabilistic Transition Systems
This talk gives an overview of recent work applying metric domain theory and elementary measure theory to the study of a class of reactive probabilistic transition systems -- the labelled Markov processes of Desharnais, Gupta, Jagadeesan and Panangaden. The starting point of this work is a domain equation for probabilistic bisimilarity based on the Hutchinson metric on probability measures. This yields a coinductive characterization of the metric on labelled Markov processes introduced by Desharnais et al. In turn, this suggests interesting connections between probabilistic bisimiluation on the one hand and linear programming and game theory on the other.
Krzysztof Worytkiewicz, Lausanne, Generalised Simulations and Bimodular Modal Logic
We present a generalisation of the
triad lts's/ (bi)simulation/Henessy-Milner logic, appropriate to directly cope
with issues peculiar to processes exchanging values of arbitrary types and
exhibiting imperative features. This generalisation is analysed and
characterised abstractly by deploying relevant pieces of categorical machinery.
The processes under study are categorical transition systems, transposes across
the free adjunction of graph homomorphisms from a `control graph` to a category
of `elementary computations' \Lb . We propose the notion of dynamic simulation
which essentially allows a transition to be matched by a possibly non-trivial
control path provided the labels agree. Classic strong simulation but also the
classic weak one come about as special cases.
In our abstract treatment, bimodules \ie morphisms of the bicategory \mathcal{B}
of free categories and discrete fibrational spans play the r\^{o}le of
generalised relations. We characterize dynamic simulation over \Lb in terms of
the interaction between certain lax functors called 'modules'. This boils down
to a factorisation through \Re :\, Cyl\left( \mathcal{B}\right) \rightarrow \mathcal{B}\times
\mathcal{B}, the Grothendieck comprehension of the homomorphism \mathcal{B}\left(
\_,\_\right) . On the logical side, we present the construction of a doctrine
for a modal logic as a canonical extension of a regular fibration, here an
account of the extension of a logic of `sets` and `functions` to a logic of
`sets` and `bimodules`. We study its interaction with cts's and dynamic
simulations and pin down the satisfaction relation over cts's as a universal
dynamic simulation.
Guo-Qiang Zhang, Case-Western, Decidable fragments of domain mu-calculus