Algebraic laws for nondeterminism and concurrency
Journal of the ACM (JACM)
Introduction to mathematical logic (3rd ed.)
Introduction to mathematical logic (3rd ed.)
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Dependent types in practical programming
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Composing contracts: an adventure in financial engineering (functional pearl)
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
An axiomatic basis for computer programming
Communications of the ACM
Types and programming languages
Types and programming languages
Object-Oriented Software Construction
Object-Oriented Software Construction
Model Driven Architecture: Applying MDA to Enterprise Computing
Model Driven Architecture: Applying MDA to Enterprise Computing
Computer
Language Primitives and Type Discipline for Structured Communication-Based Programming
ESOP '98 Proceedings of the 7th European Symposium on Programming: Programming Languages and Systems
Proof systems for π-calculus logics
Logic for concurrency and synchronisation
Correspondence assertions for process synchronization in concurrent communications
Journal of Functional Programming
Typing the Behavior of Software Components using Session Types
Fundamenta Informaticae
Multiparty asynchronous session types
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Type System for Client Progress in a Service-Oriented Calculus
Concurrency, Graphs and Models
Completeness and Logical Full Abstraction in Modal Logics for Typed Mobile Processes
ICALP '08 Proceedings of the 35th international colloquium on Automata, Languages and Programming, Part II
Global Progress in Dynamically Interleaved Multiparty Sessions
CONCUR '08 Proceedings of the 19th international conference on Concurrency Theory
Static contract checking for Haskell
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Foundational Theory of Contracts for Multi-party Service Composition
Fundamenta Informaticae - Fundamentals of Software Engineering 2007: Selected Contributions
ESOP '09 Proceedings of the 18th European Symposium on Programming Languages and Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Formal Aspects of Computing - Special Issue: Concurrency and Real-Time for Eiffel-like Languages
Cryptographic Protocol Synthesis and Verification for Multiparty Sessions
CSF '09 Proceedings of the 2009 22nd IEEE Computer Security Foundations Symposium
Contracts for Mobile Processes
CONCUR 2009 Proceedings of the 20th International Conference on Concurrency Theory
Modular verification of security protocol code by typing
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
CC-Pi: a constraint-based language for specifying service level agreements
ESOP'07 Proceedings of the 16th European conference on Programming
Verifying object-oriented software: lessons and challenges
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
A process calculus for qos-aware applications
COORDINATION'05 Proceedings of the 7th international conference on Coordination Models and Languages
Dynamic multirole session types
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Scribbling interactions with a formal foundation
ICDCIT'11 Proceedings of the 7th international conference on Distributed computing and internet technology
Dependent session types via intuitionistic linear type theory
Proceedings of the 13th international ACM SIGPLAN symposium on Principles and practices of declarative programming
Safe parallel programming with session Java
COORDINATION'11 Proceedings of the 13th international conference on Coordination models and languages
Monitoring for digital preservation of processes
CONTEXT'11 Proceedings of the 7th international and interdisciplinary conference on Modeling and using context
A reputation system for multirole sessions
TGC'11 Proceedings of the 6th international conference on Trustworthy Global Computing
Asynchronous distributed monitoring for multiparty session enforcement
TGC'11 Proceedings of the 6th international conference on Trustworthy Global Computing
On the realizability of contracts in dishonest systems
COORDINATION'12 Proceedings of the 14th international conference on Coordination Models and Languages
Multiparty session c: safe parallel programming with message optimisation
TOOLS'12 Proceedings of the 50th international conference on Objects, Models, Components, Patterns
Specifying stateful asynchronous properties for distributed programs
CONCUR'12 Proceedings of the 23rd international conference on Concurrency Theory
Synthesising choreographies from local session types
CONCUR'12 Proceedings of the 23rd international conference on Concurrency Theory
Nested protocols in session types
CONCUR'12 Proceedings of the 23rd international conference on Concurrency Theory
Hi-index | 0.00 |
Design by Contract (DbC) promotes reliable software development through elaboration of type signatures for sequential programs with logical predicates. This paper presents an assertion method, based on the π-calculus with full recursion, which generalises the notion of DbC to multiparty distributed interactions to enable effective specification and verification of distributed multiparty protocols. Centring on global assertions and their projections onto endpoint assertions, our method allows clear specifications for typed sessions, constraining the content of the exchanged messages, the choice of sub-conversations to follow, and invariants on recursions. The paper presents key theoretical foundations of this framework, including a sound and relatively complete compositional proof system for verifying processes against assertions.