Figure 2 - uploaded by John A. Hewson
Content may be subject to copyright.
2: A typical declarative configuration system. The system administrator authors a declarative specification which is stored in version control. The configuration server periodically retrieves the latest revision and computes the configuration for each of its clients. Clients periodically retrieve their configuration from the server in a voluntary manner.

2: A typical declarative configuration system. The system administrator authors a declarative specification which is stored in version control. The configuration server periodically retrieves the latest revision and computes the configuration for each of its clients. Clients periodically retrieve their configuration from the server in a voluntary manner.

Source publication
Thesis
Full-text available
Declarative, object-oriented configuration management systems are widely used, and there is a desire to extend such systems with automated analysis and decision-making. This thesis introduces a new formulation for configuration management problems based on the tools and techniques of constraint programming, which enables automated decision-making....

Citations

... Constraint solving has been explored in various ways for automating system configuration. Efforts have been made to design declarative, constraint-based, object-oriented languages and policy-based tools to configure systems as well as to validate configurations [18], [21]- [23]. Early approaches were based on constraint satisfaction and constraint logic programming [17], [24], [25]. ...
Preprint
Full-text available
The increasing complexity of modern configurable systems makes it critical to improve the level of automation in the process of system configuration. Such automation can also improve the agility of the development cycle, allowing for rapid and automated integration of decoupled workflows. In this paper, we present a new framework for automated configuration of systems representable as state machines. The framework leverages model checking and satisfiability modulo theories (SMT) and can be applied to any application domain representable using SMT formulas. Our approach can also be applied modularly, improving its scalability. Furthermore, we show how optimization can be used to produce configurations that are best according to some metric and also more likely to be understandable to humans. We showcase this framework and its flexibility by using it to configure a CGRA memory tile for various image processing applications.
Chapter
Discrete optimisation problems often reason about finite sets of objects. While the underlying solvers will represent these objects as integer values, most modelling languages include enumerated types that allow the objects to be expressed as a set of names. Data attached to an object is made accessible through given arrays or functions from object to data. Enumerated types improve models by making them more self documenting, and by allowing type checking to point out modelling errors that may otherwise be hard to track down. But a frequent modelling pattern requires us to add new elements to a finite set of objects to represent extreme or default behaviour, or to combine sets of objects to reason about them jointly. Currently this requires us to map the extended object sets into integers, thus losing the benefits of using enumerated types. In this paper we introduce enumerated type extension, a restricted form of discriminated union types, to extend enumerated types without losing type safety, and default expressions to succinctly capture cases where we want to access data of extended types. The new language features allow for more concise and easily interpretable models that still support strong type checking and compilation to efficient solver-level models.