The Computer Journal
Introduction to the theory of programming languages
Introduction to the theory of programming languages
Tcl and the Tk toolkit
The capability maturity model: guidelines for improving the software process
The capability maturity model: guidelines for improving the software process
The mythical man-month (anniversary ed.)
The mythical man-month (anniversary ed.)
Programming Perl (2nd ed.)
Distributed resource administration using Cfengine
Software—Practice & Experience
CMM implementation guide: choreographing software process improvement
CMM implementation guide: choreographing software process improvement
The XML handbook (2nd ed.)
An axiomatic basis for computer programming
Communications of the ACM
Maximum RPM
Programming Language Syntax and Semantics
Programming Language Syntax and Semantics
Software Engineering: A Practitioner's Approach
Software Engineering: A Practitioner's Approach
Exploring Expect
Learning XML
The System Administration Maturity Model - SAMM
LISA '93 Proceedings of the 7th USENIX conference on System administration
SLINK: Simple, Effective Filesystem Maintenance Abstractions for Community-Based Administration
LISA '96 Proceedings of the 10th USENIX conference on System administration
LISA '97 Proceedings of the 11th USENIX conference on System administration
LISA '98 Proceedings of the 12th USENIX conference on System administration
It's Elementary, Dear Watson: Applying Logic Programming To Convergent System Management Processes
LISA '99 Proceedings of the 13th USENIX conference on System administration
PIKT: Problem Informant/Killer Tool
LISA '00 Proceedings of the 14th USENIX conference on System administration
Principles of Program Design
System development (Prentice-Hall International series in computer science)
System development (Prentice-Hall International series in computer science)
The Maelstrom: Network Service Debugging via "Ineffective Procedures"
LISA '01 Proceedings of the 15th USENIX conference on System administration
The Arusha Project: A Framework for Collaborative UNIX System Administration
LISA '01 Proceedings of the 15th USENIX conference on System administration
ISconf: Theory, Practice, and Beyond
LISA '03 Proceedings of the 17th USENIX conference on System administration
Seeking Closure in an Open World: A Behavioral Agent Approach to Configuration Management
LISA '03 Proceedings of the 17th USENIX conference on System administration
Experience in Implementing an HTTP Service Closure
LISA '04 Proceedings of the 18th USENIX conference on System administration
A1: spreadsheet-based scripting for developing web tools
LISA '05 Proceedings of the 19th conference on Large Installation System Administration Conference - Volume 19
Hi-index | 0.00 |
Using scripts to automate common administrative tasks is a ubiquitous practice. Powerful scripting languages and approaches support seemingly 'efficient' scripting practices that actually compromise the robustness of our scripts, as well as indirectly detracting from the stability and maturity of our support infrastructure. This is especially true for scripts that automate complex interactive processes using the scripting tools Expect or Chat. I present a formal methodology for the design and implementation of interactive scripting that, with a little more effort than writing a simple Expect script, produces scripts with substantially improved robustness and permanence. My scripting tool Babble interprets a detailed structural description of an interactive session as a script. Using this declarative, fourth-generation language, one can craft interactive scripts that are easier to perfect, inherently more robust, easier to maintain over time, and self-documenting.