6,210 research outputs found
A true concurrent model of smart contracts executions
The development of blockchain technologies has enabled the trustless
execution of so-called smart contracts, i.e. programs that regulate the
exchange of assets (e.g., cryptocurrency) between users. In a decentralized
blockchain, the state of smart contracts is collaboratively maintained by a
peer-to-peer network of mutually untrusted nodes, which collect from users a
set of transactions (representing the required actions on contracts), and
execute them in some order. Once this sequence of transactions is appended to
the blockchain, the other nodes validate it, re-executing the transactions in
the same order. The serial execution of transactions does not take advantage of
the multi-core architecture of modern processors, so contributing to limit the
throughput. In this paper we propose a true concurrent model of smart contract
execution. Based on this, we show how static analysis of smart contracts can be
exploited to parallelize the execution of transactions.Comment: Full version of the paper presented at COORDINATION 202
Dependencies and Simultaneity in Membrane Systems
Membrane system computations proceed in a synchronous fashion: at each step
all the applicable rules are actually applied. Hence each step depends on the
previous one. This coarse view can be refined by looking at the dependencies
among rule occurrences, by recording, for an object, which was the a rule that
produced it and subsequently (in a later step), which was the a rule that
consumed it. In this paper we propose a way to look also at the other main
ingredient in membrane system computations, namely the simultaneity in the rule
applications. This is achieved using zero-safe nets that allows to synchronize
transitions, i.e., rule occurrences. Zero-safe nets can be unfolded into
occurrence nets in a classical way, and to this unfolding an event structure
can be associated. The capability of capturing simultaneity of zero-safe nets
is transferred on the level of event structure by adding a way to express which
events occur simultaneously
Recommended from our members
RGA users manual : version 2.3
RGA is an interpreter for a special language designed for the analysis of reachability graphs, or control flow graphs, generated from Petri nets. Although in some cases the reachability graph can become too large to be tractable, or can even be infinite, many interesting problems exist whose reachability graphs are of reasonable size. In RGA, the user has access to the names of the places in the net, and to the states of the reachability graph. The structure of the graph is also available through functions which return the sets of successor or predecessor states of a state and the transition-firings connecting the states. The RGA language allows dynamic typing of identifiers, recursion, and function and operator overloading. Rather than providing a number of predefined analysis functions, RGA provides primitive functions which allow the user to conduct complex analyses with little programming effort. RGA is part of a suite of tools, called P-NUT, intended to facilitate the analysis of concurrent systems described by Petri nets
Zero-safe net models for transactions in Linda
Abstract Zero-safe nets are a variation of Petri nets, where transactions can be suitably modeled. The idea is to distinguish between stable places (whose markings define observable states) and zero-safe places (where tokens can only be temporarily allocated, defining hidden states): Transactions must start and end in observable states. We propose an extension of the coordination language Linda, called TraLinda, where a few basic primitives for expressing transactions are introduced by means of different typing of tuples. By exploiting previous results of Busi, Gorrieri and Zavattaro on the net modeling of Linda-like languages, we define a concurrent operational semantics based on zero-safe nets for TraLinda, where the typing of tuples reflects evidently on the distinction between stable and zero-safe places
On Negotiation as Concurrency Primitive
We introduce negotiations, a model of concurrency close to Petri nets, with
multiparty negotiation as primitive. We study the problems of soundness of
negotiations and of, given a negotiation with possibly many steps, computing a
summary, i.e., an equivalent one-step negotiation. We provide a complete set of
reduction rules for sound, acyclic, weakly deterministic negotiations and show
that, for deterministic negotiations, the rules compute the summary in
polynomial time
Partial Reconfiguration of Control Systems using Petri Nets Structural Redundancy
This paper deals with the partial reconfiguration of the discrete control systems due to resource failures using the structural redundancy of the global system model. The approach herein proposed introduces a new subclass of Interpreted Petri Nets (), named Interpreted Machines with Resources (), allowing representing both the behaviour of a system and the resource allocation. Based on this model, an efficient reconfiguration algorithm is proposed; it is based on finding the set of all redundant sequences using alternative resources. The advantages of this structural reconfiguration method are: (1) it provides minimal reconfiguration to the system control assuring the properties of the original control system, (2) since the model includes resource allocation, it can be applied to a variety of systems such as Business Processes, and FPGAs, among others, (3) it takes advantage of the implied features of Petri net models, such as structural analysis and graphical visualization of the system and control. The method is illustrated through a case study that deals with a manufacturing system controller, which includes both alternative resources and operation sequencesITESO, A.C.CINVESTA
- …