It's Elementary, Dear Watson: Applying Logic Programming To Convergent System Management Processes

  • Authors:
  • Alva L. Couch, Dr.;Michael Gilfix

  • Affiliations:
  • Tufts University;Tufts University

  • Venue:
  • LISA '99 Proceedings of the 13th USENIX conference on System administration
  • Year:
  • 1999

Quantified Score

Hi-index 0.02

Visualization

Abstract

In an ideal world, the system administrator would simply specify a complete model of system requirements and the system would automatically fulfill them. If requirements changed, or if the system deviated from requirements, the system would change itself to converge with requirements. Current specialized tools for convergent system administration already provide some ability to do this, but are limited by specification languages that cannot adequately represent all possible sets of requirements. We take the opposite approach of starting with a general-purpose logic programming language intended for specifying requirements and analyzing system state, and adapting that language for system administration. Using Prolog with appropriate extensions, one can specify complex system requirements and convergent processes involving multiple information domains, including information about files, filesystems, users, and processes, as well as information from databases. By hiding unimportant details, Prolog allows a simple relationship between requirements and the scripts that implement them. We illustrate these observations by use of a simple proof-of-concept prototype.