18,687 research outputs found
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, 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 constraining the times in which interactions should occur. We present a timed API for Python to program distributed 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. The performance of our implementation and its practicability are analysed via benchmarking
Mungo and StMungo: tools for typechecking protocols in Java
We present two tools that support static typechecking of communica- tion protocols in Java. Mungo associates Java classes with typestate specifications, which are state machines defining permitted sequences of method calls. StMungo translates a communication protocol specified in the Scribble protocol description language into a typestate specification for each role in the protocol by following the message sequence. Role implementations can be typechecked by Mungo to ensure that they satisfy their protocols, and then compiled as usual with javac. We demonstrate the Scribble, StMungo and Mungo toolchain via a typechecked POP3 client that can communicate with a real-world POP3 server
ScribbleSup: Scribble-Supervised Convolutional Networks for Semantic Segmentation
Large-scale data is of crucial importance for learning semantic segmentation
models, but annotating per-pixel masks is a tedious and inefficient procedure.
We note that for the topic of interactive image segmentation, scribbles are
very widely used in academic research and commercial software, and are
recognized as one of the most user-friendly ways of interacting. In this paper,
we propose to use scribbles to annotate images, and develop an algorithm to
train convolutional networks for semantic segmentation supervised by scribbles.
Our algorithm is based on a graphical model that jointly propagates information
from scribbles to unmarked pixels and learns network parameters. We present
competitive object semantic segmentation results on the PASCAL VOC dataset by
using scribbles as annotations. Scribbles are also favored for annotating stuff
(e.g., water, sky, grass) that has no well-defined shape, and our method shows
excellent results on the PASCAL-CONTEXT dataset thanks to extra inexpensive
scribble annotations. Our scribble annotations on PASCAL VOC are available at
http://research.microsoft.com/en-us/um/people/jifdai/downloads/scribble_supComment: accepted by CVPR 201
Estimation of Scribble Placement for Painting Colorization
Image colorization has been a topic of interest since
the mid 70’s and several algorithms have been proposed that
given a grayscale image and color scribbles (hints) produce a colorized image. Recently, this approach has been introduced in the field of art conservation and cultural heritage, where B&W photographs of paintings at previous stages have been colorized. However, the questions of what is the minimum number of scribbles necessary and where they should be placed in an image remain unexplored. Here we address this limitation using an iterative algorithm that provides insights as to the relationship between locally vs. globally important scribbles. Given a color image we randomly select scribbles and we attempt to color the
grayscale version of the original.We define a scribble contribution measure based on the reconstruction error. We demonstrate our approach using a widely used colorization algorithm and images from a Picasso painting and the peppers test image. We show that areas isolated by thick brushstrokes or areas with high textural variation are locally important but contribute very little to the
overall representation accuracy. We also find that for the case of Picasso on average 10% of scribble coverage is enough and that flat areas can be presented by few scribbles. The proposed method can be used verbatim to test any colorization algorithm
Pabble: parameterised Scribble
© 2014, The Author(s).Many parallel and distributed message-passing programs are written in a parametric way over available resources, in particular the number of nodes and their topologies, so that a single parallel program can scale over different environments. This article presents a parameterised protocol description language, Pabble, which can guarantee safety and progress in a large class of practical, complex parameterised message-passing programs through static checking. Pabble can describe an overall interaction topology, using a concise and expressive notation, designed for a variable number of participants arranged in multiple dimensions. These parameterised protocols in turn automatically generate local protocols for type checking parameterised MPI programs for communication safety and deadlock freedom. In spite of undecidability of endpoint projection and type checking in the underlying parameterised session type theory, our method guarantees the termination of end point projection and type checking
A Linear Decomposition of Multiparty Sessions for Safe Distributed Programming (Artifact)
This artifact contains a version of the Scribble tool that, given a protocol specification with multiple participants, can generate Scala APIs for implementing each participant in a type-safe, protocol abiding way. Crucially, the API generation leverages a decomposition of the multiparty protocol into type-safe peer-to-peer interactions between pairs of participants; and this, in turn, allows to implement the API internals on top of the existing lchannels library for type-safe binary session programming. As a result, several technically challenging aspects in the implementation of multiparty sessions are solved “for free”, at the underlying binary level. This includes distributed multiparty session delegation: this artifact implements it for the first time
Session Types Go Dynamic or How to Verify Your Python Conversations
This paper presents the first implementation of session types in a
dynamically-typed language - Python. Communication safety of the whole system
is guaranteed at runtime by monitors that check the execution traces comply
with an associated protocol. Protocols are written in Scribble, a choreography
description language based on multiparty session types, with addition of logic
formulas for more precise behaviour properties. The presented framework
overcomes the limitations of previous works on the session types where all
endpoints should be statically typed so that they do not permit
interoperability with untyped participants. The advantages, expressiveness and
performance of dynamic protocol checking are demonstrated through use case and
benchmarks.Comment: In Proceedings PLACES 2013, arXiv:1312.221
- …
