4,623 research outputs found
Optimistic fair transaction processing in mobile ad-hoc networks
Mobile ad-hoc networks (MANETs) are unstable. Link errors, which are
considered as an exception in fixed-wired networks must be assumed to be the
default case in MANETs. Hence designing fault tolerant systems efficiently
offering transactional guarantees in these unstable environments is
considerably more complex. The efficient support for such guarantees is
essential for business applications, e.g. for the exchange of electronic
goods. This class of applications demands for transactional properties such as
money and goods atomicity. Within this technical report we present an
architecture, which allows for fair and atomic transaction processing in
MANETs, together with an associated application that enables exchange of
electronic tokens
A Concurrent Perspective on Smart Contracts
In this paper, we explore remarkable similarities between multi-transactional
behaviors of smart contracts in cryptocurrencies such as Ethereum and classical
problems of shared-memory concurrency. We examine two real-world examples from
the Ethereum blockchain and analyzing how they are vulnerable to bugs that are
closely reminiscent to those that often occur in traditional concurrent
programs. We then elaborate on the relation between observable contract
behaviors and well-studied concurrency topics, such as atomicity, interference,
synchronization, and resource ownership. The described
contracts-as-concurrent-objects analogy provides deeper understanding of
potential threats for smart contracts, indicate better engineering practices,
and enable applications of existing state-of-the-art formal verification
techniques.Comment: 15 page
Parameterized Synthesis
We study the synthesis problem for distributed architectures with a
parametric number of finite-state components. Parameterized specifications
arise naturally in a synthesis setting, but thus far it was unclear how to
detect realizability and how to perform synthesis in a parameterized setting.
Using a classical result from verification, we show that for a class of
specifications in indexed LTL\X, parameterized synthesis in token ring networks
is equivalent to distributed synthesis in a network consisting of a few copies
of a single process. Adapting a well-known result from distributed synthesis,
we show that the latter problem is undecidable. We describe a semi-decision
procedure for the parameterized synthesis problem in token rings, based on
bounded synthesis. We extend the approach to parameterized synthesis in
token-passing networks with arbitrary topologies, and show applicability on a
simple case study. Finally, we sketch a general framework for parameterized
synthesis based on cutoffs and other parameterized verification techniques.Comment: Extended version of TACAS 2012 paper, 29 page
SICStus MT - A Multithreaded Execution Environment for SICStus Prolog
The development of intelligent software agents and other
complex applications which continuously interact with their
environments has been one of the reasons why explicit concurrency has
become a necessity in a modern Prolog system today. Such applications
need to perform several tasks which may be very different with respect
to how they are implemented in Prolog. Performing these tasks
simultaneously is very tedious without language support.
This paper describes the design, implementation and evaluation of a
prototype multithreaded execution environment for SICStus Prolog. The
threads are dynamically managed using a small and compact set of
Prolog primitives implemented in a portable way, requiring almost no
support from the underlying operating system
Simplified Distributed Programming with Micro Objects
Developing large-scale distributed applications can be a daunting task.
object-based environments have attempted to alleviate problems by providing
distributed objects that look like local objects. We advocate that this
approach has actually only made matters worse, as the developer needs to be
aware of many intricate internal details in order to adequately handle partial
failures. The result is an increase of application complexity. We present an
alternative in which distribution transparency is lessened in favor of clearer
semantics. In particular, we argue that a developer should always be offered
the unambiguous semantics of local objects, and that distribution comes from
copying those objects to where they are needed. We claim that it is often
sufficient to provide only small, immutable objects, along with facilities to
group objects into clusters.Comment: In Proceedings FOCLASA 2010, arXiv:1007.499
Survey of Inter-satellite Communication for Small Satellite Systems: Physical Layer to Network Layer View
Small satellite systems enable whole new class of missions for navigation,
communications, remote sensing and scientific research for both civilian and
military purposes. As individual spacecraft are limited by the size, mass and
power constraints, mass-produced small satellites in large constellations or
clusters could be useful in many science missions such as gravity mapping,
tracking of forest fires, finding water resources, etc. Constellation of
satellites provide improved spatial and temporal resolution of the target.
Small satellite constellations contribute innovative applications by replacing
a single asset with several very capable spacecraft which opens the door to new
applications. With increasing levels of autonomy, there will be a need for
remote communication networks to enable communication between spacecraft. These
space based networks will need to configure and maintain dynamic routes, manage
intermediate nodes, and reconfigure themselves to achieve mission objectives.
Hence, inter-satellite communication is a key aspect when satellites fly in
formation. In this paper, we present the various researches being conducted in
the small satellite community for implementing inter-satellite communications
based on the Open System Interconnection (OSI) model. This paper also reviews
the various design parameters applicable to the first three layers of the OSI
model, i.e., physical, data link and network layer. Based on the survey, we
also present a comprehensive list of design parameters useful for achieving
inter-satellite communications for multiple small satellite missions. Specific
topics include proposed solutions for some of the challenges faced by small
satellite systems, enabling operations using a network of small satellites, and
some examples of small satellite missions involving formation flying aspects.Comment: 51 pages, 21 Figures, 11 Tables, accepted in IEEE Communications
Surveys and Tutorial
On Global Types and Multi-Party Session
Global types are formal specifications that describe communication protocols
in terms of their global interactions. We present a new, streamlined language
of global types equipped with a trace-based semantics and whose features and
restrictions are semantically justified. The multi-party sessions obtained
projecting our global types enjoy a liveness property in addition to the
traditional progress and are shown to be sound and complete with respect to the
set of traces of the originating global type. Our notion of completeness is
less demanding than the classical ones, allowing a multi-party session to leave
out redundant traces from an underspecified global type. In addition to the
technical content, we discuss some limitations of our language of global types
and provide an extensive comparison with related specification languages
adopted in different communities
- …