System
Architecture
@
Bruce G. Cameron
Director, System Architecture Lab
Co-Founder of
Technology Strategy Partners
bcameron@mit.edu
May 4 2015
www.system-architect.org
Twitter’s Architecture
Source: h1ps://blog.twi1er.com/2013/new-­‐tweets-­‐per-­‐second-­‐record-­‐and-­‐how Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems How Many Architectures?
Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems Architecture
The fundamental organization of a system,
embodied in its components, their relationships to
each other and to the environment, and the
principles governing its design and evolution.
A formal description of a system, or a detailed
plan of the system at component level to guide
its implementation.
- ISO / IEC / IEEE Standard 42010
- The Open Group Architecture Framework
(TOGAF)
Diagnose-.
Zugang.
Zentrales.
Gateway..
Modul.
Mensch-.
Maschine-.
Interface.
Fahrzeug-.
zentrum.
Schaltzentrum.
Lenksäule.
AdapKve.
Cruise.
Control.
Digitale.Diesel.
/Motor.
Elektronik.1.
Türmodul.
Beifahrer.
A-Säule.links.
A-Säule.
rechts.
AkKve.Roll-.
Stabilisierung.
Digitale.Diesel.
/Motor.
Elektronik.2.
Türmodul.
Fahrerseite.
hinten.
Türmodul.
Beifahrerseite.
hinten.
B-Säule.links.
B-Säule.links.
Dynamische.
Stabilitäts-.
kontrolle.
AdapKve.Light.
Control.
Sitzmodul.
Fahrer.
Sitzmodul.
Beifahrer.
Sitz.Fahrer.
Sitz.Beifahrer.
Elektronische.
Getriebe-.
steuerung.
Elektronische.
Dämpfer-.
kontrolle.
Tür.vorne..
links.
Tür.vorne.
rechts.
Elektromech..
Feststell-.
bremse.
Drehraten-.
sensor.
(kein.SG).
Sitz.hinten.
Diebstahlwarn-.
anlage.
Anhänge-.
modul.
Car.Access.
System.
1-Achs-.
Lu@feder.
Park.Distance.
Control.
Audio.System.
Kontroller.
Kombi-.
instrument.
Türmodul.
Fahrertür.
Bedienzentrum.
MiCelkonsole.
Bedienzentrum.
MiCelkonsole.
Fond.
Antennentuner.
MulK.Media.
Changer.
Reifendruck-.
kontrolle.
Chassis.
.IntegraKon.
.Module.
Videomodul.
Audio-CD.
Wechsler.
Regensensor.
Schiebehebe-.
dach.
NavigaKons-.
system.
KopXörer-.
interface.
Sitzmodul.
Fahrer.hinten.
Sitzmodul.
Beifahrer.
.hinten.
Lichtschalt-.
modul.
Wischermodul.
Verstärker.
Spracheingabe-.
system.
Heckklappen-.
li@.
Powermodul.
Heizungs-.
bedienteil.
Controller.
Heizungs-.
bedienteil..
(Fond).
Stanheizung/.
Zuheizung.
K-CAN.
System.
Sicherheits-.u..
InformaKons-.
modul.
Telefon-.
interface.
Serienumfang.
Sonder-.
ausstaCung.
MOST.
K-CAN.Peripherie.
byteflight.
PT-CAN.
Source: Ernst Fricke, BMW How much detail is required to capture architecture?
Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems Architecture as Form + Function
Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems Suspension
bridge
Cable-stayed
bridge
Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems Architecture
The arrangement of the functional elements into physical blocks.
- Ulrich & Eppinger
The whole consists of parts; the parts have relationships to each other;
when put together, the whole has a designed purpose and fills a need.
- Reekie and McAdam
{form and function, parts and whole, relationships, and emergence}
Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems Architecture as Function to Form Mapping
By enumera=ng other combina=ons of the mapping, we can check for other architectures Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems Internet Layer
Higher&
Level&Data&
Physical Layer
Link Layer
ARP&Table&
MAC&Dest&
Address&
Determine&
Network&
Interface&
Card&
Create&
MAC&Src&
Address&
IP&Packet&
Laptop&
802.11&
Frame&
Encapsulate&
IP&Data&
Payload&
IP&Source&
Address&
IP&Dest&
Address&
Architecture should
represent the essential
features of the system.
Broadcast&
2.4&GHz&
Signal&
802.11&
Frame&
DePEncapsulate&
IP&Packet&
Laptop&
Antenna&
Receive&
WAP&
Antenna&
ARP&Table&
WAP&
Processor&
IP&Dest&
Address&
WAP&
Ethernet&
Port&
Determine&
MAC&Dest&
Address&
Encapsulate&
Network&
Switch&
Ethernet&
Frame&
Send&
Bits&over&
Ethernet&
Error&Check&
Read&
Ethernet&
Frame&
Read&
Write&
MAC&Dest&
Address&
Ethernet&
Frame&
Receive&
Switch&
Ethernet&
Port&
Switch&
Ethernet&
Port&
Send&
Bits&over&
Ethernet&
DePEncapsulate&
IP&Packet&
ResidenQal&
Gateway&
IP&Data&
Payload&
IP&Source&
Address&
IP&Dest&
Address&
NAT&
Protocol&
Change&
Determine&
Encapsulate&
Ethernet&
Frame&
Receive&
Gateway&
Ethernet&
Port&
MAC&Src&
Address&
PPPoE&
Frame&
Gateway&
Port&
Send&
ResidenQal&
Gateway&
Bits&over&
Ethernet&
MAC&Dest&
Address&
PPPoE&
Frame&
Receive&
Modem&
Port&
Transform&
Bits&
Modulate&
DSL&
Modem&
Carrier&
Frequency&
Output&
Signal&
Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems Key Architectural Decisions
A350 Family What are the key architectural features that separate these two designs? Fuselage does not liL – wing designed for largest variant BWB Family Fuselage liLs – common wing implies smaller design penalOes Source: Robert Liebeck / Boeing
Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems Architectural Decisions
We have no reason to expect the quality of intuition to improve with the importance of the
problem. Perhaps the contrary: high-stake problems are likely to involve powerful emotions and
strong impulses to action.”
Daniel Kahneman
•
Architectural decisions are the subset of design decisions that are
most impactful
– They relate to form – function mapping, they determine the performance
envelope, they encode the key trade-offs in the eventual product, and they often
strongly determine cost.
•
Architectural decisions lead to architectures that are fundamentally
different from each other
– Which wheels are powered on a car, whether or not an aircraft has a tail, whether
an algorithm runs in real time or not, etc.
Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems Tests for Architectural Decisions
• Does this decision strongly influence metrics?
Sensitivity
• Would substantial rework be required to change
this decision? Could we make this decision
downstream without regards for other decisions?
Connectivity
Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems Apollo Architecture?
Source: http://www.hq.nasa.gov/alsj/a17/AS17-145-22261HR.jpg
Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems Nine architectural decisions for Apollo
Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems Houbolt’s Architecture
The program churned for two years beforehand,
but accelerated after the decision was made
http://en.wikipedia.org/wiki/John_Houbolt#/media/File:John_Houbolt_and_LOR2.jpg
Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems We can enumerate potential architectures
von Braun-like:
Direct Mission,
3 crew, storable
propellants
Apollo-like: LOR
mission, storable
propellants, 3
crew, 2 to surface
Soviet-like: Min mass
configuration, LOR, 2
crew, 1 to surface
Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems Architectural decisions can be sequenced,
using their sensitivity and connectivity.
Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems Risk SensiOvity IMLEO SensiOvity [lbs] Models can help us understand decision sequence
Degree of ConnecOvity Dr. Bruce Cameron Degree of ConnecOvity System Architecture – Strategy and Product Development for Complex Systems Organization of architectural decisions
for the Apollo Program
Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems The Opportunity
We conceive, design, implement and
operate complex and sometimes
unprecedented systems
Do they meet stakeholder needs? Do they
deliver value?
Do they integrate easily, evolve flexibly,
operate simply and reliably?
Source: Carlos Gorbea
Well architected systems do!
Acts as as source of
competitive advantage
Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems A complicated network
Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems Less complicated network
Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems Is the complexity essential for delivering
the Concorde’s functionality?
Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems Architecture Helps us Make
Complex Things Less Complicated
Func%on? Form? En%%es? Rela%onships? Emergence? Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems Role of the Architect
“Some single mind must master, else there will be no agreement in anything.” Dr. Bruce Cameron Abraham Lincoln System Architecture – Strategy and Product Development for Complex Systems Three Roles of the Architect
Reduce ambiguity in corporate
strategy and technology insertion by
defining the context and boundaries
of the system
Employ creativity to create the
concept for the system, managing in
the spectrum of solution neutral
thinking
Manage complexity so that the
system is comprehendible to all
during its design, implementation,
and evolution
Source: BMW
Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems Patterns & Styles of Architecture:
NASA’s A Train satellites
for Earth Observation
http://www.nasa.gov/mission_pages/hurricanes/features/atrain.html
Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems The PARTITIONING Pattern
NEOSS instrument-packaging problem.
Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems Monolithic versus Fully
Distributed Architecture Styles
Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems Six Patterns of
Architectural Decisions
Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems • Architecture can be
an explicit choice
• Architectural
decisions can be
identified and
sequenced
• The system architect
must help make the
complex system less
complicated
www.system-architect.org
bcameron@mit.edu
Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )