Upload
hoangliem
View
263
Download
5
Embed Size (px)
Citation preview
System Architecture
@
Bruce G. Cameron Director, System Architecture Lab
Co-Founder of Technology Strategy Partners
[email protected] May 4 2015
www.system-architect.org
Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems
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.
- ISO / IEC / IEEE Standard 42010
A formal description of a system, or a detailed plan of the system at component level to guide its implementation.
- The Open Group Architecture Framework
(TOGAF)
How much detail is required to capture architecture?
Diebstahlwarn-.anlage.
Reifendruck-.kontrolle.
Regensensor.
Lichtschalt-.modul.
Heizungs-.bedienteil.
Heizungs-.bedienteil..(Fond).
1-Achs-.Lu@feder.
Bedienzentrum.MiCelkonsole.
Anhänge-.modul.
Kombi-.instrument.
Car.Access.System.
Sicherheits-.u..InformaKons-.modul.
Fahrzeug-.zentrum.
Türmodul.Beifahrer.
Mensch-.Maschine-.Interface.
Park.Distance.Control.
Digitale.Diesel./Motor.Elektronik.1.
AdapKve.Cruise.Control.
Schaltzentrum.Lenksäule.
Türmodul.Fahrertür. A-Säule.links.
B-Säule.links.
A-Säule.rechts.
B-Säule.links.
Tür.vorne..links.
Sitz.Fahrer.
Audio.System.Kontroller.
Tür.vorne.rechts.
Sitz.hinten.
AkKve.Roll-.Stabilisierung.
Dynamische.Stabilitäts-.kontrolle.
Elektronische.Getriebe-.steuerung.
Sitz.Beifahrer.
Türmodul.Fahrerseite.hinten.
Türmodul.Beifahrerseite.hinten.
Sitzmodul.Fahrer.
Sitzmodul.Beifahrer.
Antennentuner. MulK.Media.Changer.
Audio-CD.Wechsler.Videomodul.
Bedienzentrum.MiCelkonsole.Fond.
AdapKve.Light.Control.
Elektronische.Dämpfer-.kontrolle.
Elektromech..Feststell-.bremse.
Drehraten-.sensor.(kein.SG).
Sitzmodul.Beifahrer..hinten.
Powermodul.
Digitale.Diesel./Motor.Elektronik.2.
Schiebehebe-.dach.
Chassis..IntegraKon..Module.
Verstärker.
NavigaKons-.system.
Telefon-.interface.
Spracheingabe-.system.
KopXörer-.interface.
Heckklappen-.li@.
Sitzmodul.Fahrer.hinten.
Stanheizung/.Zuheizung.
Controller.
Wischermodul.
Serienumfang.
Sonder-.ausstaCung.
Diagnose-.Zugang.
Zentrales.Gateway..Modul.
K-CAN.System.
MOST. K-CAN.Peripherie. byteflight. PT-CAN.
Source: Ernst Fricke, BMW
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
Architecture should represent the essential features of the system.
Create&
Higher&
Level&Data&
Internet Layer Link Layer Physical Layer
Laptop&
IP&Packet&
IP&Dest&
Address&
IP&Source&
Address&
IP&Data&
Payload&
Determine&
Encapsulate&
MAC&Dest&
Address&
Network&
Interface&
Card&
ARP&Table&
MAC&Src&
Address&
802.11&
Frame&Broadcast&
Laptop&
Antenna&
2.4&GHz&
Signal&
Receive&
WAP&
Antenna&
802.11&
Frame&
DePEncapsulate&
WAP&
Processor&
Ethernet&
Frame&Send&
Receive&
WAP&
Ethernet&
Port&
Switch&
Ethernet&
Port&
Bits&over&
Ethernet&
Ethernet&
Frame&
IP&Packet&
IP&Dest&
Address&
Encapsulate&
MAC&Dest&
Address&
Determine&
ARP&Table&
Error&Check&
Write&
Read&
Read&
Network&
Switch&
MAC&Dest&
Address&
Ethernet&
Frame&Send&
Receive&
Switch&
Ethernet&
Port&
Gateway&
Ethernet&
Port&
Bits&over&
Ethernet&
Ethernet&
Frame&DePEncapsulate&IP&Packet&
IP&Dest&
Address&
IP&Source&
Address&
IP&Data&
Payload&
ResidenQal&
Gateway&
Encapsulate&
Change&
ResidenQal&
Gateway&
Determine&
NAT&
Protocol&
MAC&Dest&
Address&
MAC&Src&
Address&
PPPoE&
Frame&
Send&
Receive&
Gateway&
Port&
Modem&
Port&
Bits&over&
Ethernet&
PPPoE&
Frame&
Transform&
Bits& DSL&
Modem&
Modulate&
Carrier&
Frequency&
Output&
Signal&
Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems
Key Architectural Decisions A350 Family BWB Family
What are the key architectural features that
separate these two designs?
Fuselage does not liL – wing designed for largest variant
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
Degree of ConnecOvity
IMLEO Sen
siOvity [lbs]
Models can help us understand decision sequence
Degree of ConnecOvity
Risk Sen
siOvity
Dr. Bruce Cameron 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?
Well architected systems do!
Acts as as source of competitive advantage
Source: Carlos Gorbea
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.”
Abraham Lincoln
Dr. Bruce Cameron System Architecture – Strategy and Product Development for Complex Systems
� 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
Three Roles of the Architect
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 [email protected]