Download presentation
Presentation is loading. Please wait.
Published byBaldric Gaines Modified over 9 years ago
2
December 6, 2000www.eecs.tufts.edu/~couch/babble An Expectant Chat about Script Maturity Dr. Alva L. Couch Electrical Engineering and Computer Science Tufts University couch@eecs.tufts.edu http://www.eecs.tufts.edu/ ~couch/babble
3
December 6, 2000 www.eecs.tufts.edu/ ~couch/babble My original goals manage user privileges on a LightWave 3200 Console Switch using convergent administration scripts that make minimal changes create a more powerful ‘expect’ with modal awareness/exception handling
4
December 6, 2000 www.eecs.tufts.edu/ ~couch/babble Convergence “If it ain’t broke, don’t fix it.” If it is “broke”, disrupt service as little as possible in fixing it.
5
December 6, 2000 www.eecs.tufts.edu/ ~couch/babble Convergent account administration Not what but how Non-convergent: erase and start over –erase all users –build new user table Convergent: make minimal changes –leave appropriately configured users alone –add, remove, modify others
6
December 6, 2000 www.eecs.tufts.edu/ ~couch/babble Epiphany! Expressive power is not empowerment. Making ‘expect’ more powerful won’t help. Convergence is complex –high environmental coupling –high branch complexity Must attack the root of the problem...
7
December 6, 2000 www.eecs.tufts.edu/ ~couch/babble Get your pies ready to throw! I challenge the most basic of tenets that we must make life easier for us. I’ll make your lives more difficult. Make the pies Chocolate Cream.
8
December 6, 2000 www.eecs.tufts.edu/ ~couch/babble Let’s get this over with...
9
December 6, 2000 www.eecs.tufts.edu/ ~couch/babble Scripting is double-edged short term win: – easy tasks become easier long term loss: –poorly documented –difficult for others to use –difficult to validate
10
December 6, 2000 www.eecs.tufts.edu/ ~couch/babble Why scripting is a weak practice scripts execute in a highly modal environment but are typically not modally aware. If they break we “page the author” instead of questioning why they break.
11
December 6, 2000 www.eecs.tufts.edu/ ~couch/babble Scripts as documentation Shift responsibility for modal awareness away from the script, into the script interpreter. Instead of telling ‘what to do’, tell ‘how to do it’. Allow the interpreter to decide ‘when to do what’. Declarative programming.
12
December 6, 2000 www.eecs.tufts.edu/ ~couch/babble Babble Instead of writing scripts, document device interactions in XML. To make documentation reusable, bind things that vary to values listed in a configuration file. To handle modal interactions, allow documentation to branch when device responses differ from the norm.
13
December 6, 2000 www.eecs.tufts.edu/ ~couch/babble Configuration JOHN foo 4 1,4,7 1-10 Y
14
December 6, 2000 www.eecs.tufts.edu/ ~couch/babble Adding a user adduser\s foo \r \n Enter\scase\ssensitive\spassword\s |\sPASSWORD\s>\s *** \r \n Re-enter\scase\ssensitive\spassword\s |\sPASSWORD\s>\s *** \r \n...
15
December 6, 2000 www.eecs.tufts.edu/ ~couch/babble Configuration discovery listusers\r\n User\sId\s>\s<var name="username" pattern="[A-Z0-9]+">FOO \s More \s
16
December 6, 2000 www.eecs.tufts.edu/ ~couch/babble Convergence
17
December 6, 2000 www.eecs.tufts.edu/ ~couch/babble This is not a script... This may look like a script but this is documentation, not a program. Not what but how. The interpreter exploits rather than simply interpreting –‘Paranoic’ validation –Built-in convergence and error handling
18
December 6, 2000 www.eecs.tufts.edu/ ~couch/babble Experience In production use for account management. Easy ‘rote’ script development process. ‘Paranoic’ error checking speeds development.
19
December 6, 2000 www.eecs.tufts.edu/ ~couch/babble Big ideas Babble scripts : –‘are closer to real practice than scripts’ –‘document best practices’ –‘describe debugging processes’ The Babble interpreter –detects many common scripting errors –encapsulates complex convergent processes
20
December 6, 2000 www.eecs.tufts.edu/ ~couch/babble Future Uses Planned future use: automating service monitoring and validation. Unlike a traditional script, Babble can easily cross server boundaries. To validate a service, ssh or telnet to another machine and try the service from there!
21
December 6, 2000 www.eecs.tufts.edu/ ~couch/babble Waxing philosophical... We need to allow our interpreters to become more aware and responsible. They can only transcend us if we give them choices to make. They can only make correct choices if they are educated on our best practices.
22
December 6, 2000 www.eecs.tufts.edu/ ~couch/babble Conclusions Babble is one small step on the path to total automation of administration. Takes away responsibility for execution. Grants much more important responsibility of `education’. Not scripting, but `teaching’.
23
December 6, 2000 www.eecs.tufts.edu/ ~couch/babble Availability Freely available from http://www.eecs.tufts.edu/ ~couch/babble Revision 0.1-Alpha. ~ 4000 lines of Perl-5.006 “more bugs than features” but already solves some difficult problems.
24
December 6, 2000 www.eecs.tufts.edu/ ~couch/babble An Expectant Chat URL: http://www.eecs.tufts.edu/ ~couch/babble Email: couch@eecs.tufts.edu (We have an opening for a junior sysadmin!)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.