Title: The Architecture of Unusual Things
1The Architecture of Unusual Things
- Grady Booch
- IBM Fellow
- gbooch_at_us.ibm.com
2The 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
3Software 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
4Some Unusual Things
5Lessons Learned
Everything has an architecture
6The 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
7The Architecture of Eric
- Multi-cellular organisms rely upon intercellular
signaling molecules to coordinate the functions
of different cells
http//receptome.stanford.edu/hpmr/
8The Architecture of Eric
- Every cell type, tissue, organ, and subsystem is
ultimately regulated by one common mechanism,
manifest in DNA
http//www.genome.gov
9Lessons Learned
The soul of an architecture is found in its
mechanisms which cut across the components of the
system, thus yielding its essential behaviors
10The Architecture of DNA
Dennis and Gallagher, 2003, The Human Genome,
Nature Publishing Group
11The 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
3,200,000,000 bases 1,000 raw sequences per
second 9x coverage required for final sequence
http//www.ncbi.nlm.nih.gov/genbank
12The Architecture of a Sequencer
- Two fundamental approaches
- NIH map-based (reliable but slow)
- Celera whole genome shotgun (fast but
computationally wicked)
13The 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
14The 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
15The Architecture of SETI_at_home
http//www.computer.org/cise/articles/seti.htm
16The 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
17Lessons Learned
Common architectures may be found in uncommon
places
18The 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.
- Asimo, built at Honda, is an intelligent,
two-legged humanoid robot - Asmio can react to movements, voice, and facial
expressions
http//world.honda/asimo
19The 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
20The Architecture of a Mindstorms Robot
- Developed by Rationals team in Singapore
- A Rose/RT to Mindstorms connection
http//www.rational.net/content/images/catapulse/p
ublicattachment/doc/8097_ps_2599.doc
21Lessons Learned
The simplest architectures are best
22The 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
23The Architecture of Classic Systems
- All legacy systems exhibit sedimentation
http//www.computerhistory.org
Jason Lanier, 2002, The Complexity Ceiling, The
Next Fifty Years
24Lessons Learned
You can learn a great deal from an archeological
dig
25The Architecture of a Web-centric System
Integrated Service Request
App. Server
Company A
Company B
WebServer
App. Server
26The Architecture of a First-Generation System
- Push information in a linear fashion
- HTML-centric
- Architecturally trivial
Siegel, 1996, Creating Killer Web Sites, Hayden
27The 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
28The Architecture of a Third-Generation System
- Pull visitors in the door
- Platform-centric
- Architecturally expressive but complex
Siegel, 1996, Creating Killer Web Sites, Hayden
29Demo
- Scenario
- Existing shopping cart website produces invoices
for online purchases - Need to update the existing system with a credit
card web service
30Lessons Learned
An architecture must grow and adapt or die
31The Architecture of Buildings
32Lessons Learned
Sometimes you have to break the foundation
33The Architecture of Buildings
34The Architecture of e-Business
http//www.ibm.com/developerworks/patterns/
35Lessons Learned
The best architectures are full of patterns
36Handbook 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
37Lessons Learned
Fundamentals never go out of style
38The 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
39The driving force behind software engineering is
the rise in levels of abstraction
40Thank You
Grady Booch gbooch_at_us.ibm.com (email) 39.620/-105.
076(GPS)
The Architecture of Unusual Things