40 research outputs found
Self-Adaptation and Secure Information Flow in Multiparty Structured Communications: A Unified Perspective
We present initial results on a comprehensive model of structured
communications, in which self- adaptation and security concerns are jointly
addressed. More specifically, we propose a model of self-adaptive, multiparty
communications with secure information flow guarantees. In this model, security
violations occur when processes attempt to read or write messages of
inappropriate security levels within directed exchanges. Such violations
trigger adaptation mechanisms that prevent the violations to occur and/or to
propagate their effect in the choreography. Our model is equipped with local
and global mechanisms for reacting to security violations; type soundness
results ensure that global protocols are still correctly executed, while the
system adapts itself to preserve security.Comment: In Proceedings BEAT 2014, arXiv:1408.556
The Paths to Choreography Extraction
Choreographies are global descriptions of interactions among concurrent
components, most notably used in the settings of verification (e.g., Multiparty
Session Types) and synthesis of correct-by-construction software (Choreographic
Programming). They require a top-down approach: programmers first write
choreographies, and then use them to verify or synthesize their programs.
However, most existing software does not come with choreographies yet, which
prevents their application.
To attack this problem, we propose a novel methodology (called choreography
extraction) that, given a set of programs or protocol specifications,
automatically constructs a choreography that describes their behavior. The key
to our extraction is identifying a set of paths in a graph that represents the
symbolic execution of the programs of interest. Our method improves on previous
work in several directions: we can now deal with programs that are equipped
with a state and internal computation capabilities; time complexity is
dramatically better; we capture programs that are correct but not necessarily
synchronizable, i.e., they work because they exploit asynchronous
communication
Reversible Multiparty Sessions with Checkpoints
Reversible interactions model different scenarios, like biochemical systems
and human as well as automatic negotiations. We abstract interactions via
multiparty sessions enriched with named checkpoints. Computations can either go
forward or roll back to some checkpoints, where possibly different choices may
be taken. In this way communications can be undone and different conversations
may be tried. Interactions are typed with global types, which control also
rollbacks. Typeability of session participants in agreement with global types
ensures session fidelity and progress of reversible communications.Comment: In Proceedings EXPRESS/SOS 2016, arXiv:1608.0269
Affine Sessions
Session types describe the structure of communications implemented by
channels. In particular, they prescribe the sequence of communications, whether
they are input or output actions, and the type of value exchanged. Crucial to
any language with session types is the notion of linearity, which is essential
to ensure that channels exhibit the behaviour prescribed by their type without
interference in the presence of concurrency. In this work we relax the
condition of linearity to that of affinity, by which channels exhibit at most
the behaviour prescribed by their types. This more liberal setting allows us to
incorporate an elegant error handling mechanism which simplifies and improves
related works on exceptions. Moreover, our treatment does not affect the
progress properties of the language: sessions never get stuck
Type-Based Analysis of Linear Communications
This chapter presents a tool called Hypha for the type-based analysis of
processes that communicate on linear channels. We describe the specification
language used to model the systems under analysis (Section 9.1) followed by
the typing rules on which the tool is based in order to verify two properties
of systems, deadlock freedom and lock freedom (Section 9.2). In the final part
of the chaper we illustrate the expressiveness and the limitations of the tool
discussing a number of examples inspired by representative communication
patterns using in parallel computing (Section 9.3) and then discuss closely
related work (Section 9.4). The tool can be downloaded from the author’s
home page, the type system has been described by Padovani [18] and the
corresponding reconstruction algorithms by Padovani et al. [19, 20]