The Architecture of Unusual Things: The Architecture of Unusual Things Grady Booch
IBM Fellow
gbooch@us.ibm.com
The Limits of Software: The Limits of Software The laws of physics
The laws of software
The challenge of algorithms
The difficulty of distribution
The problems of design
The importance of organization
The impact of economics
The influence of politics
The limits of human imagination
Software Development as a Human Activity: Software Development as a Human Activity Some designers are equally inept at
following rules or breaking them.
Good designers can do either.
Jim Alley
Savannah College of Art and Design
Some Unusual Things: Some Unusual Things
Lessons Learned: Lessons Learned Everything has an architecture
The Architecture of Eric: The Architecture of Eric The human body is composed of ten interdependent systems
Skeletal Muscular Circulatory Nervous
Respiratory Digestive Excretory Endocrine
Reproductive Immune
Each such system is composed of a network of interacting tissues and organs
Every class of tissue and organ is composed of a unique collection of cell types
Over 200 types of cells exist, varying greatly in appearance, lifespan, and function
Every cell is composed of organelles Dennis and Gallagher, 2003, The Human Genome, Nature Publishing Group
The Architecture of Eric: The Architecture of Eric Multi-cellular organisms rely upon intercellular signaling molecules to coordinate the functions of different cells http://receptome.stanford.edu/hpmr/
The Architecture of Eric: The Architecture of Eric Every cell type, tissue, organ, and subsystem is ultimately regulated by one common mechanism, manifest in DNA http://www.genome.gov
Lessons Learned: Lessons Learned The soul of an architecture is found
in its mechanisms which cut across the components
of the system, thus yielding its essential behaviors
The Architecture of DNA: The Architecture of DNA Dennis and Gallagher, 2003, The Human Genome, Nature Publishing Group
The Architecture of DNA: The Architecture of DNA To sequence DNA
Isolate the DNA under investigation
Use DNA polymerase to make a large number of copies
Cut those copies at random into reasonably sized, overlapping pieces, marking the ends of each piece with a terminator base
Order those pieces by size using electrophoresis
Read the sequence from the progression of terminator bases
To assemble a sequence
Place all sequences into a DNA library
Sequence those sequences by matching their overlapping parts http://www.ncbi.nlm.nih.gov/genbank 3,200,000,000 bases
1,000 raw sequences per second
9x coverage required for final sequence
The Architecture of a Sequencer: The Architecture of a Sequencer Two fundamental approaches
NIH: map-based (reliable but slow)
Celera: whole genome shotgun (fast but computationally wicked)
The Architecture of a Sequencer: The Architecture of a Sequencer Phred (Phil Green and Brent Ewing)
Reads DNA sequencer trace data, calls bases, assigns quality values to the bases, and writes the base calls and quality values to output files
Phrap (Phil Green)
A program for assembling shotgun DNA sequence data http://www.phrap.org
The Architecture of a Sequencer: The Architecture of a Sequencer Phred
Use Fourier methods to predict base traces around each point
Examine each trace to find actuals
Match the predicted traces with actuals
Evaluate each match according to specific quality measures
Phrap
Eliminate garbage sequences
Identify all potentially overlapping pairs of sequences (must have an exact match of approximately 14 bases and a quality alignment of the whole sequence
Establish scores for pairwise alignment, overlap, length, and quality
Create a candidate merged sequence starting with pairs from the highest scores
Produce a consensus sequence based on voting from the quality scores of each base
The Architecture of SETI@home: The Architecture of SETI@home http://www.computer.org/cise/articles/seti.htm
The Architecture of the Dead Sea Scrolls Analysis: The Architecture of the Dead Sea Scrolls Analysis Tens of thousands of fragments discovered in 1947
Study of the scrolls was confined to a small set of scholars, who published a concordance to assist their analysis
In 1991, Professor Ben Zion Wacholder of Hebrew Union College, and Martin Abegg transferred the concordance to a Macintosh, and using matching algorithms, generated a complete and relatively accurate combined transcript http://www.judaica.org
Lessons Learned: Lessons Learned Common architectures may be found
in uncommon places
The Architecture of Autonomous Robots: The Architecture of Autonomous Robots Shakey, built in 1969 at SRI, was the first significant mobile, autonomous robot
'Shakey should never have been built. There was a failure to recognize the deep problems in AI.' http://world.honda/asimo Asimo, built at Honda, is an intelligent, two-legged humanoid robot
Asmio can react to movements, voice, and facial expressions
The Architecture of Ghengis: The Architecture of Ghengis Rodney Brooks at the MIT AI Lab has explored subsumption architectures
Fast, cheap, and out of control Brooks, 2002, Flesh and Machines, MIT Press
*The Architecture of a Mindstorms Robot: *The Architecture of a Mindstorms Robot Developed by Rational’s team in Singapore
A Rose/RT to Mindstorms connection http://www.rational.net/content/images/catapulse/publicattachment/doc/8097_ps_2599.doc
Lessons Learned: Lessons Learned The simplest architectures are best
The Architecture of an Interpreter: The Architecture of an Interpreter The Altair 8080 was the first really personal computer
Its basic interpreter was written by Bill Gates and Paul Allen
Lots of tricks were required to save memory Reuben Harris
The Architecture of Classic Systems: The Architecture of Classic Systems All legacy systems exhibit sedimentation Jason Lanier, 2002, 'The Complexity Ceiling,' The Next Fifty Years http://www.computerhistory.org
Lessons Learned: Lessons Learned You can learn a great deal from an archeological dig
The Architecture of a Web-centric System: The Architecture of a Web-centric System Integrated Service Request App. Server Company A Company B
The Architecture of a First-Generation System: The Architecture of a First-Generation System Push information in a linear fashion
HTML-centric
Architecturally trivial Siegel, 1996, Creating Killer Web Sites, Hayden
The Architecture of a Second-Generation System: The Architecture of a Second-Generation System Push visitors using simile and hierarchy
HTML-centric, but more graphical and modestly dynamic
Architecturally simple Siegel, 1996, Creating Killer Web Sites, Hayden
The Architecture of a Third-Generation System: The Architecture of a Third-Generation System Pull visitors in the door
Platform-centric
Architecturally expressive but complex Siegel, 1996, Creating Killer Web Sites, Hayden
Demo: Demo Scenario
Existing shopping cart website produces invoices for online purchases
Need to update the existing system with a credit card web service
Lessons Learned: Lessons Learned An architecture must grow and adapt or die
The Architecture of Buildings: The Architecture of Buildings
Lessons Learned: Lessons Learned Sometimes you have to break the foundation
The Architecture of Buildings: The Architecture of Buildings
The Architecture of e-Business: The Architecture of e-Business http://www.ibm.com/developerworks/patterns/
Lessons Learned: Lessons Learned The best architectures are full of patterns
Handbook of Software Engineering: Handbook of Software Engineering Working to provide a reference book of common architectures across the breadth of software-intensive systems
Artificial intelligence systems Commercial systems
Communications systems Development environments
Devices Entertainment/sports systems
Financial systems Industrial systems
Legal systems Multimedia systems
Medical systems Military systems
Operating systems Platforms
Scientific systems Transportation systems
Utilities
Lessons Learned: Lessons Learned Fundamentals never go out of style
The Architecture of Unusual Things: The Architecture of Unusual Things Everything has an architecture
The soul of an architecture is found in its mechanisms
Common architectures may be found in uncommon places
The simplest architectures are best
You can learn a great deal from an archeological dig
An architectures must grow and adapt or die
Sometimes you have to break the foundation
The best architectures are full of patterns
Fundamentals never go out of style
Slide39: The driving force behind software engineering
is the rise in levels of abstraction
Slide40: Grady Booch
gbooch@us.ibm.com (email)
39.620/-105.076(GPS) The Architecture of Unusual Things