2,395 research outputs found
Soundness-preserving composition of synchronously and asynchronously interacting workflow net components
In this paper, we propose a compositional approach to construct formal models
of complex distributed systems with several synchronously and asynchronously
interacting components. A system model is obtained from a composition of
individual component models according to requirements on their interaction. We
represent component behavior using workflow nets - a class of Petri nets. We
propose a general approach to model and compose synchronously and
asynchronously interacting workflow nets. Through the use of Petri net
morphisms and their properties, we prove that this composition of workflow nets
preserves component correctness.Comment: Preprint of the paper submitted to "Fundamenta Informaticae
On Asynchrony and Choreographies
Choreographic Programming is a paradigm for the development of concurrent
software, where deadlocks are prevented syntactically. However, choreography
languages are typically synchronous, whereas many real-world systems have
asynchronous communications. Previous attempts at enriching choreographies with
asynchrony rely on ad-hoc constructions, whose adequacy is only argued
informally. In this work, we formalise the properties that an asynchronous
semantics for choreographies should have: messages can be sent without the
intended receiver being ready, and all sent messages are eventually received.
We explore how out-of-order execution, used in choreographies for modelling
concurrency, can be exploited to endow choreographies with an asynchronous
semantics. Our approach satisfies the properties we identified. We show how our
development yields a pleasant correspondence with FIFO-based asynchronous
messaging, modelled in a process calculus, and discuss how it can be adopted in
more complex choreography models.Comment: In Proceedings ICE 2017, arXiv:1711.1070
Semantic Component Composition
Building complex software systems necessitates the use of component-based
architectures. In theory, of the set of components needed for a design, only
some small portion of them are "custom"; the rest are reused or refactored
existing pieces of software. Unfortunately, this is an idealized situation.
Just because two components should work together does not mean that they will
work together.
The "glue" that holds components together is not just technology. The
contracts that bind complex systems together implicitly define more than their
explicit type. These "conceptual contracts" describe essential aspects of
extra-system semantics: e.g., object models, type systems, data representation,
interface action semantics, legal and contractual obligations, and more.
Designers and developers spend inordinate amounts of time technologically
duct-taping systems to fulfill these conceptual contracts because system-wide
semantics have not been rigorously characterized or codified. This paper
describes a formal characterization of the problem and discusses an initial
implementation of the resulting theoretical system.Comment: 9 pages, submitted to GCSE/SAIG '0
Preventing Object-centric Discovery of Unsound Process Models for Object Interactions with Loops in Collaborative Systems: Extended Version
Object-centric process discovery (OCPD) constitutes a paradigm shift in
process mining. Instead of assuming a single case notion present in the event
log, OCPD can handle events without a single case notion, but that are instead
related to a collection of objects each having a certain type. The object types
constitute multiple, interacting case notions. The output of OCPD is an
object-centric Petri net, i.e. a Petri net with object-typed places, that
represents the parallel execution of multiple execution flows corresponding to
object types. Similar to classical process discovery, where we aim for
behaviorally sound process models as a result, in OCPD, we aim for soundness of
the resulting object-centric Petri nets. However, the existing OCPD approach
can result in violations of soundness. As we will show, one violation arises
for multiple interacting object types with loops that arise in collaborative
systems. This paper proposes an extended OCPD approach and proves that it does
not suffer from this violation of soundness of the resulting object-centric
Petri nets. We also show how we prevent the OCPD approach from introducing
spurious interactions in the discovered object-centric Petri net. The proposed
framework is prototypically implemented
- ā¦