24
A Reference Architecture Primer by Gerrit Muller University of Southeast Norway-NISE e-mail: [email protected] www.gaudisite.nl Abstract A Reference Architecture captures the essence of the architecture of a collection of systems. The purpose of a Reference Architecture is to provide guidance for the development of architectures for new versions of the system or extended systems and product families. We provide guidelines for the content of a Reference Architecture and the process to create and maintain it. A Reference Architecture is created by capturing the essentials of existing architectures and by taking into account future needs and opportunities, ranging from specific technologies, to patterns to business models and market segments. Distribution This article or presentation is written as part of the Gaudí project. The Gaudí project philosophy is to improve by obtaining frequent feedback. Frequent feedback is pursued by an open creation process. This document is published as intermediate or nearly mature version to get feedback. Further distribution is allowed as long as the document remains complete and unchanged. June 5, 2018 status: preliminary draft version: 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

A Reference Architecture Primer - gaudisite Reference Architecture Primer by Gerrit Muller Buskerud University College e-mail: [email protected] Abstract A Reference Architecture

Embed Size (px)

Citation preview

Page 1: A Reference Architecture Primer - gaudisite Reference Architecture Primer by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com Abstract A Reference Architecture

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

Page 2: A Reference Architecture Primer - gaudisite Reference Architecture Primer by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com Abstract A Reference Architecture

1. general introduction

2. level of abstraction

3. content

4. summary

A Reference Architecture Primer2 Gerrit Muller

version: 0.6June 5, 2018

RAPnavigation

Page 3: A Reference Architecture Primer - gaudisite Reference Architecture Primer by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com Abstract A Reference Architecture

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

Page 4: A Reference Architecture Primer - gaudisite Reference Architecture Primer by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com Abstract A Reference Architecture

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

Page 5: A Reference Architecture Primer - gaudisite Reference Architecture Primer by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com Abstract A Reference Architecture

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

Page 6: A Reference Architecture Primer - gaudisite Reference Architecture Primer by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com Abstract A Reference Architecture

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

Page 7: A Reference Architecture Primer - gaudisite Reference Architecture Primer by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com Abstract A Reference Architecture

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

Page 8: A Reference Architecture Primer - gaudisite Reference Architecture Primer by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com Abstract A Reference Architecture

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

Page 9: A Reference Architecture Primer - gaudisite Reference Architecture Primer by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com Abstract A Reference Architecture

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

Page 10: A Reference Architecture Primer - gaudisite Reference Architecture Primer by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com Abstract A Reference Architecture

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

Page 11: A Reference Architecture Primer - gaudisite Reference Architecture Primer by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com Abstract A Reference Architecture

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

Page 12: A Reference Architecture Primer - gaudisite Reference Architecture Primer by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com Abstract A Reference Architecture

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

Page 13: A Reference Architecture Primer - gaudisite Reference Architecture Primer by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com Abstract A Reference Architecture

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

Page 14: A Reference Architecture Primer - gaudisite Reference Architecture Primer by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com Abstract A Reference Architecture

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

Page 15: A Reference Architecture Primer - gaudisite Reference Architecture Primer by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com Abstract A Reference Architecture

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

Page 16: A Reference Architecture Primer - gaudisite Reference Architecture Primer by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com Abstract A Reference Architecture

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

Page 17: A Reference Architecture Primer - gaudisite Reference Architecture Primer by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com Abstract A Reference Architecture

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

Page 18: A Reference Architecture Primer - gaudisite Reference Architecture Primer by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com Abstract A Reference Architecture

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

Page 19: A Reference Architecture Primer - gaudisite Reference Architecture Primer by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com Abstract A Reference Architecture

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

Page 20: A Reference Architecture Primer - gaudisite Reference Architecture Primer by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com Abstract A Reference Architecture

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

Page 21: A Reference Architecture Primer - gaudisite Reference Architecture Primer by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com Abstract A Reference Architecture

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

Page 22: A Reference Architecture Primer - gaudisite Reference Architecture Primer by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com Abstract A Reference Architecture

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

Page 23: A Reference Architecture Primer - gaudisite Reference Architecture Primer by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com Abstract A Reference Architecture

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

Page 24: A Reference Architecture Primer - gaudisite Reference Architecture Primer by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com Abstract A Reference Architecture

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