670 research outputs found
Relations between automata and the simple k-path problem
Let be a directed graph on vertices. Given an integer , the
SIMPLE -PATH problem asks whether there exists a simple -path in . In
case is weighted, the MIN-WT SIMPLE -PATH problem asks for a simple
-path in of minimal weight. The fastest currently known deterministic
algorithm for MIN-WT SIMPLE -PATH by Fomin, Lokshtanov and Saurabh runs in
time for graphs with integer weights in
the range . This is also the best currently known deterministic
algorithm for SIMPLE k-PATH- where the running time is the same without the
factor. We define to be the set of words of
length whose symbols are all distinct. We show that an explicit
construction of a non-deterministic automaton (NFA) of size for implies an algorithm of running time for MIN-WT SIMPLE -PATH when the weights are
non-negative or the constructed NFA is acyclic as a directed graph. We show
that the algorithm of Kneis et al. and its derandomization by Chen et al. for
SIMPLE -PATH can be used to construct an acylic NFA for of size
.
We show, on the other hand, that any NFA for must be size at least
. We thus propose closing this gap and determining the smallest NFA for
as an interesting open problem that might lead to faster algorithms
for MIN-WT SIMPLE -PATH.
We use a relation between SIMPLE -PATH and non-deterministic xor automata
(NXA) to give another direction for a deterministic algorithm with running time
for SIMPLE -PATH
Declarative process modeling in BPMN
Traditional business process modeling notations, including the standard Business Process Model and Notation (BPMN), rely on an imperative paradigm wherein the process model captures all allowed activity flows. In other words, every flow that is not specified is implicitly disallowed. In the past decade, several researchers have exposed the limitations of this paradigm in the context of business processes with high variability. As an alternative, declarative process modeling notations have been proposed (e.g., Declare). These notations allow modelers to capture constraints on the allowed activity flows, meaning that all flows are allowed provided that they do not violate the specified constraints. Recently, it has been recognized that the boundary between imperative and declarative process modeling is not crisp. Instead, mixtures of declarative and imperative process modeling styles are sometimes preferable, leading to proposals for hybrid process modeling notations. These developments raise the question of whether completely new notations are needed to support hybrid process modeling. This paper answers this question negatively. The paper presents a conservative extension of BPMN for declarative process modeling, namely BPMN-D, and shows that Declare models can be transformed into readable BPMN-D models. © Springer International Publishing Switzerland 2015
Canonical Algebraic Generators in Automata Learning
Many methods for the verification of complex computer systems require the
existence of a tractable mathematical abstraction of the system, often in the
form of an automaton. In reality, however, such a model is hard to come up
with, in particular manually. Automata learning is a technique that can
automatically infer an automaton model from a system -- by observing its
behaviour. The majority of automata learning algorithms is based on the
so-called L* algorithm. The acceptor learned by L* has an important property:
it is canonical, in the sense that, it is, up to isomorphism, the unique
deterministic finite automaton of minimal size accepting a given regular
language. Establishing a similar result for other classes of acceptors, often
with side-effects, is of great practical importance. Non-deterministic finite
automata, for instance, can be exponentially more succinct than deterministic
ones, allowing verification to scale. Unfortunately, identifying a canonical
size-minimal non-deterministic acceptor of a given regular language is in
general not possible: it can happen that a regular language is accepted by two
non-isomorphic non-deterministic finite automata of minimal size. In
particular, it thus is unclear which one of the automata should be targeted by
a learning algorithm. In this thesis, we further explore the issue and identify
(sub-)classes of acceptors that admit canonical size-minimal representatives.Comment: PhD thesi
Canonical Algebraic Generators in Automata Learning
Many methods for the verification of complex computer systems require the existence of a tractable mathematical abstraction of the system, often in the form of an automaton. In reality, however, such a model is hard to come up with, in particular manually. Automata learning is a technique that can automatically infer an automaton model from a system -- by observing its behaviour. The majority of automata learning algorithms is based on the so-called L* algorithm. The acceptor learned by L* has an important property: it is canonical, in the sense that, it is, up to isomorphism, the unique deterministic finite automaton of minimal size accepting a given regular language. Establishing a similar result for other classes of acceptors, often with side-effects, is of great practical importance. Non-deterministic finite automata, for instance, can be exponentially more succinct than deterministic ones, allowing verification to scale. Unfortunately, identifying a canonical size-minimal non-deterministic acceptor of a given regular language is in general not possible: it can happen that a regular language is accepted by two non-isomorphic non-deterministic finite automata of minimal size. In particular, it thus is unclear which one of the automata should be targeted by a learning algorithm. In this thesis, we further explore the issue and identify (sub-)classes of acceptors that admit canonical size-minimal representatives.
In more detail, the contributions of this thesis are three-fold.
First, we expand the automata (learning) theory of Guarded Kleene Algebra with Tests (GKAT), an efficiently decidable logic expressive enough to model simple imperative programs. In particular, we present GL*, an algorithm that learns the unique size-minimal GKAT automaton for a given deterministic language, and prove that GL* is more efficient than an existing variation of L*. We implement both algorithms in OCaml, and compare them on example programs.
Second, we present a category-theoretical framework based on generators, bialgebras, and distributive laws, which identifies, for a wide class of automata with side-effects in a monad, canonical target models for automata learning. Apart from recovering examples from the literature, we discover a new canonical acceptor of regular languages, and present a unifying minimality result.
Finally, we show that the construction underlying our framework is an instance of a more general theory. First, we see that deriving a minimal bialgebra from a minimal coalgebra can be realized by applying a monad on a category of subobjects with respect to an epi-mono factorisation system. Second, we explore the abstract theory of generators and bases for algebras over a monad: we discuss bases for bialgebras, the product of bases, generalise the representation theory of linear maps, and compare our ideas to a coalgebra-based approach
Efficient Code Generation from SHIM Models
Programming concurrent systems is substantially more difficult than programming sequential systems, yet most embedded systems need concurrency. We believe this should be addressed through higher-level models of concurrency that eliminate many of the usual challenges, such as nondeterminism arising from races. The shim model of computation provides deterministic concurrency, and there already exist ways of implementing it in hardware and software. In this work, we describe how to produce more efficient C code from shim systems. We propose two techniques: a largely mechanical one that produces tail-recursive code for simulating concurrency, and a more clever one that statically analyzes the communication pattern of multiple processes to produce code with far less overhead. Experimentally, we find our tail-recursive technique produces code that runs roughly twice as fast as a baseline; our statically-scheduled code can run up to twelve times faster
Representing Conversations for Scalable Overhearing
Open distributed multi-agent systems are gaining interest in the academic
community and in industry. In such open settings, agents are often coordinated
using standardized agent conversation protocols. The representation of such
protocols (for analysis, validation, monitoring, etc) is an important aspect of
multi-agent applications. Recently, Petri nets have been shown to be an
interesting approach to such representation, and radically different approaches
using Petri nets have been proposed. However, their relative strengths and
weaknesses have not been examined. Moreover, their scalability and suitability
for different tasks have not been addressed. This paper addresses both these
challenges. First, we analyze existing Petri net representations in terms of
their scalability and appropriateness for overhearing, an important task in
monitoring open multi-agent systems. Then, building on the insights gained, we
introduce a novel representation using Colored Petri nets that explicitly
represent legal joint conversation states and messages. This representation
approach offers significant improvements in scalability and is particularly
suitable for overhearing. Furthermore, we show that this new representation
offers a comprehensive coverage of all conversation features of FIPA
conversation standards. We also present a procedure for transforming AUML
conversation protocol diagrams (a standard human-readable representation), to
our Colored Petri net representation
- …