516 research outputs found
On the Expressiveness of Joining
The expressiveness of communication primitives has been explored in a common
framework based on the pi-calculus by considering four features: synchronism
(asynchronous vs synchronous), arity (monadic vs polyadic data), communication
medium (shared dataspaces vs channel-based), and pattern-matching (binding to a
name vs testing name equality vs intensionality). Here another dimension
coordination is considered that accounts for the number of processes required
for an interaction to occur. Coordination generalises binary languages such as
pi-calculus to joining languages that combine inputs such as the Join Calculus
and general rendezvous calculus. By means of possibility/impossibility of
encodings, this paper shows coordination is unrelated to the other features.
That is, joining languages are more expressive than binary languages, and no
combination of the other features can encode a joining language into a binary
language. Further, joining is not able to encode any of the other features
unless they could be encoded otherwise.Comment: In Proceedings ICE 2015, arXiv:1508.04595. arXiv admin note:
substantial text overlap with arXiv:1408.145
On the Expressiveness of Intensional Communication
The expressiveness of communication primitives has been explored in a common
framework based on the pi-calculus by considering four features: synchronism
(asynchronous vs synchronous), arity (monadic vs polyadic data), communication
medium (shared dataspaces vs channel-based), and pattern-matching (binding to a
name vs testing name equality). Here pattern-matching is generalised to account
for terms with internal structure such as in recent calculi like Spi calculi,
Concurrent Pattern Calculus and Psi calculi. This paper explores intensionality
upon terms, in particular communication primitives that can match upon both
names and structures. By means of possibility/impossibility of encodings, this
paper shows that intensionality alone can encode synchronism, arity,
communication-medium, and pattern-matching, yet no combination of these without
intensionality can encode any intensional language.Comment: In Proceedings EXPRESS/SOS 2014, arXiv:1408.127
Blackboard Rules for Coordinating Context-aware Applications in Mobile Ad Hoc Networks
Thanks to improvements in wireless communication technologies and increasing
computing power in hand-held devices, mobile ad hoc networks are becoming an
ever-more present reality. Coordination languages are expected to become
important means in supporting this type of interaction. To this extent we argue
the interest of the Bach coordination language as a middleware that can handle
and react to context changes as well as cope with unpredictable physical
interruptions that occur in opportunistic network connections. More concretely,
our proposal is based on blackboard rules that model declaratively the actions
to be taken once the blackboard content reaches a predefined state, but also
that manage the engagement and disengagement of hosts and transient sharing of
blackboards. The idea of reactiveness has already been introduced in previous
work, but as will be appreciated by the reader, this article presents a new
perspective, more focused on a declarative setting.Comment: In Proceedings FOCLASA 2012, arXiv:1208.432
On the Introduction of Guarded Lists in Bach: Expressiveness, Correctness, and Efficiency Issues
Concurrency theory has received considerable attention, but mostly in the
scope of synchronous process algebras such as CCS, CSP, and ACP. As another way
of handling concurrency, data-based coordination languages aim to provide a
clear separation between interaction and computation by synchronizing processes
asynchronously by means of information being available or not on a shared
space. Although these languages enjoy interesting properties, verifying program
correctness remains challenging. Some works, such as Anemone, have introduced
facilities, including animations and model checking of temporal logic formulae,
to better grasp system modelling. However, model checking is known to raise
performance issues due to the state space explosion problem. In this paper, we
propose a guarded list construct as a solution to address this problem. We
establish that the guarded list construct increases performance while strictly
enriching the expressiveness of data-based coordination languages. Furthermore,
we introduce a notion of refinement to introduce the guarded list construct in
a correctness-preserving manner.Comment: In Proceedings ICE 2023, arXiv:2308.0892
17 - Nature-inspired Coordination for Complex Distributed Systems
Originating from closed parallel systems, coordination models and technologies gained in expressive power so to deal with open distributed systems. In particular, nature-inspired models of coordination emerged in the last decade as the most effective approaches to tackle the complexity of pervasive, intelligent, and self-* systems. In this talk we survey the most relevant nature-inspired coordination models, discuss the main open issues, and explore the trends for their future development
Coordination and Concurrency in Multi-Engine Prolog
Abstract. We discuss the impact of the separation of logic engines (independent logic processing units) and multi-threading on the design of coordination mechanisms for a Prolog based agent infrastructure. We advocate a combination of coroutining constructs with focus on expressiveness and a simplified, multi-threading API that ensures optimal use available parallelism. In this context, native multi-threading is made available to the application programmer as a set of high-level primitives with a declarative flavor while cooperative constructs provide efficient and predictable coordination mechanisms. As illustrations of our techniques, a parallel fold operation as well as cooperative implementations of Linda blackboards and publish/subscribe are described
- …