50 research outputs found
On the Distributability of Mobile Ambients
Modern society is dependent on distributed software systems and to verify
them different modelling languages such as mobile ambients were developed. To
analyse the quality of mobile ambients as a good foundational model for
distributed computation, we analyse the level of synchronisation between
distributed components that they can express. Therefore, we rely on earlier
established synchronisation patterns. It turns out that mobile ambients are not
fully distributed, because they can express enough synchronisation to express a
synchronisation pattern called M. However, they can express strictly less
synchronisation than the standard pi-calculus. For this reason, we can show
that there is no good and distributability-preserving encoding from the
standard pi-calculus into mobile ambients and also no such encoding from mobile
ambients into the join-calculus, i.e., the expressive power of mobile ambients
is in between these languages. Finally, we discuss how these results can be
used to obtain a fully distributed variant of mobile ambients.Comment: In Proceedings EXPRESS/SOS 2018, arXiv:1808.08071. Conference version
of arXiv:1808.0159
An Operational Petri Net Semantics for the Join-Calculus
We present a concurrent operational Petri net semantics for the
join-calculus, a process calculus for specifying concurrent and distributed
systems. There often is a gap between system specifications and the actual
implementations caused by synchrony assumptions on the specification side and
asynchronously interacting components in implementations. The join-calculus is
promising to reduce this gap by providing an abstract specification language
which is asynchronously distributable. Classical process semantics establish an
implicit order of actually independent actions, by means of an interleaving. So
does the semantics of the join-calculus. To capture such independent actions,
step-based semantics, e.g., as defined on Petri nets, are employed. Our Petri
net semantics for the join-calculus induces step-behavior in a natural way. We
prove our semantics behaviorally equivalent to the original join-calculus
semantics by means of a bisimulation. We discuss how join specific assumptions
influence an existing notion of distributability based on Petri nets.Comment: In Proceedings EXPRESS/SOS 2012, arXiv:1208.244
Encoding CSP into CCS
We study encodings from CSP into asynchronous CCS with name passing and
matching, so in fact, the asynchronous pi-calculus. By doing so, we discuss two
different ways to map the multi-way synchronisation mechanism of CSP into the
two-way synchronisation mechanism of CCS. Both encodings satisfy the criteria
of Gorla except for compositionality, as both use an additional top-level
context. Following the work of Parrow and Sj\"odin, the first encoding uses a
centralised coordinator and establishes a variant of weak bisimilarity between
source terms and their translations. The second encoding is decentralised, and
thus more efficient, but ensures only a form of coupled similarity between
source terms and their translations.Comment: In Proceedings EXPRESS/SOS 2015, arXiv:1508.0634
Analysing and Comparing Encodability Criteria
Encodings or the proof of their absence are the main way to compare process
calculi. To analyse the quality of encodings and to rule out trivial or
meaningless encodings, they are augmented with quality criteria. There exists a
bunch of different criteria and different variants of criteria in order to
reason in different settings. This leads to incomparable results. Moreover it
is not always clear whether the criteria used to obtain a result in a
particular setting do indeed fit to this setting. We show how to formally
reason about and compare encodability criteria by mapping them on requirements
on a relation between source and target terms that is induced by the encoding
function. In particular we analyse the common criteria full abstraction,
operational correspondence, divergence reflection, success sensitiveness, and
respect of barbs; e.g. we analyse the exact nature of the simulation relation
(coupled simulation versus bisimulation) that is induced by different variants
of operational correspondence. This way we reduce the problem of analysing or
comparing encodability criteria to the better understood problem of comparing
relations on processes.Comment: In Proceedings EXPRESS/SOS 2015, arXiv:1508.06347. The Isabelle/HOL
source files, and a full proof document, are available in the Archive of
Formal Proofs, at
http://afp.sourceforge.net/entries/Encodability_Process_Calculi.shtm
On the expressiveness of mixed choice sessions
Session types provide a flexible programming style for structuring interaction, and are used to guarantee a safe and consistent composition of distributed processes. Traditional session types include only one-directional input (external) and output (internal) guarded choices. This prevents the session-processes to explore the full expressive power of the pi-calculus where the mixed choices are proved more expressive than the (non-mixed) guarded choices. To account this issue, recently Casal, Mordido, and Vasconcelos proposed the binary session types with mixed choices (CMV+). This paper carries a surprising, unfortunate result on CMV+: in spite of an inclusion of unrestricted channels with mixed choice, CMV+'s mixed choice is rather separate and not mixed. We prove this negative result using two methodologies (using either the leader election problem or a synchronisation pattern as distinguishing feature), showing that there exists no good encoding from the pi-calculus into CMV+, preserving distribution. We then close their open problem on the encoding from CMV+ into CMV (without mixed choice), proving its soundness and thereby that the encoding is good up to coupled similarity
Comparing Process Calculi Using Encodings
Encodings or the proof of their absence are the main way to compare process
calculi. To analyse the quality of encodings and to rule out trivial or
meaningless encodings, they are augmented with encodability criteria. There
exists a bunch of different criteria and different variants of criteria in
order to reason in different settings. This leads to incomparable results.
Moreover, it is not always clear whether the criteria used to obtain a result
in a particular setting do indeed fit to this setting. This paper provides a
short survey on often used encodability criteria, general frameworks that try
to provide a unified notion of the quality of an encoding, and methods to
analyse and compare encodability criteria.Comment: In Proceedings EXPRESS/SOS 2019, arXiv:1908.0821