8,737 research outputs found
Processing Succinct Matrices and Vectors
We study the complexity of algorithmic problems for matrices that are
represented by multi-terminal decision diagrams (MTDD). These are a variant of
ordered decision diagrams, where the terminal nodes are labeled with arbitrary
elements of a semiring (instead of 0 and 1). A simple example shows that the
product of two MTDD-represented matrices cannot be represented by an MTDD of
polynomial size. To overcome this deficiency, we extended MTDDs to MTDD_+ by
allowing componentwise symbolic addition of variables (of the same dimension)
in rules. It is shown that accessing an entry, equality checking, matrix
multiplication, and other basic matrix operations can be solved in polynomial
time for MTDD_+-represented matrices. On the other hand, testing whether the
determinant of a MTDD-represented matrix vanishes PSPACE$-complete, and the
same problem is NP-complete for MTDD_+-represented diagonal matrices. Computing
a specific entry in a product of MTDD-represented matrices is #P-complete.Comment: An extended abstract of this paper will appear in the Proceedings of
CSR 201
The Geometry of Synchronization (Long Version)
We graft synchronization onto Girard's Geometry of Interaction in its most
concrete form, namely token machines. This is realized by introducing
proof-nets for SMLL, an extension of multiplicative linear logic with a
specific construct modeling synchronization points, and of a multi-token
abstract machine model for it. Interestingly, the correctness criterion ensures
the absence of deadlocks along reduction and in the underlying machine, this
way linking logical and operational properties.Comment: 26 page
Rehearsal: A Configuration Verification Tool for Puppet
Large-scale data centers and cloud computing have turned system configuration
into a challenging problem. Several widely-publicized outages have been blamed
not on software bugs, but on configuration bugs. To cope, thousands of
organizations use system configuration languages to manage their computing
infrastructure. Of these, Puppet is the most widely used with thousands of
paying customers and many more open-source users. The heart of Puppet is a
domain-specific language that describes the state of a system. Puppet already
performs some basic static checks, but they only prevent a narrow range of
errors. Furthermore, testing is ineffective because many errors are only
triggered under specific machine states that are difficult to predict and
reproduce. With several examples, we show that a key problem with Puppet is
that configurations can be non-deterministic.
This paper presents Rehearsal, a verification tool for Puppet configurations.
Rehearsal implements a sound, complete, and scalable determinacy analysis for
Puppet. To develop it, we (1) present a formal semantics for Puppet, (2) use
several analyses to shrink our models to a tractable size, and (3) frame
determinism-checking as decidable formulas for an SMT solver. Rehearsal then
leverages the determinacy analysis to check other important properties, such as
idempotency. Finally, we apply Rehearsal to several real-world Puppet
configurations.Comment: In proceedings of ACM SIGPLAN Conference on Programming Language
Design and Implementation (PLDI) 201
Modeling and verifying circuits using generalized relative timing
Journal ArticleWe propose a novel technique for modeling and verifying timed circuits based on the notion of generalized relative timing. Generalized relative timing constraints can express not just a relative ordering between events, but also some forms of metric timing constraints. Circuits modeled using generalized relative timing constraints are formally encoded as timed automata. Novel fully symbolic verification algorithms for timed automata are then used to either verify a temporal logic property or to check conformance against an untimed specification. The combination of our new modeling technique with fully symbolic verification methods enables us to verify larger circuits than has been possible with other approaches. We present case studies to demonstrate our approach, including a self-timed circuit used in the integer unit of the IntelÂź PentiumÂź 4 processor
Towards faster numerical solution of Continuous Time Markov Chains stored by symbolic data structures
This work considers different aspects of model-based performance- and dependability analysis. This research area analyses systems (e.g. computer-, telecommunication- or production-systems) in order to quantify their performance and reliability. Such an analysis can be carried out already in the planning phase, without a physically existing system. All aspects treated in this work are based on finite state spaces (i.e. the models only have finitely many states) and a representation of the state graphs by Multi-Terminal Binary Decision Diagrams (MTBDDs). Currently, there are many tools that transform high-level model specifications (e.g. process algebra or Petri-Net) to low-level models (e.g. Markov chains). Markov chains can be represented by sparse matrices. For complex models very large state spaces may occur (this phenomenon is called state space explosion in the literature) and accordingly very large matrices representing the state graphs. The problem of building the model from the specification and storing the state graph can be regarded as solved: There are heuristics for compactly storing the state graph by MTBDD or Kronecker data structure and there are efficient algorithms for the model generation and functional analysis. For the quantitative analysis there are still problems due to the size of the underlying state space. This work provides some methods to alleviate the problems in case of MTBDD-based storage of the state graph. It is threefold:
1. For the generation of smaller state graphs in the model generation phase (which usually are easier to solve) a symbolic elimination algorithm is developed.
2. For the calculation of steady-state probabilities of Markov chains a multilevel algorithm is developed which allows for faster solutions.
3. For calculating the most probable paths in a state graph, the mean time to the first failure of a system and related measures, a path-based solver is developed
- âŠ