21,729 research outputs found
Implementing Groundness Analysis with Definite Boolean Functions
The domain of definite Boolean functions, Def, can be used to express the groundness of, and trace grounding dependencies between, program variables in (constraint) logic programs. In this paper, previously unexploited computational properties of Def are utilised to develop an efficient and succinct groundness analyser that can be coded in Prolog. In particular, entailment checking is used to prevent unnecessary least upper bound calculations. It is also demonstrated that join can be defined in terms of other operations, thereby eliminating code and removing the need for preprocessing formulae to a normal form. This saves space and time. Furthermore, the join can be adapted to straightforwardly implement the downward closure operator that arises in set sharing analyses. Experimental results indicate that the new Def implementation gives favourable results in comparison with BDD-based groundness analyses
The effect of negative feedback loops on the dynamics of Boolean networks
Feedback loops in a dynamic network play an important role in determining the
dynamics of that network. Through a computational study, in this paper we show
that networks with fewer independent negative feedback loops tend to exhibit
more regular behavior than those with more negative loops. To be precise, we
study the relationship between the number of independent feedback loops and the
number and length of the limit cycles in the phase space of dynamic Boolean
networks. We show that, as the number of independent negative feedback loops
increases, the number (length) of limit cycles tends to decrease (increase).
These conclusions are consistent with the fact, for certain natural biological
networks, that they on the one hand exhibit generally regular behavior and on
the other hand show less negative feedback loops than randomized networks with
the same numbers of nodes and connectivity
CONFIGEN: A tool for managing configuration options
This paper introduces CONFIGEN, a tool that helps modularizing software.
CONFIGEN allows the developer to select a set of elementary components for his
software through an interactive interface. Configuration files for use by
C/assembly code and Makefiles are then automatically generated, and we
successfully used it as a helper tool for complex system software refactoring.
CONFIGEN is based on propositional logic, and its implementation faces hard
theoretical problems.Comment: In Proceedings LoCoCo 2010, arXiv:1007.083
Efficient Groundness Analysis in Prolog
Boolean functions can be used to express the groundness of, and trace
grounding dependencies between, program variables in (constraint) logic
programs. In this paper, a variety of issues pertaining to the efficient Prolog
implementation of groundness analysis are investigated, focusing on the domain
of definite Boolean functions, Def. The systematic design of the representation
of an abstract domain is discussed in relation to its impact on the algorithmic
complexity of the domain operations; the most frequently called operations
should be the most lightweight. This methodology is applied to Def, resulting
in a new representation, together with new algorithms for its domain operations
utilising previously unexploited properties of Def -- for instance,
quadratic-time entailment checking. The iteration strategy driving the analysis
is also discussed and a simple, but very effective, optimisation of induced
magic is described. The analysis can be implemented straightforwardly in Prolog
and the use of a non-ground representation results in an efficient, scalable
tool which does not require widening to be invoked, even on the largest
benchmarks. An extensive experimental evaluation is givenComment: 31 pages To appear in Theory and Practice of Logic Programmin
- …