Papers by Henrik Reif Andersen
arXiv (Cornell University), 2007
Constraint Programming (CP) has been successfully applied to both constraint satisfaction and con... more Constraint Programming (CP) has been successfully applied to both constraint satisfaction and constraint optimization problems. A wide variety of specialized global constraints provide critical assistance in achieving a good model that can take advantage of the structure of the problem in the search for a solution. However, a key outstanding issue is the representation of 'ad-hoc' constraints that do not have an inherent combinatorial nature, and hence are not modeled well using narrowly specialized global constraints. We attempt to address this issue by considering a hybrid of search and compilation. Specifically we suggest the use of Reduced Ordered Multi-Valued Decision Diagrams (ROMDDs) as the supporting data structure for a generic global constraint. We give an algorithm for maintaining generalized arc consistency (GAC) on this constraint that amortizes the cost of the GAC computation over a root-to-leaf path in the search tree without requiring asymptotically more space than used for the MDD. Furthermore we present an approach for incrementally maintaining the reduced property of the MDD during the search, and show how this can be used for providing domain entailment detection. Finally we discuss how to apply our approach to other similar data structures such as AOMDDs and Case DAGs. The technique used can be seen as an extension of the GAC algorithm for the regular language constraint on finite length input.
International Journal on Software Tools for Technology Transfer, Dec 18, 2002
Computing Research Repository, 2006
The paper suggests the use of Multi-Valued Decision Diagrams (MDDs) as the supporting data struct... more The paper suggests the use of Multi-Valued Decision Diagrams (MDDs) as the supporting data structure for a generic global constraint. We give an algorithm for maintaining generalized arc consistency (GAC) on this constraint that amortizes the cost of the GAC computation over a root- to-terminal path in the search tree. The technique used is an extension of the GAC algorithm
International Journal on Software Tools for Technology Transfer (STTT), 2002
BRICS Report Series, Jun 10, 1998
See back inner page for a list of recent BRICS Report Series publications. Copies may be obtained... more See back inner page for a list of recent BRICS Report Series publications. Copies may be obtained by contacting:
Proceedings of Tenth Annual IEEE Symposium on Logic in Computer Science
A major obstacle in applying finite-state model checking t o the verification of large systems is... more A major obstacle in applying finite-state model checking t o the verification of large systems is the combinatorial explosion of the state space arising when m a n y loosely coupled parallel processes are considered. T h e problem also known as the state-explosion problem has been attacked from various sides. This paper presents a new approach based o n partial model checking: Parts of the concurrent system are gradually removed while transforming the specification accordingly. W h e n the intermediate specifications constructed an this manner can be kept small, the stateexplosion problem is avoided. Experimental results with a prototype implemented in Standard ML, shows that for Milner's Scheduleran often used benchmarkthis approach improves o n the published results o n Binary Decision Diagrams and is comparable to results obtained using generalized Decision Diagrams. Specifications are expressed in a variant of the modal p-calculus.
Arxiv preprint arXiv:0705.4604, 2007
In this paper we present an algorithm for performing runtime verification of a bounded temporal l... more In this paper we present an algorithm for performing runtime verification of a bounded temporal logic over timed runs. The algorithm consists of three elements. First, the bounded temporal formula to be verified is translated into a monadic first-order logic over difference inequalities, which we call monadic difference logic. Second, at each step of the timed run, the monadic difference formula is modified by computing a quotient with the state and time of that step. Third, the resulting formula is checked for being a tautology or being unsatisfiable by a decision procedure for monadic difference logic. We further provide a simple decision procedure for monadic difference logic based on the data structure Difference Decision Diagrams. The algorithm is complete in a very strong sense on a subclass of temporal formulae characterized as homogeneously monadic and it is approximate on other formulae. The approximation comes from the fact that not all unsatisfiable or tautological formulae are recognised at the earliest possible time of the runtime verification. Contrary to existing approaches, the presented algorithms do not work by syntactic rewriting but employ efficient decision structures which make them applicable in real applications within for instance business software.
DAIMI Report Series, 2003
We present a very simple, yet general algorithm for computing simultaneous, minimum fixed-points ... more We present a very simple, yet general algorithm for computing simultaneous, minimum fixed-points of monotonic functions, or turning the viewpoint slightly, an algorithm for computing minimum solutions to a system of monotonic equations. The algorithm is local (demand-driven, lazy,), i.e. it will try to determine the value of a single component in the simultaneous fixed-point by investigating only certain necessary parts of the description of the monotonic function, or in terms of the equational presentation, it will determine the value of a single variable by investigating only a part of the equational system. In the worst-case this involves inspecting the complete system, and the algorithm will be a logarithmic factor worse than a global algorithm (computing the values of all variables simultaneously). But despite its simplicity the local algorithm has some advantages which promise much better performance on typical cases. The algorithm should be seen as a schemata that for any particular application need to be refined to achieve better efficiency, but the general mechanism remains the same. As such it seems to achieve performance comparable to, and for some examples improving upon, carefully designed ad ho c algorithms, still maintaining the benefits of being local. We will illustrate this point by tailoring the general algorithm to concrete examples in such (apparently) diverse areas as type inference, model checking, and strictness analysis. Especially in connection with the last example, strictness analysis, and more generally abstract interpretation, it is illustrated how the local algorithm provides a very minimal approach when determining the fixed-points, reminiscent of, but improving upon, what is known as Pending Analysis [19]. In the case of model checking a specialised version of the algorithm has already improved on earlier known local algorithms
In this report we propose a novel approach to the specification of real-time behaviour based on p... more In this report we propose a novel approach to the specification of real-time behaviour based on process algebras. In contrast to the usual pattern, involving a fixed, measurable, and global notion of time, we suggest to represent real-time constraints indirectly through uninterpreted clocks enforcing broadcast synchronization between processes. The concept of time underlying the use of clocks is abstract, qualitative, and local. Firstly, it is abstract since it does not prejudice any particular way of realizing a clock. Secondly, it is qualitative since it is not the absolute occurrence time or duration of actions that is constrained but their relative ordering and sequencing with respect to clocks. Finally, clocks admit a local notion of time since independent clocks can be used in different subprocesses, which may or may not be realized referring to the same time base. Technically, we present an extension of the Calculus of Communicating Systems CCS by multiple clocks, with associ...
Page 1. An Introduction to Binary Decision Diagrams Henrik Reif Andersen 0 1 x ... 3 Binary Decis... more Page 1. An Introduction to Binary Decision Diagrams Henrik Reif Andersen 0 1 x ... 3 Binary Decision Diagrams Let x ! y 0 y 1 be the if-then-else operator dened by ...
The Binary Decision Diagram (BDD) based compilation schemes are quite suitable for representing c... more The Binary Decision Diagram (BDD) based compilation schemes are quite suitable for representing configuration knowledge bases. It is well-known that the size of BDDs are very sensitive to the variable order. In this paper, we study the variable ordering problem of BDDs when they represent a configuration knowledge. Such a study is crucial to better understand the BDD-based compilation schemes. We introduce a small variant of a classical variable ordering heuristic, that proves empirically useful. It is surprising since such a heuristic is known to fail when BDDs are used in formalverification. We show that a compilation scheme using CSP tree-decomposition is less dependent on the variable order. We also show that, for a good variable order the benefit of tree-decomposition, which reduces space, can drastically diminish.
Peter D. Mosses (editor) BRICS Notes Series NS-94-4
In these notes we formally describe the functionality of Calculating Valid Domains from the BDD r... more In these notes we formally describe the functionality of Calculating Valid Domains from the BDD representing the solution space of valid configurations. The formalization is largely based on the CLab configuration framework.
DAIMI Report Series, 1993
This paper presents a proof method for proving that infinite-state systems satisfy properties exp... more This paper presents a proof method for proving that infinite-state systems satisfy properties expressed in the modal µ-calculus. The method is sound and complete relative to externally proving inclusions of sets of states. It can be seen as a recast of a tableau method due to Bradfield and Stirling following lines used by Winskel for finite-state systems. Contrary to the tableau method, it avoids the use of constants when unfolding fixed points and it replaces the rather involved global success criterion in the tableau method with local success criteria. A proof tree is now merely a means of keeping track of where possible choices are made -- and can be changed -- and not an essential ingredient in establishing the correctness of a proof: A proof will be correct when all leaves can be directly seen to be valid. Therefore, it seems well-suited for implementation as a tool, by, for instance, integration into existing general-purpose theorem provers.
Boolean Expression Diagrams (BEDs) is a new data structure for representing and manipulating Bool... more Boolean Expression Diagrams (BEDs) is a new data structure for representing and manipulating Boolean functions. BEDs are a generalization of Binary Decision Diagrams (BDDs) that are capable of representing any Boolean circuit in linear space and still maintain many of the desirable properties of BDDs. This paper demonstrates that BEDs are well suited for solving the combinational logic-level veriication problem which is, given two combinational circuits, to determine whether they implement the same Boolean functions. Based on all combinational circuits in the ISCAS 85 and LGSynth 91 benchmarks, we demonstrate that BEDs outperform both standard BDD approaches and the techniques speciically developed to exploit structural similarities for eeciently solving the problem.
Complex product is composed of several parts, each part can depend on each other. As a result of ... more Complex product is composed of several parts, each part can depend on each other. As a result of these interdependent, and the selection of the part contained in the final product it can be other parts excluded. Consistent configuration refers to the selection of parts that meet all the interdependencies. Computer programs for computer-assisted configuration enables the end user can choose to be a consistent part. Virtual list of exemplary clerical script of the present invention is effective, way to keep a track (track) of the interdependence of a number of parts to be made to the exact construction program. These programs can be configured on an interactive network (e.g. the Internet). It is another example of the present invention, so-called smart search (smart search), to a part between the things that are interdependent with one of the set to be computed from the product database.
The IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS is published mo... more The IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS is published monthly. Manuscripts considered for publication should focus on algorithms, methods, techniques and tools for the automated design of integrated circuits and systems, and on related areas. Submitted papers may be of a tutorial or research nature. Research papers must present original contributions and must show significant new material over descriptions or derivations available elsewhere. Tutorial papers should review the state-of-the-art in specific CAD fields and, at the same time, provide the readers with research perspectives and future challenges in the considered topic. The IEEE must of necessity assume that material submitted for publication is available for general dissemination. It is the responsibility of the Author, not the IEEE, to determine whether disclosure of their material requires the prior consent of other parties, and if so, to obtain it.
Uploads
Papers by Henrik Reif Andersen