Skip to main content

Showing 1–17 of 17 results for author: Gay, S J

.
  1. arXiv:2306.12935  [pdf, other

    cs.PL

    Special Delivery: Programming with Mailbox Types (Extended Version)

    Authors: Simon Fowler, Duncan Paul Attard, Franciszek Sowul, Simon J. Gay, Phil Trinder

    Abstract: The asynchronous and unidirectional communication model supported by mailboxes is a key reason for the success of actor languages like Erlang and Elixir for implementing reliable and scalable distributed systems. While many actors may send messages to some actor, only the actor may (selectively) receive from its mailbox. Although actors eliminate many of the issues stemming from shared memory conc… ▽ More

    Submitted 22 June, 2023; originally announced June 2023.

    Comments: Extended version of paper accepted to ICFP'23

  2. arXiv:2201.08275  [pdf, ps, other

    cs.PL cs.FL cs.LO

    The Different Shades of Infinite Session Types

    Authors: Simon J. Gay, Diogo Poças, Vasco T. Vasconcelos

    Abstract: Many type systems include infinite types. In session type systems, which are the focus of this paper, infinite types are important because they allow the specification of communication protocols that are unbounded in time. Usually infinite session types are introduced as simple finite-state expressions $\mathsf{rec}\, X.T$ or by non-parametric equational definitions $X\doteq T$. Alternatively, som… ▽ More

    Submitted 20 January, 2022; originally announced January 2022.

    Comments: 51 pages, 12 figures

  3. arXiv:2105.06973  [pdf, other

    cs.PL

    Multiparty Session Types for Safe Runtime Adaptation in an Actor Language (Extended version)

    Authors: Paul Harvey, Simon Fowler, Ornela Dardha, Simon J. Gay

    Abstract: Human fallibility, unpredictable operating environments, and the heterogeneity of hardware devices are driving the need for software to be able to adapt as seen in the Internet of Things or telecommunication networks. Unfortunately, mainstream programming languages do not readily allow a software component to sense and respond to its operating environment, by discovering, replacing, and communicat… ▽ More

    Submitted 14 May, 2021; originally announced May 2021.

    Comments: Extended version of paper to appear at ECOOP 2021

  4. Duality of Session Types: The Final Cut

    Authors: Simon J. Gay, Peter Thiemann, Vasco T. Vasconcelos

    Abstract: Duality is a central concept in the theory of session types. Since a flaw was found in the original definition of duality for recursive types, several other definitions have been published. As their connection is not obvious, we compare the competing definitions, discuss tradeoffs, and prove some equivalences. Some of the results are mechanized in Agda.

    Submitted 2 April, 2020; originally announced April 2020.

    Comments: In Proceedings PLACES 2020, arXiv:2004.01062

    ACM Class: D.3.1; D.3.3; F.3.3

    Journal ref: EPTCS 314, 2020, pp. 23-33

  5. A Session Type System for Asynchronous Unreliable Broadcast Communication

    Authors: Dimitrios Kouzapas, Ramunas Forsberg Gutkovas, A. Laura Voinea, Simon J. Gay

    Abstract: Session types are formal specifications of communication protocols, allowing protocol implementations to be verified by typechecking. Up to now, session type disciplines have assumed that the communication medium is reliable, with no loss of messages. However, unreliable broadcast communication is common in a wide class of distributed systems such as ad-hoc and wireless sensor networks. Often such… ▽ More

    Submitted 2 August, 2024; v1 submitted 4 February, 2019; originally announced February 2019.

    Journal ref: Logical Methods in Computer Science, Volume 20, Issue 3 (August 5, 2024) lmcs:5567

  6. arXiv:1609.04233  [pdf, other

    cs.PL

    Liveness for Verification

    Authors: Roly Perera, Simon J. Gay

    Abstract: We explore the use of liveness for interactive program verification for a simple concurrent object language. Our experimental IDE integrates two (formally dual) kinds of continuous testing into the development environment: compatibility-checking, which verifies an object's use of other objects, and compliance-checking, which verifies an object's claim to refine the behaviour of another object. Sou… ▽ More

    Submitted 14 September, 2016; originally announced September 2016.

    Comments: 2nd Workshop on Live Programming Systems, LIVE 2016

  7. arXiv:1609.01985  [pdf, other

    cs.PL

    Behavioural Prototypes

    Authors: Roly Perera, Simon J. Gay

    Abstract: We sketch a simple language of concurrent objects which explores the design space between type systems and continuous testing. In our language, programs are collections of communicating automata checked automatically for multiparty compatibility. This property, taken from the session types literature but here applied to terms rather than types, guarantees that no state-related errors arise during… ▽ More

    Submitted 3 September, 2016; originally announced September 2016.

    Comments: Extended abstract; presented at 0th Workshop on New Object-Oriented Languages (NOOL) 2015

  8. arXiv:1606.05943  [pdf, other

    cs.PL cs.DC cs.SE

    Multiparty Compatibility for Concurrent Objects

    Authors: Roly Perera, Julien Lange, Simon J. Gay

    Abstract: Objects and actors are communicating state machines, offering and consuming different services at different points in their lifecycle. Two complementary challenges arise when programming such systems. When objects interact, their state machines must be "compatible", so that services are requested only when they are available. Dually, when objects refine other objects, their state machines must be… ▽ More

    Submitted 19 June, 2016; originally announced June 2016.

    Comments: In Proceedings PLACES 2016, arXiv:1606.05403

    Journal ref: EPTCS 211, 2016, pp. 73-82

  9. Verification of Linear Optical Quantum Computing using Quantum Process Calculus

    Authors: Sonja Franke-Arnold, Simon J. Gay, Ittoop Vergheese Puthoor

    Abstract: We explain the use of quantum process calculus to describe and analyse linear optical quantum computing (LOQC). The main idea is to define two processes, one modelling a linear optical system and the other expressing a specification, and prove that they are behaviourally equivalent. We extend the theory of behavioural equivalence in the process calculus Communicating Quantum Processes (CQP) to inc… ▽ More

    Submitted 6 August, 2014; originally announced August 2014.

    Comments: In Proceedings EXPRESS/SOS 2014, arXiv:1408.1271

    Journal ref: EPTCS 160, 2014, pp. 111-129

  10. Session Types as Generic Process Types

    Authors: Simon J. Gay, Nils Gesbert, António Ravara

    Abstract: Behavioural type systems ensure more than the usual safety guarantees of static analysis. They are based on the idea of "types-as-processes", providing dedicated type algebras for particular properties, ranging from protocol compatibility to race-freedom, lock-freedom, or even responsiveness. Two successful, although rather different, approaches, are session types and process types. The former all… ▽ More

    Submitted 6 August, 2014; originally announced August 2014.

    Comments: In Proceedings EXPRESS/SOS 2014, arXiv:1408.1271

    Journal ref: EPTCS 160, 2014, pp. 94-110

  11. Session Types for Broadcasting

    Authors: Dimitrios Kouzapas, Ramūnas Gutkovas, Simon J. Gay

    Abstract: Up to now session types have been used under the assumptions of point to point communication, to ensure the linearity of session endpoints, and reliable communication, to ensure send/receive duality. In this paper we define a session type theory for broadcast communication semantics that by definition do not assume point to point and reliable communication. Our session framework lies on top of the… ▽ More

    Submitted 13 June, 2014; originally announced June 2014.

    Comments: In Proceedings PLACES 2014, arXiv:1406.3313

    Journal ref: EPTCS 155, 2014, pp. 25-31

  12. arXiv:1312.5951  [pdf, other

    cs.LO

    Automated Verification of Quantum Protocols by Equivalence Checking

    Authors: Ebrahim Ardeshir-Larijani, Simon J. Gay, Rajagopal Nagarajan

    Abstract: In this paper we introduce a technique and a tool for formal verification of various quantum information processing protocols. The tool uses stabilizer formalism and is capable of representing concurrent quantum protocol, thus is more expressive than quantum circuits. We also report on experimental results of using our Quantum Equivalence Checker (QEC) to analyse a range of quantum information pro… ▽ More

    Submitted 20 December, 2013; originally announced December 2013.

  13. arXiv:1303.2896  [pdf, other

    cs.LO quant-ph

    Application of Quantum Process Calculus to Higher Dimensional Quantum Protocols

    Authors: Simon J. Gay, Ittoop Vergheese Puthoor

    Abstract: We describe the use of quantum process calculus to describe and analyze quantum communication protocols, following the successful field of formal methods from classical computer science. We have extended the quantum process calculus to describe d-dimensional quantum systems, which has not been done before. We summarise the necessary theory in the generalisation of quantum gates and Bell states and… ▽ More

    Submitted 31 July, 2014; v1 submitted 12 March, 2013; originally announced March 2013.

    Comments: In Proceedings QPL 2012, arXiv:1407.8427

    Journal ref: EPTCS 158, 2014, pp. 15-28

  14. arXiv:1210.0614  [pdf, ps, other

    cs.LO cs.PL quant-ph

    Analysis of a Quantum Error Correcting Code using Quantum Process Calculus

    Authors: Timothy A. S. Davidson, Simon J. Gay, Rajagopal Nagarajan, Ittoop Vergheese Puthoor

    Abstract: We describe the use of quantum process calculus to describe and analyze quantum communication protocols, following the successful field of formal methods from classical computer science. The key idea is to define two systems, one modelling a protocol and one expressing a specification, and prove that they are behaviourally equivalent. We summarize the necessary theory in the process calculus CQP,… ▽ More

    Submitted 1 October, 2012; originally announced October 2012.

    Comments: In Proceedings QPL 2011, arXiv:1210.0298

    ACM Class: D.3.1; F.3.1

    Journal ref: EPTCS 95, 2012, pp. 67-80

  15. Modular session types for objects

    Authors: Simon J. Gay, Nils Gesbert, António Ravara, Vasco T. Vasconcelos

    Abstract: Session types allow communication protocols to be specified type-theoretically so that protocol implementations can be verified by static type checking. We extend previous work on session types for distributed object-oriented languages in three ways. (1) We attach a session type to a class definition, to specify the possible sequences of method calls. (2) We allow a session type (protocol) impleme… ▽ More

    Submitted 23 December, 2015; v1 submitted 24 May, 2012; originally announced May 2012.

    Comments: Logical Methods in Computer Science (LMCS), International Federation for Computational Logic, 2015

    Journal ref: Logical Methods in Computer Science, Volume 11, Issue 4 (December 16, 2015) lmcs:1613

  16. arXiv:1112.2156  [pdf, ps, other

    quant-ph cs.ET

    Stabilizer States as a Basis for Density Matrices

    Authors: Simon J. Gay

    Abstract: We show that the space of density matrices for n-qubit states, considered as a (2^n)^2 dimensional real vector space, has a basis consisting of density matrices of stabilizer states. We describe an application of this result to automated verification of quantum protocols.

    Submitted 9 December, 2011; originally announced December 2011.

  17. arXiv:1108.0469  [pdf, ps, other

    cs.LO quant-ph

    Formal Analysis of Quantum Systems using Process Calculus

    Authors: Timothy A. S. Davidson, Simon J. Gay, Rajagopal Nagarajan

    Abstract: Quantum communication and cryptographic protocols are well on the way to becoming an important practical technology. Although a large amount of successful research has been done on proving their correctness, most of this work does not make use of familiar techniques from formal methods, such as formal logics for specification, formal modelling languages, separation of levels of abstraction, and co… ▽ More

    Submitted 1 August, 2011; originally announced August 2011.

    Comments: In Proceedings ICE 2011, arXiv:1108.0144

    Journal ref: EPTCS 59, 2011, pp. 104-110