Modal Logics for Nominal Transition Systems

A concurrent system is a computer system with components that run in parallel and interact with each other. Such systems are ubiquitous and are notably responsible for supporting the infrastructure for transport, commerce and entertainment. They are very difficult to design and implement correctly: many different modeling languages and verification techniques have been devised to reason about them and verifying their correctness. However, existing languages and techniques can only express a limited range of systems and properties.In this dissertation, we address some of the shortcomings of established models and theories in four ways: by introducing a general modal logic, extending a modelling language with types and a more general operation, providing an automated tool support, and adapting an established behavioural type theory to specify and verify systems with unreliable communication.A modal logic for transition systems is a way of specifying properties of concurrent system abstractly. We have developed a modal logic for nominal transition systems. Such systems are common and include the pi-calculus and psi-calculi. The logic is adequate for many process calculi with regard to their behavioural equivalence even for those that no logic has been considered, for example, CCS, the pi-calculus, psi-calculi, the spi-calculus, and the fusion calculus.The psi-calculi framework is a parametric process calculi framework that subsumes many existing process calculi. We extend psi-calculi with a type system, called sorts, and a more general notion of pattern matching in an input process. This gives additional expressive power allowing us to capture directly even more process calculi than was previously possible. We have reestablished the main results of psi-calculi to show that the extensions are consistent.We have developed a tool that is based on the psi-calculi, called the psi-calculi workbench. It provides automation for executing the psi-calculi processes and generating a witness for a behavioural equivalence between processes. The tool can be used both as a library and as an interactive application.Lastly, we developed a process calculus for unreliable broadcast systems and equipped it with a binary session type system. The process calculus captures the operations of scatter and gather in wireless sensor and ad-hoc networks. The type system enjoys the usual property of subject reduction, meaning that well-typed processes reduce to well-typed processes. To cope with unreliability, we also introduce a notion of process recovery that does not involve communication. This is the first session type system for a model with unreliable communication.

[1]  E. Allen Emerson,et al.  Model Checking and the Mu-calculus , 1996, Descriptive Complexity and Finite Models.

[2]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

[3]  Jan Friso Groote,et al.  A linear translation from CTL* to the first-order modal μ -calculus , 2011, Theor. Comput. Sci..

[4]  Robin Milner,et al.  Algebraic laws for nondeterminism and concurrency , 1985, JACM.

[5]  Martín Abadi,et al.  Mobile values, new names, and secure communication , 2001, POPL '01.

[6]  Mohammad Reza Mousavi,et al.  Nominal SOS , 2012, MFPS.

[7]  A. Tarski A LATTICE-THEORETICAL FIXPOINT THEOREM AND ITS APPLICATIONS , 1955 .

[8]  Andrew M. Pitts,et al.  A First Order Theory of Names and Binding , 2001 .

[9]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[10]  Xian Xu,et al.  A logical characterization for linear higher-order processes , 2015 .

[11]  Leslie Lamport,et al.  Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers [Book Review] , 2002, Computer.

[12]  Davide Sangiorgi,et al.  A Theory of Bisimulation for the pi-Calculus , 1993, CONCUR.

[13]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[14]  J.F.A.K. van Benthem,et al.  Modal logic and classical logic , 1983 .

[15]  Hans Hüttel,et al.  A Logical Characterisation of Static Equivalence , 2007, MFPS.

[16]  Bartek Klin,et al.  Modal mu-Calculus with Atoms , 2017, CSL.

[17]  Samson Abramsky,et al.  A Domain Equation for Bisimulation , 1991, Inf. Comput..

[18]  Michael Pedersen,et al.  Logics for The Applied pi Calculus , 2006 .

[19]  Robin Milner,et al.  On Observing Nondeterminism and Concurrency , 1980, ICALP.

[20]  Davide Sangiorgi,et al.  A theory of bisimulation for the π-calculus , 2009, Acta Informatica.

[21]  Matthew Hennessy,et al.  A modal logic for message passing processes , 2005, Acta Informatica.

[22]  C. Kuratowski Une méthode d'élimination des nombres transfinis des raisonnements mathématiques , 1922 .

[23]  Cezary Kaliszyk,et al.  General Bindings and Alpha-Equivalence in Nominal Isabelle , 2012, Log. Methods Comput. Sci..

[24]  Kim G. Larsen,et al.  Proof System for Hennessy-Milner Logic with Recursion , 1988, CAAP.

[25]  Martín Abadi,et al.  A calculus for cryptographic protocols: the spi calculus , 1997, CCS '97.

[26]  Nobuko Yoshida,et al.  Completeness and Logical Full Abstraction in Modal Logics for Typed Mobile Processes , 2008, ICALP.

[27]  Lars-Henrik Eriksson,et al.  Weak Nominal Modal Logic , 2017, FORTE.

[28]  Luca Aceto,et al.  Rule Formats for Nominal Process Calculi , 2017, CONCUR.

[29]  Rocco De Nicola,et al.  Proof Techniques for Cryptographic Processes , 2001, SIAM J. Comput..

[30]  Andrei Popescu,et al.  Truly Modular (Co)datatypes for Isabelle/HOL , 2014, ITP.

[31]  Robin Milner,et al.  Modal Logics for Mobile Processes , 1991, Theor. Comput. Sci..

[32]  Savi Maharaj,et al.  A Modal Logic for Full LOTOS based on Symbolic Transition Systems , 2002, Comput. J..

[33]  Matthew Hennessy,et al.  First-order reasoning for higher-order concurrency , 2012, Comput. Lang. Syst. Struct..

[34]  Alex K. Simpson,et al.  Sequent calculi for process verification: Hennessy-Milner logic for an arbitrary GSOS , 2004, J. Log. Algebraic Methods Program..

[35]  Bengt Jonsson,et al.  Implementing a Model Checking Algorithm by Adapting Existing Automated Tools , 1989, Automatic Verification Methods for Finite State Systems.

[36]  Murdoch J. Gabbay The π-Calculus in FM , 2003 .

[37]  Björn Victor,et al.  The fusion calculus: expressiveness and symmetry in mobile processes , 1998, Proceedings. Thirteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.98CB36226).

[38]  Björn Victor,et al.  Psi-calculi: a framework for mobile processes with nominal data and logic , 2011, Log. Methods Comput. Sci..

[39]  Perdita Stevens,et al.  Observational Mu-Calculus , 1999 .

[40]  Ross Horne,et al.  A Characterisation of Open Bisimilarity using an Intuitionistic Modal Logic , 2017, CONCUR.

[41]  Rocco De Nicola,et al.  Multiple-Labelled Transition Systems for nominal calculi and their logics , 2008, Math. Struct. Comput. Sci..

[42]  Mads Dam,et al.  Model Checking Mobile Processes , 1993, Inf. Comput..

[43]  Robin Milner,et al.  A Modal Characterisation of Observable Machine-Behaviour , 1981, CAAP.

[44]  Dexter Kozen,et al.  RESULTS ON THE PROPOSITIONAL’p-CALCULUS , 2001 .

[45]  Hans Hüttel,et al.  Modal Logics for Cryptographic Processes , 2002, EXPRESS.

[46]  Ugo Montanari,et al.  CC-Pi: A Constraint-Based Language for Specifying Service Level Agreements , 2007, ESOP.

[47]  Björn Victor,et al.  Weak Equivalences in Psi-Calculi , 2010, 2010 25th Annual IEEE Symposium on Logic in Computer Science.

[48]  Lawrence Charles Paulson,et al.  Isabelle/HOL: A Proof Assistant for Higher-Order Logic , 2002 .

[49]  ROBIN MILNER,et al.  Edinburgh Research Explorer A Calculus of Mobile Processes, I , 2003 .

[50]  Andrei Popescu,et al.  Cardinals in Isabelle/HOL , 2014, ITP.

[51]  Ugo Montanari,et al.  Open Bisimulation for the Concurrent Constraint Pi-Calculus , 2008, ESOP.

[52]  Philippa Gardner,et al.  Explicit fusions , 2000, Theor. Comput. Sci..