A Rule-Based Formal Model For Software Configuration

In this work we examine the software configuration management problem. We give a short introduction to the current state of the art and present a declarative rule-based formal language for representation of configuration knowledge. As a novel feature, the rule language allows finite existential quantification over the configuration components. We show a translation from the rule language to normal logic programs with stable model semantics. As a case study we examine the configuration management problem for the Debian GNU/Linux system which consists of over 2000 distinct software packages. We examine the current practice to identify the main components of the problem and present a way to formalize them using the rule language. We construct two formal models: one for finding valid configurations and one for diagnosing unsatisfiable user requirements. We show that the decision problem for the configuration model is NP-complete. We present a translator that reads a high-level description of the Debian configuration system and produces the corresponding set of rules. We evaluate the configuration model by using actual data from Debian version 2.1 and a set of randomly generated user requirements. The evaluation shows that the model is computationally feasible.

[1]  Karsten Schmidt Digital Systems Laboratory Series A: Research Reports Applying Reduction Rules to Algebraic Petri Nets Applying Reduction Rules to Algebraic Petri Nets , 1997 .

[2]  Ilkka Niemelä,et al.  Stable Model Semantics of Weight Constraint Rules , 1999, LPNMR.

[3]  Markus Stumptner,et al.  Configuring Large Systems Using Generative Constraint Satisfaction , 1998, IEEE Intell. Syst..

[4]  Patrik Simons,et al.  Extending the Stable Model Semantics with More Expressive Rules , 1999, LPNMR.

[5]  Reidar Conradi,et al.  Version models for software configuration management , 1998, CSUR.

[6]  K. Varpaaniemi,et al.  On the Stubborn Set Method in Reduced State Space Generation , 1998 .

[7]  Markus Stumptner,et al.  Model-Based Reconfiguration , 1998, AID.

[8]  Michael Maher Efficient Implementation of the Well-founded and Stable Model Semantics , 1996 .

[9]  Eugene C. Freuder,et al.  Optimization Methods for Constraint Resource Problems , 1999 .

[10]  Rudower Chaussee,et al.  Reconfiguration of Technical Products Using ConBaCon , 1999 .

[11]  Victor W. Marek,et al.  Autoepistemic logic , 1991, JACM.

[12]  Michael Heinrich,et al.  Using Resource Balancing to Configure Modular Systems , 1998, IEEE Intell. Syst..

[13]  Eugene C. Freuder,et al.  Detecting and resolving inconsistency and redundancy in conditional constraint satisfaction problems , 1999, AAAI 1999.

[14]  Ilkka Niemelä,et al.  A Fixpoint Definition of Dynamic Constraint Satisfaction , 1999, CP.

[15]  Markus Stumptner,et al.  Consistency-Based Configuration , 1999 .

[16]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[17]  Kari J. Nurmela,et al.  Minimum-energy point charge configurations on a circular disk , 1998 .

[18]  I. Niemelä,et al.  Formalizing configuration knowledge using rules with choices , 1998 .

[19]  Tomi Männistö,et al.  Framework and Conceptual Model for Reconfiguration , 1999 .

[20]  Keijo Heljanko Model Checking the Branching Time Temporal Logic CTL , 1997 .

[21]  Ravi Kapadia Modeling for Parametric System-Level Design Optimization , 1999 .

[22]  Andreas Zeller Configuration Management with Version Sets , 1997 .

[23]  Bob J. Wielinga,et al.  Configuration-Design Problem Solving , 1997, IEEE Expert.

[24]  Alexander Nareyek,et al.  Structural Constraint Satisfaction , 1999 .

[25]  Jon R. Wright,et al.  An Industrial-Strength Description-Logics-Based Configurator Platform , 1998, IEEE Intell. Syst..

[26]  Peter Norvig,et al.  Artificial Intelligence: A Modern Approach , 1995 .

[27]  Tuomas Aura,et al.  On the structure of delegation networks , 1998, Proceedings. 11th IEEE Computer Security Foundations Workshop (Cat. No.98TB100238).

[28]  Eero Lassila,et al.  Towards Optimizing Code Generation by Domain-Sensitive Macro Expansion , 1997 .

[29]  Daniel Sabin,et al.  Product Configuration Frameworks - A Survey , 1998, IEEE Intell. Syst..

[30]  P. Simons Towards Constraint Satisfaction through Logic Programs and the Stable Model Semantics , 1997 .

[31]  Ilkka Niemelä,et al.  Developing a Declarative Rule Language for Applications in Product Configuration , 1999, PADL.

[32]  Jean H. Gallier,et al.  Linear-Time Algorithms for Testing the Satisfiability of Propositional Horn Formulae , 1984, J. Log. Program..

[33]  Patrik Simons,et al.  Evaluating an Algorithm for Default Reasoning , 1995 .

[34]  Michael K. Johnson,et al.  Linux Application Development , 1998 .