Upload
lamtuong
View
243
Download
0
Embed Size (px)
Citation preview
A Reference Architecture Primerby Gerrit Muller University of Southeast Norway-NISE
e-mail: [email protected]
Abstract
A Reference Architecture captures the essence of the architecture of a collectionof systems. The purpose of a Reference Architecture is to provide guidance for thedevelopment of architectures for new versions of the system or extended systemsand product families.We provide guidelines for the content of a Reference Architecture and the processto create and maintain it. A Reference Architecture is created by capturing theessentials of existing architectures and by taking into account future needs andopportunities, ranging from specific technologies, to patterns to business modelsand market segments.
Distribution
This article or presentation is written as part of the Gaudí project. The Gaudí projectphilosophy is to improve by obtaining frequent feedback. Frequent feedback is pursued by anopen creation process. This document is published as intermediate or nearly mature versionto get feedback. Further distribution is allowed as long as the document remains completeand unchanged.
June 5, 2018status: preliminarydraftversion: 0.6
family architecture product family
system A
system B
system architecture
shared assets shared asset architecture
engineering documentation
actual systems architectures
reference architecture
reference architecture
architect design and engineer
build and test
field feedback constraints and opportunities
extracting essentials
1. general introduction
2. level of abstraction
3. content
4. summary
A Reference Architecture Primer2 Gerrit Muller
version: 0.6June 5, 2018
RAPnavigation
General Introduction to Reference Architectures
Why Reference Architectures?
When to Use Reference Architectures?
What do Reference Architectures contain?
How to use Reference Architectures?
What are inputs of a Reference Architecture?
Criteria for a good Reference Architecture.
A Reference Architecture Primer3 Gerrit Muller
version: 0.6June 5, 2018
RAPintro
Graph of objectives of Reference Architectures
increased dynamics integration
increased complexity
scope size
Facilitate multi-site multi-organization multi-vendor multi-*
system creation and life-cycle support
Effectively create new: products product lines product portfolio
managing synergy
Achieve interoperability between many different and evolving systems
providing guidance , e.g. architecture principles, best practices
providing an architecture baseline and an architecture blueprint
capturing and sharing (architectural) patterns
providing a common (architectural) vision
providing a common lexicon and taxonomy
providing modularization and the complementary context
Articulation of domain and realization concepts
Explicit decisions about compatibility, upgrade and interchangeability.
Explicit modeling of functions and qualities above systems level
A Reference Architecture Primer4 Gerrit Muller
version: 0.6June 5, 2018
SAFRAwhy
When to Use Reference Architectures
multi-site
multi-supplier
multi-vendor
mono-disciplinary
engineering
mono-system
design
mono-system
architecting
product family
architecting
evolvable product family
architecting
Reference
Architecture
Reference Architectures
facilitate the step towards
product family architecting
and evolvability;
this often coincides
with multi-* problems
A Reference Architecture Primer5 Gerrit Muller
version: 0.6June 5, 2018
RAPwhen
RA Elaborates Mission, Vision and Strategy
mission
vision
strategy
multiple organizations
Reference Architecture
elab
orat
ed in
guidance for future
A Reference Architecture Primer6 Gerrit Muller
version: 0.6June 5, 2018
SAFRAstrategy
RA = Business Arch. + Technical Arch. + Customer Context
business architecture
technical architecture customer context
customer enterprise users
requirements black box view
design patterns technology
business model life cycle
relations guidance
A Reference Architecture Primer7 Gerrit Muller
version: 0.6June 5, 2018
SAFRAarchitectures
Instantiation of a RA in few Transformations
family architecture product family
system A
system B
system architecture
shared assets shared asset architecture
engineering documentation
actual systems architectures
reference architecture
reference architecture
architect design and engineer
build and test
field feedback constraints and opportunities
extracting essentials
A Reference Architecture Primer8 Gerrit Muller
version: 0.6June 5, 2018
SAFRAinstantiation
Inputs of a Reference Architecture
existing architectures
essence architecture patterns
customer needs business needs
product portfolio future requirements
Reference Architecture
mining exploration & analysis
proven concepts & known problems
vision
guid
es e
volu
tion
trigg
ers
new
cha
nges
A Reference Architecture Primer9 Gerrit Muller
version: 0.6June 5, 2018
SAFRAflow
Criteria for a good RA
Criteria for a good Reference Architecture
understandable for broad set of stakeholders
accessible and actually read/seen by majority of the organization
addresses the key issues of the specific domain
satisfactory quality
acceptable
up-to-date and maintainable
adds value to the business
customers
product managers
project managers
engineers
...
A Reference Architecture Primer10 Gerrit Muller
version: 0.6June 5, 2018
RAPcriteria
Challenge: Appropriate Level of Abstraction
Single System
Product Family in Context
Capturing the Essence
Size Considerations:
What is the appropriate level of abstraction?
How many details?
Decomposition of Large Documents
Vo
lum
e 1
Vo
lum
e 2
Vo
lum
e 3
Vo
lum
e 4
Vo
lum
e 5
Vo
lum
e 6
Vo
lum
e 8
Vo
lum
e 7
Vo
lum
e 9
Vo
lum
e 1
Vo
lum
e 2
Vo
lum
e 3
Vo
lum
e 4
Vo
lum
e 5
Vo
lum
e 6
Vo
lum
e 8
Vo
lum
e 7
Vo
lum
e 9
Vo
lum
e 1
Vo
lum
e 2
Vo
lum
e 3
Vo
lum
e 4
Vo
lum
e 5
Vo
lum
e 6
Vo
lum
e 8
Vo
lum
e 7
Vo
lum
e 9
Reference
Architecture
or
A Reference Architecture Primer11 Gerrit Muller
version: 0.6June 5, 2018
RAPlevelOfAbstraction
Level of Abstraction Single System
100
101
106
105
104
103
102
107
static system definition
monodisciplinary
nu
mb
er o
fd
etai
ls
system
requirements
multidisciplinary
design
A Reference Architecture Primer12 Gerrit Muller
version: 0.6June 5, 2018RAPpyramid
Product Family in Context
100
106
103
109
systems
multidisciplinary design
parts, connections, lines of code
103
109
106
stakeholders
enterprise
enterprise contextn
um
be
r o
f
de
tails
A Reference Architecture Primer13 Gerrit Muller
version: 0.6June 5, 2018RAPdiabolo
RA: Capturing the Essence
100
106
103
109
systems
multidisciplinary design
parts, connections, lines of code
103
109
106
stakeholders
enterprise
enterprise context
nu
mb
er
of
de
tails
reference
architecture
some context
details are
essential
some technical
details are
essential
A Reference Architecture Primer14 Gerrit Muller
version: 0.6June 5, 2018
RAPdiaboloRA
RA: level of abstraction, number of details
extensive reference architecture
many documents
resource
management
compact
reference architecture
few diagrams only
safety
market
process
flow
key
performance
indicatorsinformation
modeldecomposition
concurrency &
synchronization
key
drivers
supplier
policy
API's shared
assets
functional
models
behavior
concurrency &
synchronization
security
exception
handling
standards
key
performance
indicators
function
flow
interoper
ability
supplier
policy
supplier
policy
supplier
policy
supplier
policy
process
descriptionssupplier
policy
supplier
policy
supplier
policy
supplier
policy
process
flow
supplier
policy
supplier
policy
supplier
policy
supplier
policy
Cost of
Ownership
supplier
policy
supplier
policy
supplier
policy
supplier
policy
high end
marketsupplier
policy
supplier
policy
supplier
policy
supplier
policy
industry
roadmap key
drivers
value
chainstrategic
partners
supplier
policy
supplier
policy
supplier
policy
supplier
policy
business
models
103
106level of abstraction number of
details
map of
systems
information
model
decomposition
cache
design
API'sAPI's
A Reference Architecture Primer15 Gerrit Muller
version: 0.6June 5, 2018
RAPsizeSpectrum
Size Considerations
103
106level of abstraction number of
details
extensive reference architecture
many documents
resource management
compact
reference architecture
few diagrams only
safety
market
process flow
key performance
indicatorsinformation model
decompositionconcurrency &
synchronization
key drivers
supplier
policyAPI's shared
assets
functional
models
behavior
concurrency &
synchronization
security
exception
handling
standardskey performance
indicators
function flowinteroperability
supplier policysupplier policysupplier policysupplier policyprocess descriptionssupplier
policy
supplier
policy
supplier
policy
supplier
policyprocess flow
supplier policysupplier policysupplier policysupplier policyCost of
Ownership
supplier policysupplier policysupplier policysupplier policyhigh end market supplier policysupplier policysupplier policysupplier policyindustry roadmapkey drivers
value
chainstrategic
partnerssupplier policysupplier policysupplier policysupplier policybusiness
models
map of
systems
information modeldecomposition
cache
design
API'sAPI's
low effort to
create
maintain
read
easy to share
limited
guidance
anchor value
significant effort to
create
maintain
read
difficult to share
great
guidance
anchor value
A Reference Architecture Primer16 Gerrit Muller
version: 0.6June 5, 2018
RAPsizeConsiderations
Decomposition of Large Documents
atomic document
compound document
document
structure
overview
document
document
document
document
documentcompound
document
compound
document
compound
document compound document
overview
document
structure
overview
atomic
documentdocument
structure
overview
document
structure
overview
document
structure
atomic
document
compound
document
compound
document
title
identification
author
distribution
status
review
history
changes
frontpage
meta information
max 2 pages
diagrams
tables
lists
and ca 50%
text
1. aap
2. noot
3. mies
contents
2..18 pages
recursion
A Reference Architecture Primer17 Gerrit Muller
version: 0.6June 5, 2018
RAPdocumentDesign
What should be in Reference Architectures?
Guidance from Best Practices
Visualizations
Structure
What content should be in Reference Architectures?
A Reference Architecture Primer18 Gerrit Muller
version: 0.6June 5, 2018
RAPcontentIntro
Guidance from SAF Best Practices
1.1 One of several prerequisites for architecture creative synthesis is the
definition of 5-7 specific key drivers that are critical for success, along with
the rationale behind the selection of these items
2.1. The essence of a system can be captured in about 10 models/views
2.2. A diversity of architecture descriptions and models is needed:
languages, schemata and the degree of formalism.
2.3. The level of formality increases as we move closer to the
implementation level.
from http://www.architectingforum.org/bestpractices.shtml
A Reference Architecture Primer19 Gerrit Muller
version: 0.6June 5, 2018
RAPprinciplesSAF
Possible useful visualizations
ASMLoverlayBudget
COVmotorwayMana
gementKeyDriversLWAvalueChain COVsuppliers AVdynamicsURF AVstakeholders
AVcontextMotor
wayManagementAVsimpleTVmodel AVdynamicModels
AVcostBenefitModels
FVcommercialTree FVfeatureMatrix FVinformationModel FVdatamodel
CVfunctional
Decomposition
CVconstruction
DecompositionCVinformationModel
CVprocess
Decomposition
CVreconstruction
PerformanceModelCVstartUp CVworkBreakdown
CVintegrationPlanRVperformance
CostEffortRVmemoryBudgetTable
SHTexample
StoryLayout
ETexampleTime
ShiftingWhatIfMICAFtypicalCase MICAFtypicalTiming MICAFclinicalInfoFlow MICAFrequestFlow MICAFfinancialContext
MICAFreferenceModel MICAFinformationLayersMICAFmarket
SegmentationMICAFsystemLayers
MICVpresentation
Pipeline
FFTSstandardInteractive
SystemAnnotated
EBMImemory
TimingARM
MAFTstorage
Performance
MAFTexampleWebShop
actual figures and references to their use at http://www.gaudisite.nl/figures/<name>.html
A Reference Architecture Primer20 Gerrit Muller
version: 0.6June 5, 2018
RAPvisualizations
Ideal Structure does not exist
func
tion
m
func
tion
1
func
tion
2
quali
ty k
quali
ty 1
quali
ty 2
subsystem n
subsystem 1
subsystem 2
objec
t 1
objec
t i objec
t 2
view n
view 1
view 2
application n
application 1
application 2 technology k
technology 1
technology 2
A Reference Architecture Primer21 Gerrit Muller
version: 0.6June 5, 2018OHTstructure
Synthesis, Integration, Relation oriented
4. Infra-
structure
2. Construction
Decomposition
3. Allocation
5. Choice of
integrating
concepts
1. Functional
Decomposition
tunerframe-
bufferMPEG
DS
PCPU RAM
drivers scheduler OS
etc
audio video TXTfile-
systemnetworkingetc.
view play browse
storage
acquisition compress encoding
displayde-
compressdecoding
Resource
usagePerformance
Exception
handling
Device
abstraction
Pipeline
A Reference Architecture Primer22 Gerrit Muller
version: 0.6June 5, 2018
LWAarchitectureHow
Checklist for RA content
business architecture
technical architecturecustomer context
business
financials
stakeholders
benefits, concerns
concept of operations
key performance parameters
product features, functions
core technologies
critical resources
design issues
dominant patterns
business model
life cycle
stakeholders
benefits, concerns
relationsguidance
A Reference Architecture Primer23 Gerrit Muller
version: 0.6June 5, 2018
RAPcontentGuidance
Summary of the role of Reference Architectures
mission
vision
strategy
multiple organizations
Reference Architecture
existing architectures
new or evolved architectures
customers market
elaboration
needs
know
ledge
guid
ance
technology
oppo
rtuni
ties
A Reference Architecture Primer24 Gerrit Muller
version: 0.6June 5, 2018
SAFRAroleRA