Upload
kalyan-mysore
View
926
Download
6
Embed Size (px)
DESCRIPTION
Musings on software architecture while visiting a car museum.
Citation preview
Software architecture
Musings in a car museum.(Museums are for musing, aren't they ?)
-Kalyan Mysore
A mind cross-linked !
• A week of software architecture.• Work ricocheting in the mind into the
weekend.• A weekend visit to the Mercedes-Benz car
museum (Stuttgart, Germany) at the same time !
• So, I saw software architecture in car history !• Here’s a walkthru !• (All pictures thru my camera. Just for fun. No harm intended.)
First usable architecture
• 1883 – Daimler and Maybach• The world’s first high speed
gasoline engine.• A.k.a. Grandfather clock.
• Met quality attributes:– Power output enough to drive
a vehicle– Small enough to fit in vehicle !
A test harness !
The world’s first motorbike was a test harness for the world’s first high speed gasoline engine ! 1885
The architecture refactored !
• Quality attributes to be met:– More seating– Go on rails
• First gasoline powered railroad car ! 1887
• Same grandfather clock engine, with refactored shell !
More refactoring
• Quality attributes:– Facing seating
– Shade from rain and Sun
– Lights for low light conditions
• 1893
Just another refactoring
• Quality attribute:– More payload
• 1898
Getting the quality attributes right. -1900
• Safety– Low center of gravity.
• Stability– Long wheelbase
• Speed– Powerful engine
• Not just a “horseless carriage”. An architecture for a modern automobile !
Just a few more refactorings
• 1939 320 streamliner
The bus is just a big car !
This architecture even supports apps !
You thought skins are a new concept ?
If there’s twice the power..
• They couldn’t resist putting twice the load and slowing it down !
The original “cab” file !
• The driver probably even carried a manifest !
Bells and whistles !
• If you don’t like the ride, change the steering wheel, add a few dials and horns and you’re so busy you don’t notice the ride anymore!
The diesel engine
• A rare change in the “core” architecture ! 1923
The diesel, refactored for boat use.
When great architecture and great UI co-author a product
• An emergent design of great beauty !
The Kling-on the race track
• No standards to meet
• Its just a race to the finish
• If your design is agile,you win the race
• Its not Time to marketBut mark your time !
A failed architecture for a flying car ?
• If they tried and failed, they put a cool marketing spin on it. We’ll never know !
A new “framework”
• Just 110 pounds for framework. Light weight !
• But needed the special door. – And we thought they wanted to fly !
Variability variety !
• An architecture that can sustain this large a variability ? Amazing !
This architecture never needs policing.
Crash proof the architecture
• Add a spike to chain it down.
• If you try, it will catch !
If the architecture doesn’t shine thru
• Add a few lights !
Want to run a “smoke test” on this ?
Many a time, safety is an afterthought, following performance.
An attempt to add a quality attribute…
• Add “high efficiency” but lose “seating” !!
• Hmm. Is that tradeoff good ? If you’re off to a tradeshow…
Finally, efficiency and thruput !
Got an efficient but ugly architecture?
• Hide it under a nice “façade” !
Someday !
• Software architecture will have magazines like this !
Special purpose architecture
• Optimized for the quality attributes of speed and maneuverability. All else secondary.
Architecting for cool !
• What were the quality attributes they architected for? Coolness is definitely at the top !
More special purpose architecture
• If your quality attribute is “1000+ km on a gallon”
Just another car under the Sun !
Should I buy it?
• They sell it in the museum ! But my suitcase is a bit small. Besides, it looks like goldplatedarchitecture !