lecture slides course modeling and analysis · module modeling and analysis course info by gerrit...

222
Lecture slides course Modeling and Analysis by Gerrit Muller Embedded Systems Institute Abstract The Modeling and Analysis course is part of a broader Systems Architecting Curriculum. It addresses the skills and methods needed to model and analyse systems in their context. The purpose of modeling is to gain insight in the domain and potential solutions to facilitate the architecting process. The complete course MA 611 TM is owned by TNO-ESI. To teach this course a license from TNO-ESI is required. This material is preliminary course material. September 6, 2020 status: planned version: 0.6

Upload: others

Post on 11-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Lecture slides course Modeling and Analysisby Gerrit Muller

Embedded Systems Institute

Abstract

The Modeling and Analysis course is part of a broader Systems ArchitectingCurriculum. It addresses the skills and methods needed to model and analysesystems in their context. The purpose of modeling is to gain insight in the domainand potential solutions to facilitate the architecting process.

The complete course MA 611TM is owned by TNO-ESI.To teach this course a license from TNO-ESI is required.This material is preliminary course material.

September 6, 2020status: plannedversion: 0.6

Page 2: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Module Modeling and Analysis course infoby Gerrit Muller HSN-NISE

e-mail: [email protected]

AbstractThis module provides the information about the “Modeling and Analysis” course.

The complete course MA 611TM is owned by TNO-ESI.To teach this course a license from TNO-ESI is required.This material is preliminary course material.

September 6, 2020status: plannedversion: 0.2

Page 3: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Modeling and Analysis Overview Content

goal of this module

Provide overview and context for complete course.

Understand and experience the connection between problem and solution.

content of this module

Positioning of Modeling and Analysis (M&A)

Why, what and how of M&A

Program of the complete course

Overview of M&A approach

exercise

Quick scan of one case

Electronic Patient Record, Video on Demand, or Health Care Archive

Module Modeling and Analysis course infoc©2006, Embedded Systems Institute3 c©2006, Gerrit Muller

version: 0.2September 6, 2020

MAOcontent

Page 4: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Modeling and Analysis Overviewby Gerrit Muller HSN-NISE

e-mail: [email protected]

AbstractThe course Modeling and Analysis is described. The program consists of 10 modules.The course format, iterating theory, illustration and interaction is explained. The courseheavily emphasizes the practical application of the method. This presentation shows theoverview of the modeling and analysis approach and the methods and techniques thatwill be elaborated in the rest of the course.

The complete course MA 611TM is owned by TNO-ESI.To teach this course a license from TNO-ESI is required.This material is preliminary course material.

September 6, 2020status: preliminarydraftversion: 1.0

integration and reasoning

throughput processing

library

diagnostic

quality

image

quality IQ spec

pixel

depth

CPU

budgettypical

case

common

console

memory

limit

BoM Moore's

law

purchase

priceCoO

render

engine

M'

S

M

B

U"

P'

T

U

U' P

profit margin

standard workstation

memory budget

life cycle context

systemusage context

enterprise &

users

requirements

black box view

design

realization

technology

creation

life cycle

business

collect input

data

model and analyse

relevant issues

for different

stakeholders&

concerns

facts from research

measurements

assumptions

modeling

analysis

resultsdecisionmaking

decisionsproject man.

business

specification

design

Page 5: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Positioning Modeling and Analysis in Architecting

architecture description:

· articulated

· structured

problem and solution

know-howarchitecting

vague notion

of the problem

vague notion

of potential solutions

basic

methods

architecting method:

• framework

• submethods

• integration methods

Spec

De

sig

n

Re

po

rt

modeling

and

analysis

Modeling and Analysis Overviewc©2006, Embedded Systems Institute5 c©2006, Gerrit Muller

version: 1.0September 6, 2020

MAOmethod

Page 6: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Modeling and Analysis supports:

understanding exploration optimization verification

Type of model depends on project phase

Models have a goal

Goals evolve and models evolve

Techniques are used to reach this goal

Modeling and Analysis Overviewc©2006, Embedded Systems Institute6 c©2006, Gerrit Muller

version: 1.0September 6, 2020MAOwhyModeling

Page 7: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Purpose of Modeling

facts from research

measurements

assumptions

uncertainties

unknowns

errors

modeling

analysis

results

project

accuracy

working range

credibility

risk

customer satisfaction

time, cost, effort

profit margin

specification

verification

decisions

Modeling and Analysis Overviewc©2006, Embedded Systems Institute7 c©2006, Gerrit Muller

version: 1.0September 6, 2020

MAOpurpose

Page 8: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

What to Model?

life cycle context

systemusage context

enterprise &

users

requirements

black box view

design

realization

technology

business:

profit, etc.

operational costs

stakeholder benefits

workload

risks

key performance:

throughput, response

reliability

availability

scalability

...

(emerging?) properties:

resource utilization

load

latency, throughput

quality, accuracy

...

and their mutual relations

creation

life cycle business

business:

profit, etc.

operational costs

stakeholder benefits

workload

risks

Modeling and Analysis Overviewc©2006, Embedded Systems Institute8 c©2006, Gerrit Muller

version: 1.0September 6, 2020MAOwhatModeling

Page 9: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Program of Modeling and Analysis Course

1. overall approachintro, overall approach, exercise overall approach

2. input facts, data, uncertaintiesquantification, measurements, modeling, validation, technology

background, lifecycle and business input sources

3. system modelingpurpose, approaches, patterns, modularity, parametrization, means,

exploration, visualization, micro-benchmarking, characterization,

performance as example

6. analysis, using modelssensitivity, robustness, worst case, working range, scalability,

exceptions, changes

5. integration and reasoningrelating key driver models to design models, model based threads

of reasoning, FMEA-like approach, modeling in project life-cycle

4. application, life-cycle modelingreiteration of modeling approach (see module 3), applied on

customer application and business, and life cycle

day 1

day 2

day 3

Modeling and Analysis Overviewc©2006, Embedded Systems Institute9 c©2006, Gerrit Muller

version: 1.0September 6, 2020

ESICmodelingAndAnlysisModules

Page 10: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Overview of Approach

integration and reasoning

throughput processing

library

diagnostic

quality

image

quality IQ spec

pixel

depth

CPU

budgettypical

case

common

console

memory

limit

BoM Moore's

law

purchase

priceCoO

render

engine

M'

S

M

B

U"

P'

T

U

U' P

profit margin

standard workstation

memory budget

life cycle context

systemusage context

enterprise &

users

requirements

black box view

design

realization

technology

creation

life cycle

business

collect input

data

model and analyse

relevant issues

for different

stakeholders&

concerns

facts from research

measurements

assumptions

modeling

analysis

resultsdecisionmaking

decisionsproject man.

business

specification

design

Modeling and Analysis Overviewc©2006, Embedded Systems Institute10 c©2006, Gerrit Muller

version: 1.0September 6, 2020

MAOoverview

Page 11: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Iteration over viewpoints

life cycle context

systemusage context

enterprise &

users

requirements

black box view

design

realization

technology

creation

life cycle business

intention

constraintawareness

objectivedriven

contextunderstanding

oppor-tunities

know howbased

Modeling and Analysis Overviewc©2006, Embedded Systems Institute11 c©2006, Gerrit Muller

version: 1.0September 6, 2020

MAOiteration

Page 12: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Modeling and Analysis: Background of the Courseby Gerrit Muller University of South-Eastern Norway-NISE

e-mail: [email protected]

AbstractThe background ideas of the Modeling and Analysis course are collected in a number ofdiagrams. These diagrams are provided solely as background and probably should notbe shown during the course itself.

Distribution

This article or presentation is written as part of the Gaudíproject. The Gaudí project philosophy is to improveby obtaining frequent feedback. Frequent feedback ispursued by an open creation process. This documentis published as intermediate or nearly mature version toget feedback. Further distribution is allowed as long asthe document remains complete and unchanged.

September 6, 2020status: plannedversion: 0.1

logoTBD

Page 13: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

How to Model?

how

100

101

106

105

104

103

102

107

system

multi-

disciplinary

mono-disciplinary

nu

mb

er

of

de

tails back-of-the-envelope

formula based

executable

small, simple, goal-driven models

Modeling and Analysis: Background of the Coursec©2006, Embedded Systems Institute13 c©2006, Gerrit Muller

version: 0.1September 6, 2020MAOhowModeling

Page 14: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

What and Why to Model

business

key drivers

risks

customer

key drivers

risks

business as

usual

(no modeling)

obvious

historic data

competitive data

modelingfeasibility

communication

risk mitigation

exploration

validation

purpose and type of model

depend on project life cycle

type of model and views

depend on purpose

how well is the customer served?

how credible becomes the solution?

how much are time and effort reduced?

how much is the risk reduced?

how much is the solution improved?

how much effort is needed to create model(s)?

how much effort is needed to use and maintain model(s)?

how much time is needed to obtain useful result?

decision factors:

accuracy of model

credibility of results

level of abstraction

working range

calibration of model

robustness of model

time to first results and feedback

effort

evolvability

(adaptation to new questions)

Modeling and Analysis: Background of the Coursec©2006, Embedded Systems Institute14 c©2006, Gerrit Muller

version: 0.1September 6, 2020

MAOwhyWhatWhen

Page 15: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Models, Measurements, Expectations and Assumptions

assumptions

measurements

expectations

understandingmodels

working range

accuracy

reliability

credibility

purpose

basis for

calibrate

sanity

check

have havehave

analysis

exploration

optimization

verification

Modeling and Analysis: Background of the Coursec©2006, Embedded Systems Institute15 c©2006, Gerrit Muller

version: 0.1September 6, 2020

ESICfundamentalsMA

Page 16: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Unknowns, Uncertainties, ...

systemusage context

enterprise &

users

requirements

black box view

design

realization

technology

unexpected use

assumptions

uncertainties

unknowns

dynamics

interference

hidden properties

assumptions

unknowns

uncertainties

dynamics

interference

Modeling and Analysis: Background of the Coursec©2006, Embedded Systems Institute16 c©2006, Gerrit Muller

version: 0.1September 6, 2020

ESICfundamentalMA

Page 17: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Model versus Reality

simplifications

assumptions

implementation

modelreality

complex

full of surprises

Modeling and Analysis: Background of the Coursec©2006, Embedded Systems Institute17 c©2006, Gerrit Muller

version: 0.1September 6, 2020

ESICmodelVsRealityMA

Page 18: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Starting Points of the Course

practical, immediately applicable in day-to-day work

(inter)active: daily hands-on exercises on case(s)

target: understanding, insight; way-of-working

method, tool, language and domain agnostic

Modeling and Analysis: Background of the Coursec©2006, Embedded Systems Institute18 c©2006, Gerrit Muller

version: 0.1September 6, 2020

ESICstyleMA

Page 19: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Modeling and Analysis Questions

1. Why do we model? - what are indicators that modeling and analysis beyond "business as

usual" architecture is needed. What questions trigger M & A.

2. What do we model? - what kinds of views do we need to consider (4+1, IBM GS Method,

Zachman, CAFCR)

3. When do we model? - what models are needed at various points in the project lifecycle.

4. What is the appropriate type of model? - formula, visualization, executable, simulation

5. What is the required accuracy of the model? - when do we achieve the desired risk

mitigation

6. What is the appropriate level of abstraction? - how much details have to be taken into

account, versus how much effort can we afford

7. How to calibrate models? - models are based on facts and assumptions. The model

outcome deppends strongly on these input data. Note again the tension between effort to make

and calibrate versus the value in terms of risk mitigation.

8. How to use models?

Modeling and Analysis: Background of the Coursec©2006, Embedded Systems Institute19 c©2006, Gerrit Muller

version: 0.1September 6, 2020

MAOquestions

Page 20: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Recommendations as Red Thread

objectives

principles recommendations

Time-box

Iterate

Multi-view

Measure and validate

Quantify early

Visualize

System and its context

Analysis of accuracy and

credibility

(Simple) mathematical models

Multiple levels of abstraction

use feedback

work incremental

work evolutionary

support communication

facilitate reasoning

support decision making

be explicit

make issues tangible

create

maintain

understanding

insight

overview

translate into

translate into

help to

achieve

Modeling and Analysis: Background of the Coursec©2006, Embedded Systems Institute20 c©2006, Gerrit Muller

version: 0.1September 6, 2020

MAOrecommendations

Page 21: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Cases for exercise

Electronic Patient Record:+ relevant health care related information available at the

right place for the right person

Long Term Health Care Archive:+ extreme robust, persistent, high availability archive for

large chain of hospitals

Video on Demand Backoffice:+ large scale content database with fast response download

capability including billing, DRM et cetera

Module Modeling and Analysis Infoc©2006, Embedded Systems Institute21 c©2006, Gerrit Muller

version: 0.1September 6, 2020

MAOcases

Page 22: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Modeling and Analysis Exercise

systemusage context

• make a quick scan over the following views:

0. what is this exercise about?

1. context: stakeholders, concerns, application

2. system design and realization

3. requirements

4. operational context

5. qualities

• use time boxes of 15 minutes per view

• show the most dominant decomposition(s) of that view, as

diagram or as a list; quantify whenever possible

enterprise &

users

requirements

black box view

design

realization

technology

1 23

4

qualities

5

0

Module Modeling and Analysis Infoc©2006, Embedded Systems Institute22 c©2006, Gerrit Muller

version: 0.1September 6, 2020

MAOexercise

Page 23: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Reflection on Exercise

+ collectively we know quite a lot

+ broad overview in short amount of time

~ some "hot" issues appear to be less relevant

- #questions >> #answers

baseline for next refining steps

Module Modeling and Analysis Infoc©2006, Embedded Systems Institute23 c©2006, Gerrit Muller

version: 0.1September 6, 2020

MAOreflection

Page 24: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Modeling and Analysis Summary

Conclusions

Modeling and Analysis must provide more in-depth answers for

questions that are breadth relevant.

Modeling and Analysis is a means that supports requirements

management, architecting and project management.

Modeling and Analysis ranges from business aspects to technical

decisions.

Good models are small, simple and goal-driven.

Techniques, Models, Heuristics of this module

Context viewpoints

Fast iteration based on time-boxing

Module Modeling and Analysis Infoc©2006, Embedded Systems Institute24 c©2006, Gerrit Muller

version: 0.1September 6, 2020

MAOsummary

Page 25: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Module Modeling and Analysis: Inputs and Uncertaintiesby Gerrit Muller LogoESIbuskerud

e-mail: [email protected]

AbstractThis module addresses Modeling and Analysis: Inputs and Uncertainties. The inputfor models comes from different sources: facts obtained from market and technologyresearch, data from measurements, and assumptions. All these sources have uncer-tainties and may hide unknowns, or may even be wrong. We zoom in on commonly usedtechnology.

The complete course MA 611TM is owned by TNO-ESI.To teach this course a license from TNO-ESI is required.This material is preliminary course material.

September 6, 2020status: plannedversion: 0.6

Page 26: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Module Content

goal of this module

Provide foundation and figures of merit for technology modeling

Provide insight in the inputs of models

Provide measurement fundamentals

content of this module

problem statement

generic layering and block diagrams

measuring HW and SW

exercise

measurement of loop and file open performance

participants may chose their own programming environment or Python

Module Modeling and Analysis: Inputs and Uncertaintiesc©2006, Embedded Systems Institute26 c©2006, Gerrit Muller

version: 0.6September 6, 2020

MMAFTcontent

Page 27: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Where are we in the Course?

facts from research

measurements

assumptions

uncertainties

unknowns

errors

modeling

analysis

results

project

accuracy

working range

credibility

risk

customer satisfaction

time, cost, effort

profit margin

specification

verification

decisions

life cycle context

systemusage context

enterprise &

users

requirements

black box view

design

realization

technology

creation

life cycle business

generic

technologies

Module Modeling and Analysis: Inputs and Uncertaintiesc©2006, Embedded Systems Institute27 c©2006, Gerrit Muller

version: 0.6September 6, 2020

MMAFTposition

Page 28: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Introduction to System Performance Designby Gerrit Muller University of South-Eastern Norway-NISE

e-mail: [email protected]

AbstractWhat is System Performance? Why should a software engineer have knowledge ofthe other parts of the system, such as the Hardware, the Operating System and theMiddleware? The applications that he/she writes are self-contained, so how can otherparts have any influence? This introduction sketches the problem and shows that atleast a high level understanding of the system is very useful in order to get optimalperformance.

Distribution

This article or presentation is written as part of the Gaudíproject. The Gaudí project philosophy is to improveby obtaining frequent feedback. Frequent feedback ispursued by an open creation process. This documentis published as intermediate or nearly mature version toget feedback. Further distribution is allowed as long asthe document remains complete and unchanged.

September 6, 2020status: preliminarydraftversion: 0.5

UI process

screen

Sample application code:

for x = 1 to 3 {

for y = 1 to 3 {

retrieve_image(x,y)

}

}

What If....

store

Page 29: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Content of Problem Introduction

content of this presentation

Example of problem

Problem statements

Introduction to System Performance Designc©2006, Embedded Systems Institute29 c©2006, Gerrit Muller

version: 0.5September 6, 2020

PINTROcontent

Page 30: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Image Retrieval Performance

Sample application code:

for x = 1 to 3 {

for y = 1 to 3 {

retrieve_image(x,y)

}

}

alternative application code:

event 3*3 -> show screen 3*3

<screen 3*3>

<row 1>

<col 1><image 1,1></col 1>

<col 2><image 1,2></col 2>

<col 3><image 1,3></col 3>

</row 1><row 2>

<col 1><image 1,1></col 1>

<col 2><image 1,2></col 2>

<col 3><image 1,3></col 3>

</row 1>

<row 2>

<col 1><image 1,1></col 1>

<col 2><image 1,2></col 2>

<col 3><image 1,3></col 3>

</row 3>

</screen 3*3>

application need:

at event 3*3 show 3*3 images

instanteneousdesign

design

or

Introduction to System Performance Designc©2006, Embedded Systems Institute30 c©2006, Gerrit Muller

version: 0.5September 6, 2020

PINTROsampleCode

Page 31: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Straight Forward Read and Display

UI process

screen

Sample application code:

for x = 1 to 3 {

for y = 1 to 3 {

retrieve_image(x,y)

}

}

What If....

store

Introduction to System Performance Designc©2006, Embedded Systems Institute31 c©2006, Gerrit Muller

version: 0.5September 6, 2020

PINTROwhatIf1

Page 32: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

More Process Communication

Sample application code:

for x = 1 to 3 {

for y = 1 to 3 {

retrieve_image(x,y)

}

}

What If....

screenserver

9 *

retrieve

9 *

update

UI process

database

screen

Introduction to System Performance Designc©2006, Embedded Systems Institute32 c©2006, Gerrit Muller

version: 0.5September 6, 2020

PINTROwhatIf2

Page 33: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Meta Information Realization Overhead

Sample application code:

for x = 1 to 3 {

for y = 1 to 3 {

retrieve_image(x,y)

}

}

What If....

Meta------

---------

--------

Image data

Attribute = 1 COM object

100 attributes / image

9 images = 900 COM objects

1 COM object = 80µs

9 images = 72 ms

Attributes

screenserver

9 *

retrieve

9 *

update

UI process

database

screen

Introduction to System Performance Designc©2006, Embedded Systems Institute33 c©2006, Gerrit Muller

version: 0.5September 6, 2020

PINTROwhatIf3

Page 34: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

I/O overhead

Sample application code:

for x = 1 to 3 {

for y = 1 to 3 {

retrieve_image(x,y)

}

}

What If....

- I/O on line basis (5122 image)

- . . .

9 * 512 * tI/O

tI/O ~= 1ms

Introduction to System Performance Designc©2006, Embedded Systems Institute34 c©2006, Gerrit Muller

version: 0.5September 6, 2020

PINTROwhatIf4

Page 35: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Non Functional Requirements Require System View

Sample application code:

for x = 1 to 3 {

for y = 1 to 3 {

retrieve_image(x,y)

}

}

can be:

fast, but very local

slow, but very generic

slow, but very robust

fast and robust

...

The emerging properties (behavior, performance)

cannot be seen from the code itself!

Underlying platform and neighbouring functions

determine emerging properties mostly.

Introduction to System Performance Designc©2006, Embedded Systems Institute35 c©2006, Gerrit Muller

version: 0.5September 6, 2020

PINTROconclusionWhatIf

Page 36: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Function in System Context

usage context

HW HW HW

OS OS OS

MW MW MW MW

F

&

S

F

&

S

F

&

S

F

&

S

F

&

S

F

&

S

F

&

S

F

&

S

Functions &

Services

Middleware

Operating systems

Hardware

performance and behavior of a function

depend on realizations of used layers,

functions in the same context,

and the usage context

Introduction to System Performance Designc©2006, Embedded Systems Institute36 c©2006, Gerrit Muller

version: 0.5September 6, 2020PINTROconclusion

Page 37: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Challenge

HW HW HW

OS OS OS

MW MW MW MW

F

&

S

F

&

S

F

&

S

F

&

S

F

&

S

F

&

S

F

&

S

F

&

S

Functions & Services

Middleware

Operating systems

Hardware

Performance = Function (F&S, other F&S, MW, OS, HW)

MW, OS, HW >> 100 Manyear : very complex

Challenge: How to understand MW, OS, HW

with only a few parameters

Introduction to System Performance Designc©2006, Embedded Systems Institute37 c©2006, Gerrit Muller

version: 0.5September 6, 2020

PINTROproblemStatement

Page 38: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Summary of Problem Introduction

Summary of Introduction to Problem

Resulting System Characteristics cannot be deduced from local code.

Underlying platform, neighboring applications and user context:

have a big impact on system characteristics

are big and complex

Models require decomposition, relations and representations to analyse.

Introduction to System Performance Designc©2006, Embedded Systems Institute38 c©2006, Gerrit Muller

version: 0.5September 6, 2020

PINTROsummary

Page 39: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Intermezzo: So Why to Model and Analyse?

Why do we model?

- what are indicators that modeling and analysis beyond "business as

usual" architecture is needed.

- What questions trigger Modeling and Analysis.

The answer to the question from business side is not evident

The answer is business critical (e.g. poor performance ->

unusable service). We did not discuss business value for this case.

Past experience shows that design choices have big impact

on the outcome, in other words this part of the design is critical

Introduction to System Performance Designc©2006, Embedded Systems Institute39 c©2006, Gerrit Muller

version: 0.5September 6, 2020

MMAFTwhyMA

Page 40: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Modeling and Analysis Fundamentals of Technologyby Gerrit Muller University of South-Eastern Norway-NISE

e-mail: [email protected]

AbstractThis presentation shows fundamental elements for models that are ICT-technology related.Basic hardware functions are discussed: storage, communication and computing withfundamental characteristics, such as throughput, latency, and capacity. A system is buildby layers of software on top of hardware. The problem statement is how to reason aboutsystem properties, when the system consists of many layers of hardware and software.

Distribution

This article or presentation is written as part of the Gaudíproject. The Gaudí project philosophy is to improveby obtaining frequent feedback. Frequent feedback ispursued by an open creation process. This documentis published as intermediate or nearly mature version toget feedback. Further distribution is allowed as long asthe document remains complete and unchanged.

September 6, 2020status: preliminarydraftversion: 0.5

random

data

pro

cessin

g

pe

rfo

rma

nce

in o

ps/s

data set sizein bytes

103

106

109

1012

1015

L1

cache

L3

cache

main

memory

hard

disk

disk

farm

robotized

media

109

103

106

Page 41: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Presentation Content Fundamentals of Technology

content of this presentation

generic layering and block diagrams

typical characteristics and concerns

figures of merit

example of picture caching in web shop application

Modeling and Analysis Fundamentals of Technologyc©2006, Embedded Systems Institute41 c©2006, Gerrit Muller

version: 0.5September 6, 2020

MAFTcontent

Page 42: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

What do We Need to Analyze?

working range

dependencies

realization variability

scalability

required analysis :

How do parameters result in NFR's?

relevant non functional

requirements

parameters in design

space

system

design

latencytime from start

to finish

throughputamount of information per time

transferred or processed

footprint (size)amount of data&code

stored

message format(e.g. XML)

network medium(e.g. ethernet, ISDN)

communication protocol(e.g. HTTPS, TCP)

Modeling and Analysis Fundamentals of Technologyc©2006, Embedded Systems Institute42 c©2006, Gerrit Muller

version: 0.5September 6, 2020

MAFTcharacteristics

Page 43: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Typical Block Diagram and Typical Resources

data

base

server

web

server

client client

network

network

client

screen screen screen

presentation

computation

communication

storage

legend

Modeling and Analysis Fundamentals of Technologyc©2006, Embedded Systems Institute43 c©2006, Gerrit Muller

version: 0.5September 6, 2020

MAFTgenericBlockDiagram

Page 44: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Hierarchy of Storage Technology Figures of Merit

fast

volatile

archival

persistent

robotized

optical media

tape

disks

disk arrays

disk farms

main memory

processor cache

L1 cache

L2 cache

L3 cache

sub ns

ns

n kB

n MB

late

ncy

capa

city

tens ns n GB

n*100 GB

n*10 TB

n PB

ms

>s

Modeling and Analysis Fundamentals of Technologyc©2006, Embedded Systems Institute44 c©2006, Gerrit Muller

version: 0.5September 6, 2020

MAFTstorage

Page 45: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Performance as Function of Data Set Size

ran

do

m d

ata

pro

ce

ssin

g

pe

rfo

rma

nce

in o

ps/s

data set sizein bytes

103

106

109

1012

1015

L1

cache

L3

cache

main

memory

hard

disk

disk

farm

robotized

media

109

103

106

Modeling and Analysis Fundamentals of Technologyc©2006, Embedded Systems Institute45 c©2006, Gerrit Muller

version: 0.5September 6, 2020

MAFTstoragePerformance

Page 46: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Communication Technology Figures of Merit

PCB level

network

Serial I/O

LAN

on chip

n GHz

frequ

ency

distan

ce

tens ns

n ms

n 10ms

network n ns

late

ncy

sub ns

n GHz

n 100MHz

n mmconnection

n mm

n cm

n m

n km

globalWAN

n ms

n 100MHz

100MHz

n GHz

Modeling and Analysis Fundamentals of Technologyc©2006, Embedded Systems Institute46 c©2006, Gerrit Muller

version: 0.5September 6, 2020

MAFTcommunication

Page 47: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Multiple Layers of Caching

back

office

server

mid

office

server

client client

network

network

client

screen screen screen

network layer cache

file cache

application cache

memory caches

L1, L2, L3

virtual memory

100 ms

10 ms

1 s

100 ns

1 ms

cache

miss

penalty

1 ms

10 µs

10 ms

1 ns

100 ns

cache hit performance

network layer cache

file cache

application cache

memory caches

L1, L2, L3

virtual memory

network layer cache

file cache

application cache

memory caches

L1, L2, L3

virtual memory

network layer cache

file cache

application cache

memory caches

L1, L2, L3

virtual memorytypical cache 2 orders

of magnitude faster

Modeling and Analysis Fundamentals of Technologyc©2006, Embedded Systems Institute47 c©2006, Gerrit Muller

version: 0.5September 6, 2020

MAFTgenericCaches

Page 48: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Why Caching?

project risk

performance

response time

life cycle

cost

latency penalty once

overhead once

processing once

limit storage needs to fit

in fast local storage

low latency

low latency

less communication

design parameters

caching algorithm

storage location

cache size

chunk size

format

in (pre)processed format

larger chunks

local storage

fast storage

frequently used subsetlong latency

mass storage

resource intensive

processing

overhead

communication

long latency

communication

Modeling and Analysis Fundamentals of Technologyc©2006, Embedded Systems Institute48 c©2006, Gerrit Muller

version: 0.5September 6, 2020MAFTwhyCaching

Page 49: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Example Web Shop

data

base

server

web

server

client client

network

network

client

screen screen screen

product

descriptions

logistics

ERP

customer

relationsfinancial

exhibit products

sales & order intake

order handling

stock handling

financial bookkeeping

consumer

browse products

order

pay

track

customer relation

management

update catalogue

advertize

after sales support

enterprise

logistics

finance

product management

customer managment

Modeling and Analysis Fundamentals of Technologyc©2006, Embedded Systems Institute49 c©2006, Gerrit Muller

version: 0.5September 6, 2020

MAFTexampleWebShop

Page 50: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Impact of Picture Cache

back

office

server

mid

office

server

client client

network

network

client

screen screen screen

product

descriptions

logistics

ERP

customer

relationsfinancial

picture

cache

less loadless server costs

fast response

less load

less server costs

Modeling and Analysis Fundamentals of Technologyc©2006, Embedded Systems Institute50 c©2006, Gerrit Muller

version: 0.5September 6, 2020

MAFTwebShopPictureCache

Page 51: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Risks of Caching

project risk

cost

effort

performance

life cycle

cost

effortability to benefit from

technology improvements

robustness for application

changes

in (pre)processed format

larger chunks

robustness for changing

context (e.g. scalability)local storage

fast storage

frequently used subset

failure modes in

exceptional user space

robustness for concurrent

applications

Modeling and Analysis Fundamentals of Technologyc©2006, Embedded Systems Institute51 c©2006, Gerrit Muller

version: 0.5September 6, 2020

MAFTrisksOfCaching

Page 52: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Summary

Conclusions

Technology characteristics can be discontinuous

Caches are an example to work around discontinuities

Caches introduce complexity and decrease transparancy

Techniques, Models, Heuristics of this module

Generic block diagram: Presentation, Computation,

Communication and Storage

Figures of merit

Local reasoning (e.g. cache example)

Modeling and Analysis Fundamentals of Technologyc©2006, Embedded Systems Institute52 c©2006, Gerrit Muller

version: 0.5September 6, 2020

MAFTsummary

Page 53: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Modeling and Analysis: Measuringby Gerrit Muller University of South-Eastern Norway-NISE

e-mail: [email protected]

AbstractThis presentation addresses the fundamentals of measuring: What and how to measure,impact of context and experiment on measurement, measurement errors, validation ofthe result against expectations, and analysis of variation and credibility.

Distribution

This article or presentation is written as part of the Gaudíproject. The Gaudí project philosophy is to improveby obtaining frequent feedback. Frequent feedback ispursued by an open creation process. This documentis published as intermediate or nearly mature version toget feedback. Further distribution is allowed as long asthe document remains complete and unchanged.

September 6, 2020status: preliminarydraftversion: 1.2

system

under study

measurement

instrument

measured signal

noise resolution

value

measurement

error

time

valu

e

+ε1

calibrationoffset

characteristics

measurements have

stochastic variations and

systematic deviations

resulting in a range

rather than a single value

-ε2

+ε1-ε2

Page 54: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Presentation Content

content

What and How to measure

Impact of experiment and context on measurement

Validation of results, a.o. by comparing with expectation

Consolidation of measurement data

Analysis of variation and analysis of credibility

Modeling and Analysis: Measuringc©2006, Embedded Systems Institute54 c©2006, Gerrit Muller

version: 1.2September 6, 2020

MAMEcontent

Page 55: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Measuring Approach: What and How

how

what

1. What do we need to know?

2. Define quantity to be measured.

4A. Define the measurement circumstances fe.g. by use cases

3. Define required accuracy

5. Determine actual accuracy

4C. Define measurement set-up

4B. Determine expectation

6. Start measuring

7. Perform sanity check expectation versus actual outcome

uncertainties, measurement error

historic data or estimation

initial model

purpose

ite

rate

Modeling and Analysis: Measuringc©2006, Embedded Systems Institute55 c©2006, Gerrit Muller

version: 1.2September 6, 2020

MAMEwhatAndHow

Page 56: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

1. What do We Need? Example Context Switching

(computing) hardware

operating system

ARM 9

200 MHz CPU

100 MHz bus

VxWorks

test program

What:

context switch time of

VxWorks running on ARM9

estimation of total lost CPU

time due to

context switching

guidance of

concurrency design and

task granularity

Modeling and Analysis: Measuringc©2006, Embedded Systems Institute56 c©2006, Gerrit Muller

version: 1.2September 6, 2020

MAMEcaseARM

Page 57: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

2. Define Quantity by Initial Model

What (original):

context switch time of

VxWorks running on ARM9

tp2tp1, before tscheduler

Process 1

Process 2

Scheduler

What (more explicit):

The amount of lost CPU time,

due to context switching on

VxWorks running on ARM9

on a heavy loaded CPU

tschedulertcontext switch = tp1, loss+

tscheduler tp1, after

tp1, no switching

tp1,losstp2,loss

p2 pre-empts p1 p1 resumes

= lost CPU time

legend

time

Modeling and Analysis: Measuringc©2006, Embedded Systems Institute57 c©2006, Gerrit Muller

version: 1.2September 6, 2020

MAMEdefineQuantity

Page 58: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

3. Define Required Accuracy

estimation of total

lost CPU time

due to

context switching

guidance of

concurrency

design and task

granularitycost of context

switchdepends on OS and HW

number of

context switchesdepends on application

purpose drives required accuracy

~10%

Modeling and Analysis: Measuringc©2006, Embedded Systems Institute58 c©2006, Gerrit Muller

version: 1.2September 6, 2020

MAMEaccuracy

Page 59: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Intermezzo: How to Measure CPU Time?

CPUHW

Timer

I/O

Logic analyzer / Oscilloscope

High resolution ( ~ 10 ns)

Cope with limitations:

- Duration (16 / 32 bit

counter)

- Requires Timer Access

High resolution ( ~ 10 ns)

requires

HW instrumentationOS-

Timer

OS

Low resolution ( ~ µs - ms)

Easy access

Lot of instrumentation

Modeling and Analysis: Measuringc©2006, Embedded Systems Institute59 c©2006, Gerrit Muller

version: 1.2September 6, 2020

PHRTmeasuringTime

Page 60: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

4A. Define the Measurement Set-up

experimental set-up

tp2tp1, before tscheduler tscheduler tp1, aftertp1,losstp2,loss

p2 pre-empts p1p1 resumes

= lost CPU time

P1 P2

real world

many concurrent processes, with

# instructions >> I-cache

# data >> D-cache

pre-empts

causes

cach

e flu

sh

no other

CPU activities

Mimick relevant real world characteristics

Modeling and Analysis: Measuringc©2006, Embedded Systems Institute60 c©2006, Gerrit Muller

version: 1.2September 6, 2020

MAMEdefineCircumstances

Page 61: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

4B. Case: ARM9 Hardware Block Diagram

PCBchip

CPU

Instruction

cache

Data

cache

memoryon-chip

bus

cache line size:

8 32-bit words

memory

bus

200 MHz 100 MHz

Modeling and Analysis: Measuringc©2006, Embedded Systems Institute61 c©2006, Gerrit Muller

version: 1.2September 6, 2020

PHRTarmCacheExample

Page 62: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Key Hardware Performance Aspect

memory

request wo

rd 1

wo

rd 7

wo

rd 4

wo

rd 3

wo

rd 2

wo

rd 8

wo

rd 6

wo

rd 5

38 cycles

memory access time in case of a cache miss

200 Mhz, 5 ns cycle: 190 ns

data

memory

response

22 cycles

Modeling and Analysis: Measuringc©2006, Embedded Systems Institute62 c©2006, Gerrit Muller

version: 1.2September 6, 2020

EBMImemoryTimingARM

Page 63: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

OS Process Scheduling Concepts

New

Running

Waiting

Ready

Terminated

interrupt

create

exit

Scheduler

dispatch

IO or event

completion

Wait

(I/O / event)

Modeling and Analysis: Measuringc©2006, Embedded Systems Institute63 c©2006, Gerrit Muller

version: 1.2September 6, 2020

PSRTprocessConcepts

Page 64: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Determine Expectation

input data HW:

tARM instruction = 5 ns

tmemory access = 190 ns

simple SW model of context switch:

save state P1

determine next runnable task

update scheduler administration

load state P2

run P2

Estimate how many

instructions and memory accesses

are needed per context switch

Calculate the estimated time

needed per context switch

Modeling and Analysis: Measuringc©2006, Embedded Systems Institute64 c©2006, Gerrit Muller

version: 1.2September 6, 2020

MAMEexpectationCS

Page 65: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Determine Expectation Quantified

input data HW:

tARM instruction = 5 ns

tmemory access = 190 ns

simple SW model of context switch:

save state P1

determine next runnable task

update scheduler administration

load state P2

run P2

Estimate how many

instructions and memory accesses

are needed per context switch

Calculate the estimated time

needed per context switch

me

mo

ry

acce

sse

s

instr

uctio

ns

110

120

110

110

250

6100

+

500 ns

1140 ns+

1640 ns

tcontext switch = 2 µsround up (as margin) gives expected

Modeling and Analysis: Measuringc©2006, Embedded Systems Institute65 c©2006, Gerrit Muller

version: 1.2September 6, 2020

MAMEexpectationCSsubstituted

Page 66: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

4C. Code to Measure Context Switch

Task 2Task 1

Time Stamp End

Cache Flush

Time Stamp Begin

Context Switch

Time Stamp End

Cache Flush

Time Stamp Begin

Context SwitchTime Stamp End

Cache Flush

Time Stamp Begin

Context Switch Time Stamp End

Cache Flush

Time Stamp Begin

Context Switch

Modeling and Analysis: Measuringc©2006, Embedded Systems Institute66 c©2006, Gerrit Muller

version: 1.2September 6, 2020

PHRTarmCacheTaskSwitchCode

Page 67: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Measuring Task Switch Time

Time

Conte

xt switch

Conte

xt switch

Tim

e S

tam

p B

egin

Tim

e S

tam

p E

nd

Tim

e S

tam

p B

egin

Tim

e S

tam

p E

nd

Sta

rt Cach

e F

lush

Sta

rt Cach

e F

lush

Sch

edule

r

Sch

edule

r

Conte

xt switch

Tim

e S

tam

p B

egin

Process 1

Process 2

Scheduler

Modeling and Analysis: Measuringc©2006, Embedded Systems Institute67 c©2006, Gerrit Muller

version: 1.2September 6, 2020

PHRTarmCacheTaskSwitchMeasuring

Page 68: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Understanding: Impact of Context Switch

Clo

ck c

ycle

s P

er

Instr

uctio

n (

CP

I)

1

2

3

Sch

edule

r

Sch

edule

r

Task 1

Task 2

Task 1

Task 1 Task 2

Time

Based on figure diagram

by Ton Kostelijk

Process 1

Process 2

Scheduler

Modeling and Analysis: Measuringc©2006, Embedded Systems Institute68 c©2006, Gerrit Muller

version: 1.2September 6, 2020

PHRTarmCacheTaskSwitch

Page 69: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

5. Accuracy: Measurement Error

system

under study

measurement

instrument

measured signal

noise resolution

value

measurement

error

time

valu

e

+ε1

calibrationoffset

characteristics

measurements have

stochastic variations and

systematic deviations

resulting in a range

rather than a single value

-ε2

+ε1-ε2

Modeling and Analysis: Measuringc©2006, Embedded Systems Institute69 c©2006, Gerrit Muller

version: 1.2September 6, 2020

MAMEmeasurementError

Page 70: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Accuracy 2: Be Aware of Error Propagation

tduration = tend - tstart

tend

tstart = 10 +/- 2 µs

= 14 +/- 2 µs

tduration = 4 +/- ? µs

systematic errors: add linear

stochastic errors: add quadratic

Modeling and Analysis: Measuringc©2006, Embedded Systems Institute70 c©2006, Gerrit Muller

version: 1.2September 6, 2020

MAMEerrorPropagation

Page 71: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Intermezzo Modeling Accuracy

Measurements have

stochastic variations and systematic deviations

resulting in a range rather than a single value.

The inputs of modeling,

"facts", assumptions, and measurement results,

also have stochastic variations and systematic deviations.

Stochastic variations and systematic deviations

propagate (add, amplify or cancel) through the model

resulting in an output range.

Modeling and Analysis: Measuringc©2006, Embedded Systems Institute71 c©2006, Gerrit Muller

version: 1.2September 6, 2020

MAMEintermezzo

Page 72: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

6. Actual ARM Figures

ARM9 200 MHz

as function of cache use

From cache 2 µs

After cache flush 10 µs

Cache disabled 50 µs

cache setting tcontext switch

tcontext switch

Modeling and Analysis: Measuringc©2006, Embedded Systems Institute72 c©2006, Gerrit Muller

version: 1.2September 6, 2020

PHRTarmCacheActualFigures

Page 73: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

7. Expectation versus Measurement

input data HW:

tARM instruction = 5 ns

tmemory access = 190 ns

simple SW model of context switch:

save state P1

determine next runnable task

update scheduler administration

load state P2

run P2

me

mo

ry

acce

sse

s

instr

uctio

ns

110

120

110

110

250

6100

+

500 ns

1140 ns+

1640 ns

tcontext switch = 2 µsexpected

tcontext switch = 10 µsmeasured

How to explain?

potentially missing in expectation:

memory accesses due to instructions

~10 instruction memory accesses ~= 2 µs

memory management (MMU context)

complex process model (parents,

permissions)

bookkeeping, e.g performance data

layering (function calls, stack handling)

the combination of above issues

However, measurement seems to make sense

Modeling and Analysis: Measuringc©2006, Embedded Systems Institute73 c©2006, Gerrit Muller

version: 1.2September 6, 2020

MAMEexpectationDiscussion

Page 74: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Conclusion Context Switch Overhead

toverhead ncontext switch tcontext switch*=

ncontext switch

(s-1

) toverheadCPU load

overhead

tcontext switch = 10µs

500

5000

50000

5ms

50ms

500ms

0.5%

5%

50%

toverhead

1ms

10ms

100ms

0.1%

1%

10%

tcontext switch = 2µs

CPU loadoverhead

Modeling and Analysis: Measuringc©2006, Embedded Systems Institute74 c©2006, Gerrit Muller

version: 1.2September 6, 2020

PSRTcontextSwitchOverhead

Page 75: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Summary Context Switching on ARM9

goal of measurement

Guidance of concurrency design and task granularity

Estimation of context switching overhead

Cost of context switch on given platform

examples of measurement

Needed: context switch overhead ~10% accurate

Measurement instrumentation: HW pin and small SW test program

Simple models of HW and SW layers

Measurement results for context switching on ARM9

Modeling and Analysis: Measuringc©2006, Embedded Systems Institute75 c©2006, Gerrit Muller

version: 1.2September 6, 2020

MAMEcaseARM9summary

Page 76: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Summary Measuring Approach

Conclusions

Measurements are an important source of factual data.

A measurement requires a well-designed experiment.

Measurement error, validation of the result determine the credibility.

Lots of consolidated data must be reduced to essential

understanding.

Techniques, Models, Heuristics of this module

experimentation

error analysis

estimating expectations

Modeling and Analysis: Measuringc©2006, Embedded Systems Institute76 c©2006, Gerrit Muller

version: 1.2September 6, 2020

MAMEsummary

Page 77: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Colophon

This work is derived from the EXARCH course at CTT

developed by Ton Kostelijk (Philips) and Gerrit Muller.

The Boderc project contributed to the measurement

approach. Especially the work of

Peter van den Bosch (Océ),

Oana Florescu (TU/e),

and Marcel Verhoef (Chess)

has been valuable.

Modeling and Analysis: Measuringc©2006, Embedded Systems Institute77 c©2006, Gerrit Muller

version: 1.2September 6, 2020

MAMEcolophon

Page 78: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

ASP Python Exerciseby Gerrit Muller University of South-Eastern Norway-NISE

e-mail: [email protected]

AbstractA simple measurement exercise is described. Purpose of this exercise is to build upexperience in measuring and its many pitfalls. The programming language Python isused as platform, because of its availability and low threshold for use.

Distribution

This article or presentation is written as part of the Gaudíproject. The Gaudí project philosophy is to improveby obtaining frequent feedback. Frequent feedback ispursued by an open creation process. This documentis published as intermediate or nearly mature version toget feedback. Further distribution is allowed as long asthe document remains complete and unchanged.

September 6, 2020status: preliminarydraftversion: 0

logoTBD

Page 79: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Case for Exercise

Select a programming environment,

where loop overhead and file open

can be measured in 30 minutes.

If this environment is not available,

then use Python.

ASP Python Exercisec©2006, Embedded Systems Institute79 c©2006, Gerrit Muller

version: 0September 6, 2020

MMAFTcases

Page 80: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Python download and information

Active State Python (Freeware distribution, runs directly)

http://www.activestate.com/Products/ActivePython/

Python Language Website

http://www.python.org/

Python Reference Card

http://admin.oreillynet.com/python/excerpt/PythonPocketRef/examples/python.pdf

ASP Python Exercisec©2006, Embedded Systems Institute80 c©2006, Gerrit Muller

version: 0September 6, 2020

MMAFTpython

Page 81: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Python example

import time

for n in (1,10,100,1000,10000,100000,1000000):

a = 0

tstart = time.time()

for i in xrange(n):

a = a+1

tend=time.time()

print n, tend-tstart, (tend-tstart)/n

def example_filehandling():

f = open("c:\\temp\\test.txt")

for line in f.readlines():

print line

f.close()

tstart = time.time()

example_filehandling()

tend=time.time()

print "file open, read & print, close: ",tend-tstart,"s"

>>>

1 0.0 0.0

10 0.0 0.0

100 0.0 0.0

1000 0.0 0.0

10000 0.00999999046326 9.99999046326e-007

100000 0.039999961853 3.9999961853e-007

1000000 0.44000005722 4.4000005722e-007

test line 1

line 2

line 3

file open, read, close: 0.039999961853 s

ASP Python Exercisec©2006, Embedded Systems Institute81 c©2006, Gerrit Muller

version: 0September 6, 2020

MMAFTpythonExample

Page 82: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Exercise

• Perform the following measurements1. loop overhead

2. file open

• Determine for every measurement:

What is the expected result?

What is the measurement error?

What is the result?

What is the credibility of the result?

Explain the result.

(optional) What is the variation? Explain the variation.

ASP Python Exercisec©2006, Embedded Systems Institute82 c©2006, Gerrit Muller

version: 0September 6, 2020

MMAFTexercise

Page 83: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Reflection on Exercise

+ measuring is easy

+ measuring provides data and understanding

~ result and expectation often don't match

- sensible measuring is more difficult

ASP Python Exercisec©2006, Embedded Systems Institute83 c©2006, Gerrit Muller

version: 0September 6, 2020

MMAFTreflection

Page 84: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Module Modeling and Analysis: System modelby Gerrit Muller HSN-NISE

e-mail: [email protected]

AbstractThis module addresses Modeling and Analysis Performance. What are the customerperformance needs, what are the operational performance considerations? What are theperformance related design choices? How to analyze feasibility, explore design options,and how to validate performance?

The complete course MA 611TM is owned by TNO-ESI.To teach this course a license from TNO-ESI is required.This material is preliminary course material.

September 6, 2020status: preliminarydraftversion: 0.4

Page 85: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Module Content

goal of this module

provide a stepwise approach to system modeling

provide concrete examples of system models

content of this module

web shop system model

Non Functional requirements (NFR), System Properties and Critical

Technologies

zero order and first order load models

budgeting

exercise

model one NFR in relation to a critical technology choice

Module Modeling and Analysis: System modelc©2006, Embedded Systems Institute85 c©2006, Gerrit Muller

version: 0.4September 6, 2020

MMAPcontent

Page 86: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Where are we in the Course?

facts from research

measurements

assumptions

uncertainties

unknowns

errors

modeling

analysis

results

project

accuracy

working range

credibility

risk

customer satisfaction

time, cost, effort

profit margin

specification

verification

decisions

life cycle context

systemusage context

enterprise &

users

requirements

black box view

design

realization

technology

creation

life cycle business

Module Modeling and Analysis: System modelc©2006, Embedded Systems Institute86 c©2006, Gerrit Muller

version: 0.4September 6, 2020

MMAPposition

Page 87: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Modeling and Analysis: System Modelby Gerrit Muller University of South-Eastern Norway-NISE

e-mail: [email protected]

AbstractThis presentation uses a web shop service as example system to construct a systemmodel. The caching of pictures of the products in the shop is modeled to analyze perfor-mance, robustness, scalability and reliability of the system.

Distribution

This article or presentation is written as part of the Gaudíproject. The Gaudí project philosophy is to improveby obtaining frequent feedback. Frequent feedback ispursued by an open creation process. This documentis published as intermediate or nearly mature version toget feedback. Further distribution is allowed as long asthe document remains complete and unchanged.

September 6, 2020status: preliminarydraftversion: 0.4

quantified mid office server example

th = 0.02 ms

tm = 2 ms

na = 1000

Load(h) = 1000 * 2[ms] - 1000* h * 1.98[ms]

Load(h) = 2000 - 1980* h [ms]

2

1

10.5

hit rate

loa

d in

se

co

nd

s

utilizable capacityworking range

to be measured

hit rate also!

Hit rate of well designed

system is ample within

working range (e.g. 95%)

0th order formula is valid:

Load = 0.12 * na [ms]

Hit rate is context dependent.

Life cycle changes or peak

loads may degrade hit rate.

Page 88: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Content of Modeling and Analysis System Model

content

What to model of the system

Stepwise approach to system modeling

Non Functional requirements (NFR), System Properties and

Critical Technologies

Examples of web shop case

Modeling and Analysis: System Modelc©2006, Embedded Systems Institute88 c©2006, Gerrit Muller

version: 0.4September 6, 2020

MASMcontent

Page 89: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

What to Model in System Context?

life cycle context

systemusage context

enterprise

&

users

NFR's:

performance

reliability

availability

scalability

maintainability

...

(emerging?) properties:

resource utilization

load

latency, throughput

quality, accuracy

sensitivity

(changes, inputs)

...

creation

life cycle business

critical technologies

caching

load balancing

firewalls

virtual networks

XML for customization

and configuration

...

Modeling and Analysis: System Modelc©2006, Embedded Systems Institute89 c©2006, Gerrit Muller

version: 0.4September 6, 2020

MASMwhatModeling

Page 90: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Approach to System Modeling

1. determine relevant Non Functional Requirements

(NFR's)

2. determine relevant system design properties

3. determine critical technologies

4. relate NFR's to properties to critical technologies

5. rank the relations in relevancy and criticality

6. model relations with a high score

Modeling and Analysis: System Modelc©2006, Embedded Systems Institute90 c©2006, Gerrit Muller

version: 0.4September 6, 2020

MASMapproach

Page 91: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Web Shop: NFR’s, Properties and Critical Technologies

system

NFR's:

performance browsing

initial cost

running costs

reliability/availability

scalability order rate

maintainability

effort product changes

effort staff changes

security

(emerging?) properties:

resource utilizationserver load, capacity

memory load, capacity

response latency

redundancy

order throughput

product data quality

product definition flow

staff definition flow

security designcompartimentalization

authentication

encryption

critical technologies

caching

load balancing

pipelining

virtual memory

memory management

data base transactions

XML for customization

and configuration

firewalls

virtual networks

...

1 2 3

Modeling and Analysis: System Modelc©2006, Embedded Systems Institute91 c©2006, Gerrit Muller

version: 0.4September 6, 2020

MASMwhatWebShop

Page 92: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

4. Determine Relations

system

NFR's:

performance browsing

initial costrunning costs

reliability/availability

scalability order rate

maintainability

effort product changes

effort staff changes

security

(emerging?) properties:

resource utilizationserver load, capacity

memory load, capacity

response latency

redundancy

order throughput

product data quality

product definition flow

staff definition flow

security designcompartimentalization

authentication

encryption

critical technologies

caching

load balancing

pipelining

virtual memory

memory management

data base transactions

XML for customization

and configuration

firewalls

virtual networks

...

1 2 3

4

4

Modeling and Analysis: System Modelc©2006, Embedded Systems Institute92 c©2006, Gerrit Muller

version: 0.4September 6, 2020

MASMrelationsWebShop

Page 93: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

5. Rank Relations

system

NFR's:

performance browsing

initial costrunning costs

reliability/availability

scalability order rate

maintainability

effort product changes

effort staff changes

security

(emerging?) properties:

resource utilizationserver load, capacity

memory load, capacity

response latency

redundancy

order throughput

product data quality

product definition flow

staff definition flow

security designcompartimentalization

authentication

encryption

critical technologies

caching

load balancing

pipelining

virtual memory

memory management

data base transactions

XML for customization

and configuration

firewalls

virtual networks

...

1 2 3

ranking will be discussed in

Modeling and Analysis: Reasoning5

4

4

Modeling and Analysis: System Modelc©2006, Embedded Systems Institute93 c©2006, Gerrit Muller

version: 0.4September 6, 2020

MASMrankingWebShop

Page 94: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Purpose of Picture Cache Model in Web Shop Context

data

base

server

web

server

client client

network

network

client

screen screen screen

product

descriptions

logistics

ERP

customer

relationsfinancial

picture

cache

requiredserver capacity

response time

required

server capacity

browse

products

exhibit

products

Modeling and Analysis: System Modelc©2006, Embedded Systems Institute94 c©2006, Gerrit Muller

version: 0.4September 6, 2020

MASMwebShopPictureCache

Page 95: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Zero Order Load Model

zero order web server load model

Load = na* ta

na = total requests

ta = cost per request

Modeling and Analysis: System Modelc©2006, Embedded Systems Institute95 c©2006, Gerrit Muller

version: 0.4September 6, 2020

MASMloadZeroOrder

Page 96: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

First Order Load Model

first order web server load model

Load = na,h*th + na,m*tm

na,m= accesses with cache miss

na,h = accesses with cache hit

th = cost of cache hit

tm = cost of cache miss

na,h = na * h

na = total accesses

h = hit rate

na,m = na * (1-h)

Load(h) = na * h* th + na* (1-h) * tm = na * tm - na* h * (tm - th)

Modeling and Analysis: System Modelc©2006, Embedded Systems Institute96 c©2006, Gerrit Muller

version: 0.4September 6, 2020

MASMloadFirstOrder

Page 97: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Quantification: From Formulas to Insight

quantified mid office server example

th = 0.02 ms

tm = 2 ms

na = 1000

Load(h) = 1000 * 2[ms] - 1000* h * 1.98[ms]

Load(h) = 2000 - 1980* h [ms]

2

1

10.5

hit rate

loa

d in

se

co

nd

s

utilizable capacityworking range

Modeling and Analysis: System Modelc©2006, Embedded Systems Institute97 c©2006, Gerrit Muller

version: 0.4September 6, 2020

MASMquantified

Page 98: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Hit Rate Considerations

quantified mid office server example

th = 0.02 ms

tm = 2 ms

na = 1000

Load(h) = 1000 * 2[ms] - 1000* h * 1.98[ms]

Load(h) = 2000 - 1980* h [ms]

2

1

10.5

hit rate

loa

d in

se

co

nd

s

utilizable capacityworking range

to be measured

hit rate also!

Hit rate of well designed

system is ample within

working range (e.g. 95%)

0th order formula is valid:

Load = 0.12 * na [ms]

Hit rate is context dependent.

Life cycle changes or peak

loads may degrade hit rate.

Modeling and Analysis: System Modelc©2006, Embedded Systems Institute98 c©2006, Gerrit Muller

version: 0.4September 6, 2020

MASMdiscussion

Page 99: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Response Time

req

ue

st

pic

ture

ch

eck

ca

ch

e

req

ue

st

pic

ture

retrieve

picture

sto

re in

ca

ch

e

tra

nsfe

r

to c

lien

ttr

an

sfe

r

pro

ce

ss

dis

pla

y

press next look

data

base

server

web

server

client

human

customer

t0 t0+ 10 t0+ 20 t0+ 30 t0+ 40 t0+ 50 t0+ 60 t0+ 70

time in milliseconds in optimal circumstances

Modeling and Analysis: System Modelc©2006, Embedded Systems Institute99 c©2006, Gerrit Muller

version: 0.4September 6, 2020

MASMresponseTime

Page 100: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

What Memory Capacity is Required for Picture Transfers?

back

office

server

mid

office

server

client client

network

network

client

screen screen screen

product

descriptions

logistics

ERP

customer

relationsfinancial

picture

cache

browse

products

exhibit

products required

memory capacity?

Modeling and Analysis: System Modelc©2006, Embedded Systems Institute100 c©2006, Gerrit Muller

version: 0.4September 6, 2020

MASMwebShopPictureFlow

Page 101: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Process View of Picture Flow in Web Server

mid office

server

back

office

access

back

office

access

picture

cache

server

picture

cache

server

web

serverweb

server

one copy

per process

multiple copies

per process

mid office

server

web

server

back

office

access

picture

cache

server

mid office

server

picture

cache

server

back

office

access

web

server

picture

cache

server

back

office

access

web

server

multiple copies

per process and thread

n

m

k

Modeling and Analysis: System Modelc©2006, Embedded Systems Institute101 c©2006, Gerrit Muller

version: 0.4September 6, 2020

MASMmidOfficeProcesses

Page 102: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Formula memory Use Web Server

web

server

back

office

access

back

office

access

picture

cache

server

picture

cache

server

web

serverweb

server

picture

cache

server

data

base

access

web

server

multiple copies

per process and thread

n

m

k

picture memory =

3 * n * s +

5 * m * s + c * s +

3 * k * s

where

n = # data base access threads

m = # picture cache threads

k = # web server threads

s = picture size in bytes

c = in memory cache capacity in # pictures

Modeling and Analysis: System Modelc©2006, Embedded Systems Institute102 c©2006, Gerrit Muller

version: 0.4September 6, 2020

MASMmidOfficeFormula

Page 103: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Web Server Memory Capacity

kB MB GB

L1 L2 L3 diskmain memory

picture memory = 3 n s + 5 m s + c s +3 k s

where

n = # back office access threads

m = # picture cache threads

k = # web server threads

s = picture size in bytes

c = in memory cache

capacity in # picturesmemory use

product browsing only

pictures only

single server

What is the performance impact of memory use on other processing?

n m k s c MB storage type

1

2

2

2

2

2

1

4

4

4

4

4

small shop

highly concurrent

large pictures

many pictures

all at once

1

10

1000

1000

10

1000

100

100

100

1000

100

1000

10

20

100

100

100,000

100,000

1.5

5.3

296

2,962

9,540

98,234

L3

main

main

main+disk

main+disk

disk

use case

processor caches

Modeling and Analysis: System Modelc©2006, Embedded Systems Institute103 c©2006, Gerrit Muller

version: 0.4September 6, 2020

MASMmidOfficeQuantified

Page 104: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

We Have only Modeled a Small Part of the System...

function browse/exhibit products sales, order intake, payments

track, order handling

stock handling

financial bookkeeping

customer relation management

update catalogue

advertize

after sales support

data picture structured (product attributes, logistics, ...)

program code

aspect server memory use

response time

server load

network use

reliability

any resource, any NFR

aspect

result=

d = all data f = all functionsaspect(d, f)

ignoring other dimensions such as applications, users, circumstances

Modeling and Analysis: System Modelc©2006, Embedded Systems Institute104 c©2006, Gerrit Muller

version: 0.4September 6, 2020

MASMsystemSpace

Page 105: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

... to Understand Some of the Systems Aspects

static

mostly assumptions and coarse estimates

some insight in:

what are key design issues

what are relevant use case areas

Modeling and Analysis: System Modelc©2006, Embedded Systems Institute105 c©2006, Gerrit Muller

version: 0.4September 6, 2020

MASMconclusion

Page 106: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Refinement After Context Modeling

life cycle context

systemusage context

enterprise &

users

NFR's:

performance

reliability

availability

scalability

maintainability

...

(emerging?) properties:

resource utilization

load

latency, throughput

quality, accuracy

sensitivity

(changes, inputs)

...

creation

life cycle business

critical technologies

caching

load balancing

firewalls

virtual networks

XML for customization

and configuration

...

Modeling and Analysis: System Modelc©2006, Embedded Systems Institute106 c©2006, Gerrit Muller

version: 0.4September 6, 2020

MASMfollowUp

Page 107: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Summary

Conclusions

Non Functional Requirements are the starting point for system modeling

Focus on highest ranking relations between NFR's and critical technologies

Make simple mathematical models

Evaluate quantified instantiations

Techniques, Models, Heuristics of this module

Non functional requirements

System properties

Critical technologies

Graph of relations

Modeling and Analysis: System Modelc©2006, Embedded Systems Institute107 c©2006, Gerrit Muller

version: 0.4September 6, 2020

MASMsummary

Page 108: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Modeling and Analysis: Budgetingby Gerrit Muller TNO-ESI, HSN-NISE

e-mail: [email protected]

AbstractThis presentation addresses the fundamentals of budgeting: What is a budget, howto create and use a budget, what types of budgets are there. What is the relation withmodeling and measuring.

Distribution

This article or presentation is written as part of the Gaudíproject. The Gaudí project philosophy is to improveby obtaining frequent feedback. Frequent feedback ispursued by an open creation process. This documentis published as intermediate or nearly mature version toget feedback. Further distribution is allowed as long asthe document remains complete and unchanged.

September 6, 2020status: preliminarydraftversion: 1.0

budgetdesign

estimates;simulations

V4aa

IO

micro benchmarks

aggregated functions

applications

measurements existing system

model

tproc

tover

+

tdisp

tover

+

+

spec

SRStboot 0.5s

tzap 0.2s

measurements new (proto)

systemform

micro benchmarks

aggregated functions

applications

profiles

traces

tuning

10

20

30

5

20

25

55

tproc

tover

tdisp

tover

Tproc

Tdisp

Ttotal

feedback

can be more complex

than additions

Page 109: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Budgeting

content of this presentation

What and why of a budget

How to create a budget (decomposition, granularity, inputs)

How to use a budget

Modeling and Analysis: Budgetingc©2006, Embedded Systems Institute109 c©2006, Gerrit Muller

version: 1.0September 6, 2020

MABUcontent

Page 110: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

What is a Budget?

A budget is

a quantified instantation of a model

A budget can

prescribe or describe the contributions

by parts of the solution

to the system quality under consideration

Modeling and Analysis: Budgetingc©2006, Embedded Systems Institute110 c©2006, Gerrit Muller

version: 1.0September 6, 2020

MABUbudget

Page 111: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Why Budgets?

• to make the design explicit

• to provide a baseline to take decisions

• to specify the requirements for the detailed designs

• to have guidance during integration

• to provide a baseline for verification

• to manage the design margins explicitly

Modeling and Analysis: Budgetingc©2006, Embedded Systems Institute111 c©2006, Gerrit Muller

version: 1.0September 6, 2020

MABUgoals

Page 112: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Visualization of Budget Based Design Flow

budgetdesign

estimates;simulations

V4aa

IO

micro benchmarks

aggregated functions

applications

measurements existing system

model

tproc

tover

+

tdisp

tover

+

+

spec

SRStboot 0.5s

tzap 0.2s

measurements new (proto)

systemform

micro benchmarks

aggregated functions

applications

profiles

traces

tuning

10

20

30

5

20

25

55

tproc

tover

tdisp

tover

Tproc

Tdisp

Ttotal

feedback

can be more complex

than additions

Modeling and Analysis: Budgetingc©2006, Embedded Systems Institute112 c©2006, Gerrit Muller

version: 1.0September 6, 2020

EAAbudget

Page 113: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Stepwise Budget Based Design Flow

1B model the performance starting with old systems

1A measure old systems

1C determine requirements for new system

2 make a design for the new system

3 make a budget for the new system:

4 measure prototypes and new system

flow model and analytical model

micro-benchmarks, aggregated functions, applications

response time or throughput

explore design space, estimate and simulate

step example

models provide the structure

measurements and estimates provide initial numbers

specification provides bottom line

micro-benchmarks, aggregated functions, applications

profiles, traces

5 Iterate steps 1B to 4

Modeling and Analysis: Budgetingc©2006, Embedded Systems Institute113 c©2006, Gerrit Muller

version: 1.0September 6, 2020

TCRbudgets

Page 114: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Budgets Applied on Waferstepper Overlay

process

overlay

80 nm

reticule

15 nm

matched

machine

60 nm

process

dependency

sensor

5 nm

matching

accuracy

5 nm

single

machine

30 nm

lens

matching

25 nm

global

alignment

accuracy

6 nm

stage

overlay

12 nm

stage grid

accuracy

5 nm

system

adjustment

accuracy

2 nm

stage Al.

pos. meas.

accuracy

4 nm

off axis pos.

meas.

accuracy

4nm

metrology

stability

5 nm

alignment

repro

5 nm

position

accuracy

7 nm

frame

stability

2.5 nm

tracking

error phi

75 nrad

tracking

error X, Y

2.5 nm

interferometer

stability

1 nm

blue align

sensor

repro

3 nm

off axis

Sensor

repro

3 nm

tracking

error WS

2 nm

tracking

error RS

1 nm

Modeling and Analysis: Budgetingc©2006, Embedded Systems Institute114 c©2006, Gerrit Muller

version: 1.0September 6, 2020

ASMLoverlayBudget

Page 115: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Budgets Applied on Medical Workstation Memory Use

shared code

User Interface process

database server

print server

optical storage server

communication server

UNIX commands

compute server

system monitor

application SW total

UNIX Solaris 2.x

file cache

total

obj data

3.0

3.2

1.2

2.0

2.0

0.2

0.5

0.5

12.6

bulk data

12.0

3.0

9.0

1.0

4.0

0

6.0

0

35.0

code

11.0

0.3

0.3

0.3

0.3

0.3

0.3

0.3

0.3

13.4

total

11.0

15.3

6.5

10.5

3.3

6.3

0.5

6.8

0.8

61.0

10.0

3.0

74.0

memory budget in Mbytes

Modeling and Analysis: Budgetingc©2006, Embedded Systems Institute115 c©2006, Gerrit Muller

version: 1.0September 6, 2020

RVmemoryBudgetTable

Page 116: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Power Budget Visualization for Document Handler

paper path

scannerand feeder

procedé

UI and control

finisher

paper input module

power

supplies

sca

nn

er

fee

de

r

UI a

nd

co

ntr

ol

coolingpower supplies

paper path

procedé fin

ish

er

pa

pe

r

inp

ut

mo

du

le

size

proportional

to power

physical

layout

legend

cooling

Modeling and Analysis: Budgetingc©2006, Embedded Systems Institute116 c©2006, Gerrit Muller

version: 1.0September 6, 2020

MDMpowerProportions

Page 117: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Alternative Power Visualization

power supplies

cooling

UI and control

paper path

paper input module

finisher paper

procedé

electricalpower

heat

Modeling and Analysis: Budgetingc©2006, Embedded Systems Institute117 c©2006, Gerrit Muller

version: 1.0September 6, 2020MDMpowerArrows

Page 118: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Evolution of Budget over Time

fact finding through details

aggregate to end-to-end performance

search for appropriate abstraction level(s)

from coarse guesstimate

to reliable prediction

from typical case

to boundaries of requirement space

from static understanding

to dynamic understanding

from steady state

to initialization, state change and shut down

from old system

to prototype

to actual implementation

time

start later only if needed

Modeling and Analysis: Budgetingc©2006, Embedded Systems Institute118 c©2006, Gerrit Muller

version: 1.0September 6, 2020

MABUincrements

Page 119: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Potential Applications of Budget based design

• resource use (CPU, memory, disk, bus, network)

• timing (response, latency, start up, shutdown)

• productivity (throughput, reliability)

• Image Quality parameters (contrast, SNR, deformation, overlay, DOF)

• cost, space, time

Modeling and Analysis: Budgetingc©2006, Embedded Systems Institute119 c©2006, Gerrit Muller

version: 1.0September 6, 2020

MDMbudgetApplications

Page 120: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

What kind of budget is required?

static

is the budget based on

wish, empirical data, extrapolation,

educated guess, or expectation?

typical case

global

approximate

dynamic

worst case

detailed

accurate

Modeling and Analysis: Budgetingc©2006, Embedded Systems Institute120 c©2006, Gerrit Muller

version: 1.0September 6, 2020MDMbudgetTypes

Page 121: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Summary of Budgeting

A budget is a quantified instantiation of a model

A budget can prescribe or describe the contributions by parts of the solution

to the system quality under consideration

A budget uses a decomposition in tens of elements

The numbers are based on historic data, user needs, first principles and

measurements

Budgets are based on models and estimations

Budget visualization is critical for communication

Budgeting requires an incremental process

Many types of budgets can be made; start simple!

Modeling and Analysis: Budgetingc©2006, Embedded Systems Institute121 c©2006, Gerrit Muller

version: 1.0September 6, 2020

MABUsummary

Page 122: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Colophon

The Boderc project contributed to Budget Based

Design. Especially the work of

Hennie Freriks, Peter van den Bosch (Océ),

Heico Sandee and Maurice Heemels (TU/e, ESI)

has been valuable.

Modeling and Analysis: Budgetingc©2006, Embedded Systems Institute122 c©2006, Gerrit Muller

version: 1.0September 6, 2020

MABUcolofon

Page 123: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Module Modeling and Analysis: Application and Life CycleModeling

by Gerrit Muller HSN-NISEe-mail: [email protected]

www.gaudisite.nl

AbstractThis module addresses Modeling and Analysis Fundamentals of Application.

The complete course MA 611TM is owned by TNO-ESI.To teach this course a license from TNO-ESI is required.This material is preliminary course material.

September 6, 2020status: plannedversion: 0.3

Page 124: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Module Content

goal of this module

Tangible understanding of the customer enterprise and life cycle aspects

Provide useful views on customer application

Simplify and demystify customer concerns

content of this module

Example financial computations

views on customer application:

stakeholders and concerns

simple cost models

simple life cycle models

exercise

Make context and application models

Module Modeling and Analysis: Application and Life Cycle Modelingc©2006, Embedded Systems Institute124 c©2006, Gerrit Muller

version: 0.3September 6, 2020

MMAFAcontent

Page 125: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Where are we in the Course?

facts from research

measurements

assumptions

uncertainties

unknowns

errors

modeling

analysis

results

project

accuracy

working range

credibility

risk

customer satisfaction

time, cost, effort

profit margin

specification

verification

decisions

life cycle context

systemusage context

enterprise &

users

requirements

black box view

design

realization

technology

creation

life cycle business

Module Modeling and Analysis: Application and Life Cycle Modelingc©2006, Embedded Systems Institute125 c©2006, Gerrit Muller

version: 0.3September 6, 2020

MMAFAposition

Page 126: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Modeling and Analysis: Application Modelsby Gerrit Muller University of South-Eastern Norway-NISE

e-mail: [email protected]

AbstractThe enterprise and its application is a complex system in itself. Specification and designdecisions can have a significant impact on this system. We show a number of relevantapplication models with the purpose to be able to reason about specification and designin relation to the impact on the enterprise.

Distribution

This article or presentation is written as part of the Gaudíproject. The Gaudí project philosophy is to improveby obtaining frequent feedback. Frequent feedback ispursued by an open creation process. This documentis published as intermediate or nearly mature version toget feedback. Further distribution is allowed as long asthe document remains complete and unchanged.

September 6, 2020status: plannedversion: 0.1

logoTBD

Page 127: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Understanding Usage and Life Cycle Context

High Level Visual Models

+ value chain

+ map of competitors, partners, suppliers

+ context diagram

+ stakeholder diagram

+ infrastructure diagram

+ aspect diagrams e.g. security, data integrity, ..

+ customer key driver graph

+ life cycle key driver graph

commercial

financial

legal

strategic

tactical

operational

social

technical

relations beyond

actual system!

Modeling and Analysis: Application Modelsc©2006, Embedded Systems Institute127 c©2006, Gerrit Muller

version: 0.1September 6, 2020MAAMvisualModels

Page 128: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Simplified Web Shop Value Chain

$virtual shop

sales

goods

flow

payment

order

goods

$management

products

customers

finance

su

pp

liers

cu

sto

me

rs

IT infrastructure

IT services web services

service level

Modeling and Analysis: Application Modelsc©2006, Embedded Systems Institute128 c©2006, Gerrit Muller

version: 0.1September 6, 2020MAAMvalueChain

Page 129: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Simplistic Customer Key Driver Graph

low capital use

fast delivery

accurate financial status

high sales

predictable (low)

cost level

prevention of virtual crime

minimal stocks

fast goods processing

goods flow tuning

up to date product offering

right pricing

right presentation

easy update of

product attributes

easy change of

product database

reporting&analysis

easy update of

flow

access control

access administration

authentication

auditing, logging

security reporting

security management

service level agreement

strategic outsourcing

financial processes

financial

reporting&analysis

work flow support

responsive portal

service cost/volume

reduce running cost

Modeling and Analysis: Application Modelsc©2006, Embedded Systems Institute129 c©2006, Gerrit Muller

version: 0.1September 6, 2020

MAAMkeydriversShop

Page 130: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Example Assessment of Design Choices

ability to benefit from

technology improvements

robustness for application

changes

in (pre)processed format

larger chunks

robustness for changing

context (e.g. scalability)

local storage

fast storage

frequently used subset

failure modes in exceptional

user space

robustness for concurrent

applications

design

considerations

architecture

considerations

project risk

cost

effort

performance

life cycle

cost

effort

Are these concerns:

relevant?

significant?

What is the impact at enterprise level?

Modeling and Analysis: Application Modelsc©2006, Embedded Systems Institute130 c©2006, Gerrit Muller

version: 0.1September 6, 2020

MAAMcacheRelevancy

Page 131: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Example Zero Order Problem Statement

responsive portal

service cost/volumepredictable (low)

cost level

How does the

picture cache design

impact

low capital use

fast delivery

accurate financial status

high sales

prevention of virtual crime

minimal stocks

fast goods processing

goods flow tuning

up to date product offering

right pricing

right presentation

easy update of

product attributes

easy change of

product database

reporting&analysis

easy update of

flow

access control

access administration

authentication

auditing, logging

security reporting

security management

service level agreement

strategic outsourcing

financial processes

financial

reporting&analysis

work flow supportreduce running cost

Modeling and Analysis: Application Modelsc©2006, Embedded Systems Institute131 c©2006, Gerrit Muller

version: 0.1September 6, 2020

MAAMzeroOrderProblem

Page 132: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Zero Order Cost Model

service cost s(v) = b + c * v

where

b = fixed base cost

c = cost / volume

v = volume

all including provider margin

total cost = f + s(v) + p * v + g * v

where

f = fixed base cost

s = service cost, see below

p = personnel cost including overheads

v = volume

g = goods flow handling

Modeling and Analysis: Application Modelsc©2006, Embedded Systems Institute132 c©2006, Gerrit Muller

version: 0.1September 6, 2020

MAAMzeroOrderModel

Page 133: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Example Low Volume, Labor Intensive, Shop

service cost s(v) = b + c * v

where

b = fixed base cost

c = cost / volume

v = volume

all including provider margin

total cost = f + s(v) + p * v + g * v

where

f = fixed base cost

s = service cost, see below

p = personnel cost including overheads

v = volume

g = goods flow handling

f =

p =

v =

g =

s(100k) =

b =

c =

100k

0.1

100k

1

100k

0.1

101k

100k

10k

100k

100k fixed base

personnel

goods flow

fixed base

service

variable

service1k

low volume, labor intensive, shop

fixed costs and personnel cost dominate:

service cost changes have negligible impact on total cost!

Modeling and Analysis: Application Modelsc©2006, Embedded Systems Institute133 c©2006, Gerrit Muller

version: 0.1September 6, 2020

MAAMzeroOrderModelQuantified

Page 134: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Example High Volume, Highly Automated, Shop

service cost s(v) = b + c * v

where

b = fixed base cost

c = cost / volume

v = volume

all including provider margin

total cost = f + s(v) + p * v + g * v

where

f = fixed base cost

s = service cost, see below

p = personnel cost including overheads

v = volume

g = goods flow handling

f =

p =

v =

g =

s(100k) =

b =

c =

1M

0.1

1M

0.01

100M

0.01

101k

1M

1M

1M

1M fixed base

personnel

goods flowfixed base

service

variable

service

1k

high volume, highly automated, shop

10M

variable service costs dominate:

service cost changes have big impact on total cost!

Modeling and Analysis: Application Modelsc©2006, Embedded Systems Institute134 c©2006, Gerrit Muller

version: 0.1September 6, 2020

MAAMzeroOrderModelQuantifiedHV

Page 135: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Conclusion Zero Order Models

Very simple, very coarse, zero order models

provide insight in relevance of

specification and design issues.

These models are used to identify relevant

issues

Modeling and Analysis: Application Modelsc©2006, Embedded Systems Institute135 c©2006, Gerrit Muller

version: 0.1September 6, 2020

MAAMzeroOrderConclusion

Page 136: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Modeling and Analysis: Life Cycle Modelsby Gerrit Muller University of South-Eastern Norway-NISE

e-mail: [email protected]

AbstractProducts and enterprises evolve over time. This presentation explores the impact ofthese changes on the system and on the business by making (small and simple) modelsof life cycle aspects.

Distribution

This article or presentation is written as part of the Gaudíproject. The Gaudí project philosophy is to improveby obtaining frequent feedback. Frequent feedback ispursued by an open creation process. This documentis published as intermediate or nearly mature version toget feedback. Further distribution is allowed as long asthe document remains complete and unchanged.

September 6, 2020status: preliminarydraftversion: 0.7

life cycle context

systemusage context

other

systemsdesign

realization

other

systems

requirements

automated data inputs

interoperability

human inputs

error prone!~3% error rate

change request

problem report

legend

Page 137: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Product Related Life Cycles

system

creation

system

productionsystem

sales

service

individual systems

disposalupgrades and options

productionupgrades and options

sales

upgrades and options

creation

Modeling and Analysis: Life Cycle Modelsc©2006, Embedded Systems Institute137 c©2006, Gerrit Muller

version: 0.7September 6, 2020

MALCproductLifeCycle

Page 138: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

System Life Cycle

system

order

using

local

changes, e.g.accounts

procedures

ma

inte

na

nce

up

gra

de

using

orde

ring

com

pone

nts

man

ufac

turin

g

shipping

installatio

n

shipping

installatio

n

refu

rbishing

shipping

secondary

use dis

po

se

ma

inte

na

ncead

d o

ptio

n

sales

Modeling and Analysis: Life Cycle Modelsc©2006, Embedded Systems Institute138 c©2006, Gerrit Muller

version: 0.7September 6, 2020

MALCsystemLifeCycle

Page 139: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Approach to Life Cycle Modeling

Identify potential life cycle changes and sources

Determine required effort

Characterize time aspect of changes

amount

type

Determine impact of change on

system and context

performance

reliability

Analyse risks business

how often

how fast

see

reasoning

Modeling and Analysis: Life Cycle Modelsc©2006, Embedded Systems Institute139 c©2006, Gerrit Muller

version: 0.7September 6, 2020

MALCapproach

Page 140: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

What May Change During the Life Cycle?

business volume

product mix

product portfolio

product attributes (e.g. price)

customers

personnel

suppliers

application, business processes

et cetera

www.homes4sale.com

www.apple.com/itunes/

www.amazon.com

www.ebay.com

www.shell.com

www.stevens.edu

www.nokia.com

stock market

insurance company

local Dutch cheese shop

Modeling and Analysis: Life Cycle Modelsc©2006, Embedded Systems Institute140 c©2006, Gerrit Muller

version: 0.7September 6, 2020

MALCchanges

Page 141: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Simple Model of Data Sources of Changes

life cycle context

systemusage context

other

systemsdesign

realization

other

systems

requirements

automated data inputs

interoperability

human inputs

error prone!~3% error rate

change request

problem report

legend

Modeling and Analysis: Life Cycle Modelsc©2006, Embedded Systems Institute141 c©2006, Gerrit Muller

version: 0.7September 6, 2020

MALCsources

Page 142: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Data Sources of Web Server

content

providercontent

provider

web servercontent

content

preparation

content

provider

client

system

configurationshop

configuration

e.g., staff, roles

e.g. resource

allocation

data

quality?

Modeling and Analysis: Life Cycle Modelsc©2006, Embedded Systems Institute142 c©2006, Gerrit Muller

version: 0.7September 6, 2020

MALCwebServerChanges

Page 143: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Example Product Portfolio Change Books

O'Reilly

Addison Wesley

publisher

systemselection

sales info

Springer

new books per year

UK (1)

USA(2)

China(3)

206k (2005)

172k (2005)

India(21)

107k (1996)

101k (1994)

68k (1996)

12k (1996)

source: http://en.wikipedia.org/wiki/Books_published_per_country_per_year

item

sa

les

Amazon

"long tail"

WH Smith

source: http://en.wikipedia.org/wiki/Long_tail

product portfolio characteristics

selection depends on business

life cycle changes determined by

business characteristics

Modeling and Analysis: Life Cycle Modelsc©2006, Embedded Systems Institute143 c©2006, Gerrit Muller

version: 0.7September 6, 2020

MALCbookExample

Page 144: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Example Customer Change

Asia Pacific total

China

India

Q1 '04

48M

15M

87k

Q2 '04

54M

19M

189k

growth in

Q2 '04

12.8%

26.1%

116.8%

http://www.apira.org/download/world_broadband_statistics_q2_2004.pdf

What is the expected growth of # customers?

What is the impact on system and infrastructure?

What is the impact on CRM (Customer Relation Management)?

What is the impact on customer, sales support staff?

internet: broadband penetration

Modeling and Analysis: Life Cycle Modelsc©2006, Embedded Systems Institute144 c©2006, Gerrit Muller

version: 0.7September 6, 2020

MALCcustomerExample

Page 145: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Web Shop Content Update

data

base

server

web

server

client client

network

network

screen screen

product

descriptions

logistics

ERP

customer

relationsfinancial

content

definition

new content

and updatespublication

How much time/effort is needed for content updates?

How much staff is needed?

What is the impact of errors in content updates?

How many errors can be expected?

What is the impact of content updates on server loads?

Modeling and Analysis: Life Cycle Modelsc©2006, Embedded Systems Institute145 c©2006, Gerrit Muller

version: 0.7September 6, 2020

MALCwebShopContentUpdate

Page 146: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Web Shop Content Change Effort

prepare

change 1

prepare

change 2

review input

select info

layout&cosmetics

check-in

prepare

change nverify

change n

verify

change 1

inspect source

inspect result

commit

changes

effortchanges = nchanges*(tprepare + tverify)+tcommit

nchanges per day 10010

effortchanges 1 uur 10 uur

1000

100 uur

#fte 0.1 1 12

#fte = effort changes / hours per daytprepare = 4 min

tverify = 2 min

tcommit= 1 min

hours per day = 8 hours

with

Modeling and Analysis: Life Cycle Modelsc©2006, Embedded Systems Institute146 c©2006, Gerrit Muller

version: 0.7September 6, 2020

MALCeffortContentChanges

Page 147: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Example of Client Level Changes

Up-to-date information:

Bestsellers

What Other Customers Are

Looking At Right Now

ca

talo

gu

e e

ntr

ies

main access

through search

standard boilerplate

oth

er

ad

ve

rtiz

em

en

ts

personalization

styling: frequently

updated, fashion!

snapshot of

www.amazon.com

Modeling and Analysis: Life Cycle Modelsc©2006, Embedded Systems Institute147 c©2006, Gerrit Muller

version: 0.7September 6, 2020

MALCmoreChanges

Page 148: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Example of Time Scale Model for Changes

1 year

commodity

hardware

and

software

new generation of

magnets

gradients

detectors

major SW

release

minor SW

release

workstation

useful life

MR

scanner

useful life

10 years

procedural

change

legislation

change

clinical

prototype

problem

response

3 months

Modeling and Analysis: Life Cycle Modelsc©2006, Embedded Systems Institute148 c©2006, Gerrit Muller

version: 0.7September 6, 2020

HMPAlifecycles

Page 149: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Web Shop Security and Changes

public

internet

protected

production

area

very secure intranet

data

base

server

web

server

client client

network

network

screen screen

product

descriptions

logistics

ERP

customer

relationsfinancial

content

definition

What is the security model?

What is the impact on server loads?

What is the impact on staffing?

What is the impact of changes in staff?

What is the impact of changes on

security?

Modeling and Analysis: Life Cycle Modelsc©2006, Embedded Systems Institute149 c©2006, Gerrit Muller

version: 0.7September 6, 2020

MALCwebShopSecurity

Page 150: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Web Shop Reliability and Changes

new faults = average fault density * #changes

#errors =

f( severity,

hit probability,

detection probability)faults

Jansen iso

Janssen

severity

low

hit

probability

high

operator iso

sales reprhigh high

detection

probability

low

medium

Modeling and Analysis: Life Cycle Modelsc©2006, Embedded Systems Institute150 c©2006, Gerrit Muller

version: 0.7September 6, 2020

MALCreliability

Page 151: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Simplistic Financial Computations for System Architects.by Gerrit Muller University of South-Eastern Norway-NISE

e-mail: [email protected]

AbstractThis document explains how simple financial estimates can be made by system archi-tects. These simplistic estimates are useful for an architect to perform sanity checks onproposals and to obtain understanding of the financial impact of proposals. Note thatarchitects will never have full fledged financial controller know how and skills. Theseestimates are zero order models, but real business decisions will have to be founded onmore substantial financial proposals.

Distribution

This article or presentation is written as part of the Gaudíproject. The Gaudí project philosophy is to improveby obtaining frequent feedback. Frequent feedback ispursued by an open creation process. This documentis published as intermediate or nearly mature version toget feedback. Further distribution is allowed as long asthe document remains complete and unchanged.

September 6, 2020status: preliminarydraftversion: 1.3

sales volumein units

$

income

expenses

break even

point

profit

expected

sales volume

fixe

d c

ost

s

variable

Page 152: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Product Margin = Sales Price - Cost

material

labour

miscellaneous

margin

cost

pri

ce

sale

s p

rice

Cost per product,

excluding fixed costs

Margin per product.

The margin over the sales volume,

must cover the fixed costs, and generate profittransportation, insurance,

royalties per product, ...

purchase price of components may cover

development cost of supplier

retailer margin

and costs

stre

et p

rice

Simplistic Financial Computations for System Architects.c©2006, Embedded Systems Institute152 c©2006, Gerrit Muller

version: 1.3September 6, 2020

SFCmargin

Page 153: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Profit as function of sales volume

sales volumein units

$

income

expenses

break even

point

profit

expected

sales volume

fixe

d c

ost

s

variable

Simplistic Financial Computations for System Architects.c©2006, Embedded Systems Institute153 c©2006, Gerrit Muller

version: 1.3September 6, 2020

SFCprofitAndSalesVolume

Page 154: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Investments, more than R&D

research and development

NRE: outsourcing, royalties

marketing, sales

training sales&service

financing

including:

staff, training, tools, housing

materials, prototypes

overhead

certification

strategic choice:

NRE or per product

business dependent:

pharmaceutics industry

sales cost >> R&D cost

often a standard staffing rate is used

that covers most costs above:

R&D investment = Effort * rate

Simplistic Financial Computations for System Architects.c©2006, Embedded Systems Institute154 c©2006, Gerrit Muller

version: 1.3September 6, 2020

SFCinvestments

Page 155: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Income, more than product sales only

products

options,

accessories

other recurring

income

services

sales priceoption * volumeoption

sales priceproduct * volume product

incomeservice

options

services

content, portal

updates

maintenance

license fees

pay per movie

Simplistic Financial Computations for System Architects.c©2006, Embedded Systems Institute155 c©2006, Gerrit Muller

version: 1.3September 6, 2020

SFCincome

Page 156: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

The Time Dimension

Q1

100k$

-

-

-

(100k$)

(100k$)

investments

sales volume (units)

material & labour costs

income

quarter profit (loss)

cumulative profit

Q3

20k$

30

600k$

1500k$

880k$

1480k$

Q2

60k$

30

600k$

1500k$

840k$

600k$

Q1

100k$

20

400k$

1000k$

500k$

(240k$)

Q4

100k$

10

200k$

500k$

200k$

(740k$)

Q3

500k$

2

40k$

100k$

(440k$)

(940k$)

Q2

400k$

-

-

-

(400k$)

(500k$)

cost price / unit = 20k$

sales price / unit = 50k$

variable cost = sales volume * cost price / unit

income = sales volume * sales price / unit

quarter profit = income - (investments + variable costs)

Simplistic Financial Computations for System Architects.c©2006, Embedded Systems Institute156 c©2006, Gerrit Muller

version: 1.3September 6, 2020

SFCtiming

Page 157: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

The “Hockey” Stick

profit

loss

time

(1M$)

(0.5M$)

0.5M$

1M$

Simplistic Financial Computations for System Architects.c©2006, Embedded Systems Institute157 c©2006, Gerrit Muller

version: 1.3September 6, 2020

SFChockeyStick

Page 158: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

What if ...?

profit

loss

time

(1M$)

(0.5M$)

0.5M$

1M$delay of 3 months

early more expensive

product + follow-on

original model

Simplistic Financial Computations for System Architects.c©2006, Embedded Systems Institute158 c©2006, Gerrit Muller

version: 1.3September 6, 2020

SFChockeyStickWhatIf

Page 159: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Stacking Multiple Developments

-2

-1

0

1

2

3

4

5

6

7

8

9

1 2 3 4 5 6 7 8 9 10 11 12 13 14

cumulative 1

cumulative 2

cumulative 3

cumulative 4

cumulative total

M€

quarter

Simplistic Financial Computations for System Architects.c©2006, Embedded Systems Institute159 c©2006, Gerrit Muller

version: 1.3September 6, 2020

SFCmultipleDevelopments

Page 160: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Fashionable financial yardsticks

Return On Investments (ROI)

Net Present Value

Return On Net Assets (RONA)

turnover / fte

market ranking (share, growth)

R&D investment / sales

cash-flow

leasing reduces assets, improves RONA

outsourcing reduces headcount, improves this ratio

"only numbers 1, 2 and 3 will be profitable"

in high tech segments 10% or more

fast growing companies combine profits with negative cash-flow,

risk of bankruptcy

Simplistic Financial Computations for System Architects.c©2006, Embedded Systems Institute160 c©2006, Gerrit Muller

version: 1.3September 6, 2020

SFCyardsticks

Page 161: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

The application viewby Gerrit Muller University of South-Eastern Norway-NISE

e-mail: [email protected]

AbstractThe purpose of the application view is described. A number of methods or modelsis given to use in this view: stakeholder and concerns, context diagram, static entityrelationship models and dynamic flow models.

Distribution

This article or presentation is written as part of the Gaudíproject. The Gaudí project philosophy is to improveby obtaining frequent feedback. Frequent feedback ispursued by an open creation process. This documentis published as intermediate or nearly mature version toget feedback. Further distribution is allowed as long asthe document remains complete and unchanged.

September 6, 2020status: preliminarydraftversion: 0.2 URF examination room

changing room

waiting room

patient 1, intestinal investigation

patient 2, simple X-ray

patient 3, intestinal investigation

patient 4, intestinal

investigation

patient 5, intestinal investigation

8:30 9:00 9:30 10:00 10:30

Page 162: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Application view overview

Customer

objectives ApplicationFunctional Conceptual Realisation

stakeholders and concerns context diagrams

video recorder

TV

tuner

storage

TV

screen

movies

sports

news

soaps

channel transmits

selects

tuner

content

life

canned

age, sex,

violence

attributes

describedby

parents

children

inform

sentity relationship models

URF examination room

changing room

waiting room

patient 1, intestinal investigation

patient 2, simple X-ray

patient 3, intestinal investigation

patient 4, intestinal

investigation

patient 5, intestinal investigation

8:30 9:00 9:30 10:00 10:30

dynamic models

The application viewc©2006, Embedded Systems Institute162 c©2006, Gerrit Muller

version: 0.2September 6, 2020

AVoverview

Page 163: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Stakeholders and concerns MRI scanner

patient

comfort

health

nurse

patient

ease of work

operator

ease of use

cleaner

accessibility

safety

inspection

quality

maintainer

accessibility

safety

radiologist

diagnosisreimburstment

insurance

cost of care

facility man.

space

service supp.

ref. physician

diagnosis

treatment

financial dir.

cash flow

cost of op.

IT dep.

conformance

security

general

practitioner

patient

administration

patient id

invoice

government

cost of care

administrative

clinical

support

patient

family

support

legend

The application viewc©2006, Embedded Systems Institute163 c©2006, Gerrit Muller

version: 0.2September 6, 2020

AVstakeholders

Page 164: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Context of motorway management system

motorway

management

system restaurants

gas stations

bus lanes

lorry lanes

maintenance contractors

taxes

car administration

government

airports

railwaystoll

tunnel

car repair

towing service

fleet management

urban traffic control

advanced vehicle control

environmental monitoring

administrative

competing or cooperating?

specia

l

destin

atio

ns

spec

ializ

ed

segm

ents

needed for

contingencies

“add-ons”

special applicationsother c

oncerns

thir

d p

arty

The application viewc©2006, Embedded Systems Institute164 c©2006, Gerrit Muller

version: 0.2September 6, 2020

AVcontextMotorwayManagement

Page 165: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Example of simple TV application model

video recorder

TV

tuner

storage

TV

screen

movies

sports

news

soaps

channel transmits

selects

tuner

content

live

canned

age, sex,

violence

attributes

describedby

parents

children

inform

s

The application viewc©2006, Embedded Systems Institute165 c©2006, Gerrit Muller

version: 0.2September 6, 2020AVsimpleTVmodel

Page 166: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Examples of dynamic models

flow modelspeople

goods

information

wait forscreening

wait fordiagnose

problem exam

acute exam

no problem

wait for examstate diagrams

20:00 20:30 21:00 21:30 22:00 22:30

broadcast

phone rings

pause viewingfinish conversation

resume viewing

start

movie

end

movie

view viewtalk

record

play

time line

The application viewc©2006, Embedded Systems Institute166 c©2006, Gerrit Muller

version: 0.2September 6, 2020AVdynamicModels

Page 167: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Productivity and Cost models

productivity

model

use

events

configuration

working

conditions

typical

production

rate

personnel

consumables

service

facilities

financing 10

20

30

40

50

60

radiologist

nurse

security

administration

operator

Cost Of Ownership model

The application viewc©2006, Embedded Systems Institute167 c©2006, Gerrit Muller

version: 0.2September 6, 2020

AVcostBenefitModels

Page 168: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Dynamics of an URF examination room

URF examination room

changing room

waiting room

patient 1, intestinal investigation

patient 2, simple X-ray

patient 3, intestinal investigation

patient 4, intestinal

investigation

patient 5, intestinal investigation

8:30 9:00 9:30 10:00 10:30

The application viewc©2006, Embedded Systems Institute168 c©2006, Gerrit Muller

version: 0.2September 6, 2020

AVdynamicsURF

Page 169: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Exercise

Make a context diagram:

What other related systems and

applications are used?

How do these relate with our system

Visualize the context as diagram

Make supporting diagrams for main

application views

The application viewc©2006, Embedded Systems Institute169 c©2006, Gerrit Muller

version: 0.2September 6, 2020

MMAFAexercise

Page 170: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Reflection on Exercise

+ Context diagram lift insight to a higher level

~ Our system or application is only a fraction of

the customers world

- Application models can become too generic

or abstract

The application viewc©2006, Embedded Systems Institute170 c©2006, Gerrit Muller

version: 0.2September 6, 2020

MMAFAreflection

Page 171: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Summary Fundamentals of Application

Conclusions

Real requirements are driven by understanding of the customer's

application

Complexity of finance is no excuse for ignoring all financial

aspects; simplified models provide a lot of insight

Techniques, Models, Heuristics of this module

Simplistic financial models

TBD

The application viewc©2006, Embedded Systems Institute171 c©2006, Gerrit Muller

version: 0.2September 6, 2020

MMAFAsummary

Page 172: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Module Modeling and Analysis: Integration and Reasoningby Gerrit Muller HSN-NISE

e-mail: [email protected]

AbstractThis module addresses the integration of small or partial models into bigger models. Wealso discuss how multiple models are used and how to reason using multiple models.

The complete course MA 611TM is owned by TNO-ESI.To teach this course a license from TNO-ESI is required.This material is preliminary course material.

September 6, 2020status: plannedversion: 0.3

Page 173: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Where are we in the Course?

facts from research

measurements

assumptions

uncertainties

unknowns

errors

modeling

analysis

results

project

accuracy

working range

credibility

risk

customer satisfaction

time, cost, effort

profit margin

specification

verification

decisions

life cycle context

systemusage context

enterprise &

users

requirements

black box view

design

realization

technology

creation

life cycle business

reasoning

Module Modeling and Analysis: Integration and Reasoningc©2006, Embedded Systems Institute173 c©2006, Gerrit Muller

version: 0.3September 6, 2020

MMAREposition

Page 174: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Modeling and Analysis: Reasoningby Gerrit Muller University of South-Eastern Norway-NISE

e-mail: [email protected]

AbstractModels are made to facilitate decision making. These decisions range from businessdecisions, such as Service Level Agreements, to requirements, and to detailed designdecisions. The space of decisions is huge and heterogeneous. The proposed modelingapproach is to use multiple small and simple models. In this paper we discuss how toreason by means of multiple models.

Distribution

This article or presentation is written as part of the Gaudíproject. The Gaudí project philosophy is to improveby obtaining frequent feedback. Frequent feedback ispursued by an open creation process. This documentis published as intermediate or nearly mature version toget feedback. Further distribution is allowed as long asthe document remains complete and unchanged.

September 6, 2020status: preliminarydraftversion: 0.6

Quantify in terms of Key Performance Indicators, Key

Performance Measures, Critical Resources

life cycle context

usage context system

market dynamics

service costs

SW/HW platform(s)

resources

cost

transaction load/latency

functions

interfaces

price

performance

products&attributes

customers

order rate

personnel

infrastructure

margin services

maintenance projection

ma

rke

t vo

lum

e

ord

er

rate

time

JFMAMJJASOND

103

106

best case

worst

case

system

load

se

rve

r

co

st

1M$

2M$

t3. Make main Threads-of-Reasoning SMART

Page 175: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

content

From chaos to order: inputs, assumptions, models and decisions

Reasoning approach: stepwise top-down and bottom-up

Life cycles of models in relation to project life cycle

Modeling and Analysis: Reasoningc©2006, Embedded Systems Institute175 c©2006, Gerrit Muller

version: 0.6September 6, 2020

MAREcontent

Page 176: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Purpose of Modeling

facts from investigation

measurements

assumptions

uncertainties

unknowns

errors

modeling

analysis

resultsdecisionmaking

accuracy

working range

credibility

risk

customer satisfaction

time, cost, effort

profit margin

How to use multiple models to facilitate decisions?

How to get from many fragments to integral insight?

How many models do we need?

At what quality and complexity levels ?

specification

verification

decisions

Modeling and Analysis: Reasoningc©2006, Embedded Systems Institute176 c©2006, Gerrit Muller

version: 0.6September 6, 2020

MAREpurpose

Page 177: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Graph of Decisions and Models

life cycle context

systemusage contextenterprise&users black box view design

m

a

d

d

d

dd

d

d

d

d

d

a

a

a

aa

aa

m

mm

m

m

m

m

m

m

m

m

d

d

d d

d

d

a

a

a

a

a

a

d

d

a

d

a

a

a

a

a a

d

d

d

d

dd

d

aa a

aa

ii

i

i

i i

i

i

i

i

i

i

i

i

a

i

d

m

legend

assumption

input e.g.

measurement

decision

model

Modeling and Analysis: Reasoningc©2006, Embedded Systems Institute177 c©2006, Gerrit Muller

version: 0.6September 6, 2020

MAREgraph

Page 178: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Example Graph for Web Shop

life cycle context

systemusage contextenterprise&users black box view design

a

i

d

m

legend

assumption

input e.g.

measurement

decision

model

customerinterest

customerbehavior

financial

personnel

running cost

maintenanceeffort

initial cost

load

throughput

response time

CPU load

network load

storage capacity

transactions

picture cacheinformation

transactionspeed

transactionCPU

access time

overhead

market share

marketpenetration

margin

SLAresource

dimensionsing

salary

servicecost

workflow

changes

#products

CPU budget

memory budget

elapsed

time

budget

Modeling and Analysis: Reasoningc©2006, Embedded Systems Institute178 c©2006, Gerrit Muller

version: 0.6September 6, 2020

MAREgraphWebShop

Page 179: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Relations: Decisions, Models, Inputs and Assumptions

m

d

d

a

i

a

i

d

m

legend

assumption

input e.g.

measurement

decision

model

facilitates

calibratesfeeds

feedsm

m

feeds

a

i

facilitates

facilitates

dinflu

ence

trigger

striggers

i

a

triggerstriggers

Modeling and Analysis: Reasoningc©2006, Embedded Systems Institute179 c©2006, Gerrit Muller

version: 0.6September 6, 2020

MARErelations

Page 180: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Reasoning Approach

1. Explore usage context, life cycle context and system

t3. Make main Threads-of-

Reasoning SMART

t2. Determine main Threads-

of-Reasoning

t4. Identify "hottest" issues

b2b. Investigate facts

b2a. "Play" with models

b2c. Identify assumptions

top-down bottom-up

6. Capture overview, results and decisions

learn

7. Iterate and validate

all steps time-boxed between 1 hour and a few daysearly in

project

later in

project

t5. Model hottest,

non-obvious, issues

b3. Model significant,

non-obvious, issues

Modeling and Analysis: Reasoningc©2006, Embedded Systems Institute180 c©2006, Gerrit Muller

version: 0.6September 6, 2020

MAREmethod

Page 181: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

1. Explore

1. Explore usage context, life cycle context and

system

life cycle context

systemusage contextproducts&attributes

customers

personnel

order rate

functions

interfaces

price

performance

SW/HW platform(s)

resources

cost

transaction load/latency

infrastructure

margin services

maintenance projection

Populate with "known" facts, numbers, issues

from preceeding projects, available work

products and stakeholders

Modeling and Analysis: Reasoningc©2006, Embedded Systems Institute181 c©2006, Gerrit Muller

version: 0.6September 6, 2020

MAREexplore

Page 182: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

t2. Thread-of-Reasoning

life cycle context

usage context system

market

dynamics

service

costs

SW/HW platform(s)

resources

cost

transaction load/latency

functions

interfaces

price

performance

products&attributes

customers

order rate

personnel

infrastructure

margin services

maintenance projection

t2. Determine main Threads-of-Reasoning

Architecting and System Designe.g. http://www.gaudisite.nl/ModuleTORSlides.pdf

Modeling and Analysis: Reasoningc©2006, Embedded Systems Institute182 c©2006, Gerrit Muller

version: 0.6September 6, 2020

MAREthread

Page 183: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

t3. SMART’en Thread-of-Reasoning

Quantify in terms of Key Performance Indicators, Key

Performance Measures, Critical Resources

life cycle context

usage context system

market dynamics

service costs

SW/HW platform(s)

resources

cost

transaction load/latency

functions

interfaces

price

performance

products&attributes

customers

order rate

personnel

infrastructure

margin services

maintenance projection

ma

rke

t vo

lum

e

ord

er

rate

time

JFMAMJJASOND

103

106

best case

worst

case

system

load

se

rve

r

co

st

1M$

2M$

t3. Make main Threads-of-Reasoning SMART

Modeling and Analysis: Reasoningc©2006, Embedded Systems Institute183 c©2006, Gerrit Muller

version: 0.6September 6, 2020

MAREthreadSMART

Page 184: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Intermezzo: the acronym SMART

• Specific

• Measurable

• Assignable (Achievable, Attainable,

Action oriented, Acceptable, Agreed-upon, Accountable)

• Realistic (Relevant, Result-Oriented)

• Time-related (Timely, Time-bound, Tangible, Traceable)

quantified

verifiableacronym consensus

variation of meaning

Modeling and Analysis: Reasoningc©2006, Embedded Systems Institute184 c©2006, Gerrit Muller

version: 0.6September 6, 2020

FFTSsmartList

Page 185: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

t4: Identify Hottest

t4. Identify "hottest" issues

assess explored landscape:

highest (perceived) risk

most important/valuable

most discussed

historic evidence

urgency

rank issues according to aggregated assessment

server cost

order rate

transactions

response time

availability

network bandwidth

storage capacity

2

4

3

3

2

1

1

1..5 scale,

1 = low risk

5 = high risk

et cetera

3

5

3

5

5

1

1

2

5

3

1

1

3

1

1

3

4

4

3

1

2

1

2

3

4

risk

value

disc

ussion

histor

y

rank

ing

urge

ncy

3

5

2

2

3

3

3

Modeling and Analysis: Reasoningc©2006, Embedded Systems Institute185 c©2006, Gerrit Muller

version: 0.6September 6, 2020

MAREhottest

Page 186: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

t5: Model Hottest Issues

t5. Model hottest, non-obvious, issues

ma

rke

t vo

lum

e

ord

er

rate

timeJ F M A M J J A S O N D

103

106

best case

worst

case

worst case

best case

best case

server

capacity

non-obvious:

desired lead time 2 mnth

versus actual lead time

6 months

Modeling and Analysis: Reasoningc©2006, Embedded Systems Institute186 c©2006, Gerrit Muller

version: 0.6September 6, 2020MAREmodelHottest

Page 187: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

From top-down to bottom-up

1. Explore usage context, life cycle context and system

t3. Make main Threads-of-

Reasoning SMART

t2. Determine main Threads-

of-Reasoning

t4. Identify "hottest" issues

b2b. Investigate facts

b2a. "Play" with models

b2c. Identify assumptions

top-down bottom-up

6. Capture overview, results and decisions

learn

7. Iterate and validate

all steps time-boxed between 1 hour and a few daysearly in

project

later in

project

t5. Model hottest,

non-obvious, issues

b3. Model significant,

non-obvious, issues

Modeling and Analysis: Reasoningc©2006, Embedded Systems Institute187 c©2006, Gerrit Muller

version: 0.6September 6, 2020

MAREmethod

Page 188: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

b2abc: Bottom-up

vary inputs

vary model structure

to understand model

applicability, design quality

and specification feasibility

nCPU = trequired total/t1 CPU

trequired total = ntransactions * t1 transaction + tother

t1 transaction = 1 ms (on 1 CPU)

nCPU

ntransactions

b2b. Investigate factsb2a. "Play" with models b2c. Identify assumptions

market research

measurements

preceeding systems

micro benchmarks

literature, supplier info

What is the basis for

model structure, design

decision, specification,

quantification et cetera?

Most assumptions are

implicit and hidden!

http://www.tpc.org/tpcc/results/

tpcc_perf_results.asp

IBM System p5 595

TPC-C Throughput 4,033,378

Total # of Processors: 32

Total # of Cores: 64

1/t1 transaction = 4*106 / 60 / 64

t1 transaction~= 1 ms

min to sec# cores

server load dominated by

transactions

transaction load scales linear

TPC-C is representative

what is the effect of

other TPC-C workload?

Modeling and Analysis: Reasoningc©2006, Embedded Systems Institute188 c©2006, Gerrit Muller

version: 0.6September 6, 2020

MAREbottomUp

Page 189: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Bottom-up, more detailed steps

Make a characterization matrix of technologies,

components and resources versus qualities

Make a list of technologies, components and resources to

be used

1..5 scale,

1 = low risk

5 = high risk

et cetera

Make a list of important qualities

Perform step 2abc on most critical

class 4 and 5 risks

performance, reliability, security, maintainability

transactions, data base engine, memory, disk

Modeling and Analysis: Reasoningc©2006, Embedded Systems Institute189 c©2006, Gerrit Muller

version: 0.6September 6, 2020

MAREbottomUpHowTo

Page 190: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

b3: Model Significant Issues

b3. Model significant, non-obvious, issues

n m k s c MB

1 1 1 1.E+05 10 1.5

2 4 10 1.E+05 20 5.3

2 4 1000 1.E+05 100 296.2

2 4 1000 1.E+06 100 2962.1

kB MB GB

L1 capacity L2 L3 diskmain memory

picture memory =

3 * n * s +

5 * m * s + c * s +

3 * k * s where

n = # back office access threads

m = # picture cache threads

k = # web server threads

s = picture size in bytes

c = in memory cache capacity

in # pictures

memory use

product browsing only

pictures only

single server

What is the performance impact of memory use on other processing?

mid office

server

back

office

access

back

office

access

picture

cache

server

picture

cache

server

web

serverweb

server

one copy

per process

multiple copies

per process

mid office

server

web

server

back

office

access

picture

cache

server

mid office

server

picture

cache

server

back

office

access

web

server

picture

cache

server

back

office

access

web

server

multiple copies

per process and thread

n

m

k

for example, memory use in server(s) for

picture transfers and buffering

Modeling and Analysis: Reasoningc©2006, Embedded Systems Institute190 c©2006, Gerrit Muller

version: 0.6September 6, 2020

MAREmodelSignificant

Page 191: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Learning Concurrent Bottom-up and Top-down

top-down bottom-uplearn

transactions

dominate

server load&cost

order rate

(and evolution over time)

is highly speculative

needsinput

inducesrisk

top-down: what is hidden in details?

top-down: do we address the relevant decomposition?

bottom-up: do we address relevant details?

bottom-up: what details have significant impact?

Modeling and Analysis: Reasoningc©2006, Embedded Systems Institute191 c©2006, Gerrit Muller

version: 0.6September 6, 2020

MARElearn

Page 192: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Example top-down and bottom-up

kB MB GB

L1 capacity L2 L3 diskmain memory

picture memory = 3 * n * s + 5 * m * s + c * s +3 * k * s

where

n = # back office access threads

m = # picture cache threads

k = # web server threads

s = picture size in bytes

c = in memory cache

capacity in # pictures

memory use

product browsing only

pictures only

single server

What is the performance impact of memory use on other processing?

n m k s c MB storage type

1 1 1 100,000 10 1.5 L3

2 4 10 100,000 20 5.3 mainhighly

concurrent 2 4 1000 100,000 100 296 main

large pictures 2 4 1000 1,000,000 100 2,962 main+diskmany

pictures 2 4 10 100,000 100,000 9,540 main+diskall at once 2 4 1000 1,000,000 100,000 98,234 disk

new books per year

UK (1)

USA(2)

China(3)

206k(2005)

172k

(2005)

India(21)

107k (1996)

101k (1994)

68k (1996)

12k (1996)

source: http://en.wikipedia.org/wiki/

Books_published_per_country_per_year

item

sa

les

Amazon

"long tail"

WH Smith

source: http://en.wikipedia.org/wiki/Long_tail

top-down:

what is impact of

catalogue size and changes?

bottom-up:

what is relevant concurrency (k), cache size (c),

or picture size (s)?

Modeling and Analysis: Reasoningc©2006, Embedded Systems Institute192 c©2006, Gerrit Muller

version: 0.6September 6, 2020

MARElearnExample

Page 193: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

6. Capture overview, results and decisions

6. Capture overview, results and decisions

definition deploymentexecution

major

milestone

major

milestone

transfer of

relevant

insights

transfer of

relevant

insights

re-usable

assets to

next projects

re-usable

assets to

next projects

re-usable

assets from

previous

projects

re-usable

assets from

previous

projects

customer

businessproposal specification design realization configuration

consolidation

baseline

Modeling and Analysis: Reasoningc©2006, Embedded Systems Institute193 c©2006, Gerrit Muller

version: 0.6September 6, 2020

MAREcaptureOverview

Page 194: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

7. Iterate and Validate

1

t

267

t

3

t

4

t

5b2ab

cb3

1

t26 7

t3 t4 t5

b2abc b3

1

t26 7

t3 t4 t5

b2abc b31

t26 7

t3 t4 t5

b2abc b3

iteration 2 iteration 3 iteration 41

stakeholders

questions

results

data

systems, models, components

experiments

measurements

data

time

Modeling and Analysis: Reasoningc©2006, Embedded Systems Institute194 c©2006, Gerrit Muller

version: 0.6September 6, 2020

MAREiteration

Page 195: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Focus is Shifting during Project

usage

context

life cycle

context

system

requirements

elicitation

design and

realizationvalidation

conception&

feasibility

Modeling and Analysis: Reasoningc©2006, Embedded Systems Institute195 c©2006, Gerrit Muller

version: 0.6September 6, 2020

MAREfocus

Page 196: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Models Support Communication

nu

mb

er

of

invo

lve

d p

eo

ple

time per

iteration cycle

1 month1 week1 day1 hour1 minute

in thearchitect's

head

model basedarchitecting

fast but

intangible

tangible

1

10

Modeling and Analysis: Reasoningc©2006, Embedded Systems Institute196 c©2006, Gerrit Muller

version: 0.6September 6, 2020

MAREcommunication

Page 197: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Frequency of Assumptions, Decisions and Modeling

a

i

d

m

legend

assumption

input e.g.

measurement

decision

model

100

106

104

102

i

implicit

(trivial?)

explicit

very simple

smallkey

substantial

m

d

a

d

a

m

d

mtry-outs

Modeling and Analysis: Reasoningc©2006, Embedded Systems Institute197 c©2006, Gerrit Muller

version: 0.6September 6, 2020

MAREfrequency

Page 198: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Life Cycle of Models

m

m

mm

mmm

mmmm

mmm mmm

understanding exploration optimization verification

try out

models m mm

mmm mm

m

m

m m

abandoned

abandoned

m

m

archived

not maintained

simple and small

models

substantial models

m

? ? most try out models never

leave the desk or computer

of the architect!

archived

not maintained

archived

not maintained

re-used in

next project

re-used in

next project

re-used in

next project

re-used in

next project

re-used in

next project

re-used in

next project

many small and simple models

are used only once;

some are re-used in next projects

substantial models capture core domain know how;

they evolve often from project to project.

creation and evolution of intellectual property assets

re-use

re-use

Modeling and Analysis: Reasoningc©2006, Embedded Systems Institute198 c©2006, Gerrit Muller

version: 0.6September 6, 2020

MAREmodelLifeCycle

Page 199: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Examples of Life Cycle of Models

understanding exploration optimization verification

try out

models

simple and small

models

substantial models

(IP assets)

load/cost

load/cost

peak impact

customer

global

distribution

web server

performance

global

customer

demographics

function

mix

webshop

benchmark

suite

load/stress

test suiteintegral

load

model

Modeling and Analysis: Reasoningc©2006, Embedded Systems Institute199 c©2006, Gerrit Muller

version: 0.6September 6, 2020

MAREmodelLifeCycleExample

Page 200: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Conclusions

Top-down and bottom-up provide complementary insights

Key words for selection: hottest, non-obvious, significant, relevant

Multiple small models are used in combination

Some models evolve from very simple to more substantial

Techniques, Models, Heuristics of this module

Threads-of-reasoning

SMART

Key Performance Indicators, Key Performance Measures, Critical Resources

Ranking matrices

Modeling and Analysis: Reasoningc©2006, Embedded Systems Institute200 c©2006, Gerrit Muller

version: 0.6September 6, 2020

MAREsummary

Page 201: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Modeling and Analysis: Modularity and Integrationby Gerrit Muller University of South-Eastern Norway-NISE

e-mail: [email protected]

AbstractMore substantial models are created step by step. We will discuss the order of creationand modularity considerations. The modules have to be integrated into the desiredsubstantial model.

Distribution

This article or presentation is written as part of the Gaudíproject. The Gaudí project philosophy is to improveby obtaining frequent feedback. Frequent feedback ispursued by an open creation process. This documentis published as intermediate or nearly mature version toget feedback. Further distribution is allowed as long asthe document remains complete and unchanged.

September 6, 2020status: plannedversion: 0

logoTBD

Page 202: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Example of (Partial) Flow Simulator

back

office

server

mid

office

server

client client

network

network

client

screen screen screen

product

descriptionslogistics ERP

customer

relationsfinancial

exhibit products

sales & order intake

order handling

stock handling

financial bookkeeping

browse products

order

pay

track

customer relation

management

update catalogue

advertize

after sales support

client

input

network

dispatcher

show

client

sink

stockorder

product cache

network

back officeproduct

data base

requests &

responses

model

decoupling

picture

data

legend

mmodel

module

Modeling and Analysis: Modularity and Integrationc©2006, Embedded Systems Institute202 c©2006, Gerrit Muller

version: 0September 6, 2020MAINflowSimulator

Page 203: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Example of Incremental Model Creation

client

input

network

dispatcher

show

client

sink

stockorder

product cache

show

product cache

fixed input

trace

show

product cache

client

input

show

product cache

client

input

network

client

sink

back officeproduct

data base

fixed input

trace

back officeproduct

data base

show

product cache

fixed input

trace

back office

Modeling and Analysis: Modularity and Integrationc©2006, Embedded Systems Institute203 c©2006, Gerrit Muller

version: 0September 6, 2020

MAINincrements

Page 204: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Approach for Incremental Model Creation

Start with the hottest issue

Keep flexible decoupling point

Ensure immediate feedback does this model help to answer

the questions that we have?

e.g. human readable/editable files

Extend model only for a good purposedon't integrate models because it can be done

Create effective visual outputssimple animations, graphs, tables, ...

Refactor regularlybased on increasing insight, feedback and purpose

what creates the most discussion or uncertainty?

Modeling and Analysis: Modularity and Integrationc©2006, Embedded Systems Institute204 c©2006, Gerrit Muller

version: 0September 6, 2020

MAINrecommendations

Page 205: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Attention Points for Every Integration Step

Does the output of the integrated model match your expectation?

Can you explain the model behavior?

Can you explain the variation of the output?

loa

d

time

time behavior

variation

value

variation

value

or ?

Modeling and Analysis: Modularity and Integrationc©2006, Embedded Systems Institute205 c©2006, Gerrit Muller

version: 0September 6, 2020

MAINintegrationQuestions

Page 206: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Module Modeling and Analysis: Analysis and Using Modelsby Gerrit Muller HSN-NISE

e-mail: [email protected]

AbstractThis module addresses the analysis of models and discusses how to use models.

The complete course MA 611TM is owned by TNO-ESI.To teach this course a license from TNO-ESI is required.This material is preliminary course material.

September 6, 2020status: plannedversion: 0.1

Page 207: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Where are we in the Course?

facts from research

measurements

assumptions

uncertainties

unknowns

errors

modeling

analysis

results

project

accuracy

working range

credibility

risk

customer satisfaction

time, cost, effort

profit margin

specification

verification

decisions

life cycle context

systemusage context

enterprise &

users

requirements

black box view

design

realization

technology

creation

life cycle business

Module Modeling and Analysis: Analysis and Using Modelsc©2006, Embedded Systems Institute207 c©2006, Gerrit Muller

version: 0.1September 6, 2020

MMAANposition

Page 208: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Modeling and Analysis: Analysisby Gerrit Muller University of South-Eastern Norway-NISE

e-mail: [email protected]

AbstractModels only get value when they are actively used. We will focus in this presentation onanalysis aspects: accuracy, credibility, sensitivity, efficiency, robustness, reliability andscalability.

Distribution

This article or presentation is written as part of the Gaudíproject. The Gaudí project philosophy is to improveby obtaining frequent feedback. Frequent feedback ispursued by an open creation process. This documentis published as intermediate or nearly mature version toget feedback. Further distribution is allowed as long asthe document remains complete and unchanged.

September 6, 2020status: plannedversion: 0.2

varying inputsvarying circumstances

varying design optionsvarying realizations

specification changes

and ripple through

model(s)

working rangeworst case behaviorexceptional behavior

accuracycredibilityworking range

sensitivityrobustnessefficiency

model

applicability

design

quality

design

understanding

exploration

optimization

verification

life cycleperformance

reliability

scalabilityother system qualities

specification

feasibility

use cases

worst case

exceptions

change cases

Page 209: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

What Comes out of a Model

varying inputsvarying circumstances

varying design optionsvarying realizations

specification changes

and ripple through

model(s)

working rangeworst case behaviorexceptional behavior

accuracycredibilityworking range

sensitivityrobustnessefficiency

model

applicability

design

quality

design

understanding

exploration

optimization

verification

life cycleperformance

reliability

scalabilityother system qualities

specification

feasibility

use cases

worst case

exceptions

change cases

Modeling and Analysis: Analysisc©2006, Embedded Systems Institute209 c©2006, Gerrit Muller

version: 0.2September 6, 2020

MAANaspects

Page 210: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Applicability of the Model

model(s)

accuracycredibilityworking range

facts

measurements

assumptions

abstraction

usage context

specifications

designs

realizations

+-

12

input

accuracy

credibility

abstraction

credibility

working range

model realization

credibility

propagation

ab

stra

ctio

n

Modeling and Analysis: Analysisc©2006, Embedded Systems Institute210 c©2006, Gerrit Muller

version: 0.2September 6, 2020

MAANmodelApplicability

Page 211: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

How to Determine Applicability

simple and small models1. Estimate accuracy of results

2. Identify top 3 credibility risks

3. Identify relevant working range risks

identify biggest uncertainties in

inputs, abstractions and realization

identify required (critical) working ranges and

compare with model working range

based on most significant inaccuracies of inputs

and assumed model propagation behavior

try out modelsbe aware of accuracy, credibility and working range

substantial modelssystematic analysis and documentation of accuracy,

credibility and working range

Modeling and Analysis: Analysisc©2006, Embedded Systems Institute211 c©2006, Gerrit Muller

version: 0.2September 6, 2020

MAANapplicabilityHowTo

Page 212: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Working Range examples

load

tr

working

range

tmax

working

range

desired

linear

behavior

A system design assumption is often:

the performance of this function

{ is constant | is linear | doesn't exceed x | ...}

The working range is the interval where this

assumption holds

Modeling and Analysis: Analysisc©2006, Embedded Systems Institute212 c©2006, Gerrit Muller

version: 0.2September 6, 2020

MAANworkingRange

Page 213: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Example of Picture Cache Working Range

system

load

CPU

load

working

range

Lpc

detailed

picture cache

model

cpu load

picture cache

total cpu load

server cost

Lpc

other inputs

other inputs

other inputs

$

The models are simple as long as working ranges are obeyed

If the system operates outside the working range then more

complex models need to be used (e.g. from 0e order to 1

e order)

Modeling and Analysis: Analysisc©2006, Embedded Systems Institute213 c©2006, Gerrit Muller

version: 0.2September 6, 2020

MAANworkingRangeExample

Page 214: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Common Pitfalls

discrete events in continuous world

(too) systematic input data

fragile model

self fulfilling prophecy

discretization artefacts

e.g. stepwise simulations

random data show different behavior

e.g. memory fragmentation

small model change results in large shift in results

price erosions + cost increase (inflation) -> bankruptcy

Modeling and Analysis: Analysisc©2006, Embedded Systems Institute214 c©2006, Gerrit Muller

version: 0.2September 6, 2020

MAANpitfalls

Page 215: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Example of Worst Case Picture Cache

worst case access patterns:

partial copy in cachematrix of pictures in database

p1,1 p1,2 p1,n

p2,1 p2,2 p2,n

pm,1 pm,2 pm,n

p1,1 p1,2 p1,8

p1,1

p2,1

pm,1

p1,1

p2,2

p4,5

What is the system behavior and performance

for worst case access patterns?

Modeling and Analysis: Analysisc©2006, Embedded Systems Institute215 c©2006, Gerrit Muller

version: 0.2September 6, 2020

MAANcacheWorstCase

Page 216: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Worst Case Questions

Which design assumptions have a big impact on system performance?

What are the worst cases for these assumptions?

How does the system behave in the worst case?

a. poor performance within spec

b. poor performance not within spec

c. failure -> reliability issue

Modeling and Analysis: Analysisc©2006, Embedded Systems Institute216 c©2006, Gerrit Muller

version: 0.2September 6, 2020

MAANworstCaseQuestions

Page 217: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

FMEA-like Analysis Techniques

potential hazardssafetyhazard analysis

reliabilityFMEA

failure modes

exceptional cases

security vulnerability risks

damage

effects

consequences

measures

measures

measures

maintainability change cases impact, effort, time

performance worst cases system behavior decisions

(systematic)

brainstorm

improvespec, design,

process,

procedure, ...

analysis and

assessmentprobability

severity

propagation

decisions

Modeling and Analysis: Analysisc©2006, Embedded Systems Institute217 c©2006, Gerrit Muller

version: 0.2September 6, 2020

MAANfmeaLikeAnalysis

Page 218: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Brainstorming Phases

wave 1: the obvious

wave 2: more of the same

wave 3: the exotic, but potentially important

don't stop too early with brainstorming!

Modeling and Analysis: Analysisc©2006, Embedded Systems Institute218 c©2006, Gerrit Muller

version: 0.2September 6, 2020

MAANbrainstorm

Page 219: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Different Viewpoints for Analysis

life cycle context

systemusage context

new product

e.g. WoW extension

merger

automated access

new functions

new interfaces

new media

new standards

cache/memory trashing

garbage collection

critical sections

local peak loads

intermittent HW failure

power failure

network failure

new SW release

roll back to old SW release

Modeling and Analysis: Analysisc©2006, Embedded Systems Institute219 c©2006, Gerrit Muller

version: 0.2September 6, 2020

MAANviewpoints

Page 220: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Example Sensitivity

tmax

assumed

working range

big change

small

sensitivity: how sensitive is the system output for

small changes in input or realization?

Modeling and Analysis: Analysisc©2006, Embedded Systems Institute220 c©2006, Gerrit Muller

version: 0.2September 6, 2020

MAANsensitivity

Page 221: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Example of CPU Utilization and Efficiency

100%C

PU

lo

ad

system loadexpected maximum

system load

rob

ustn

ess

ma

rgin

8%

CPU utilization is "only" 8%

what is the efficiency?

Modeling and Analysis: Analysisc©2006, Embedded Systems Institute221 c©2006, Gerrit Muller

version: 0.2September 6, 2020MAANloadExample

Page 222: Lecture slides course Modeling and Analysis · Module Modeling and Analysis course info by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com Abstract This module provides the information

Efficiency is Context Dependent!

100k

10k

100k

100k fixed base

personnel

goods flow

fixed base

service

variable

service1k

low volume, labor intensive, shop

fixed costs and personnel cost dominate:

service cost changes have

negligible impact on total cost!

1M

1M

1M

1M fixed base

personnel

goods flowfixed base

service

variable

service

1k

high volume,

highly automated, shop

10M

variable service costs dominate:

service cost changes have

big impact on total cost!

server efficiency

CPU efficiency

total cost

big

imp

act

server efficiency

CPU efficiency

total costn

o im

pa

ct

Modeling and Analysis: Analysisc©2006, Embedded Systems Institute222 c©2006, Gerrit Muller

version: 0.2September 6, 2020

MAANefficiencyInContext