7,795 research outputs found
Refinement Calculus of Reactive Systems
Refinement calculus is a powerful and expressive tool for reasoning about
sequential programs in a compositional manner. In this paper we present an
extension of refinement calculus for reactive systems. Refinement calculus is
based on monotonic predicate transformers, which transform sets of post-states
into sets of pre-states. To model reactive systems, we introduce monotonic
property transformers, which transform sets of output traces into sets of input
traces. We show how to model in this semantics refinement, sequential
composition, demonic choice, and other semantic operations on reactive systems.
We use primarily higher order logic to express our results, but we also show
how property transformers can be defined using other formalisms more amenable
to automation, such as linear temporal logic (suitable for specifications) and
symbolic transition systems (suitable for implementations). Finally, we show
how this framework generalizes previous work on relational interfaces so as to
be able to express systems with infinite behaviors and liveness properties
Thread-Modular Static Analysis for Relaxed Memory Models
We propose a memory-model-aware static program analysis method for accurately
analyzing the behavior of concurrent software running on processors with weak
consistency models such as x86-TSO, SPARC-PSO, and SPARC-RMO. At the center of
our method is a unified framework for deciding the feasibility of inter-thread
interferences to avoid propagating spurious data flows during static analysis
and thus boost the performance of the static analyzer. We formulate the
checking of interference feasibility as a set of Datalog rules which are both
efficiently solvable and general enough to capture a range of hardware-level
memory models. Compared to existing techniques, our method can significantly
reduce the number of bogus alarms as well as unsound proofs. We implemented the
method and evaluated it on a large set of multithreaded C programs. Our
experiments showthe method significantly outperforms state-of-the-art
techniques in terms of accuracy with only moderate run-time overhead.Comment: revised version of the ESEC/FSE 2017 pape
Combining Bluetooth Mesh and KNX : the best of both worlds
Bluetooth Mesh (BT Mesh) is a promising wireless technology for building automation. At the same time, KNX is a well-established building automation system that has a vast installed base. Specifically, the strength of KNX lies in its proven semantic models. These models are the foundation for interoperability and the implementation of larger systems. The presented project demonstrates how a user can easily connect a new BT Mesh system to a well-established, wired KNX building automation system. Notably, the project achieves this through a self-developed stateless gateway, which allows controlling BT Mesh devices from the KNX network and vice versa. As a result, it is possible to leverage existing management systems from KNX building automation systems in BT Mesh networks. Furthermore, the project validates this concept using Home Assistant, a well- known open-source home automation platform and demonstrates, that heterogeneous KNX and BT Mesh systems are feasible
Distributed Maximum Matching in Bounded Degree Graphs
We present deterministic distributed algorithms for computing approximate
maximum cardinality matchings and approximate maximum weight matchings. Our
algorithm for the unweighted case computes a matching whose size is at least
(1-\eps) times the optimal in \Delta^{O(1/\eps)} +
O\left(\frac{1}{\eps^2}\right) \cdot\log^*(n) rounds where is the number
of vertices in the graph and is the maximum degree. Our algorithm for
the edge-weighted case computes a matching whose weight is at least (1-\eps)
times the optimal in
\log(\min\{1/\wmin,n/\eps\})^{O(1/\eps)}\cdot(\Delta^{O(1/\eps)}+\log^*(n))
rounds for edge-weights in [\wmin,1].
The best previous algorithms for both the unweighted case and the weighted
case are by Lotker, Patt-Shamir, and Pettie~(SPAA 2008). For the unweighted
case they give a randomized (1-\eps)-approximation algorithm that runs in
O((\log(n)) /\eps^3) rounds. For the weighted case they give a randomized
(1/2-\eps)-approximation algorithm that runs in O(\log(\eps^{-1}) \cdot
\log(n)) rounds. Hence, our results improve on the previous ones when the
parameters , \eps and \wmin are constants (where we reduce the
number of runs from to ), and more generally when
, 1/\eps and 1/\wmin are sufficiently slowly increasing functions
of . Moreover, our algorithms are deterministic rather than randomized.Comment: arXiv admin note: substantial text overlap with arXiv:1402.379
- …