413 research outputs found
Static Analysis of Deterministic Negotiations
Negotiation diagrams are a model of concurrent computation akin to workflow
Petri nets. Deterministic negotiation diagrams, equivalent to the much studied
and used free-choice workflow Petri nets, are surprisingly amenable to
verification. Soundness (a property close to deadlock-freedom) can be decided
in PTIME. Further, other fundamental questions like computing summaries or the
expected cost, can also be solved in PTIME for sound deterministic negotiation
diagrams, while they are PSPACE-complete in the general case.
In this paper we generalize and explain these results. We extend the
classical "meet-over-all-paths" (MOP) formulation of static analysis problems
to our concurrent setting, and introduce Mazurkiewicz-invariant analysis
problems, which encompass the questions above and new ones. We show that any
Mazurkiewicz-invariant analysis problem can be solved in PTIME for sound
deterministic negotiations whenever it is in PTIME for sequential
flow-graphs---even though the flow-graph of a deterministic negotiation diagram
can be exponentially larger than the diagram itself. This gives a common
explanation to the low-complexity of all the analysis questions studied so far.
Finally, we show that classical gen/kill analyses are also an instance of our
framework, and obtain a PTIME algorithm for detecting anti-patterns in
free-choice workflow Petri nets.
Our result is based on a novel decomposition theorem, of independent
interest, showing that sound deterministic negotiation diagrams can be
hierarchically decomposed into (possibly overlapping) smaller sound diagrams.Comment: To appear in the Proceedings of LICS 2017, IEEE Computer Societ
A Modular Formalization of Reversibility for Concurrent Models and Languages
Causal-consistent reversibility is the reference notion of reversibility for
concurrency. We introduce a modular framework for defining causal-consistent
reversible extensions of concurrent models and languages. We show how our
framework can be used to define reversible extensions of formalisms as
different as CCS and concurrent X-machines. The generality of the approach
allows for the reuse of theories and techniques in different settings.Comment: In Proceedings ICE 2016, arXiv:1608.0313
Unfolding-based Partial Order Reduction
Partial order reduction (POR) and net unfoldings are two alternative methods
to tackle state-space explosion caused by concurrency. In this paper, we
propose the combination of both approaches in an effort to combine their
strengths. We first define, for an abstract execution model, unfolding
semantics parameterized over an arbitrary independence relation. Based on it,
our main contribution is a novel stateless POR algorithm that explores at most
one execution per Mazurkiewicz trace, and in general, can explore exponentially
fewer, thus achieving a form of super-optimality. Furthermore, our
unfolding-based POR copes with non-terminating executions and incorporates
state-caching. Over benchmarks with busy-waits, among others, our experiments
show a dramatic reduction in the number of executions when compared to a
state-of-the-art DPOR.Comment: Long version of a paper with the same title appeared on the
proceedings of CONCUR 201
Logspace computations in graph products
We consider three important and well-studied algorithmic problems in group
theory: the word, geodesic, and conjugacy problem. We show transfer results
from individual groups to graph products. We concentrate on logspace complexity
because the challenge is actually in small complexity classes, only. The most
difficult transfer result is for the conjugacy problem. We have a general
result for graph products, but even in the special case of a graph group the
result is new. Graph groups are closely linked to the theory of Mazurkiewicz
traces which form an algebraic model for concurrent processes. Our proofs are
combinatorial and based on well-known concepts in trace theory. We also use
rewriting techniques over traces. For the group-theoretical part we apply
Bass-Serre theory. But as we need explicit formulae and as we design concrete
algorithms all our group-theoretical calculations are completely explicit and
accessible to non-specialists
- …