A calculus of quality for robustness against unreliable communication

Abstract A main challenge in the development of distributed systems is to ensure that the components continue to behave in a reasonable manner even when communication becomes unreliable. We propose a process calculus, the Quality Calculus, for programming software components where it becomes natural to plan for default behaviour in case the ideal behaviour fails due to unreliable communication and thereby to increase the quality of service offered by the system. The development is facilitated by a SAT-based robustness analysis to determine whether or not the code is vulnerable to unreliable communication. The framework is illustrated on the design of a fragment of a wireless sensor network, and is substantiated by formal proofs of correctness of the analysis, which relate the original reduction semantics of the calculus to a new semantics with explicit substitutions.

[1]  Martin Berger,et al.  The Two-Phase Commitment Protocol in an Extended pi-Calculus , 2003, EXPRESS.

[2]  Matthew Hennessy,et al.  A Theory of System Behaviour in the Presence of Node and Link Failures , 2005, CONCUR.

[3]  Roberto Bruni Calculi for Service-Oriented Computing , 2009, SFM.

[4]  Roberto Gorrieri,et al.  : A Calculus for Service Oriented Computing , 2006, ICSOC.

[5]  Emilio Tuosto,et al.  The Klaim Project: Theory and Practice , 2003, Global Computing.

[6]  Catherine A. Meadows,et al.  A Cost-Based Framework for Analysis of Denial of Service Networks , 2001, J. Comput. Secur..

[7]  Sharad Malik,et al.  Boolean satisfiability from theoretical hardness to practical success , 2009, Commun. ACM.

[8]  Flemming Nielson,et al.  Probabilistic Analysis of the Quality Calculus , 2013, FMOODS/FORTE.

[9]  Davide Sangiorgi,et al.  The Pi-Calculus - a theory of mobile processes , 2001 .

[10]  Virgil D. Gligor,et al.  A Note on the Denial-of-Service Problem , 1983, 1983 IEEE Symposium on Security and Privacy.

[11]  James Riely,et al.  A typed language for distributed mobile processes (extended abstract) , 1998, POPL '98.

[12]  Flemming Nielson,et al.  The Stochastic Quality Calculus , 2014, COORDINATION.

[13]  Francesco Tiezzi,et al.  A Calculus for Orchestration of Web Services , 2007, ESOP.

[14]  Joost Engelfriet,et al.  A new natural structural congruence in the pi-calculus with replication , 2004, Acta Informatica.

[15]  Nikolaj Bjørner,et al.  Satisfiability modulo theories , 2011, Commun. ACM.

[16]  Roberto M. Amadio An Asynchronous Model of Locality, Failurem and Process Mobility , 1997, COORDINATION.

[17]  Insup Lee,et al.  Quantifying eavesdropping vulnerability in sensor networks , 2005, DMSN '05.

[18]  Virgil D. Gligor A Note on Denial-of-Service in Operating Systems , 1984, IEEE Transactions on Software Engineering.

[19]  Vitaly Shmatikov,et al.  Inputs of Coma: Static Detection of Denial-of-Service Vulnerabilities , 2009, 2009 22nd IEEE Computer Security Foundations Symposium.

[20]  Edsger W. Dijkstra,et al.  Structured programming , 1972, A.P.I.C. Studies in data processing.

[21]  Flemming Nielson,et al.  A Calculus for Quality , 2012, FACS.

[22]  Flemming Nielson,et al.  Pathway analysis for BioAmbients , 2008, J. Log. Algebraic Methods Program..

[23]  Flemming Nielson,et al.  From Explicit to Symbolic Types for Communication Protocols in CCS , 2011, Formal Modeling: Actors, Open Systems, Biological Systems.

[24]  Roberto Bruni,et al.  SCC: A Service Centered Calculus , 2006, WS-FM.

[25]  Flemming Nielson,et al.  Automated Generation of Attack Trees , 2014, 2014 IEEE 27th Computer Security Foundations Symposium.

[26]  Nicholas Carriero,et al.  Linda and Friends , 1986, Computer.

[27]  Flemming Nielson,et al.  Safety versus Security in the Quality Calculus , 2013, Theories of Programming and Formal Methods.

[28]  Robin Milner Functions as Processes , 1990, ICALP.

[29]  James Riely,et al.  Distributed processes and location failures , 2001, Theor. Comput. Sci..

[30]  Deepak Garg,et al.  Effective Chemistry for Synchrony and Asynchrony , 2004, IFIP TCS.

[31]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[32]  Gian Luigi Ferrari,et al.  A Pi-Calculus with Explicit Substitutions: the Late Semantics , 1994, MFCS.

[33]  Gérard Berry,et al.  The chemical abstract machine , 1989, POPL '90.

[34]  Robin Milner,et al.  Communicating and mobile systems - the Pi-calculus , 1999 .

[35]  Flemming Nielson,et al.  Broadcast, Denial-of-Service, and Secure Communication , 2013, IFM.

[36]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[37]  Flemming Nielson,et al.  Uniform Protection for Multi-exposed Targets , 2014, FORTE.

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

[39]  Flemming Nielson,et al.  Denial-of-Service Security Attack in the Continuous-Time World , 2014, FORTE.

[40]  Karen A. Frenkel,et al.  An interview with Robin Milner , 1993, CACM.

[41]  Joachim Parrow,et al.  An Introduction to the π-Calculus , 2001, Handbook of Process Algebra.