5 research outputs found
Timed Multiparty Session Types
We propose a typing theory, based on multiparty session types, for modular verification of real-time choreographic interactions. To model real-time implementations, we introduce a simple calculus with delays and a decidable static proof system. The proof system ensures type safety and time-error freedom, namely processes respect the prescribed timing and causalities between interactions. A decidable condition on timed global types guarantees time-progress for validated processes with delays, and gives a sound and complete characterisation of a new class of CTAs with general topologies that enjoys progress and liveness
Timed runtime monitoring for multiparty conversations
We propose a dynamic verification framework for protocols in real-time distributed systems. The framework
is based on Scribble, a tool-chain for design and verification of choreographies based on multiparty session
types, which we have developed with our industrial partners. Drawing from recent work on multiparty session
types for real-time interactions, we extend Scribble with clocks, resets, and clock predicates in order to constrain
the times inwhich interactions occur.We present a timedAPI for Python to programdistributed implementations
of Scribble specifications. A dynamic verification framework ensures the safe execution of applications written
with our timed API: we have implemented dedicated runtime monitors that check that each interaction occurs at
a correct timing with respect to the corresponding Scribble specification. To demonstrate the practicality of the
proposed framework, we express and verify four categories of widely used temporal patterns from use cases in
literature.We analyse the performance of our implementation via benchmarking and show negligible overhead
Programming Languages and Systems
This open access book constitutes the proceedings of the 28th European Symposium on Programming, ESOP 2019, which took place in Prague, Czech Republic, in April 2019, held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2019