Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code...

106
Technical value chain Introduction by Christer Sandahl Technical value chain Introduction by Christer Sandahl Complex product development model

Transcript of Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code...

Page 1: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Technical value chain

Introduction byChrister Sandahl

Technical value chain

Introduction byChrister Sandahl

Complex productdevelopment model

Page 2: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 2

For who is this introduction package ?For who is this introduction package ?

• This power point package is intended as• Cpdm executive briefing for business managers and decision makers• Cpdm process cornerstones for process and improvement specialists• Cpdm technical walkthrough with examples for managers and developers

• This power point package is intended as• Cpdm executive briefing for business managers and decision makers• Cpdm process cornerstones for process and improvement specialists• Cpdm technical walkthrough with examples for managers and developers

Page 3: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 3

Cpdm executive briefingCpdm executive briefingfor business managers and decision makersfor business managers and decision makers

Page 4: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 4

What is Cpdm ?What is Cpdm ?

• Cpdm• Means Complex Product Development Model

• Cpdm model explain how to master development of complex products• Covers seamlessly mechanics, electronics and software• Covers all phases from idea to established product• Covers methodology theories and practical examples• Covers processes scalable to any product size

• Cpdm is inescapable complex but constructed very down to earth• After completing this presentation, the lasting feeling should be “how else could it be”

• Cpdm• Means Complex Product Development Model

• Cpdm model explain how to master development of complex products• Covers seamlessly mechanics, electronics and software• Covers all phases from idea to established product• Covers methodology theories and practical examples• Covers processes scalable to any product size

• Cpdm is inescapable complex but constructed very down to earth• After completing this presentation, the lasting feeling should be “how else could it be”

Page 4

Page 5: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 5

Why another model about thisWhy another model about this

• To master complexity require a paradigm shift• Some industries have succeeded

• Space, aircraft, pharmacy, skyscraper, …

• Other industries has far to go (software in particular)• Artificial complexity being supported• Intrinsic complexity being ignored• Impossible principles applied• Watertight connection between technologies• Product structure undergoes degeneration• Products highjacked by engineers

• To master complexity require a paradigm shift• Some industries have succeeded

• Space, aircraft, pharmacy, skyscraper, …

• Other industries has far to go (software in particular)• Artificial complexity being supported• Intrinsic complexity being ignored• Impossible principles applied• Watertight connection between technologies• Product structure undergoes degeneration• Products highjacked by engineers

Page 6: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 6

Why is Cpdm the superior cure?Why is Cpdm the superior cure?

• Most other development models are only small scale• No explanations how they scale up to modern complex products

• Most other development models address only single technologies• No explanations how mechanics, electronics and software fits together

• Most other development models describe only fractions of development work• No explanation how requirements, architectures, integration and verification fits together

• Most other development models are only theoretical and academic showpieces• No explanation and examples how to apply on them on the floor

• Most other development models are only impenetrable amount of details• No explanation of how the details forms the superstructures

• Cpdm has none of above shortages

• Most other development models are only small scale• No explanations how they scale up to modern complex products

• Most other development models address only single technologies• No explanations how mechanics, electronics and software fits together

• Most other development models describe only fractions of development work• No explanation how requirements, architectures, integration and verification fits together

• Most other development models are only theoretical and academic showpieces• No explanation and examples how to apply on them on the floor

• Most other development models are only impenetrable amount of details• No explanation of how the details forms the superstructures

• Cpdm has none of above shortages

Page 7: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 7

How to apply Cpdm ?How to apply Cpdm ?

• Make assessment of complexity• Are developed product complex ?• If so, do developers master such complexity ?• If not, are management willing to change ?

• Trying out Cpdm• Stepwise introduction, details bottom-up or superstructure top-down• Train developers in Cpdm, use Cpdm book• Use process employees and/or Cpdm consultants• Begin with experienced and motivated engineers

• Let the product rule• Evaluate if developed results meets own expectation ?• Evaluate if products satisfy or exceeds expectations customers ?

• Make assessment of complexity• Are developed product complex ?• If so, do developers master such complexity ?• If not, are management willing to change ?

• Trying out Cpdm• Stepwise introduction, details bottom-up or superstructure top-down• Train developers in Cpdm, use Cpdm book• Use process employees and/or Cpdm consultants• Begin with experienced and motivated engineers

• Let the product rule• Evaluate if developed results meets own expectation ?• Evaluate if products satisfy or exceeds expectations customers ?

Page 8: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 8

Cpdm inventor Christer SandahlCpdm inventor Christer Sandahl

• Grew up in the Swedish entrepreneurship oriented “Gnosjö” area.• Not far from where IKEA’s Ingvar Kamprad grew up.

• Inventor since childhood• As child, staying in his grandfather's carpentry. Always playing with technical toys• When 14 years, own darkroom and chemical laboratory, later electronics with vacuum tubes and transistors

• Education• Master of Sceience in Electrical Engineering (M.Sc.EE.) at Chalmers University of Technology• Certified teacher in math and technical topics for Senior high school

• Professional experience• Own and other small entrepreneur companies• Software manager at Axis, Lund• Management consultant at Q-Labs, Lund• Technical manager and operational development Ericsson and Sony Ericsson Lund• Wine producer of the best Riesling in Hungary• Board member in large family transport company

• Grew up in the Swedish entrepreneurship oriented “Gnosjö” area.• Not far from where IKEA’s Ingvar Kamprad grew up.

• Inventor since childhood• As child, staying in his grandfather's carpentry. Always playing with technical toys• When 14 years, own darkroom and chemical laboratory, later electronics with vacuum tubes and transistors

• Education• Master of Sceience in Electrical Engineering (M.Sc.EE.) at Chalmers University of Technology• Certified teacher in math and technical topics for Senior high school

• Professional experience• Own and other small entrepreneur companies• Software manager at Axis, Lund• Management consultant at Q-Labs, Lund• Technical manager and operational development Ericsson and Sony Ericsson Lund• Wine producer of the best Riesling in Hungary• Board member in large family transport company

Page 9: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 9

Book about CpdmBook about Cpdm

• First book about basic “technical value chain”• Development from idea to established product of modest complex products• Technical core development from requirements specification to prototype verification

of highly complex products• 760 pages, 5 large challenging examples, hundreds of pictures, figures and tables.• Extended support from Cpdm web site www.cpdm.com

• Planned books• Overhead (organization, management, quality, configuration management, etc)

• First book about basic “technical value chain”• Development from idea to established product of modest complex products• Technical core development from requirements specification to prototype verification

of highly complex products• 760 pages, 5 large challenging examples, hundreds of pictures, figures and tables.• Extended support from Cpdm web site www.cpdm.com

• Planned books• Overhead (organization, management, quality, configuration management, etc)

Page 10: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 10

Cpdm process cornerstonesCpdm process cornerstonesfor process and improvement specialistsfor process and improvement specialists

Page 11: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 11

Total product value chain

Demand forbetter chair

Manufacturer Custome r

Improve-ment idea

Product developmentvalue chain

Development

Supplier

Retailer

Total product value chain

Demand forbetter chair

Manufacturer Custome r

Improve-ment idea

Product developmentvalue chain

Development

Supplier

Retailer

Total product value chainTotal product value chain

• Development value chain is only one stage of the whole product value chain

• Cpdm covers the development stage

• Development value chain is only one stage of the whole product value chain

• Cpdm covers the development stage

Page 12: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 12

Value chainValue chain

• Typical value chain• Typical value chain • In Cpdm this is the factual work that adds value

• In Cpdm this is the factual work that adds value

Page 12

Typical development value chain

Supportactivity

Supportactivity

ProductIdea

Semiproduct

Dev

elop

-m

enta

c-tiv

ity1

Dev

elop

-m

enta

c-tiv

ity2

Supportsystem

Supportsystem

Typical development value chain

Supportactivity

Supportactivity

ProductIdea

Semiproduct

Dev

elop

-m

enta

c-tiv

ity1

Dev

elop

-m

enta

c-tiv

ity2

Supportsystem

Supportsystem

Sour

cere

sult

Value chain

Sala

ry Developer

Res

ultw

ithad

ded

valu

ecr

eate

dby

ava

luec

hain

deve

lope

r

Sour

cere

sult

Value chain

Sala

ry Developer

Res

ultw

ithad

ded

valu

ecr

eate

dby

ava

luec

hain

deve

lope

r

Page 13: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 13

RolesRoles

• Discretion and skill of employees and sub contractors

• Terms are role descriptions

• Discretion and skill of employees and sub contractors

• Terms are role descriptions

Processdeveloper

Sche

dule

s,ta

sksa

ndm

aste

rs

Devel-opmentof pro-cesses

Systemengineer

Mem

ory

map

Ana

lyse

mem

ory

need

Manager

Expect-ed value

chain

Expe

cted

resu

lt

Producer

Expe

cted

resu

lt

Developerteam

Expe

cted

activ

ity

Processdeveloper

Sche

dule

s,ta

sksa

ndm

aste

rs

Devel-opmentof pro-cesses

Systemengineer

Mem

ory

map

Ana

lyse

mem

ory

need

Manager

Expect-ed value

chain

Expe

cted

resu

lt

Producer

Expe

cted

resu

lt

Developerteam

Expe

cted

activ

ity

np.Termsnp.Terms

Page 14: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 14

Capture the value chainCapture the value chain

• Capture the value chain by process documentation

• Activity described by task• Result described by master

• The value chain is much easier to handle when documented

• Capture the value chain by process documentation

• Activity described by task• Result described by master

• The value chain is much easier to handle when documented Process Task

How we work with

our architectures

Management

assign team

Review resumé

Make sketch on

white board

Document sketch

Etc.

Process TaskHow we work with

our architectures

Management

assign team

Review resumé

Make sketch on

white board

Document sketch

Etc.

Process TaskHow we work with

our architectures

Management

assign team

Review resumé

Make sketch on

white board

Document sketch

Etc.

Process MasterWhat kind of archi-

tectures we prepare

• Draw by power

point

• Show all

physical elements

• Show interfaces

to all elements

• Etc.

Page 15: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 15

Process building blocksProcess building blocks

• Symbols for task, master and schedule

• Task is a description of how to organize an activity

• Master is a description of how to organize a result

• Schedule is a package of masters and tasks

• Symbols for task, master and schedule

• Task is a description of how to organize an activity

• Master is a description of how to organize a result

• Schedule is a package of masters and tasks

Task refersmaster Ta

sk,

how

toor

gani

zean

activ

ityby

utili

zing

resu

lts

Mas

ter,

how

toor

gani

zea

resu

lt

TM-Unity

Master referstask

Mas

ter,

how

toor

gan-

isea

resu

ltw

ithad

ded

val-

ueby

utili

zing

activ

ities

SM-Unity (package of TM Unities)

Sched uleof tasks and

masters, howto organize avalue chain

from referredresults

Schedule refersmaster

Master refersschedule

Mas

ter,

how

toor

gan-

isear

esul

twith

adde

dva

lue

from

refe

rred

sche

dule

Mas

ter,

how

toor

gani

zea

resu

lt

Task refersmaster Ta

sk,

how

toor

gani

zean

activ

ityby

utili

zing

resu

lts

Mas

ter,

how

toor

gani

zea

resu

lt

TM-Unity

Master referstask

Mas

ter,

how

toor

gan-

isea

resu

ltw

ithad

ded

val-

ueby

utili

zing

activ

ities

SM-Unity (package of TM Unities)

Sched uleof tasks and

masters, howto organize avalue chain

from referredresults

Schedule refersmaster

Master refersschedule

Mas

ter,

how

toor

gan-

isear

esul

twith

adde

dva

lue

from

refe

rred

sche

dule

Mas

ter,

how

toor

gani

zea

resu

lt

Page 16: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 16

Schedule aggregation and hierarchySchedule aggregation and hierarchy

• Schedule aggregates tasks and masters

• Schedules scale up by also aggregate embedded schedules

• Schedule identity reflect hierachies

• Schedule aggregates tasks and masters

• Schedules scale up by also aggregate embedded schedules

• Schedule identity reflect hierachies

P. Schedule(aggregated tasks)

Pb.M

aste

r(p

artit

ion

ofsc

hedu

le)

Pa.T

ask

(par

titio

nof

sche

dule

)

Q.M

aste

r(A

ggre

gate

dm

aste

rs)

Pc.T

ask

(par

titio

nof

sche

dule

)

Pd.M

aste

r(p

artit

ion

ofsc

hedu

le)

P. Schedule(aggregated tasks)

Pb.M

aste

r(p

artit

ion

ofsc

hedu

le)

Pa.T

ask

(par

titio

nof

sche

dule

)

Q.M

aste

r(A

ggre

gate

dm

aste

rs)

Pc.T

ask

(par

titio

nof

sche

dule

)

Pd.M

aste

r(p

artit

ion

ofsc

hedu

le)

P.A. Innermost schedule containingno embedded schedules

P.A

.a.

Inne

rmos

tta

sk

P.A

.b.

Inne

rmos

tm

aste

r

P. Outmost schedule containing tasks and masters,and possible embedded schedules.

P.A

.c.In

nerm

ost

task

P.c.

Out

mos

tta

skP.a.

Out

mos

tta

sk P.b.

Out

mos

tm

aste

r

P.B.

Inne

rmos

tm

aste

r

Q.

Out

mos

tm

aste

r

P.A. Innermost schedule containingno embedded schedules

P.A

.a.

Inne

rmos

tta

sk

P.A

.b.

Inne

rmos

tm

aste

r

P. Outmost schedule containing tasks and masters,and possible embedded schedules.

P.A

.c.In

nerm

ost

task

P.c.

Out

mos

tta

skP.a.

Out

mos

tta

sk P.b.

Out

mos

tm

aste

r

P.B.

Inne

rmos

tm

aste

r

Q.

Out

mos

tm

aste

r

Page 17: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 17

Process and reality relationProcess and reality relation

• Process regulations governs the value chain

• Illustrates the difference between regulation and reality

• Same names in process and reality

• Process regulations governs the value chain

• Illustrates the difference between regulation and reality

• Same names in process and reality

Designar-

chite

cture

(activity

)

Designar-

chite

cture

(task)

Gove

rnDesignar-

chite

cture

(activity

)

Designar-

chite

cture

(task)

Gove

rn

Reality

Process

Gove

rn

Gove

rn

Result utilizesvalue chains

Value chainutilizes results

Terms

Gove

rn

Result utilizesrolesValue chain

utilizes roles

Masterrefers termsSchedule

refers terms

Valuechain

(activitiesand re-sults) R

esul

t

Schedule(packageof tasks

and mas-ters)

Mas

ter

Role

Master refersschedule

Schedule refersmaster

Reality

Process

Gove

rn

Gove

rn

Result utilizesvalue chains

Value chainutilizes results

Terms

Gove

rn

Result utilizesrolesValue chain

utilizes roles

Masterrefers termsSchedule

refers terms

Valuechain

(activitiesand re-sults) R

esul

t

Schedule(packageof tasks

and mas-ters)

Mas

ter

Role

Master refersschedule

Schedule refersmaster

Page 18: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 18

Cpdm symbolsCpdm symbols

• Cogwheel corner indicate reality and flap corner indicate description

• Description may describe reality or description• Flap corner position indicates static, dynamic or

compound

• Cogwheel corner indicate reality and flap corner indicate description

• Description may describe reality or description• Flap corner position indicates static, dynamic or

compound

Asp

ect

Realisation Realization description

Descriptionsof realizationdescription

Description ofdescription ofrealisationdescription

Dyna

mic

Value

chain

and

proc

ess

Unstr

uctur

edlan

guag

eins

tructi

on

Stru

cture

dlan

guag

eins

tructi

on

Gene

ral

syste

m

Stati

cVa

luech

ainan

dpro

cess

softw

are

data

Gene

ral

syste

m

Comp

ound

ofsta

tican

ddyn

amic Va

luech

ainan

dpro

cess

Softw

are

Gene

rals

ystem

Activity inprogress

Task(activity de-scription)

Busi-nessgate

Terms

Linkablemachine

code

un-conditional

jumpsubroutine

calladdress la-

bel :other in-structio n

con-ditional

jumpinput oroutput

°*Sequence in-

struction bodyIteration in-

struction bodySelection in-

struction body

Machinery,electronics orlinkable code

realization

Dynamicelement

description

Dynamicinterface

description

Behaviourrequirementdescriptions

Realization(in general )

Terms

Master(realization de-

scription)

Master(descriptio n ofrealization de-

scription )

Master(description ofdescription ofrealization de-

scription)

Linkablemachinevariables

Unstructured var-iable declaration

Variabledeclaration

body

Mechanicsrealization

Staticelementdescrip-

tion

Connectioninterface

description

Boundary interfacedescription

Restrictionrequirementdescriptions

Valuechain inprogress(activities

and re-sults)

Utiliza-tion

TermsUtiliza-

tion

Schedule,how to or-ganize a

value chain(package oftasks andmasters)

Executableprogram

(linked varia-bles and code

Objectinstance

descriptionClass

declara-tion

Treaddefined

Prototypewith con-

taining real-izations

(mecha nics,electronicsand linka-ble code)

Managedinterface

description: revision

8Bus interface

descriptio nWhite-boxdescription

Black-boxdescription

Interfacedescription

Compoundelement de-

scription

Compoundrequirementdescriptions

Asp

ect

Realisation Realization description

Descriptionsof realizationdescription

Description ofdescription ofrealisationdescription

Dyna

mic

Value

chain

and

proc

ess

Unstr

uctur

edlan

guag

eins

tructi

on

Stru

cture

dlan

guag

eins

tructi

on

Gene

ral

syste

m

Stati

cVa

luech

ainan

dpro

cess

softw

are

data

Gene

ral

syste

m

Comp

ound

ofsta

tican

ddyn

amic Va

luech

ainan

dpro

cess

Softw

are

Gene

rals

ystem

Activity inprogress

Task(activity de-scription)

Busi-nessgate

Terms

Linkablemachine

code

un-conditional

jumpsubroutine

calladdress la-

bel :other in-structio n

con-ditional

jumpinput oroutput

°*Sequence in-

struction bodyIteration in-

struction bodySelection in-

struction body

Machinery,electronics orlinkable code

realization

Dynamicelement

description

Dynamicinterface

description

Behaviourrequirementdescriptions

Realization(in general )

Terms

Master(realization de-

scription)

Master(descriptio n ofrealization de-

scription )

Master(description ofdescription ofrealization de-

scription)

Linkablemachinevariables

Unstructured var-iable declaration

Variabledeclaration

body

Mechanicsrealization

Staticelementdescrip-

tion

Connectioninterface

description

Boundary interfacedescription

Restrictionrequirementdescriptions

Valuechain inprogress(activities

and re-sults)

Utiliza-tion

TermsUtiliza-

tion

Schedule,how to or-ganize a

value chain(package oftasks andmasters)

Executableprogram

(linked varia-bles and code

Objectinstance

descriptionClass

declara-tion

Treaddefined

Prototypewith con-

taining real-izations

(mecha nics,electronicsand linka-ble code)

Managedinterface

description: revision

8Bus interface

descriptio nWhite-boxdescription

Black-boxdescription

Interfacedescription

Compoundelement de-

scription

Compoundrequirementdescriptions

Realisation de-scription, e.g.architectures.

Description of re-alization descrip-tion, e.g. architec-

ture masters orrequirements.

Descriptio n of de-scription of reali-

zation descrip-tion, e.g. require-

ment masters.

Compound Dynamic

Static

Product

Process

Descriptionflap types

Flap cornerposition

Schedule Activity

Result

Class

Cogwheelor flap

Description

Realization

Page 19: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 19

Methodologies, development and manufacturing

Methodologies, development and manufacturing

• Overview• Worldwide methodologies

including Cpdm• Company use methodologies to

tailor process schedule • Developing organization use

tailored schedules• Manufacturing use design

documentation

• Overview• Worldwide methodologies

including Cpdm• Company use methodologies to

tailor process schedule • Developing organization use

tailored schedules• Manufacturing use design

documentation

Pt. Own tailored technical development process schedule

D.Q. Process department

D. Developingorganizatio n

Prod

uct

M. Manufacturingorganizatio n

Buildingproduct

prototypefrom design

descrip-tions, and

verifying itaccording to

its designand require-

mentsDesign-

ing prod-uct fromrequire-ments

Specify-ing prod-

uct re-quire-ments Pr

oduc

tre-

quir

emen

tsde

-sc

ribin

gde

sign

Specialized world widemethodologies

Concretizedmethodolog ies(by experience)

SpecializedCpdm

P.n. World wide availableproduct development methodologies

Gove

rn

Govern

Govern

Govern

Gove

rn

Govern

Environment outside the development organization

P. Cpdm.Complex product

development model

Productmanufactur-

ing valuechain

Prod

uct

prot

otyp

e

Other de-scription s

Thisbook

Uti-lizes

Utilize

Utilizes

Utilizes

Utilizes

Prod

uctd

e-sig

nde

scri

b-in

gpr

otot

ype

and

prod

uct

Uti-lizes

Uti-lizes

Uti-lizes

Pt.PAF.Sched-ules for

designingproduct*descrip-

tions

Pt.IVSchedules

for realizingwhite-boxand verify-ing* white/black-boxPt

.QBG

.Mas

-te

rsfo

rw

hite

-bo

xde

sign

Pt.Q

.Mas

ters

for

blac

k-bo

xre

quir

emen

ts

Pt.R.Sched -ules forspecify-

ing prod-uct* re-quire-ments Pt

.JW

.Mas

-te

rsfo

rw

hite

-bo

xpr

otot

ype

Re-fers

Re-fers

Re-fers

Re-fers

Re-fers

Pt. Own tailored technical development process schedule

D.Q. Process department

D. Developingorganizatio n

Prod

uct

M. Manufacturingorganizatio n

Buildingproduct

prototypefrom design

descrip-tions, and

verifying itaccording to

its designand require-

mentsDesign-

ing prod-uct fromrequire-ments

Specify-ing prod-

uct re-quire-ments Pr

oduc

tre-

quir

emen

tsde

-sc

ribin

gde

sign

Specialized world widemethodologies

Concretizedmethodolog ies(by experience)

SpecializedCpdm

P.n. World wide availableproduct development methodologies

Gove

rn

Govern

Govern

Govern

Gove

rn

Govern

Environment outside the development organization

P. Cpdm.Complex product

development model

Productmanufactur-

ing valuechain

Prod

uct

prot

otyp

e

Other de-scription s

Thisbook

Uti-lizes

Utilize

Utilizes

Utilizes

Utilizes

Prod

uctd

e-sig

nde

scri

b-in

gpr

otot

ype

and

prod

uct

Uti-lizes

Uti-lizes

Uti-lizes

Pt.PAF.Sched-ules for

designingproduct*descrip-

tions

Pt.IVSchedules

for realizingwhite-boxand verify-ing* white/black-boxPt

.QBG

.Mas

-te

rsfo

rw

hite

-bo

xde

sign

Pt.Q

.Mas

ters

for

blac

k-bo

xre

quir

emen

ts

Pt.R.Sched -ules forspecify-

ing prod-uct* re-quire-ments Pt

.JW

.Mas

-te

rsfo

rw

hite

-bo

xpr

otot

ype

Re-fers

Re-fers

Re-fers

Re-fers

Re-fers

Page 20: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 20

P. Cpdm generic development scheduleP. Cpdm generic development schedule

• Both market and technical development

• From idea to established product

• Suppliers included

• Both market and technical development

• From idea to established product

• Suppliers included

P. Cpdm generic development schedule

ExternalSuppliers

Pa.S

tudy

stra

tegy

Pb.R

oad

map

Pl.P

roto

-ty

pede

tails

Pj.S

tudy

conc

epts

Pc.P

lan

port

folio

Pn.R

esea

rch

mar

ket

Po.C

usto

m-

erha

bits

Pe.R

e-us

epla

n

Pm.P

artia

lpr

otot

ypes

Pk.C

on-

cept

brie

f

Pf.S

tudy

busin

ess

Ph.P

lan

prod

ucts

Pi.P

rodu

ctpr

opos

ition

Pg.B

usi-

ness

case

Pd.P

ortf

olio

prop

ositi

on

Py.L

aunc

hpr

oduc

t

Pr.V

alid

ate

prot

otyp

e

Pw.R

amp

uppr

oduc

tion

Px.N

ull

serie

s

Pv.P

rodu

ctio

nco

mpo

nent

sPs

.Val

idat

edpr

otot

ype Pz

.Mar

ket

cond

ition

s

Q.E

stab

lishe

dpr

oduc

t

Pu.V

erifi

edpr

otot

ype

Pq.P

rom

o-tio

nm

ater

ial

Pö.F

inal

ize

prod

uct

Pp.P

rom

ote

cam

paig

ns

Xd.

Item

sfor

ship

ping

Xe.

Prov

ide

com

pone

nts

Xb.

Sam

ple

cata

logu

es Xc.

Dev

elop

turn

key

item

s

Xa.P

rovi

desa

m-

ples

off-t

he-s

helv

es

Pt.Cpdm gener ic

technical schedule

P. Cpdm generic development schedule

ExternalSuppliers

Pa.S

tudy

stra

tegy

Pb.R

oad

map

Pl.P

roto

-ty

pede

tails

Pj.S

tudy

conc

epts

Pc.P

lan

port

folio

Pn.R

esea

rch

mar

ket

Po.C

usto

m-

erha

bits

Pe.R

e-us

epla

n

Pm.P

artia

lpr

otot

ypes

Pk.C

on-

cept

brie

f

Pf.S

tudy

busin

ess

Ph.P

lan

prod

ucts

Pi.P

rodu

ctpr

opos

ition

Pg.B

usi-

ness

case

Pd.P

ortf

olio

prop

ositi

on

Py.L

aunc

hpr

oduc

t

Pr.V

alid

ate

prot

otyp

e

Pw.R

amp

uppr

oduc

tion

Px.N

ull

serie

s

Pv.P

rodu

ctio

nco

mpo

nent

sPs

.Val

idat

edpr

otot

ype Pz

.Mar

ket

cond

ition

s

Q.E

stab

lishe

dpr

oduc

t

Pu.V

erifi

edpr

otot

ype

Pq.P

rom

o-tio

nm

ater

ial

Pö.F

inal

ize

prod

uct

Pp.P

rom

ote

cam

paig

ns

Xd.

Item

sfor

ship

ping

Xe.

Prov

ide

com

pone

nts

Xb.

Sam

ple

cata

logu

es Xc.

Dev

elop

turn

key

item

s

Xa.P

rovi

desa

m-

ples

off-t

he-s

helv

es

Pt.Cpdm gener ic

technical schedule

Page 21: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 21

VersionVersion

• Designated by : (the colon letter)• Used for

• Separate creations from one common

• Gradually extensions (life cycle status)

• Inheritance from common

• Designated by : (the colon letter)• Used for

• Separate creations from one common

• Gradually extensions (life cycle status)

• Inheritance from common

Unify / diversifyUnify / diversify

Commonartefac t

Artefac t: variant 1

Artefac t: variant 2

Extend Extend Extend ExtendExtend

Architecture

Arc

hite

ctur

e:c

reat

ed

Arc

hite

ctur

e:d

raft

Arc

hite

ctur

e:r

eview

ed

Arc

hite

ctur

e:c

orre

cted

Arc

hite

ctur

e:a

ppro

ved

Unify / diversifyUnify / diversify

Commonartefac t

Artefac t: variant 1

Artefac t: variant 2

Extend Extend Extend ExtendExtend

Architecture

Arc

hite

ctur

e:c

reat

ed

Arc

hite

ctur

e:d

raft

Arc

hite

ctur

e:r

eview

ed

Arc

hite

ctur

e:c

orre

cted

Arc

hite

ctur

e:a

ppro

ved

Page 22: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 22

Pt:1. Cpdm generic elementary technical schedulePt:1. Cpdm generic elementary technical schedule

• Version 1 of technical schedule

• For modest complex products

• Version 1 of technical schedule

• For modest complex products

Pt:1. Cpdm generic elementary technical schedule

Pt.P

.Pr

edet

erm

ine

solu

tions

& su

p-pl

iers

Pt.A

.De

sign

arch

i-te

ctur

esPt

.B.

Arc

hite

ctur

es

Pt.F

.Fi

naliz

edes

ign

&re

quis

ites

Pt.Q

.So

lutio

nan

dsu

pplie

rs

Pt.I.

Inte

grat

ew

hite

-box

Pt.G

.Fi

naliz

edde

sign

and

requ

isite

s

Pt.J

.W

hite

-box

finish

repo

rt

Pt.S

.R

equi

rem

ents

Pt.R. Specifyblack-box phase

Pt.R

.Sp

ecify

re-

quir

emen

ts

Pt.V

.Ve

rify

whi

te-a

ndbl

ack-

box

Pu.

Veri

fied

prot

otyp

e

Pt.PAF. Design white-box phases

Pt.IV. Realize white-box andverify white/black- box phase

Pt:1. Cpdm generic elementary technical schedule

Pt.P

.Pr

edet

erm

ine

solu

tions

& su

p-pl

iers

Pt.A

.De

sign

arch

i-te

ctur

esPt

.B.

Arc

hite

ctur

es

Pt.F

.Fi

naliz

edes

ign

&re

quis

ites

Pt.Q

.So

lutio

nan

dsu

pplie

rs

Pt.I.

Inte

grat

ew

hite

-box

Pt.G

.Fi

naliz

edde

sign

and

requ

isite

s

Pt.J

.W

hite

-box

finish

repo

rt

Pt.S

.R

equi

rem

ents

Pt.R. Specifyblack-box phase

Pt.R

.Sp

ecify

re-

quir

emen

ts

Pt.V

.Ve

rify

whi

te-a

ndbl

ack-

box

Pu.

Veri

fied

prot

otyp

e

Pt.PAF. Design white-box phases

Pt.IV. Realize white-box andverify white/black- box phase

Page 23: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 23

Scaling up technical scheduleScaling up technical schedule

• Scale up process according to architecture hierarchy

• Environment level n = 0 is the surrounding to product

• Product level n = 1 is the product to be developed

• Product embedded levels n > 1 are hierarchical parts inside the product product

• Scale up process according to architecture hierarchy

• Environment level n = 0 is the surrounding to product

• Product level n = 1 is the product to be developed

• Product embedded levels n > 1 are hierarchical parts inside the product product

Pt:2. Cpdm generic advanced technical schedule

Pt.0. Map environment and develop interfaces to outmost black-box

Specify re-quirements

Pt1. Develop outmost white-box and each inwards embed ded white-boxe s

Predeterminesolutions &suppliers

Design ar-chitectu res

Finalizedesign &requisites

Integratewhite-box

Verifywhite- andblack-box

Ptn. Develop each innermost white-boxes containing no black-boxes

Inner

most

level

nOu

termo

stlev

eln=

1En

viron

ment

level

n=0

Pu.

Pt.1

.W.

Pt.n

.W.

Pt.0

.R.

Pt.0

.S.

Pt.0

.P.

Pt.0

.Q.

Pt.0

.A.

Pt.0

.B.

Pt.0

.F.

Pt.0

.G.

Pt.0

.I.

Pt.0

.J. Pt

.0.V

.

Pt.1

.R.

Pt.1

.S.

Pt.1

.P.

Pt.1

.Q.

Pt.1

.A.

Pt.1

.B.

Pt.1

.F.

Pt.1

.G.

Pt.1

.I.

Pt.1

.J. Pt

.1.V

.

Pt.n

.R.

Pt.n

.S.

Pt.n

.P.

Pt.n

.Q.

Pt.n

.A.

Pt.n

.B.

Pt.n

.F.

Pt.n

.G.

Pt.n

.I.

Pt.n

.J. Pt

.n.V

.

Phase p = R, phase p = P, phase p = A, phase p = F, phase p = I, phase p = VPt:2. Cpdm generic advanced technical schedule

Pt.0. Map environment and develop interfaces to outmost black-box

Specify re-quirements

Pt1. Develop outmost white-box and each inwards embed ded white-boxe s

Predeterminesolutions &suppliers

Design ar-chitectu res

Finalizedesign &requisites

Integratewhite-box

Verifywhite- andblack-box

Ptn. Develop each innermost white-boxes containing no black-boxes

Inner

most

level

nOu

termo

stlev

eln=

1En

viron

ment

level

n=0

Pu.

Pt.1

.W.

Pt.n

.W.

Pt.0

.R.

Pt.0

.S.

Pt.0

.P.

Pt.0

.Q.

Pt.0

.A.

Pt.0

.B.

Pt.0

.F.

Pt.0

.G.

Pt.0

.I.

Pt.0

.J. Pt

.0.V

.

Pt.1

.R.

Pt.1

.S.

Pt.1

.P.

Pt.1

.Q.

Pt.1

.A.

Pt.1

.B.

Pt.1

.F.

Pt.1

.G.

Pt.1

.I.

Pt.1

.J. Pt

.1.V

.

Pt.n

.R.

Pt.n

.S.

Pt.n

.P.

Pt.n

.Q.

Pt.n

.A.

Pt.n

.B.

Pt.n

.F.

Pt.n

.G.

Pt.n

.I.

Pt.n

.J. Pt

.n.V

.

Phase p = R, phase p = P, phase p = A, phase p = F, phase p = I, phase p = V

Page 24: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 24

References between levelsReferences between levels

• Outside-in is moving from the environment and inwards

• Inside-out is moving from embedded parts outwards environment

• Two ways of integration• Inside-out integration• Outside-in invasion and

inside-out consolidation

• Outside-in is moving from the environment and inwards

• Inside-out is moving from embedded parts outwards environment

• Two ways of integration• Inside-out integration• Outside-in invasion and

inside-out consolidation

Pt.0. Map environment and develop interfaces to outmost black-box

Ptn. Develop each innermost white-boxe s containing no black-boxes

Pt1. Develop outmost white-box and each inwards embedded white-boxes

Pt:2. Cpdm generic advanced technical schedule

Decomposeoutmost black-box

Integrateoutmost white-box

Refinerestrictions Anchor

outmostwhite-box

Capture outmostblack-boxrequirements

Invadeoutmost

white-box

Consolidateoutmost white/

black-box

Refinerequirements

Decomposeembedded black-box

Integrateembedded white-box

Anchorembeddedwhite-box

Capture embeddedblack-boxrequirements

Invadeembeddedwhite-box

Inside

-out

Outsi

de-in

Consolidateembedded white /

black-box

Pu.

Pt.1

.W.

Pt.0

.R.

Pt.0

.P.

Pt.0

.A.

Pt.0

.F.

Pt.0

.I.

Pt.0

.V.

Pt.0

.S.

Pt.0

.Q.

Pt.0

.B.

Pt.0

.G.

Pt.0

.J.

Pt.1

.R.

Pt.1

.P.

Pt.1

.A.

Pt.1

.F.

Pt.1

.I.

Pt.1

.V.

Pt.1

.S.

Pt.1

.Q.

Pt.1

.B.

Pt.1

.G.

Pt.1

.J.

Pt.n

.R.

Pt.n

.P.

Pt.n

.A.

Pt.n

.F.

Pt.n

.I.

Pt.n

.V.

Pt.n

.S.

Pt.n

.Q.

Pt.n

.B.

Pt.n

.G.

Pt.n

.J.

Pt.n

.W.

Pt.0. Map environment and develop interfaces to outmost black-box

Ptn. Develop each innermost white-boxe s containing no black-boxes

Pt1. Develop outmost white-box and each inwards embedded white-boxes

Pt:2. Cpdm generic advanced technical schedule

Decomposeoutmost black-box

Integrateoutmost white-box

Refinerestrictions Anchor

outmostwhite-box

Capture outmostblack-boxrequirements

Invadeoutmost

white-box

Consolidateoutmost white/

black-box

Refinerequirements

Decomposeembedded black-box

Integrateembedded white-box

Anchorembeddedwhite-box

Capture embeddedblack-boxrequirements

Invadeembeddedwhite-box

Inside

-out

Outsi

de-in

Consolidateembedded white /

black-box

Pu.

Pt.1

.W.

Pt.0

.R.

Pt.0

.P.

Pt.0

.A.

Pt.0

.F.

Pt.0

.I.

Pt.0

.V.

Pt.0

.S.

Pt.0

.Q.

Pt.0

.B.

Pt.0

.G.

Pt.0

.J.

Pt.1

.R.

Pt.1

.P.

Pt.1

.A.

Pt.1

.F.

Pt.1

.I.

Pt.1

.V.

Pt.1

.S.

Pt.1

.Q.

Pt.1

.B.

Pt.1

.G.

Pt.1

.J.

Pt.n

.R.

Pt.n

.P.

Pt.n

.A.

Pt.n

.F.

Pt.n

.I.

Pt.n

.V.

Pt.n

.S.

Pt.n

.Q.

Pt.n

.B.

Pt.n

.G.

Pt.n

.J.

Pt.n

.W.

Page 25: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 25

Pt:2 Generic advanced technical schedulePt:2 Generic advanced technical schedule

• Version 2 of technical schedule

• The primordial Cpdm schedule

• For definitely complex products

• Version 2 of technical schedule

• The primordial Cpdm schedule

• For definitely complex products W

hite/b

lack-b

oxlev

el1t

onEn

viron

ment

level

0

Capture embedded black-boxesrequirement s outside-in

Pt:2. Cpdm gener ic advanced technical schedule

Capture outmost black-box requirement s outside-in

Pt.0. Map environment and develop interfaces to outmost black-box

Ptn. Develop outmost white-box and each inwards embedded white-boxes

White-box(es) to be corrected

Integrate outmost white-box inside-out

Integrate embedded white-box inside-outAnchor embeddedwhite-box inside-out

Refine black-boxrequirements outside-in

Refine environmentrestrictions outside-in

Decompose outmostblack-box outside-in

Anchor outmost white-box inside-out

Decompose embeddedblack-box outside-in

Interface(s) to environment to be corrected

Pt.0.P.Demar-

cate prod-uct by en-vironmentinterfacesolutions

and suppli-er oppor-tunities

Pt.0.A.Consti-tute en-viron-mentarchi-tecture

Pt.0.F.Finalizedesign ofinterfaceconnec-tions toenviron-

ment

Pt.n.P.Prede-

terminesolu-

tions andsourcingoptions

Pt.n.A.Satisfy refinedrequirementsby decompos-ing black-boxfrom outward

level intowhite-box de-sign contain-ing possibleblack-boxes

Pt.n.F.Finalizedesign of

white-box withproductrequi-sites

Pt.n

.G.

Fina

lized

whi

te-b

oxw

ithpr

oduc

treq

uisit

es

Pt.0

.B.

Envi

ronm

enta

rchi

tec-

ture

swith

elem

ents

,in-

terf

aces

and

oute

r-m

ostb

lack

-box

Pt.n

.Q.

Alte

rnat

ive

solu

-tio

nsw

ithsu

ppli-

erop

port

uniti

es

Invade outmostwhite-box outside-in

Consolidate outmostwhite/black-box in-

Consolidate embeddedwhite/b lack-box

Pt.P. Predeterminesolutions & suppliers

Pt.A. Designarchitectures

Pt.F. Finalize de-sign & requisites

Pt.I. Integratewhite-box

Pt.V. Verify white-and black-box

Pt.0.

J:2.

Unu

sa-

blei

n-te

rfac

e

Pt.0.I.Realize

interfaceand inte-grate/in-vade out-

mostwhite-

box

Pt.n

.J:2

.U

nusa

-bl

ew

hite

-bo

x

Pt.n.I.Procure

items, linka-ble code andintegrate/in-vade inward-level black-

boxes to real-ize white-box

Pt.n

.W:1

.Ve

rifie

dw

hite

/bl

ack-

box

Pt.n

.W:2

.Pa

rtly

veri

-fie

dw

hite

-or

blac

k-b

ox

Pt.0

.W.

Part

lyve

r-ifi

edpr

o-to

type

Pu.

Veri

fied

prot

otyp

e

Phase p = R Phase p = P Phase p = A Phase p = F Phase p = I Phase p = V

Pt.n

.B.

Arc

hite

ctu

rew

hite

-bo

xw

ithm

ajor

ele-

men

tsan

dpo

ssib

lebe

-lo

w-le

velb

lack

-box

es

Invade embeddedwhite-box outside-in

Pt.R. Specify re-quirements

Pt.0.R.Exploreenviron-ment re-

stric-tions and

ensureenviron-

mentstaffing

Pt.n.R.Refine

this levelrequire-ments

from out-ward levelrequire-

ments andensure

this levelwhite-boxdevelop-

mentstaffing

Pt.0.V.Verifyproto-type inenvi-ron-ment

Pt.0

.J:1

.U

sabl

eint

erfa

cest

arte

dto

simu-

lato

ror

targ

eten

viro

nmen

t

Pt.0

.Sb.

Envi

ron-

men

tst

affin

gal

loca

tion

Pt.n.V.Verifywhite/black-

boxPt.n

.J:1

.C

ompl

eted

us-

able

whi

te-b

oxst

arte

din

host

,de

bugg

er,f

ix-

ture

orta

rget

Pt.n

.Sa.

Prio

ritiz

edre

quir

emen

tsPt

.n.S

b.W

hite

-box

staf

fing

allo

catio

nnP.Terms nA.Terms

0A.Terms

nF.Terms nI.Terms nV.Terms

0P.Terms 0F.Terms 0I.Terms 0V.Terms

Pt.0

.Sa.

Envi

ronm

ent

rest

rict

ions

Pt.0

.Q.

Alte

rnat

ive

solu

tions

for

inte

rfac

esto

envi

-ro

nmen

twith

supp

li-er

oppo

rtun

ities

Pt.0

.G.

Fina

lized

inte

rfac

esto

envi

ronm

entw

ithpr

oduc

treq

uisit

es

Whit

e/blac

k-box

level

1ton

Envir

onme

ntlev

el0

Capture embedded black-boxesrequirement s outside-in

Pt:2. Cpdm gener ic advanced technical schedule

Capture outmost black-box requirement s outside-in

Pt.0. Map environment and develop interfaces to outmost black-box

Ptn. Develop outmost white-box and each inwards embedded white-boxes

White-box(es) to be corrected

Integrate outmost white-box inside-out

Integrate embedded white-box inside-outAnchor embeddedwhite-box inside-out

Refine black-boxrequirements outside-in

Refine environmentrestrictions outside-in

Decompose outmostblack-box outside-in

Anchor outmost white-box inside-out

Decompose embeddedblack-box outside-in

Interface(s) to environment to be corrected

Pt.0.P.Demar-

cate prod-uct by en-vironmentinterfacesolutions

and suppli-er oppor-tunities

Pt.0.A.Consti-tute en-viron-mentarchi-tecture

Pt.0.F.Finalizedesign ofinterfaceconnec-tions toenviron-

ment

Pt.n.P.Prede-

terminesolu-

tions andsourcingoptions

Pt.n.A.Satisfy refinedrequirementsby decompos-ing black-boxfrom outward

level intowhite-box de-sign contain-ing possibleblack-boxes

Pt.n.F.Finalizedesign of

white-box withproductrequi-sites

Pt.n

.G.

Fina

lized

whi

te-b

oxw

ithpr

oduc

treq

uisit

es

Pt.0

.B.

Envi

ronm

enta

rchi

tec-

ture

swith

elem

ents

,in-

terf

aces

and

oute

r-m

ostb

lack

-box

Pt.n

.Q.

Alte

rnat

ive

solu

-tio

nsw

ithsu

ppli-

erop

port

uniti

es

Invade outmostwhite-box outside-in

Consolidate outmostwhite/black-box in-

Consolidate embeddedwhite/b lack-box

Pt.P. Predeterminesolutions & suppliers

Pt.A. Designarchitectures

Pt.F. Finalize de-sign & requisites

Pt.I. Integratewhite-box

Pt.V. Verify white-and black-box

Pt.0.

J:2.

Unu

sa-

blei

n-te

rfac

e

Pt.0.I.Realize

interfaceand inte-grate/in-vade out-

mostwhite-

box

Pt.n

.J:2

.U

nusa

-bl

ew

hite

-bo

x

Pt.n.I.Procure

items, linka-ble code andintegrate/in-vade inward-level black-

boxes to real-ize white-box

Pt.n

.W:1

.Ve

rifie

dw

hite

/bl

ack-

box

Pt.n

.W:2

.Pa

rtly

veri

-fie

dw

hite

-or

blac

k-b

ox

Pt.0

.W.

Part

lyve

r-ifi

edpr

o-to

type

Pu.

Veri

fied

prot

otyp

e

Phase p = R Phase p = P Phase p = A Phase p = F Phase p = I Phase p = V

Pt.n

.B.

Arc

hite

ctu

rew

hite

-bo

xw

ithm

ajor

ele-

men

tsan

dpo

ssib

lebe

-lo

w-le

velb

lack

-box

es

Invade embeddedwhite-box outside-in

Pt.R. Specify re-quirements

Pt.0.R.Exploreenviron-ment re-

stric-tions and

ensureenviron-

mentstaffing

Pt.n.R.Refine

this levelrequire-ments

from out-ward levelrequire-

ments andensure

this levelwhite-boxdevelop-

mentstaffing

Pt.0.V.Verifyproto-type inenvi-ron-ment

Pt.0

.J:1

.U

sabl

eint

erfa

cest

arte

dto

simu-

lato

ror

targ

eten

viro

nmen

t

Pt.0

.Sb.

Envi

ron-

men

tst

affin

gal

loca

tion

Pt.n.V.Verifywhite/black-

boxPt.n

.J:1

.C

ompl

eted

us-

able

whi

te-b

oxst

arte

din

host

,de

bugg

er,f

ix-

ture

orta

rget

Pt.n

.Sa.

Prio

ritiz

edre

quir

emen

tsPt

.n.S

b.W

hite

-box

staf

fing

allo

catio

nnP.Terms nA.Terms

0A.Terms

nF.Terms nI.Terms nV.Terms

0P.Terms 0F.Terms 0I.Terms 0V.Terms

Pt.0

.Sa.

Envi

ronm

ent

rest

rict

ions

Pt.0

.Q.

Alte

rnat

ive

solu

tions

for

inte

rfac

esto

envi

-ro

nmen

twith

supp

li-er

oppo

rtun

ities

Pt.0

.G.

Fina

lized

inte

rfac

esto

envi

ronm

entw

ithpr

oduc

treq

uisit

es

Page 26: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 26

Cpdm technical walkthroughwith examples

Cpdm technical walkthroughwith examples

for managers and developersfor managers and developers

Page 27: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 27

Pt:2 Generic advanced technical schedule wall chart(downloadable in high resolution from www.cpdm.com)Pt:2 Generic advanced technical schedule wall chart(downloadable in high resolution from www.cpdm.com)

• Used to facilitate navigation within the advanced technical process• Used to facilitate navigation within the advanced technical process

Whi

te/b

lack

-bo

x le

vel n

> 0

Envi

ronm

ent

leve

l n =

0

Pt0.A Constitute environment architecture

Unsatisfactory

Pt0.A

gEx

amin

epr

oduc

tco

ntex

tPt

0.Ac

Arr

ange

desig

nin

gred

ient

sand

iden

tify

blac

k-bo

x

Pt0.

Ab

Envi

ronm

enta

rchi

-te

ctur

ere

sum

é

Pt0.

Ad

Envi

ronm

entl

ogi-

cala

rchi

tect

ure

Pt0.

Ae

Layo

utph

ysic

alar

chite

ctur

e

Pt0.

Af

Envi

ronm

ent

phys

ical

arch

i-te

ctur

e

Ptn.A Satisfy refined requirements by decomposing black-box fromoutward level into white-bo x design containing possible black-boxes

Unsatisfactory

Ptn.

AgEx

amine

arch

itec-

ture

sPt

n.Ac

Arr

ange

desig

nin

-gr

edie

nts

and

iden

-tif

ypo

ssib

lebl

ack-

boxe

s

Ptn.

Ae

Layo

utph

ysic

alar

chite

ctur

e

Ptn.

BA

rchi

tect

urew

hite

-box

with

maj

orel

emen

tsan

dpo

ssib

lebe

low-

lev-

elbl

ack-

boxe

s

Refine require-ments top-down

Refine environ-ment restrictions

Capture outmost black-boxrequirements top-down

Decompose black-boxtop-down

Black-box tobe corrected

Environment interface tobe corrected

Capture black-boxes require-ments top-down

Decompose outmostblack-box top-down

Pt0.R Explore environment restrictionsand ensure environment staffing

Pt0.

SbEn

viro

nmen

tsta

ff-in

gal

loca

tion

Pt0.P Demarcate product by environment interfacesolutions and supplier opportunities

Unsatisfactory

Pt0.

Rb

Plan

deve

lop-

men

trol

esan

dpr

ovid

ers

Pt0.

Ra

Expl

ore

rest

rict

ions

Pt0:v.Tai-lored envi-ronmenttechnicalprocess

schedule

Ptn.P Predeterm ine solutionsand sourcing options

Unsatisfactory

Ptn.

Pa.

Try

satis

fyre

-qu

irem

ents

Ptn.

Pc.

Ana

lyse

mak

e-bu

yop

tions

Ptn.

Pe.

Exam

ine

mak

e-bu

yba

lanc

e

Ptn.

Ab

Arc

hite

ctu

rere

sum

é

0A.Terms0P.Terms

nP.Terms nA.Terms

Pt0.

Aa

Iden

tify

envi

ron-

men

tdes

ign

ingr

e-di

ents

Ptn.

AaId

entif

yw

hite

-bo

xde

sign

ingr

e-di

ents

Ptn.

Ad

Logi

cala

rchi

-te

ctur

e

Ptn.

Af

Phys

ical

ar-

chite

ctur

e

Ptn.

QA

ltern

ativ

eso

lu-

tions

with

supp

lier

oppo

rtun

ities

Ptn.

Pb.

Solu

tion

al-

tern

ativ

es

Xc.

Dev

elop

turn

-ke

yite

ms

Ptn.R Refine this level requirements from outward level requirementsand ensure this level white-box develop ment staffing

Unsatisfactory

Ptn.

Ra

Ref

inea

ndca

ptur

ere

quir

emen

ts

Ptn.

SaPr

iori

tized

requ

irem

ents

Ptn.RbBlack-box

requirements

Ptn.

Rbb

Beha

viou

r

Ptn.

Rba

Res

tric

tion

Ptn.

SbW

hite

-box

staf

f-in

gal

loca

tion

Ptn.

RdEx

amine

auth

en-

ticity

Ptn.

Rc

Prio

ritiz

ere

quir

e-m

ents

Ptn.

RePl

ande

velo

p-m

entr

oles

and

prov

ider

sPtn:v.Tai-lored

white-boxtechnicalprocess

schedule

Ptn.

Pd.

Supp

lier

op-

port

uniti

es

Pt0.

BEn

viro

nmen

tarc

hite

c-tu

resw

ithele

men

ts,

inte

rfac

esan

dou

ter-

mos

tbla

ck-b

ox

Xa.

Prov

ide

sam

-pl

esfr

om-th

e-sh

elve

s

Xb.

Sam

ple

cat-

alog

ues

Pb.R

oad

map

Pm.P

artia

lpr

otot

ypes

Pk.C

on-

cept

brief

Pt0.

PaSa

tisfy

rest

ric-

tions

Pt0.

PeEx

amin

epr

oduc

tsc

ope

Pt0.

PcA

naly

sein

-out

and

mak

e-bu

yop

tions

Pt0.

PdEn

viro

nmen

tde-

mar

cate

dby

in-

terf

ace

solu

tions

with

supp

lier

op-

port

uniti

es

Pt0.

QA

ltern

ativ

eso

lutio

nsfo

rin

terf

aces

toen

vi-

ronm

entw

ithsu

ppli-

erop

port

uniti

es

Pt0.

PbIn

terf

aces

toen

vi-

ronm

ents

olut

ion

alte

rnat

ives

Yes

Black-box

? No

Yes

Black-box

? No

Catal

yses

Exem

plifie

s

Deter

mine

s

Pe.R

e-us

epl

anPk

.Con

-ce

ptbr

ief

Pi.P

rodu

ctpr

opos

ition

Po.C

usto

m-

erha

bits

Pm.P

artia

lpr

otot

ypes

Pg.B

usi-

ness

case

Pt0.

SaEn

viro

nmen

tre

stri

ctio

ns

Realize black-boxesbottom-up

Realize prototypebottom-upFinalize outmost black-

box bottom-up

Finalize black-boxbottom-up

White-box(es) to becorrected

Environment interfaceto be corrected

Verify prototypebottom-up

Verify black-boxesbottom-up

Integrate prototypetop-down

Fill black-boxestop-down

Unsatisfactory

Ptn.

Vd

Veri

ficat

ion

repo

rt

Ptn.

VaD

evel

opte

stca

ses,

also

forf

ixtu

resa

ndde

bugg

er

Ptn.V Verify white- and black- box

Ptn.

VlPr

epar

epr

od-

uctm

anua

l

Ptn.

Vh

Veri

ficat

ion

blac

k-bo

xre

port

Ptn.

Vk

Failu

reel

imi-

natio

nre

port

Ptn.

ViLo

cate

fail-

ure

sour

ce

No

Yes

Ptn.

VjEx

amin

eve

rifyi

ngqu

ality

Ptn.

W:1

.Ve

rifie

dw

hite

-an

dbl

ack-

boxPt

n.V

mM

anua

ltab

leof

cont

entt

Ptn.

Vf

Veri

ficat

ion

whi

te-b

oxre

port

Ptn.VbTest case

Ptn.

Vba

Whi

te-b

oxte

stca

se

Morefailures

?

Ptn.

Vbb

Blac

k-bo

xte

stca

ses

Ptn.F Finalizedesign of white-box with prod-uct requisites

Unsatisfactory

Ptn.

FaFi

naliz

eele

men

tsan

din

terf

aces

Ptn.

FcA

ccou

ntfo

rde

-ve

lopm

ent,

real

i-za

tion

and

pro-

duct

ion

Ptn.

FeEx

amin

ere

quisi

tes

succ

essa

-bi

lity

Unsatisfactory

Pt0.

FaFi

naliz

edes

ign

ofin

terf

aces

toen

-vi

ronm

ent

Pt0.

FbFi

naliz

edde

sign

ofin

terf

aces

toen

vi- Pt

0.Fc

Acc

ount

for

de-

velo

pmen

t,re

al-

izat

ion

and

pro-

duct

ion

Pt0.

FeEx

amin

epr

otot

ype

fitne

ss

Pt0.F Finalizedesign of inter-

face connectionsto environment

Ptn.I Procure items, linkable code and embed/await in-ward-level black-boxes to realize white-box

Ptn.

IcRe

ceiv

edite

ms

devi

atio

nre

-po

rt Ptn.

IfW

hite

-box

inte

-gr

atio

nre

port

Ptn.

IhW

hite

-box

star

t-up

repo

rt

Unsatisfactory

Ptn.

J:2

Unu

sabl

ew

hite

-box

Ptn.

IiEx

amin

ein

tegr

atio

nro

bust

ness

Pt0.I Integrate prototype into environment

Pt0.

Ib.

Item

sand

linka

blec

ode

rece

ived

Pt0.

Ic.

Rec

eive

dite

ms

and

port

edco

dede

viat

ion

re-

port

Pt0.

If.

Prot

otyp

eco

m-

plet

ion

and

inte

-gr

atio

nre

port

Pt0.

Ih.

Prot

otyp

est

art-

upre

port

Pt0.

Id.

Com

plet

ean

dco

n-ne

ctpr

otot

ype

in-

terf

aces

toen

viro

n-m

ent

Unsatisfactory

Pt0.

Ia.

Obt

ain

item

sfor

inte

r-fa

ceto

envi

ronm

ent

and

port

edlin

kabl

eco

de Pt0.

J:1

Usa

ble

prot

otyp

est

arte

din

simul

ated

orta

rget

envi

ronm

ent

Pt0.

J:2

Unu

sabl

epr

otot

ype

Pt0.I

i.Ex

amin

epr

otot

ype

relia

bilit

y

Pt0.

Ig.

Star

tpro

to-

type

inen

vi-

ronm

ent

Pt0.

Ie.

Inte

rfac

esto

envi

ronm

ent

com

plet

ed

Pt0.V Verify prototype in environmen t

Unsatisfactory

Pt0.

Vc

Veri

fypr

otot

ype

infie

ldsim

ula-

tor

envi

ronm

ent

Pt0.

VeVe

rify

prot

o-ty

pein

targ

eten

viro

nmen

t

Pt0.

Vd

Sim

ulat

orve

ri-

ficat

ion

repo

rtPt

0.V

fVe

rific

atio

nin

targ

etre

port

NoMore

failures?

Yes

Pt0.

VjFi

naliz

epr

od-

uctm

anua

l

Pt0.

Vk

Prod

uct

man

ual

Pt0.

Vh

Exam

ine

prot

otyp

eco

mpl

ete-

ness

Pt0.

VgLo

cate

fail-

ure

sour

ce

Pt0.

Vi

Failu

reel

imi-

natio

nre

port

Pt0.

VaDe

velo

pfie

ldte

stca

ses,

for

targ

etor

simu-

lato

r

Pt0.

Vb

Fiel

dte

stca

s-es

,for

targ

etor

simul

ator

Pt0.

WPa

rtly

veri

fied

prot

otyp

ePu

.Ve

rifie

dpr

otot

ype

Ptn.

Vc

Verif

yw

hite

-an

dbl

ack-

boxe

s

Ptn.

Vg

Veri

fybl

ack-

box

Ptn.

VeVe

rify

whi

te-

box

Ptn.

IbIt

emsr

e-ce

ived

Ptn.

IdIn

tegr

ate

elem

ents

,in

clud

ing

linka

ble

code

and

embe

dded

blac

k-bo

xes

Ptn.

J:1

Com

plet

edus

able

whi

te-b

oxst

arte

din

host

,deb

ugge

r,fix

ture

orta

rget

Ptn.

IeW

hite

-box

prep

ared

Ptn.

IgSt

artu

pw

hite

-bo

x

Ptn.

IaO

btai

nite

msi

n-cl

udin

glin

kabl

eco

de

0F.Terms 0I.Terms

0V.Terms

nF.Terms nI.Terms

nV.Terms

Xd:

2.Tu

rnke

yfu

l-ly

desc

ribe

dso

urce

sys-

tem

Xd:

1.Fr

om-th

e-sh

elff

ully

de-

scri

beds

ourc

esy

stem

Xd:

4.Tu

rnke

yre

usab

leite

m

Xd:

3.Fr

om-th

e-sh

elf

reus

able

item

Ptn.

FdPr

oduc

treq

ui-

site

estim

ates

Ptn.

FfFi

naliz

eite

mpr

ocur

emen

tPt

0.Ff

Fina

lize

item

proc

urem

ent

Pt0.

FdPr

oduc

tre

quisi

te

Ptn.

EIn

hous

eleg

acy

sour

cesy

stem

s

Pt0.

GFi

naliz

edin

terf

aces

toen

viro

nmen

twith

prod

uctr

equi

sites

Ptn.

W:2

.Pa

rtly

veri

-fie

dwh

ite-o

rbl

ack-

box

Ptn.

FbFi

naliz

edde

sign

ofel

emen

tsan

din

terf

aces

Ptn.

GFi

naliz

edw

hite

-bo

xw

ithpr

oduc

tre

quisi

tes

Pt.R. Specify requirements

Pt.P. Predetermine solutions and suppliers

Pt.A. Design architectures

Pt.F. Finalize design and requisites

Pt.I. Integrate white-box

Pt.F. Verify white/black-box

Supp

liers

Page 28: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 28

EXAMPLE: Two chairsfrom idea to established productEXAMPLE: Two chairsfrom idea to established product

• Chairs product proposition• Chairs product proposition • Chairs concept brief• Chairs concept brief

Page 29: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 29

Value chain behind development of chairsValue chain behind development of chairs

• Chairs modest complexity need only informal value chain

• Value chain not yet captured as documented process

• Chairs modest complexity need only informal value chain

• Value chain not yet captured as documented process

Stud

ybu

sines

s

Plan

port

folio

Res

earc

hm

arke

t

Prom

ote

cam

paig

ns

Valid

ated

prot

otyp

e

Laun

chpr

oduc

t

Stud

yst

rate

gy

Fina

lize

prod

uct

Stud

yco

ncep

ts

Prot

otyp

ede

tails

Spec

ifyre

quir

emen

ts

Des

ign

arch

itect

ures

Fina

lize

desig

n &

requ

isite

s

Inte

grat

ew

hite

-box

Verif

yw

hite

-an

dbl

ack-

Ram

pup

prod

uctio

n

Pred

eter

min

eso

lutio

ns&

supp

liers

Plan

prod

ucts

Chair developme nt value chainBusiness

Techni que

Line and project management

Stud

ybu

sines

s

Plan

port

folio

Res

earc

hm

arke

t

Prom

ote

cam

paig

ns

Valid

ated

prot

otyp

e

Laun

chpr

oduc

t

Stud

yst

rate

gy

Fina

lize

prod

uct

Stud

yco

ncep

ts

Prot

otyp

ede

tails

Spec

ifyre

quir

emen

ts

Des

ign

arch

itect

ures

Fina

lize

desig

n &

requ

isite

s

Inte

grat

ew

hite

-box

Verif

yw

hite

-an

dbl

ack-

Ram

pup

prod

uctio

n

Pred

eter

min

eso

lutio

ns&

supp

liers

Plan

prod

ucts

Chair developme nt value chainBusiness

Techni que

Line and project management

Page 30: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 30

EXAMPLE: Single housefrom specification to verificationEXAMPLE: Single housefrom specification to verification

• House environment physical architecture

• House environment physical architecture

• House façade physical architecture

• House façade physical architecture

-E-5. Gas

-E-4. Electricity

-E-2. Water

-E-3. Sewage

-E-6. Driveway

-E-5. Gas

-E-4. Electricity

-E-2. Water

-E-3. Sewage

-E-6. Driveway

Page 31: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 31

Process tailored for house de-velopment

Process tailored for house de-velopment

• Tailored advanced technical4-level schedule (outside-in integration)

• High complexity due to large amount of pieces and details

• Tailored advanced technical4-level schedule (outside-in integration)

• High complexity due to large amount of pieces and details

Machinery white-box to be corrected

Room white-box to be corrected

House white-box to be corrected

Interfaces to environment to be corrected

Finalize inside-out Invade outside-in

Consolidate inside-out

Consolida te inside-out

Integrate inside-out

Pt.F. Finalize design & requisites Pt.I. Integrate white-box Pt.V. Verify white- and black-box

Invade outside-inFinalize inside-out

Finalize inside-out

Pt:2:2.3 .F.Finalize ma-chinery ele-ments andinterface swith prod-uct requi-

sites

Pt:2

:2.3

.GFi

naliz

edm

a-ch

iner

yw

hite

-bo

xwith

prod

uct

requ

isite

s Pt:2

:2.3.

W:1

.Ve

rifie

dm

a-ch

iner

yw

hite

/bla

ck-

boxe

s

Pt:2:2.3.I.Procure

machineryitems to

build ma-chinery

white-box

Pt:2:2.3.V.Verify

machin-ery

white/black-boxes

Pt:2

:2.3

.J:1

.C

ompl

eted

star

ted

ma-

chin

ery

whi

te-b

oxes

Pt:2:2

.3.J:2.

Uns

tart

-ab

lew

hite

-bo

x

Pt:2:

2.3.W

:2.Pa

rtly

veri

fied

whi

te/

blac

k-bo

x

Pt:2:2.2. F.Finalize

room ele-ments andinterface swith prod-uct requi-

sites

Pt:2:2.2.I.Procure room

items (andawait machin-

ery black-boxes) to

build roomwhite-box

Pt:2

:2.2

.GFi

naliz

edro

omw

hite

-box

with

prod

uctr

equi

-sit

es

Pt:2

:2.2

.J:1

.C

ompl

eted

usab

lero

omw

hite

-box

es

Pt:2:2

.2.J:2.

Unu

sa-

ble

whi

te-

box

Pt:2:2.2.V.Verifyroomwhite/black-boxes

Pt:2:

2.2.W

:2.Pa

rtly

veri

fied

white

/bl

ack-

box

Pt.0.F.Finalize de-sign of in-

terface con-nections to

environ-ment

Pt:2:2.1.F.Finalize

house ele-ments andinterfaceswith prod-uct requi-

sites

Pt:2:2.1.I.Procure

house items(and await

room black-boxes) to

build housewhite-box

Pt:2

:2.1

.GFi

naliz

edho

use

whi

te-b

oxw

ithpr

oduc

treq

ui-

sites

Pu.

Veri

fied

prot

o-ty

pe

Pt.0

.G.

Fina

lized

in-

terf

aces

toen

-vi

ronm

ent

with

prod

uct

requ

isite

s

Pt.0

.W.

Part

lyve

r-ifi

edpr

o-to

type

Pt.0

.J:2

.U

nusa

-bl

ein

-te

rfac

e

Pt.0.V.Verifyproto-type in

environ-ment

Pt.0.I.Realize

interfaceand inte-grate/in-vade out-

mostwhite-

box

Pt.0

.J:1

.Us

able

in-

terf

ace

star

ted

tosim

ulat

oror

targ

eten

vi-

ronm

ent

Pt:2:2

.1.J:2.

Unu

sa-

ble

whi

te-

box

Pt:2

:2.1.

J:1.

Com

plet

-ed

usab

leho

use

whi

te-b

ox

Pt:2:

2.1.W

:2.Pa

rtly

veri

fied

whi

te/

blac

k-bo

x

Pt:2:2.1.V.Verifyhousewhite/black-

box

Pt:2

:2.2.

W:1

.Ve

rifie

dro

omw

hite

/bl

ack-

boxe

s

Pt:2:

2.1.W

:1.Ve

rifie

dho

use

whi

te/

blac

k-bo

x

0F.Terms 0I.Terms

0V.Terms

1F.Terms 1I.Terms

1V.Terms

2F.Terms 2I.Terms

2V.Terms

3F.Terms 3I.Terms

3V.Terms

Yes

Yes

Yes

No

No

No

Envi

ronm

entl

evel

Pt0

Hou

sele

velP

t:2:2

.1R

oom

sle

velP

t:2:2

.2M

achi

nery

leve

lPt:2

:2.3

Refine environmentrestrictions Capture house

black-box requirements

Pt.R. Specify requirements Pt.P. Predetermine solutions& suppliers

Pt.A. Design architectures

Pt:2:2. Tailored advanced technical 4-level process schedule

Decompose room black-box

Decompose machinery black-box

Refine outmostrequirements

Refine mid-levelrequirements

Capture roomblack-box requirements

Capture machineryblack-box requirements

Black-box

?

Pt.0.A.Consti-tute en-viron-

ment ar-chitec-

ture

Pt.0

.Sa.

Envi

ron-

men

tre-

stri

ctio

ns Pt.0.P.Demar-

cate prod-uct by en-vironmentinterfacesolutions

and suppli-er oppor-tunities

Pt.0

.B.

Envi

ronm

enta

r-ch

itect

ures

with

elem

ents

,int

erfa

c-es

and

oute

rmos

tbl

ack-

box

Decompose house black-box

Pt.0

.Q.

Alte

rnat

ives

olut

ions

fori

nter

face

sto

envi

-ro

nmen

twith

supp

li-er

oppo

rtun

ities

Black-boxes

?

Pt:2:2.1. A.Satisfy houserequirement sby decompos-

ing house black-box into white-box design con-

taining roomblack-boxes

Pt:2

:2.1

.Sa.

Prio

ritiz

edho

use

re-

quir

emen

ts Pt:2:2.1. PPredeter-

minehouse so-

lutionsand sup-plier op-

portunities Pt:2

:2.1

.B.

Hou

sea

arch

itec-

ture

swith

maj

orel

emen

tsan

dro

ombl

ack-

boxe

s

Pt:2

:2.1

.Q.

Hou

seso

lutio

nal

-te

rnat

ives

and

sup-

plie

ropp

ortu

nitie

s

Black-boxes

?

Pt:2:2.2.A.Satisfy room re-quirements bydecomposing

room black-b ox-es into white-

box design con-taining machin-ery black-boxes

Pt:2

:2.2

.B.

Roo

ms

arch

itec-

ture

swith

maj

orel

-em

ents

and

ma-

chin

ery

blac

k-bo

xes

Pt:2

:2.2

.Q.

Roo

mso

lutio

nal

-te

rnat

ives

and

sup-

plie

rop

port

uniti

es

Pt:2:2.3. A.Satisfy machin-

eryrequirementsby decomposing

machineryblack-boxes into

white-box de-sign not contain -ing black-boxes

Pt:2

:2.3

.B.

Mac

hine

ryar

chi-

tect

ures

with

ma-

jore

lem

ents

butn

obl

ack-

boxe

s

Pt:2

:2.3

.Q.

Mac

hine

ry so

lutio

nal

tern

ativ

esan

dsu

p-pl

ier

oppo

rtun

ities

Pt.0.R.Exploreenviron-ment re-strictions

and ensureenviron-

ment staff-ing

Pt:2:2.1 .R.Refine house

require-ments from

environmentrestrictionsand ensure

house devel-opmen t staff-

ing

Pt:2:2.2.R.Refine room

require-ments fromhouse black-box and en-sure room

developmentstaffing

Pt:2

:2.2

.Sa.

Prio

ritiz

edro

omre

-qu

irem

ents Pt:2:2.2.P

Predeter-mine roomsolutionsand sup-plier op-portuni-

ties

Pt:2:2.3.R.Refine ma-chinery re-quirementsfrom roomblack-box-es and en-sure ma-

chinery de-velopment

staffing

Pt:2

:2.3

.Sa.

Prio

ritiz

edm

achi

nery

requ

irem

ents Pt:2:2.3.P

Predeter-mine ma-

chinery so-lutions and

supplieropportuni-

ties

Pt.0

.Sb.

Envi

ron-

men

tsta

ff-in

gal

loca

-tio

n

Pt:2

:2.1.

Sb.

Hou

sest

affin

gal

loca

tion

Pt:2

:2.2.

Sb.

Roo

mst

affin

gal

loca

tion

Pt:2

:2.3

.Sb.

Mac

hine

ryst

affin

gal

-lo

catio

n

0P.Terms 0A.Terms

1P.Terms 1A.Terms

2P.Terms 2A.Terms

3P.Terms 3A.Terms

Machinery white-box to be corrected

Room white-box to be corrected

House white-box to be corrected

Interfaces to environment to be corrected

Finalize inside-out Invade outside-in

Consolidate inside-out

Consolida te inside-out

Integrate inside-out

Pt.F. Finalize design & requisites Pt.I. Integrate white-box Pt.V. Verify white- and black-box

Invade outside-inFinalize inside-out

Finalize inside-out

Pt:2:2.3 .F.Finalize ma-chinery ele-ments andinterface swith prod-uct requi-

sites

Pt:2

:2.3

.GFi

naliz

edm

a-ch

iner

yw

hite

-bo

xwith

prod

uct

requ

isite

s Pt:2

:2.3.

W:1

.Ve

rifie

dm

a-ch

iner

yw

hite

/bla

ck-

boxe

s

Pt:2:2.3.I.Procure

machineryitems to

build ma-chinery

white-box

Pt:2:2.3.V.Verify

machin-ery

white/black-boxes

Pt:2

:2.3

.J:1

.C

ompl

eted

star

ted

ma-

chin

ery

whi

te-b

oxes

Pt:2:2

.3.J:2.

Uns

tart

-ab

lew

hite

-bo

x

Pt:2:

2.3.W

:2.Pa

rtly

veri

fied

whi

te/

blac

k-bo

x

Pt:2:2.2. F.Finalize

room ele-ments andinterface swith prod-uct requi-

sites

Pt:2:2.2.I.Procure room

items (andawait machin-

ery black-boxes) to

build roomwhite-box

Pt:2

:2.2

.GFi

naliz

edro

omw

hite

-box

with

prod

uctr

equi

-sit

es

Pt:2

:2.2

.J:1

.C

ompl

eted

usab

lero

omw

hite

-box

es

Pt:2:2

.2.J:2.

Unu

sa-

ble

whi

te-

box

Pt:2:2.2.V.Verifyroomwhite/black-boxes

Pt:2:

2.2.W

:2.Pa

rtly

veri

fied

white

/bl

ack-

box

Pt.0.F.Finalize de-sign of in-

terface con-nections to

environ-ment

Pt:2:2.1.F.Finalize

house ele-ments andinterfaceswith prod-uct requi-

sites

Pt:2:2.1.I.Procure

house items(and await

room black-boxes) to

build housewhite-box

Pt:2

:2.1

.GFi

naliz

edho

use

whi

te-b

oxw

ithpr

oduc

treq

ui-

sites

Pu.

Veri

fied

prot

o-ty

pe

Pt.0

.G.

Fina

lized

in-

terf

aces

toen

-vi

ronm

ent

with

prod

uct

requ

isite

s

Pt.0

.W.

Part

lyve

r-ifi

edpr

o-to

type

Pt.0

.J:2

.U

nusa

-bl

ein

-te

rfac

e

Pt.0.V.Verifyproto-type in

environ-ment

Pt.0.I.Realize

interfaceand inte-grate/in-vade out-

mostwhite-

box

Pt.0

.J:1

.Us

able

in-

terf

ace

star

ted

tosim

ulat

oror

targ

eten

vi-

ronm

ent

Pt:2:2

.1.J:2.

Unu

sa-

ble

whi

te-

box

Pt:2

:2.1.

J:1.

Com

plet

-ed

usab

leho

use

whi

te-b

ox

Pt:2:

2.1.W

:2.Pa

rtly

veri

fied

whi

te/

blac

k-bo

x

Pt:2:2.1.V.Verifyhousewhite/black-

box

Pt:2

:2.2.

W:1

.Ve

rifie

dro

omw

hite

/bl

ack-

boxe

s

Pt:2:

2.1.W

:1.Ve

rifie

dho

use

whi

te/

blac

k-bo

x

0F.Terms 0I.Terms

0V.Terms

1F.Terms 1I.Terms

1V.Terms

2F.Terms 2I.Terms

2V.Terms

3F.Terms 3I.Terms

3V.Terms

Yes

Yes

Yes

No

No

No

Envi

ronm

entl

evel

Pt0

Hou

sele

velP

t:2:2

.1R

oom

sle

velP

t:2:2

.2M

achi

nery

leve

lPt:2

:2.3

Refine environmentrestrictions Capture house

black-box requirements

Pt.R. Specify requirements Pt.P. Predetermine solutions& suppliers

Pt.A. Design architectures

Pt:2:2. Tailored advanced technical 4-level process schedule

Decompose room black-box

Decompose machinery black-box

Refine outmostrequirements

Refine mid-levelrequirements

Capture roomblack-box requirements

Capture machineryblack-box requirements

Black-box

?

Pt.0.A.Consti-tute en-viron-

ment ar-chitec-

ture

Pt.0

.Sa.

Envi

ron-

men

tre-

stri

ctio

ns Pt.0.P.Demar-

cate prod-uct by en-vironmentinterfacesolutions

and suppli-er oppor-tunities

Pt.0

.B.

Envi

ronm

enta

r-ch

itect

ures

with

elem

ents

,int

erfa

c-es

and

oute

rmos

tbl

ack-

box

Decompose house black-box

Pt.0

.Q.

Alte

rnat

ives

olut

ions

fori

nter

face

sto

envi

-ro

nmen

twith

supp

li-er

oppo

rtun

ities

Black-boxes

?

Pt:2:2.1. A.Satisfy houserequirement sby decompos-

ing house black-box into white-box design con-

taining roomblack-boxes

Pt:2

:2.1

.Sa.

Prio

ritiz

edho

use

re-

quir

emen

ts Pt:2:2.1. PPredeter-

minehouse so-

lutionsand sup-plier op-

portunities Pt:2

:2.1

.B.

Hou

sea

arch

itec-

ture

swith

maj

orel

emen

tsan

dro

ombl

ack-

boxe

s

Pt:2

:2.1

.Q.

Hou

seso

lutio

nal

-te

rnat

ives

and

sup-

plie

ropp

ortu

nitie

s

Black-boxes

?

Pt:2:2.2.A.Satisfy room re-quirements bydecomposing

room black-b ox-es into white-

box design con-taining machin-ery black-boxes

Pt:2

:2.2

.B.

Roo

ms

arch

itec-

ture

swith

maj

orel

-em

ents

and

ma-

chin

ery

blac

k-bo

xes

Pt:2

:2.2

.Q.

Roo

mso

lutio

nal

-te

rnat

ives

and

sup-

plie

rop

port

uniti

es

Pt:2:2.3. A.Satisfy machin-

eryrequirementsby decomposing

machineryblack-boxes into

white-box de-sign not contain -ing black-boxes

Pt:2

:2.3

.B.

Mac

hine

ryar

chi-

tect

ures

with

ma-

jore

lem

ents

butn

obl

ack-

boxe

s

Pt:2

:2.3

.Q.

Mac

hine

ry so

lutio

nal

tern

ativ

esan

dsu

p-pl

ier

oppo

rtun

ities

Pt.0.R.Exploreenviron-ment re-strictions

and ensureenviron-

ment staff-ing

Pt:2:2.1 .R.Refine house

require-ments from

environmentrestrictionsand ensure

house devel-opmen t staff-

ing

Pt:2:2.2.R.Refine room

require-ments fromhouse black-box and en-sure room

developmentstaffing

Pt:2

:2.2

.Sa.

Prio

ritiz

edro

omre

-qu

irem

ents Pt:2:2.2.P

Predeter-mine roomsolutionsand sup-plier op-portuni-

ties

Pt:2:2.3.R.Refine ma-chinery re-quirementsfrom roomblack-box-es and en-sure ma-

chinery de-velopment

staffing

Pt:2

:2.3

.Sa.

Prio

ritiz

edm

achi

nery

requ

irem

ents Pt:2:2.3.P

Predeter-mine ma-

chinery so-lutions and

supplieropportuni-

ties

Pt.0

.Sb.

Envi

ron-

men

tsta

ff-in

gal

loca

-tio

n

Pt:2

:2.1.

Sb.

Hou

sest

affin

gal

loca

tion

Pt:2

:2.2.

Sb.

Roo

mst

affin

gal

loca

tion

Pt:2

:2.3

.Sb.

Mac

hine

ryst

affin

gal

-lo

catio

n

0P.Terms 0A.Terms

1P.Terms 1A.Terms

2P.Terms 2A.Terms

3P.Terms 3A.Terms

Page 32: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 32

EXAMPLE: In cuddly toy mounted multiplication toy,realized by hardwired network and micro controllerEXAMPLE: In cuddly toy mounted multiplication toy,realized by hardwired network and micro controller

• Physical architecture of environment

• Physical architecture of environment

• Physical architecture of housing• Physical architecture of housing

120

34 5 67891011

12131415

120

34 5 6 78910

1112131415

120

34 5 67891011

12131415

120

34 5 6 78910

1112131415

Multiplication toy

Environment

Page 33: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 33

EXAMPLE: Calculator software component calc_logicported to Windows application and standalone deviceEXAMPLE: Calculator software component calc_logicported to Windows application and standalone device

• Calc_logic environment in Windows physical architecture

• Calc_logic environment in Windows physical architecture

• Calc_logic environment in pocket calculator physical architecture

• Calc_logic environment in pocket calculator physical architecture

Page 34: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 34

EXAMPLE: Phonebook software object oriented programEXAMPLE: Phonebook software object oriented program

• Phonebook environment physical architecture

• Phonebook environment physical architecture

• Phonebook physical file architecture• Phonebook physical file architecture

ph_book_dyn_inst.cc p#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

A. Phone-book

E. Phone-book environment

#include "stdafx.h"#include <iostream>#include <conio.h>using namespace std;#include "ph_book_main_interface.h"int main(int argc, char* argv[]){}

main_f.cpp

pers_c.key_ pers_f.cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

pers_c.disp_pers_f.cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

pers_c.read_pers_f.cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

pers_c.write_per s_f.cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

ph_numb_c.key_ ph_numb_f.cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

ph_numb_c.disp_ph_numb_f.cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

ph_numb_c.read_ph_numb_f.cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

ph_numb_c.write_numb_f.cp p#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

cont_c.key_cont_f.cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

cont_c. disp_cont_f.cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

cont_c.read_cont_f.cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

cont_c.write_cont _f.cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

ph_book_c.ph_book_c.ccp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

ph_book_c.key_add_cont_f. cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

ph_book_c.disp_all_cont_f.cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

ph_book_c.delete_cont_f. cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

ph_book_c.~p h_book_c.cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

support_functions.cpp#include "stdafx.h"#include "support_f.h"char *truncate_nl char*target_s, int max_len_i){}

#include "stdafx.h"#include <iostream>#include <conio.h>

ph_book_ext_libraries.h

#include "support_f.h"#include "pers_c.h"#include "ph_numb_c.h"#include "cont_c.h"#include "ph_book_c.h"

ph_book_restrictions .h

ph_book_interfaces.h

ph_book_aliases_ etc.h

built-in libraries header files

stdafx.h

ph_book_main_interface. h

support_ f.h

pers_c.h

ph_numb_c.h

cont_c.h

ph_book_c.h

stdafx.cpp#include "stdafx.h"

ph_book_dyn_inst.cc p#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

A. Phone-book

E. Phone-book environment

#include "stdafx.h"#include <iostream>#include <conio.h>using namespace std;#include "ph_book_main_interface.h"int main(int argc, char* argv[]){}

main_f.cpp

pers_c.key_ pers_f.cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

pers_c.disp_pers_f.cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

pers_c.read_pers_f.cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

pers_c.write_per s_f.cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

ph_numb_c.key_ ph_numb_f.cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

ph_numb_c.disp_ph_numb_f.cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

ph_numb_c.read_ph_numb_f.cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

ph_numb_c.write_numb_f.cp p#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

cont_c.key_cont_f.cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

cont_c. disp_cont_f.cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

cont_c.read_cont_f.cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

cont_c.write_cont _f.cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

ph_book_c.ph_book_c.ccp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

ph_book_c.key_add_cont_f. cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

ph_book_c.disp_all_cont_f.cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

ph_book_c.delete_cont_f. cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

ph_book_c.~p h_book_c.cpp#include "ph_book_ext_libraries.h"#include "ph_book_restrictions.h"#include "ph_book_interfaces.h"#include "ph_book_aliases_etc.h"

support_functions.cpp#include "stdafx.h"#include "support_f.h"char *truncate_nl char*target_s, int max_len_i){}

#include "stdafx.h"#include <iostream>#include <conio.h>

ph_book_ext_libraries.h

#include "support_f.h"#include "pers_c.h"#include "ph_numb_c.h"#include "cont_c.h"#include "ph_book_c.h"

ph_book_restrictions .h

ph_book_interfaces.h

ph_book_aliases_ etc.h

built-in libraries header files

stdafx.h

ph_book_main_interface. h

support_ f.h

pers_c.h

ph_numb_c.h

cont_c.h

ph_book_c.h

stdafx.cpp#include "stdafx.h"

Page 35: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 35

• Tailored advanced technical 2-level schedule (inside-out integration)

• Used in examples where product size is not the complexity

• Cpdm simplest advanced technical schedule (one black-box)

Process tailored for multiplication toy, calc-logic reusable component and phonebook softwareProcess tailored for multiplication toy, calc-logic reusable component and phonebook software

Leve

lPtn

=0

Leve

lPtn

=1

Pt.0. Map environment and develop interfaces to outmost black-box

Pt:23.1. Develop the outmost white-box

Pt:2:3. Tailored advanced technical 2-level schedule

Refine environ-ment restrictions

Capture outmost black-box requiremen ts

Decompose out-most black-box

Finalize interfaces toenvironment

Integrateprototype

Black-box to be corrected

Interfaces to environment to be corrected

Pt.0.A.Consti-tute en-viron-

ment ar-chitec -

ture

Pt.0.P.Demar-

cate prod-uct by en-vironmentinterfac esolutions

and suppli-er oppor-tunities

Pt.0.F.Finalizedesign of

inter-face con-nectionsto envi-ronment

Pt:2:3.1.PPredeter-mine solu-tions andsupplieropportu-

nities Pt:2

:3.1

.GFi

naliz

edw

hite

-bo

xw

ithpr

oduc

tre

quisi

tes

Pt:2

:3.1

.B.

Arc

hite

ctu

rew

hite

-bo

xw

ithm

ajor

ele-

men

tsbu

tno

belo

w-

level

blac

k-bo

xesPt:2:3.1.A.

Satisfy re-fined require-ments by de-composing

outmost black-box to white-

box designcontaining noblack-boxes

Pt:2:3.1.F.Finalizeelement s

and inter-faces withproduct

requisitesPt:2

:3.1

.Q.

Solu

tion

alte

rna-

tives

and

supp

li-er

oppo

rtun

ities

Pt.0

.B.

Envi

ronm

enta

r-ch

itect

ures

with

el-

emen

ts,i

nter

face

san

dou

term

ost

blac

k-bo

x

Pt.0.R.Exploreenviron-ment re-strictions

and ensureenviron-

ment staff-ing

Pt:2:3.1 .R.Refine en-vironmentrestrictionsto outmostblack-boxand ensurewhite-boxdevelop -

ment staff-ing

Pt:2

:3.1

.Sa.

Prio

ritiz

edre

quir

e-m

ents

Pt0.

SaEn

viro

n-m

entr

e-st

rict

ions

Pu.

Veri

fied

prot

o-ty

pe

Pt.0

.W.

Part

lyve

r-ifi

edpr

o-to

type

Pt.0

.J:1

.U

sabl

eint

erfa

cest

arte

dto

simu-

lato

ror

targ

eten

viro

nmen

t

Pt.0

.J:2

.U

nusa

-bl

ein

-te

rfac

e

Pt.0.I.Realize

interfaceand inte-grate/ in-vade out-

mostwhite-

box

PPt.0.V.

Verifyproto-type inenvi-ron-

Pt:2

:3.1

.J:1

.C

ompl

eted

star

t-ed

whi

te-b

oxin

targ

et,f

ixtu

reor

debu

gger

Pt:2

:3.1

.W:2

.Pa

rtly

veri

-fie

dw

hite

/bl

ack-

box

Pt:2:

3.1.W

:1.Ve

rifie

dw

hite

/bl

ack-

box

Pt:2:3

.1.J:2.

Uns

tart

-ab

lew

hite

-bo

x

Pt:2:3.1.V.Verifywhite/black-

boxPt

0.Sb

Envi

ron-

men

t sta

ff-in

gal

loca

-tio

nPt:2:3.1.I.Procure

items andlinkablecode torealizewhite-

box

Pt:2

:3.1.

Sb.

Whi

te-b

oxst

affin

gal

-lo

catio

n

Pt.0

.Q.

Alte

rnat

ive

solu

tions

for

inte

rfac

esto

envi

-ro

nmen

twith

supp

li-er

oppo

rtun

ities

Pt.0

.G.

Fina

lized

inte

rfac

esto

envi

ronm

entw

ithpr

oduc

treq

uisit

es

0P.Terms 0A.Terms 0F.Terms 0I.Terms

0V.Terms

1P.Terms 1A.Terms 1F.Terms 1I.Terms

1V.Terms

Pt.R. Specify require-ments

Pt.P. Predeterminesolutions & suppliers

Pt.A. Designarchitectu res

Pt.F. Finalize design& requisites

Pt.I. Integratewhite-box

Pt.V. Verify white- andblack-box

Page 36: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 36

Process tailored for calc_logic to illustrate portingProcess tailored for calc_logic to illustrate porting

n = 2

n = 1

n = 0

Pt:2:1. Tailored advanced technical 3-level process overal l V-schedule

Pt.0.

S.Pt

.0.R.

Pt.0.

P.

Pt.0.

A.

Pt.1.

S.Pt

.1.R.

Pt.n

.Q.

Pt.0

.B.

Pt.1.

P.

Pt.1.

A.Pt

.1.Q

.

Pt.1.

B.

Pt.2.

S.Pt

.2.R.

Pt.2.

P.

Pt.2.

A.

Pt.2.

Q.

Pt.2

.B.

Pt.2.

F.Pt

.2.G.

Pt.2.

I.Pt

.2.J.

Pt.2

.V.

Pt.2.

W.

Pt.1.

F.Pt

.1.G.

Pt.1.

I.Pt

.1.J.

Pt.1.

V.Pt

.1.W

.Pt

.0.F.

Pt.0.

G.

Pt.0.

I.Pt

.0.J.

Pt.0.

V.Pu

.

n = 2

n = 1

n = 0

Pt:2:1. Tailored advanced technical 3-level process overal l V-schedule

Pt.0.

S.Pt

.0.R.

Pt.0.

P.

Pt.0.

A.

Pt.1.

S.Pt

.1.R.

Pt.n

.Q.

Pt.0

.B.

Pt.1.

P.

Pt.1.

A.Pt

.1.Q

.

Pt.1.

B.

Pt.2.

S.Pt

.2.R.

Pt.2.

P.

Pt.2.

A.

Pt.2.

Q.

Pt.2

.B.

Pt.2.

F.Pt

.2.G.

Pt.2.

I.Pt

.2.J.

Pt.2

.V.

Pt.2.

W.

Pt.1.

F.Pt

.1.G.

Pt.1.

I.Pt

.1.J.

Pt.1.

V.Pt

.1.W

.Pt

.0.F.

Pt.0.

G.

Pt.0.

I.Pt

.0.J.

Pt.0.

V.Pu

.

• Tailored advanced technical 3-level process V-schedule (inside-out integration)

• Good overview and more true to calendar

Page 37: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 37

Specify requirements

Specify requirements

Are we getting a bit desperate?Are we getting a bit desperate?

Page 38: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 38

Protect requirementsProtect requirements

• Convey requirements from customers into core technical development

• Without requirements being distorted

• Convey requirements from customers into core technical development

• Without requirements being distorted

Customerorientedrequire-ments

Marketingdepart mentCustomers

Development departments

Mostinfluentialtechnician s

Company developing products

Customerorientedrequire-ments

Marketingdepart mentCustomers

Development departments

Mostinfluentialtechnician s

Company developing products

Page 39: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 39

• Develop (preferably inhouse)

• Tailor a process• Specify

environment restrictions

• Specify staff allocations

• Provide restrictions to potential suppliers

Pt.0.R. Explore environment restrictions and ensure environment staffing

Pt.0.R. Explore environment restrictions and ensure environment staffing

Pt.0.R. Explore environment restric-tions and ensure environment staffing

Pt.0

.Ra.

Expl

ore

re-

stri

ctio

ns

Pt.0

.Sa.

Envi

ronm

ent

restr

ictio

ns

Pt.0

.Rb.

Plan

deve

lop-

men

trol

esan

dpr

ovid

ersPt.0:v.

Tailoredenvironment

technicalprocess

schedule Pt.0

.Sb.

Envi

ronm

ent

staf

fing

allo

-ca

tion

Xc.

Dev

elop

turn

-ke

yite

ms

Pe.R

e-us

epl

anPk

.Con

-ce

ptbr

ief

Pi.P

rodu

ctpr

opos

ition

Po.C

usto

m-

erha

bits

Pm.P

artia

lpr

otot

ypes

Pg.B

usi-

ness

cas

e

Pb.R

oad

map

Pt.0.R. Explore environment restric-tions and ensure environment staffing

Pt.0

.Ra.

Expl

ore

re-

stri

ctio

ns

Pt.0

.Sa.

Envi

ronm

ent

restr

ictio

ns

Pt.0

.Rb.

Plan

deve

lop-

men

trol

esan

dpr

ovid

ersPt.0:v.

Tailoredenvironment

technicalprocess

schedule Pt.0

.Sb.

Envi

ronm

ent

staf

fing

allo

-ca

tion

Xc.

Dev

elop

turn

-ke

yite

ms

Pe.R

e-us

epl

anPk

.Con

-ce

ptbr

ief

Pi.P

rodu

ctpr

opos

ition

Po.C

usto

m-

erha

bits

Pm.P

artia

lpr

otot

ypes

Pg.B

usi-

ness

cas

e

Pb.R

oad

map

Page 40: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 40

EXAMPLE: Calc_logic environment restrictionsEXAMPLE: Calc_logic environment restrictions

• Calc_logic reusable software component have two environments• Windows application and pocket calculator

• Calc_logic reusable software component have two environments• Windows application and pocket calculator

calc_logic environment (pocket calculator firmware)environment restrictionsEnvironment restriction

E. RR.1. To fit market cost of an affordable and everyday calculator, the number of buttonsshall be maximum 16.

E. RR.2. To fit market cost of an affordable calculator, the stand alone calculator displayshall hold maximum 8 digits.

E. RR.3. Micro processors for micro controllers has rarely on-chip or external chip supportfor mathematical arithmetic.

E. RR.4. Standard compilers to micro controller seldom have support for extensive mathe-matical arithmetic, but there are some micro controller compilers with floating pointlibrary support for float variables (~ 7 digits).

E. RR.5. Mathematical software libraries for micro processors can be inhouse developed oroutsourced tailor made, and for some micro processors portable libraries are avail-able from third party shelves.

E. RR.6. For proper reusability, calc_logic software must be able to integrate and interfaceother software, prepared by compiler and assembler development systems forwidely available cheap micro controllers

calc_logic environment (Windows calculator application)environment restrictionsEnvironment restriction

E. RR.7. Since a window screen can hold almost as many buttons as desired, a largeamount of buttons shall be possible.

E. RR.8. Since a window screen field can show almost as many alpha-numeric charactersas desired, the floating point precision shall be as high as possible and the dis-play shall be able to show all accurate digits.

E. RR.9. If a math coprocessor is available in the computer, it may be used to heighten cal-culation speed. However, the calculating software shall also function in comput-ers without math coprocessor.

E. RR.10. There is a lot of compilers for windows, having a lot of different kind of mathemat-ical calculation support. Standard Windows C compiler with library supports hasfloat (~ 7 digits), double float (~ 15 digits) and long double float (~ 31 digits) preci-sion. However, the long double variables most often are diminished to same preci-sion as double variables. As Windows 64 bits version gets more popular, manycompilers will probably in near future offer real support for long double (~ 31 dig-its) floating point precision.

E. RR.11. Many kind of third party mathematical libraries are available or portable to Win-dows.

E. RR.12. For proper reusability, calc_logic software must integrate and interface to othersoftware, prepared by most major development systems on Windows

Page 41: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 41

EXAMPLE: House environment staffing allocations

EXAMPLE: House environment staffing allocations

• Allocate roles to every task and schedule• Inhouse and third party providers• Role items will be accounted in product

requisites

• Allocate roles to every task and schedule• Inhouse and third party providers• Role items will be accounted in product

requisites

i23. Quality inspector• Each supplier and subcontractor ap-prove independent quality inspector• Detects and document deviations torequirements and design• Attest invoices for payment whenfound failures are corrected

PR.10. Proprietor

Pt.0.V. Verify proto-type in environment

i24. Inspector• Approves building permit and houseusage

PR.14. Commune Pt.0.A. Constituteenvironment architec-turePr. Validate prototype

House environment role item ProviderCpdm schedule or

taski10. House user PR.10. Proprietor Pt.0.Rb Plan develop-

ment roles and pro-viders

i11. City architect PR.11. Robber HB Pt.0.Ra Explorerestrictions

i12. City architect• For communal connections• Reviewed by proprietor.

PR.11. Robber HB

Pt.0.Pa. Satisfy restric-tionsi13. House user

• For driveway• Reviewed by Robber HB.

PR.10. Proprietor

i14. House user• Assistance from Robber HB.

PR.10. Proprietor Pt.0.Pc. Analyse in/out and make/buyoptions

i15. Chief architect• Responsibilty by Robber HB to com-ply to authorities regulations and re-quirements• Reviewed by proprietor.

PR.11. Robber HB Pt.0.A. Constituteenvironment architec-turePt.0.F. Finalize designof interface connec-tions to environmenti16. Electrician PR.12. Elert AB

i17. Excavator with driver and plumberi18. Plumberi19. Excavator with driver and electriciani20. Excavator with driver and authorized gas

plumberi21. Dozer with 6 pavers

• Not yet selected.• The builder may use preferred subcon-tractors. Builder and preferred subcon-tractors are responsible to comply toauthorities building regulations.• Correction of found failures

PR.13. Builder

Pt.0.I. Realize inter-face and integrate/invade outmost white-box (build the houseconnections)

i22. Electrician• For electricity• Correction of found failures

PR.12. Elert AB

i23. Quality inspector• Each supplier and subcontractor ap-prove independent quality inspector• Detects and document deviations torequirements and design• Attest invoices for payment whenfound failures are corrected

PR.10. Proprietor

Pt.0.V. Verify proto-type in environment

i24. Inspector• Approves building permit and houseusage

PR.14. Commune Pt.0.A. Constituteenvironment architec-turePr. Validate prototype

House environment role item ProviderCpdm schedule or

taski10. House user PR.10. Proprietor Pt.0.Rb Plan develop-

ment roles and pro-viders

i11. City architect PR.11. Robber HB Pt.0.Ra Explorerestrictions

i12. City architect• For communal connections• Reviewed by proprietor.

PR.11. Robber HB

Pt.0.Pa. Satisfy restric-tionsi13. House user

• For driveway• Reviewed by Robber HB.

PR.10. Proprietor

i14. House user• Assistance from Robber HB.

PR.10. Proprietor Pt.0.Pc. Analyse in/out and make/buyoptions

i15. Chief architect• Responsibilty by Robber HB to com-ply to authorities regulations and re-quirements• Reviewed by proprietor.

PR.11. Robber HB Pt.0.A. Constituteenvironment architec-turePt.0.F. Finalize designof interface connec-tions to environmenti16. Electrician PR.12. Elert AB

i17. Excavator with driver and plumberi18. Plumberi19. Excavator with driver and electriciani20. Excavator with driver and authorized gas

plumberi21. Dozer with 6 pavers

• Not yet selected.• The builder may use preferred subcon-tractors. Builder and preferred subcon-tractors are responsible to comply toauthorities building regulations.• Correction of found failures

PR.13. Builder

Pt.0.I. Realize inter-face and integrate/invade outmost white-box (build the houseconnections)

i22. Electrician• For electricity• Correction of found failures

PR.12. Elert AB

Page 42: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 42

Pt.n.R. Refine this level requirements from outward level requirements and ensure this level white-box development staffing

Pt.n.R. Refine this level requirements from outward level requirements and ensure this level white-box development staffing

• Preferably inhouse develop:• Tailor a process for this level• Refine requirements from

outer level• Prioritize requirements• Specify staff allocations for

this level• Provide requirements to

potential suppliers

• Preferably inhouse develop:• Tailor a process for this level• Refine requirements from

outer level• Prioritize requirements• Specify staff allocations for

this level• Provide requirements to

potential suppliers

Pt.n.R. Refine this level requirements from outward level require-ments and ensure this level white-box development staffing

UnsatisfactoryPt

.n.R

a.R

efin

eand

capt

ure

requ

irem

ents

Pt.n.Rb.Black-box

requirements

Pt.n

.Rba

.Be

havi

our

re-

quir

emen

ts

Pt.n

.Rba

.R

estr

ictio

nre

-qu

irem

ents

Pt.n

.Rd.

Exam

ine

auth

en-

ticity

Pt.n

.Rc.

Prio

ritiz

ereq

uire

-m

ents

Pt.n

.Re.

Plan

deve

lop-

men

trol

esan

dpr

ovid

ersPt.n:v.

Tailoredwhite-boxtechnicalprocess

schedule

Pt.n

.Sb.

Whi

te-b

oxst

aff-

ing

allo

catio

n

Xc.

Dev

elop

turn

-ke

yite

ms

Pt.n

-1.B

.A

rchi

tect

ure

whi

te-b

oxw

ithm

ajor

elem

ents

and

poss

ible

belo

w-le

vel

blac

k-bo

xes

Pt.n

-1.S

a.Pr

iori

tized

re-

quir

emen

tsts

if n > 1

if n = 1

if n > 1

if n = 1

Pt.0

.Sa.

Envi

ronm

ent

rest

rict

ions

Pt.0

.B.

Envi

ronm

enta

rchi

-te

ctur

esw

ithel

e-m

ents

,int

erfa

cesa

ndou

term

ost

blac

k-bo

x

Pt.0

.Sa.

Envi

ronm

ent

restr

ictio

ns

Pe.R

e-us

epla

nPk

.Con

-ce

ptbr

ief Pi

.Pro

duct

prop

ositi

onPo

.Cus

tom

-er

habi

ts

Pm.P

artia

lpr

otot

ypes

Pg.B

usi-

ness

case

Pb.R

oad

map Pt.n.R. Refine this level requirements from outward level require-

ments and ensure this level white-box development staffing

UnsatisfactoryPt

.n.R

a.R

efin

eand

capt

ure

requ

irem

ents

Pt.n.Rb.Black-box

requirements

Pt.n

.Rba

.Be

havi

our

re-

quir

emen

ts

Pt.n

.Rba

.R

estr

ictio

nre

-qu

irem

ents

Pt.n

.Rd.

Exam

ine

auth

en-

ticity

Pt.n

.Rc.

Prio

ritiz

ereq

uire

-m

ents

Pt.n

.Re.

Plan

deve

lop-

men

trol

esan

dpr

ovid

ersPt.n:v.

Tailoredwhite-boxtechnicalprocess

schedule

Pt.n

.Sb.

Whi

te-b

oxst

aff-

ing

allo

catio

n

Xc.

Dev

elop

turn

-ke

yite

ms

Pt.n

-1.B

.A

rchi

tect

ure

whi

te-b

oxw

ithm

ajor

elem

ents

and

poss

ible

belo

w-le

vel

blac

k-bo

xes

Pt.n

-1.S

a.Pr

iori

tized

re-

quir

emen

tsts

if n > 1

if n = 1

if n > 1

if n = 1

Pt.0

.Sa.

Envi

ronm

ent

rest

rict

ions

Pt.0

.B.

Envi

ronm

enta

rchi

-te

ctur

esw

ithel

e-m

ents

,int

erfa

cesa

ndou

term

ost

blac

k-bo

x

Pt.0

.Sa.

Envi

ronm

ent

restr

ictio

ns

Pe.R

e-us

epla

nPk

.Con

-ce

ptbr

ief Pi

.Pro

duct

prop

ositi

onPo

.Cus

tom

-er

habi

ts

Pm.P

artia

lpr

otot

ypes

Pg.B

usi-

ness

case

Pb.R

oad

map

Page 43: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 43

Refine requirements according to architecture black-boxesRefine requirements according to architecture black-boxes

• Environment restrictions are first refined to outmost black-box requirements

• Outmost black-box requirements are then refined to embedded black-boxes

• Requirements cover both black-box restrictions and interface behavior

• Environment restrictions are first refined to outmost black-box requirements

• Outmost black-box requirements are then refined to embedded black-boxes

• Requirements cover both black-box restrictions and interface behavior

A. Black-box-E-n

Inter-faces

A.A.Black-

box-A-p

Inter-faces

A.B.Black-

box-A-q

Inter-faces

E. EnvironmentE.R.x.Restrictions

in E. Environment

A.R.x.y.Requirement s

in A. Black-b ox orover -E-n Interfac e

Refin

ing

and

sum

mar

izin

g

Refining an

d

summarizin

g

Refining and

summarizingA.A.R.x.y.z

Requirementsin A.A. Black- box orover -A-p Interface

A.B.R.x.y.zRequirements

in A.B. Black-box orover -A-q Interface

Page 44: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 44

EXAMPLE: House to kitchen refined require-ments

EXAMPLE: House to kitchen refined require-ments• House

requirements refined to kitchen requirements

• House requirements refined to kitchen requirements

House kitchen prioritized requirements (small selection)House kitchen black-box requirement Priority

A. R.1.1. When cooking and dining, the lake shall be as visible as possible HighA.aC. R.1.1.1. The lake shall be visible from kitchen food preparation place High

A. R.2.2. The house shall be accessible for disabled persons. MidA.aC. R.2.2.1. Kitchen may be inaccessible by disabled guests Mid

A. R.3.1. The house shall follow proven methods, regulations and standards HighA.aC. R.3.1.1. Kitchen shall follow established norms, regulations and standards CrucialA.aC. R.3.1.2. Kitchen interiors may not have any damages, scratches and stains HighA.aC. R.3.1.3. Kitchen interiors appearance must be chosen by proprietor. Crucial

A. R.4.1. The house shall be attractive to allow maximum bank mortgage CrucialA.aC. R.4.1.1. Kitchen including interiors shall cost maximal 20 000 € CrucialA.aC. R.4.1.2. Purchase only ordinary interiors from few suppliers to press prices High

A. R.6.3. Serving support shall exist for one course at a time. LowA.aC. R.6.3.1. Cheap equipment keep one course warm during eating it Mid

A. R.6.4. Storing, cooking and dining support shall allow a french 5 coursemenu for 8 persons.

Mid

A.aC. R.6.4.1. Use large food preparation area with cold and warm water HighA.aC. R.6.4.2. Storage shall hold 12 pans of 3 litre near cooking place. HighA.aC. R.6.4.3. Storage shall hold 6 plates and 6 bowls near baking place HighA.aC. R.6.4.4. Knife storage shall be children safe and near preparation area. MidA.aC. R.6.4.5. Storage shall hold all kinds of cutlery and kitchen utensils which

shall be easy accessible from preparation area.High

A.aC. R.6.4.6. Storage shall hold 8 bags of each 30 litre groceries, whereof 4 chilledand 1 frozen)

Crucial

A. R.6.5. Dishing support needed, shall hold complete dinner. CrucialA.aC. R.6.5.1. Dishing shall clean 5 course table wares in one run (5 x 8 plates, cut-

lery and glasses), and dishing shall clean 5 course cooking utensilsin same run

Mid

A.aC. R.6.5.2. Gentle dishing shall support sensitive table wares CrucialA.aC. R.6.5.3. Children safe storage shall hold chemicals for dishing etc. Low

A. R.6.6. Cooking shall support warming, boiling, frying, wokking and baking. CrucialA.aC. R.6.6.1. Food thawing shall be near preparation area HighA.aC. R.6.6.2. Warming of all kind of food shall be near preparation area HighA.aC. R.6.6.3. Food boiling shall be near preparation area CrucialA.aC. R.6.6.4. Food frying shall be near preparation area CrucialA.aC. R.6.6.5. Food wokking shall be near preparation area MidA.aC. R.6.6.6. Food baking shall be near preparation area High

A. R.6.7. Smell from cooking shall be evacuated. HighA.aC. R.6.7.1. Odour from cooking may not spread to other rooms High

A. R.6.8. Waste and garbage from cooking shall be odourless deposited. MidA.aC. R.6.8.1. Garbage odour may not be recognisable in kitchen Mid

A. R.7.3. Storing capacity shall exist for 24 party guests snack meals. LowA.aC. R.7.3.1. Storage shall hold 24 snack meals (2 grocery bags) Low

A. R.9.1. The house shall be safe for children HighA.aC. R.9.1.1. Kitchen shall hold children safe family medicines Low

House kitchen prioritized requirements (small selection)House kitchen black-box requirement Priority

A. R.1.1. When cooking and dining, the lake shall be as visible as possible HighA.aC. R.1.1.1. The lake shall be visible from kitchen food preparation place High

A. R.2.2. The house shall be accessible for disabled persons. MidA.aC. R.2.2.1. Kitchen may be inaccessible by disabled guests Mid

A. R.3.1. The house shall follow proven methods, regulations and standards HighA.aC. R.3.1.1. Kitchen shall follow established norms, regulations and standards CrucialA.aC. R.3.1.2. Kitchen interiors may not have any damages, scratches and stains HighA.aC. R.3.1.3. Kitchen interiors appearance must be chosen by proprietor. Crucial

A. R.4.1. The house shall be attractive to allow maximum bank mortgage CrucialA.aC. R.4.1.1. Kitchen including interiors shall cost maximal 20 000 € CrucialA.aC. R.4.1.2. Purchase only ordinary interiors from few suppliers to press prices High

A. R.6.3. Serving support shall exist for one course at a time. LowA.aC. R.6.3.1. Cheap equipment keep one course warm during eating it Mid

A. R.6.4. Storing, cooking and dining support shall allow a french 5 coursemenu for 8 persons.

Mid

A.aC. R.6.4.1. Use large food preparation area with cold and warm water HighA.aC. R.6.4.2. Storage shall hold 12 pans of 3 litre near cooking place. HighA.aC. R.6.4.3. Storage shall hold 6 plates and 6 bowls near baking place HighA.aC. R.6.4.4. Knife storage shall be children safe and near preparation area. MidA.aC. R.6.4.5. Storage shall hold all kinds of cutlery and kitchen utensils which

shall be easy accessible from preparation area.High

A.aC. R.6.4.6. Storage shall hold 8 bags of each 30 litre groceries, whereof 4 chilledand 1 frozen)

Crucial

A. R.6.5. Dishing support needed, shall hold complete dinner. CrucialA.aC. R.6.5.1. Dishing shall clean 5 course table wares in one run (5 x 8 plates, cut-

lery and glasses), and dishing shall clean 5 course cooking utensilsin same run

Mid

A.aC. R.6.5.2. Gentle dishing shall support sensitive table wares CrucialA.aC. R.6.5.3. Children safe storage shall hold chemicals for dishing etc. Low

A. R.6.6. Cooking shall support warming, boiling, frying, wokking and baking. CrucialA.aC. R.6.6.1. Food thawing shall be near preparation area HighA.aC. R.6.6.2. Warming of all kind of food shall be near preparation area HighA.aC. R.6.6.3. Food boiling shall be near preparation area CrucialA.aC. R.6.6.4. Food frying shall be near preparation area CrucialA.aC. R.6.6.5. Food wokking shall be near preparation area MidA.aC. R.6.6.6. Food baking shall be near preparation area High

A. R.6.7. Smell from cooking shall be evacuated. HighA.aC. R.6.7.1. Odour from cooking may not spread to other rooms High

A. R.6.8. Waste and garbage from cooking shall be odourless deposited. MidA.aC. R.6.8.1. Garbage odour may not be recognisable in kitchen Mid

A. R.7.3. Storing capacity shall exist for 24 party guests snack meals. LowA.aC. R.7.3.1. Storage shall hold 24 snack meals (2 grocery bags) Low

A. R.9.1. The house shall be safe for children HighA.aC. R.9.1.1. Kitchen shall hold children safe family medicines Low

House prioritized requirements (small selection)House black-box requirement Priority

E. R.1. Swedish environmental code 7th chapterA. R.1.1. When cooking and dining, the lake shall be as visible as possible High

R.1.2. Facade and roofing material appearance shall be chosen by proprietor HighE. R.2. Malmö urban planning and local construction ordinanceA. R.2.1. The house style shall comply with neighbours’ houses. LowA. R.2.2. The house shall be accessible for disabled persons. MidA. R.2.3. The house demand a building permit before building starts CrucialE. R.3. Swedish national building regulationsA. R.3.1. The house shall follow proven methods, regulations and standards High

R.3.2. The house shall have an economical energy consumption HighE. R.4. Swedish Financial Supervisory AuthorityA. R.4.1. The house shall be attractive to allow maximum bank mortgage CrucialE. R.5. All communal connections available shall be used to make the house

functional and comfortable.A. R.5.1. Provide the house with centrals for all communal connections CrucialA. Ch.1. Modern people in wealthy city districts cook and partyA. R.6. Gourmet cooking and dining requirementsA. R.6.1. The atmosphere during dining shall be relaxed. MidA. R.6.2. The dining support shall hold up to 8 guests. HighA. R.6.3. Serving support shall exist for one course at a time. LowA. R.6.4. Storing, cooking and dining support shall allow a french 5 course menu

for 8 persons.Mid

A. R.6.5. Dishing support needed, shall hold complete dinner. CrucialA. R.6.6. Cooking shall support warming, boiling, frying, wokking and baking. CrucialA. R.6.7. Smell from cooking shall be evacuated. HighA. R.6.8. Waste and garbage from cooking shall be odourless deposited. MidA. R.7. Reunion and party requirementsA. R.7.1. God space shall exist for 24 party guests, half afoot, half sitting. MidA. R.7.2. Serving snack meals shall support 12 party guests. LowA. R.7.3. Storing capacity shall exist for 24 party guests snack meals. LowA. R.7.4. Toiletting capacity shall exist for 2 contemporary guests. High

diM.sehtolcretuo42roftsixellahsyticapacregnaH.5.7.R.AA. R.8. Sleeping accommodation requirementsA. R.8.1. (No requirements included here due to book space limitation)A. R.9. Health and body caring requirementsA. R.9.1. The house shall be safe for children HighA. Rm.1. Every house shall be prepared for optic fiber communicationA. R.10. Hobbies and electronic communication requirementsA. R.10.1. (No requirements included here due to book space limitation)

House prioritized requirements (small selection)House black-box requirement Priority

E. R.1. Swedish environmental code 7th chapterA. R.1.1. When cooking and dining, the lake shall be as visible as possible High

R.1.2. Facade and roofing material appearance shall be chosen by proprietor HighE. R.2. Malmö urban planning and local construction ordinanceA. R.2.1. The house style shall comply with neighbours’ houses. LowA. R.2.2. The house shall be accessible for disabled persons. MidA. R.2.3. The house demand a building permit before building starts CrucialE. R.3. Swedish national building regulationsA. R.3.1. The house shall follow proven methods, regulations and standards High

R.3.2. The house shall have an economical energy consumption HighE. R.4. Swedish Financial Supervisory AuthorityA. R.4.1. The house shall be attractive to allow maximum bank mortgage CrucialE. R.5. All communal connections available shall be used to make the house

functional and comfortable.A. R.5.1. Provide the house with centrals for all communal connections CrucialA. Ch.1. Modern people in wealthy city districts cook and partyA. R.6. Gourmet cooking and dining requirementsA. R.6.1. The atmosphere during dining shall be relaxed. MidA. R.6.2. The dining support shall hold up to 8 guests. HighA. R.6.3. Serving support shall exist for one course at a time. LowA. R.6.4. Storing, cooking and dining support shall allow a french 5 course menu

for 8 persons.Mid

A. R.6.5. Dishing support needed, shall hold complete dinner. CrucialA. R.6.6. Cooking shall support warming, boiling, frying, wokking and baking. CrucialA. R.6.7. Smell from cooking shall be evacuated. HighA. R.6.8. Waste and garbage from cooking shall be odourless deposited. MidA. R.7. Reunion and party requirementsA. R.7.1. God space shall exist for 24 party guests, half afoot, half sitting. MidA. R.7.2. Serving snack meals shall support 12 party guests. LowA. R.7.3. Storing capacity shall exist for 24 party guests snack meals. LowA. R.7.4. Toiletting capacity shall exist for 2 contemporary guests. High

diM.sehtolcretuo42roftsixellahsyticapacregnaH.5.7.R.AA. R.8. Sleeping accommodation requirementsA. R.8.1. (No requirements included here due to book space limitation)A. R.9. Health and body caring requirementsA. R.9.1. The house shall be safe for children HighA. Rm.1. Every house shall be prepared for optic fiber communicationA. R.10. Hobbies and electronic communication requirementsA. R.10.1. (No requirements included here due to book space limitation)

Page 45: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 45

Restriction and behavior requirementsRestriction and behavior requirements

• Requirements divided in 2 types

• Restrictions requirements target boundary or inside black-boxes

• Behavior requirements take place on connection interfaces to black-boxes

• Requirements divided in 2 types

• Restrictions requirements target boundary or inside black-boxes

• Behavior requirements take place on connection interfaces to black-boxes

A.R

.x.y

.

A.B

.R.x

.y.z.

A.B

.R.x

.y.z.

A.B

.A.R

.x.y.

z.v.

A.A

.B.R

.x.y

.z.v.

A.A

.A.R

.x.y.

z.v.

E. Environment

A. Black-box

A.A. Black-box

-E-kInter-faces

-A-nInter-faces

-A-mInter-faces

E.R.x.Restriction

requirement sin E.

Environment

A.A.A.Black-

box-A.A-pInter-faces

A.B.Black-

box

A.RR.x.y.Restriction

requirement sin A.

Black-box-E-k.RB.x.y.

Behaviourrequirements

over -E-kInterfaces

A.A.B.Black-

box-A.A-qInter-faces

A.B.A.Black-

box-A.B-rInter-faces

A.B.RR.x.y.zRestriction

requirementsin A.B.

Black-box-A-m.RB.x.y.z

Behaviourrequirement s

over -A-mInterface s

A.A.RR.x.y.zRestriction

requirementsin Aa.

Black-box-A-n.RB.x.y.z

Behaviourrequirement s

over -A-nInterface s

A.A.A.RR.x.y.z.v.Restriction

requirementsin A.A.A.Black-box

-A.A-p.RB.x.y.z.v.Behaviour

requirementsover -AA-pInterfaces

A.A.B.RR.x.y.z.v.Restriction

requirementsin A.A.B.Black-box

-A.A-q.RB.x.y.z.v.Behaviour

requirementsover -A.A-qInterfaces

A.B.A.RR.x.y.z.v.Restriction

requirement sin A.B.A.Black-box

-A.B-r.RB.x.y.z.v.Behaviour

requirementsover -A.B-rInterface s

Page 46: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 46

EXAMPLE: Multiplication toy behavior requirements

EXAMPLE: Multiplication toy behavior requirements

• Tables and graphics• Tables and graphics

either -aE-1a .S.1a. Set (operan d1)or -aE-1b.S.1b. Set (operan d2)

-aE-1c.R.2. Show (product)

Unnoticeable

A. Multi-plication toy

aE.a.Multipli-cation toy

user

RB.7. Multiplication toy black-box interaction

Multiplication toy behaviour requirementsMultiplication toy black-box behaviour interaction Priority

RB.7. Multiplication toy black-box interactionsee separate figure

A. RB.7.1. The user amusement shall be to multiply two operand valuesinto one product value.

Crucial

A. RB.7.2. The toy shall have one input devices for each multiplicand value.Multiplicand values shall be at least between 0 and 10. Themultiplicands must be easy to settle by a child.

0 - 9 crucial> 9 high

A. RB.7.3. The toy shall have at least a 3-digit output device for the prod-uct value. The product must be easy to read by a child.

Crucial

A. RB.7.4. The toy calculate and show the product value practicallyinstantly after either multiplicand is settled.

High

Multiplication toy behaviour requirementsMultiplication toy black-box behaviour on interface -aE-1.

-aE-1a. Multiplicand input interface-aE-1a. S.1a. Set (operand1)-aE-1b. Multiplicand input interface-aE-1b. S.1b. Set (operand2)-aE-1c. Product output interface-aE-1c. R.2. Show (product)

Page 47: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 47

EXAMPLE: Rudimentary calculator behavior

EXAMPLE: Rudimentary calculator behavior

• Basic use case in table• Normal and exception

cases

• Basic use case in table• Normal and exception

cases

A.RB.UN. Normal use case A.RB.UX Exception use cases

Id, name and interactionId, name andinteraction

Id, name andinteraction

Id, name andinteraction

A.RB

.IA.11

.

Input lead operand

A.RB

.IA.12

.

Too many dig-its entered

A.RB

.IA.13

.

Second deci-mal pointentered

A.RB

.IA.14

.

Backspacewhen 1 or lessdigits

The user enters the leadoperand by consecutivelypressing digits 0-9, back-space and decimal point.

Notify user byblinking.Reject digit.

Don’t notifyuser. Rejectpoint.

Don’t notifyuser.

A.RB

.IA.21

. Input dual operatorThe user breaks digit inputwith one of the dual opera-tors +, -, * or /.

A.RB

.IA.31

.

Input trail operand

A.RB

.IA.32

.

Too many dig-its entered

A.RB

.IA.33

.

Second deci-mal pointentered

A.RB

.IA.34

.

Backspacewhen 1 or lessdigits

The user enters the lastoperand by consecutivelypressing digits 0-9, back-space and decimal point

Notify user byblinking.Reject digit.

Don’t notifyuser. Rejectpoint.

Don’t notifyuser.

A.RB

.IA.41

.

Input conclusion.

A.RB

.IA.42

.

Divide by zero

A.RB

.IA.43

.

Overflow after+ or *

A.RB

.IA.44

.

Lost signifi-cance aftersmall / big

Conclude with =.Calculate value and show it.Proceed to input new leadoperand

Show errorinstead ofresult. Expectnew lead oper-and.

Show value asfloating pointinstead.

Show result 0.Don’t notifyuser.

Page 48: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 48

Formal use casesFormal use cases

• Table or graphical

• Must contain• Identities• Interfaces• Wait-states• Stimuli• Responses• Histories

• Table or graphical

• Must contain• Identities• Interfaces• Wait-states• Stimuli• Responses• Histories

E-1.S.1. Stimulus (arguments)

E-2.S.2. Stimulus (arguments)

E-2.R.3. Response (arguments)

E-1.S.4. Stimulus (arguments)

E-1.R.5. Response

RB.WS.10. Wait-state

RB.WS.40. Wait-state

A.RB. Behaviour requirement

RB.S

R.11

.SR

-Uni

ty

RB.

SR.2

1.SR

-Uni

tyR

B.SR

.31.

SR-U

nity

E-1.R.6. Response

A.Black-box

RB.H.1.Stimuli history

RB.H.2.Stimuli history

RB.WS.30. Wait-state

E.a.Human RB.WS.20. Wait-state

E.a.Human

E.b.Machine

A.R

B.U

.Use

case

A.RB. Behaviour requirementA. Black-box

A.R

B.U

Use

cas

e

RB.WS.10.Wait-state

E.a.

Hum

anRB

.SR.

11. SR-Unity 11

descriptionE-1.S-1.Stimulus(arguments)

RB.WS.20. Wait-state

E.b.

Mac

hine

RB.S

R.21

. SR-Unity 21description

E-2.S-2.Stimulus(arguments)

E-2.R3.Response(arguments)

RB.H.1.History

RB.WS.30. Wait-state

E.a.

Hum

anRB

.SR.

31. SR-Unity 31

descriptionE-1.S-4.Stimulus(arguments)

E-1.R5.ResponseE-1.R6.Response

RB.H.2.History

RB.WS.40. Wait-state

Page 49: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 49

Use case scenarioUse case scenario

• Use cases progressing along wait-states

• Initiates preferably in idle-state and can show behavior paths until back to idle-state

• Mixed normal and exception cases

• Can split on many pages

• Use cases progressing along wait-states

• Initiates preferably in idle-state and can show behavior paths until back to idle-state

• Mixed normal and exception cases

• Can split on many pages

A.RB.S. Use case scenari o

RB.WS.20. Wait-state

RB.WS.30. Wait-state

RB.

SR.11

.SR

-uni

ty

RB.

SR.2

1.SR

-uni

ty

A.Black-box

RB.WS.10.Wait-state

RB.WS.30.Wait-state

RB.

SR.2

2.SR

-uni

ty

RB.WS.10.Wait-state

RB.

SR.3

2.SR

-uni

ty

RB.

SR.3

3.SR

-uni

ty

RB.WS.20.Wait-state

RB.S

R.23

.SR

-uni

ty

RB.H.1.

RB.H.2.

RB.H?

RB.WS.10.Wait-state

RB.S

R.31

.SR

-uni

ty

E-1.S.1.(args)

E-1.R.1.(args)

E-1.S.3.(args)

E-1.R.2(args)

E-1.S.4.(args)

E-1.R.2(args)

E-1.R.4(args)

E-1.S.3.(args)

E-3.R.4.(args)

E-2.S.5.(args)

E-2.R.3(args)

E-1.S.6.(args)

E-1.R.5(args)

RB.H.3.

A.R

B.S.

UX

.2.E

xcep

tion

usec

ase

(RB.

SR.11

.+R

B.SR

.22.

+RB.

SR.3

1.)

A.R

B.S.

UN.

1.No

rmal

usec

ase(

RB.

SR.11

.+R

B.SR

.22.

+RB.

SR.3

2.)

E.User

E.User

E.User

E.User

E.User

E.User

E.User

RB.WS.10.Wait-state

Page 50: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 50

EXAMPLE: calc_logic behavior in tables(continues)EXAMPLE: calc_logic behavior in tables(continues)

calc_logic for reuse behaviour requirementsBlack-box behaviour use cases Priority

RB.6. c alc_logic for reuse behaviour requirement no 6A. RB.6.S1. calc_logic for reuse, behaviour requirement 6, scenario 1

see separate figureA. RB.6.S1.U1. Input of lead operand normal use case

sequence of RB.SR.11. + n * RB.SR.21.Critical

A. RB.6.S1.U2. Input of trail operand normal use casesequence of RB.SR.31. + n * RB.SR.41.

Critical

A. RB.6.S1.U3. Perform completing use casesequence of RB.SR.11. + n * RB.SR.21. + RB.SR.22. +RB.SR.31. + n * RB.SR.41. + RB.SR.42.

Critical

A. RB.6.S1.U4. Perform repeating use casesequence of RB.SR.11. + n * RB.SR.21. + RB.SR.22. +RB.SR.31. + n * RB.SR.41. + RB.SR.43. + ...

High

A. RB.6.S1.U5. Perform repeating after conclusion use casesequence of RB.SR.12. + RB.SR.31. + ...

Critical

calc_logic for reuse behaviour requirementsBlack-box behaviour wait-states, SR-unities and histories

A. RB. calc_logic for reuse behaviour requirementA. RB.WS.10. Wait for lead operand 1st digitA. RB.WS.20. Wait for further digit or duo-operatorA. RB.WS.30. Wait for trail operand 1st digitA. RB.WS.40. Wait for further digit or conclusion operatorA. RB.SR.01. Start-upA. RB.SR.11. Input 1st digit of lead operandA. RB.SR.12. Prepare continuation after conclusionA. RB.SR.21. Input rest of lead operandA. RB.SR.22. Input dual operatorA. RB.SR.31. Input 1st digit of trail operandA. RB.SR.41. Input rest of trail-operandA. RB.SR.42. Do conclusionA. RB.SR.43. Do conclusion with continuationA. RB.H.1. lead-operand-story = 0A. RB.H.2. lead-operand-story = pressed digitA. RB.H.3. lead-operand-story = 10 * lead-operand-story + pressed digitA. RB.H.4. previous-operator-story = pressed operatorA. RB.H.5. trail-operand-story = pressed digitA. RB.H.6. trail-operand-story = 10 * trail-operand-story + pressed digitA. RB.H.7. Manipulate lead-operand-story by trail-operand-story according to pre-

vious-operator-story

calc_logic for reuse behaviour requirementsBlack-box behaviour at interface -E-1.

-E-1. Comm on calc_logic interface-E-1. S.1. Stim (0 - 9)-E-1. S.2. Stim ( +, -, * or /)-E-1. S.3. Stim (=)-E-1. R.4. Resp (lead-operand-story)-E-1. R.5. Resp (trail-operand-story)

Page 51: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 51

EXAMPLE: calc_logic graphical use case scenarioEXAMPLE: calc_logic graphical use case scenario

• Component containing the intelligence in a calculator

• Built for reuse in• Standalone calculator• Windows calculator application

• Component containing the intelligence in a calculator

• Built for reuse in• Standalone calculator• Windows calculator application

A. calc_logic forreuse black-box

RB.WS.30. Wait fortrail operan d 1st digit

S10RB.WS.40. Wait for further digit or conclusion operator

RB.WS.10. Wait forlead operan d 1st digit

RB.

SR.0

1.St

art-u

pR

B.SR

.31.

Inpu

t1st

digi

tof

trai

lope

rand

RB.

SR.2

2.In

putd

ual

oper

ator

RB.

SR.4

2.D

oco

nclu

sion

S10RB.WS.20. Wait for further digit or duo-operator

RB.WS.20. Wait for fur-ther digit or duo-operator

RB.WS.40. Wait for furtherdigit or conclusion operator

-E-1.S.1.Stim (0 - 9)

RB.

SR.4

3.D

oco

nclu

sion

with

cont

inua

tion

RB.WS.30. Wait fortrail operand 1st digit

A.RB.6.S1.calc_logic for reuse, behaviour

requirement 6, scenario 1

RB.

SR.2

1.In

putr

esto

flea

dop

eran

dR

B.SR

.41.

Inpu

tres

toft

rail-

oper

and

-E-1.S.1. Stim(0 - 9)

RB.H.2.lead-operan d-story

= pressed digit

-E-1.R.4.Resp (lead-oper-

and-story )

RB.H.1.lead-operan d-story

= 0

RB.H.3.lead-operand-

story = 10 * lead-operand -story +

pressed digit

RB.H.5.trail-operand-story

= pressed digit

RB.H.6.trail-operand-

story = 10 * trail-operand-story +

pressed digit

RB.H.7.Manipulate lead-operand-story by

trail-operand-storyaccording to previ-ous-operator-story

RB.H.7.Manipulate lead-operand-story by

trail-operan d-storyaccording to previ-ous-operator-story

RB.H.4.previous-operato r-

story = pressedoperator

RB.H.4.previous-operator-

story = pressedoperator

RB.H.4.previous-opera -

tor-story = pressedoperato r

S10RB.WS.10. Wait for lead operand 1st digit

RB.

SR.1

2.Pr

epar

econ

tinua

tion

afte

rco

nclu

sion

RB.

SR.11

.In

put1

stdi

gito

flea

dop

eran

d

RB.WS.30. Wait fortrail operan d 1st digit

-E-1.S.1. Stim(0 - 9)

-E-1.S.2. Stim( +, -, * or /)

-E-1.S.2. Stim( +, -, * or /)

-E-1.S.2. Stim( +, -, * or /)

-E-1.S.1. Stim(0 - 9)

-E-1.S.3. Stim(=)

-E-1.R.4.Resp (lead-o p-

erand-story)

-E-1.R.4.Resp (lead-o p-

erand-story)

-E-1.R.4.Resp (lead-o p-

erand-story )

-E-1.R.4.Resp (lead-o p-

erand-story)

-E-1.R.5.Resp (trail-op-

erand-story )

-E-1.R.5.Resp (trail-op-

erand-story )

RB.

6.S1

.U3.

Perf

orm

com

plet

ing

use

case

Page 52: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 52

EXAMPLE: calc-_logic test use caseEXAMPLE: calc-_logic test use case

• Use case can be the form to hold a test case

• Execute test use cases in the mind to check requirements

• Use case can be the form to hold a test case

• Execute test use cases in the mind to check requirements

Use

case

SR-Unity Stimulus Response

lead-operand-

story

previous-operator-

story

trail-operand-

storyRB.SR.01. Start-up Start of A. E-1.R.4.

Show (0)RB.H.1. = 0

RB.WS.10. Wait for lead operand 1st digit

RB

.6.S

1.U

4.Pe

rfor

m re

peat

ing

use

case

RB.SR.11. Input 1stdigit of lead operand

E-1.S.1Press (2)

E-1.R.4.Show (2)

RB.H.2. = 2

RB.WS.20. Wait for further digit or duo-operatorRB.SR.21. Input rest oflead operand

E-1.S.1Press (4)

E-1.R.4.Show (24)

RB.H.3. =10 * 2 + 4

RB.WS.20. Wait for further digit or duo-operatorRB.SR.22. Input dualoperator

E-1.S.2.Press (-)

24 RB.H.4. = -

RB.WS.30. Wait for trail operand 1st digitRB.SR.31. Input 1stdigit of trail operand

E-1.S.1Press (6)

E-1.R.5.Show (6)

24 - RB.H.5. = 6

RB.WS.40. Wait for further digit or conclusion operatorRB.SR.43. Do conclu-sion with continuation

E-1.S.2.Press (+)

E-1.R.4.Show (18)

RB.H.7. =24 - 6 = 18

RB.H.4. = + 6

RB.WS.30. Wait for trail operand 1st digit

RB

.6.S

1.U

3.Pe

rfor

mco

mpl

etin

gus

e ca

se

RB.SR.31. Input 1stdigit of trail operand

E-1.S.1.Press (4)

E-1.R.5.Show (4)

18 + RB.H.5. = 4

RB.WS.40. Wait for further digit or conclusion operatorRB.SR.42. Do conclu-sion

E-1.S.3.Press (=)

E-1.R.4.Show (22)

RB.H.7. =18 + 4

+ 4

RB.WS.10. Wait for lead operand 1st digit

RB

.6.S

1.U

5.Pe

rfor

m re

peat

ing

afte

rcon

clus

ion

use

case

RB.SR.12. Preparecontinuation after con-clusion

E-1.S.2.Press (/)

22 RB.H.4. = / 4

RB.WS.30. Wait for trail operand 1st digitRB.SR.31. Input 1stdigit of trail operand

E-1.S.1.Press (2)

E-1.R.5.Show (2)

22 / RB.H.5. = 2

RB.WS.40. Wait for further digit or conclusion operatorRB.SR.42. Do conclu-sion

E-1.S.3.Press (=)

E-1.R.4.Show (11)

RB.H.7. =22 / 2

/ 2

RB.WS.10. Wait for lead operand 1st digit

Use

case

SR-Unity Stimulus Response

lead-operand-

story

previous-operator-

story

trail-operand-

storyRB.SR.01. Start-up Start of A. E-1.R.4.

Show (0)RB.H.1. = 0

RB.WS.10. Wait for lead operand 1st digit

RB

.6.S

1.U

4.Pe

rfor

m re

peat

ing

use

case

RB.SR.11. Input 1stdigit of lead operand

E-1.S.1Press (2)

E-1.R.4.Show (2)

RB.H.2. = 2

RB.WS.20. Wait for further digit or duo-operatorRB.SR.21. Input rest oflead operand

E-1.S.1Press (4)

E-1.R.4.Show (24)

RB.H.3. =10 * 2 + 4

RB.WS.20. Wait for further digit or duo-operatorRB.SR.22. Input dualoperator

E-1.S.2.Press (-)

24 RB.H.4. = -

RB.WS.30. Wait for trail operand 1st digitRB.SR.31. Input 1stdigit of trail operand

E-1.S.1Press (6)

E-1.R.5.Show (6)

24 - RB.H.5. = 6

RB.WS.40. Wait for further digit or conclusion operatorRB.SR.43. Do conclu-sion with continuation

E-1.S.2.Press (+)

E-1.R.4.Show (18)

RB.H.7. =24 - 6 = 18

RB.H.4. = + 6

RB.WS.30. Wait for trail operand 1st digit

RB

.6.S

1.U

3.Pe

rfor

mco

mpl

etin

gus

e ca

se

RB.SR.31. Input 1stdigit of trail operand

E-1.S.1.Press (4)

E-1.R.5.Show (4)

18 + RB.H.5. = 4

RB.WS.40. Wait for further digit or conclusion operatorRB.SR.42. Do conclu-sion

E-1.S.3.Press (=)

E-1.R.4.Show (22)

RB.H.7. =18 + 4

+ 4

RB.WS.10. Wait for lead operand 1st digit

RB

.6.S

1.U

5.Pe

rfor

m re

peat

ing

afte

rcon

clus

ion

use

case

RB.SR.12. Preparecontinuation after con-clusion

E-1.S.2.Press (/)

22 RB.H.4. = / 4

RB.WS.30. Wait for trail operand 1st digitRB.SR.31. Input 1stdigit of trail operand

E-1.S.1.Press (2)

E-1.R.5.Show (2)

22 / RB.H.5. = 2

RB.WS.40. Wait for further digit or conclusion operatorRB.SR.42. Do conclu-sion

E-1.S.3.Press (=)

E-1.R.4.Show (11)

RB.H.7. =22 / 2

/ 2

RB.WS.10. Wait for lead operand 1st digit

Page 53: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 53

EXAMPLE: Bistro state machineEXAMPLE: Bistro state machine

• Short-form for use case scenario

• Contain no• Stimuli• Responses• Multiple treads

• Identifies exception transitions

• Dashed in figure

• Short-form for use case scenario

• Contain no• Stimuli• Responses• Multiple treads

• Identifies exception transitions

• Dashed in figure

F2.2

Ord

erha

m

F2.1

Ord

ereg

gs

WS.1. IdleA. Bistro

WS.2. waitsfor orderA. Bistro

WS.3. Guest for-gotten A. Bistro

F2.3

Rej

ect

WS.4. Awaits billrequest A. Bistro

F4.2

Rus

hbi

ll

WS.5. Awaits pay-ment A. Bistro

F4.1

Cal

cula

te

F5.2

Pay

cred

it

F3.1

Oho

j!F5.1

Pay

cash

F1Pr

opos

e

F4.4

Retu

rnfo

odF5

.3C

ompl

ain

bill

F4.3

Ord

erm

ore

F3.2

Gue

stdi

sapp

ear

MR1. Breakfaststate machine

A.Bistro

A.RB. S. Eating scenario

Incoming(guest1)

Order(guest1, eggs)

Acknowledge(waiter1, ok)

Order(gues t1, ham)

Acknowledge(waiter1 , finish)

Order(guest1, nothing)

RB.WS.10. Bistro idle

RB.WS.20. Bistro awaits order

RB.WS.30. Bistro overloaded

Acknowledge(waiter1 , sorry)

Serving(waiter1, eggs)

RB.WS.40. Bistro awaits bill requestEscape

(guest1)Attentio n

(guest1, pay)

RB.WS.50. Bistro awaits payment

Bringing(waiter 1, bill)

Pay(guest, cash)

Farewell(waiter1, guest1)

Pay(guest1, card)

Farewell(waiter1, guest1)

RB.WS.10.Bistro Idle

RB.WS.1.10. Bistro Idle

RB.WS.10. Bistro IdleRB.WS.10.Bistro Idle

Shout(guest1, hurry)

RB.

SR.11

Gue

sten

ter

RB.

SR.2

1G

uest

orde

reg

gs

RB.

SR.2

2.G

uest

orde

rha

m

RB.

SR.2

3G

uest

reje

ct

RB.

SR.3

1O

hoj

RB.

SR.4

1Ca

lcul

ate

RB.

SR.4

2R

ush

bill

exce

ptio

n

RB.

SR.5

2a.

Pay

bill

RB.

SR.5

1Pa

yca

sh

A.Bistro

RB.WS.10. Bistrowaits for order

Eating(guest1, egg)

RB.WS.10 . Bistroawaits bill request

RB.S

R.42

Gue

stea

ts

RB.

UN

.Eat

ing

norm

alus

ecas

e

E.a.Guest

E.a.Guest

E.a.Guest

E.a.Guest

E.a.Guest

E.a.Guest

E.a.Guest

E.a.Guest

E.a.GuestE.a.

Guest

Page 54: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 54

EXAMPLE: Bistro message sequence diagramEXAMPLE: Bistro message sequence diagram

• Abbreviated MSC• Use case penetrating

architecture• Each element can

have wait-states

• Abbreviated MSC• Use case penetrating

architecture• Each element can

have wait-states

A.aC. Kitchen

Fill (pan, warm-water )

Place pan on gas stove and light stove

Fill (pan,

Get (small tray, egg cup)

Get (spoon)

Get (salt-shaker)

Get (pan)

WS.0. Idle

A.aC.p.Chef

A2a

.RB2

.2O

rder

eggs

Get (raw-eggs)

Get (pan)

Get (pan)

Get (pan)

Start (timer)

Add (cup)

Add (spoon)

WS.2. Wait for timerAlert (timer)

WS.1. Busy

Empty (pan)Get (pan)

Add (salt)

Add (eggs)Take tray

A.aC.i.Big uten-sil cup-board

A.aC.j.Prepara-

tion bench

A.aC.c.Grocery

cupboard

A.aC.m.Table-

ware cup-board

A.aC.h.Table-ware

drawer s

A.aC.aF.Wet

machin-ery

Order (eggs)

Serve (eggs)

Put (tray)

WS.0.3 Waits for accessWS.1. Cleaned WS.0.2. Food in stockWS.0.1. Ready for cooking

A.aA.Diningroom A.aC.aA.

Coldmachin-

ery

A.aC.aD.Heat

machin-ery

A.aC. Kitchen

Fill (pan, warm-water )

Place pan on gas stove and light stove

Fill (pan,

Get (small tray, egg cup)

Get (spoon)

Get (salt-shaker)

Get (pan)

WS.0. Idle

A.aC.p.Chef

A2a

.RB2

.2O

rder

eggs

Get (raw-eggs)

Get (pan)

Get (pan)

Get (pan)

Start (timer)

Add (cup)

Add (spoon)

WS.2. Wait for timerAlert (timer)

WS.1. Busy

Empty (pan)Get (pan)

Add (salt)

Add (eggs)Take tray

A.aC.i.Big uten-sil cup-board

A.aC.j.Prepara-

tion bench

A.aC.c.Grocery

cupboard

A.aC.m.Table-

ware cup-board

A.aC.h.Table-ware

drawer s

A.aC.aF.Wet

machin-ery

Order (eggs)

Serve (eggs)

Put (tray)

WS.0.3 Waits for accessWS.1. Cleaned WS.0.2. Food in stockWS.0.1. Ready for cooking

A.aA.Diningroom A.aC.aA.

Coldmachin-

ery

A.aC.aD.Heat

machin-ery

Page 55: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 55

Predetermine solutions and

suppliers

Predetermine solutions and

suppliersElements off the shelves?Elements off the shelves?

Page 56: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 56

Trying out design from requirementsTrying out design from requirements

• Primordial design often results from restriction requirements

• stakeholders decide design

• Unbiased design often results from behavior requirements or absence of requirements

• technicians decide design

• Determined design are tried out to best fit requirements and standards

• both stakeholders and technicians decide design

• Primordial design often results from restriction requirements

• stakeholders decide design

• Unbiased design often results from behavior requirements or absence of requirements

• technicians decide design

• Determined design are tried out to best fit requirements and standards

• both stakeholders and technicians decide design

Predetermine solutions& suppliers phase

White/b lack-box

Environment

Blac

k-bo

xre

quir

emen

tsBe

havi

our

requ

irem

ents

Abs

ence

ofre

quir

emen

tEx

tern

alst

anda

rd

Primordia lconnectioninterface s

Determinedconnectioninterface s

Unbiasedconnectioninterface s

Primordialconnectioninterfaces

PrimordialelementPrimordial

elemen tPrimordialelement

Determine dconnectioninterfaces

DeterminedelementDetermined

elementDeterminedelement

Unbiasedconnectioninterfaces

Existingconnectio ninterface s

UnbiasedelementUnbiased

elemen tUnbiasedelement

Existingele mentExisting

elementExistingelemen t

Prim

ordi

albo

unda

ryin

terf

aces

Det

erm

ined

boun

dary

inte

rfac

es

Unb

iase

dbo

unda

ryin

terf

aces

Try

satis

fyre

quir

emen

ts

Determinedsolution al-ternativess

Determinedsolution al-ternativessDeterminedsolution al-ternatives

Unbiasedsolution al-ternativess

Unbiasedsolution al-ternativess

Unbiasedsolution al-ternatives

Res

tric

tion

requ

irem

ents

Page 57: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 57

Pt.0.P. Demarcate product by environment interface solutions and supplier opportunities

Pt.0.P. Demarcate product by environment interface solutions and supplier opportunities

• Try satisfying restrictions by solution alternatives

• Based on solution alternatives, decide what is inside and outside of this product

• Propose suppliers and samples

• Try satisfying restrictions by solution alternatives

• Based on solution alternatives, decide what is inside and outside of this product

• Propose suppliers and samples

Pt.0.P. Demarcate product by environment interfac esolutions and supplier opportunities

UnsatisfactoryPt

.0.P

a.Sa

tisfy

rest

ric-

tions

Pt.0

.Pb.

Inte

rfac

esfr

omen

viro

nmen

t sol

u-tio

nal

tern

ativ

es

Pt.0

.Pe.

Exam

ine

prod

uct

scop

e

Pt.0

.Pc.

Ana

lyse

in/o

utan

dm

ake/b

uyop

tions

Pt.0

.Pd.

Envi

ronm

entd

emar

-ca

ted

byin

terf

ace

so-

lutio

nsw

ithsu

pplie

rop

port

uniti

es

Xb.

Sam

plec

at-

alog

ues

Xc.

Dev

elop

turn

-ke

yite

ms

Pt.0

.Sa.

Envi

ronm

ent

rest

rict

ions

Pt.0

.Q.

Alte

rnat

ive

solu

tions

for

inte

rfac

esto

envi

ronm

ent

with

supp

lier

oppo

rtun

iti-

Pt.0.P. Demarcate product by environment interfac esolutions and supplier opportunities

UnsatisfactoryPt

.0.P

a.Sa

tisfy

rest

ric-

tions

Pt.0

.Pb.

Inte

rfac

esfr

omen

viro

nmen

t sol

u-tio

nal

tern

ativ

es

Pt.0

.Pe.

Exam

ine

prod

uct

scop

e

Pt.0

.Pc.

Ana

lyse

in/o

utan

dm

ake/b

uyop

tions

Pt.0

.Pd.

Envi

ronm

entd

emar

-ca

ted

byin

terf

ace

so-

lutio

nsw

ithsu

pplie

rop

port

uniti

es

Xb.

Sam

plec

at-

alog

ues

Xc.

Dev

elop

turn

-ke

yite

ms

Pt.0

.Sa.

Envi

ronm

ent

rest

rict

ions

Pt.0

.Q.

Alte

rnat

ive

solu

tions

for

inte

rfac

esto

envi

ronm

ent

with

supp

lier

oppo

rtun

iti-

Page 58: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 58

Sourcing interfaces to environment from suppliersSourcing interfaces to environment from suppliers

• Suppliers must be available along the whole the development

• Suppliers must be available along the whole the development

Pt.0

.B.

Envi

ronm

enta

rchi

tec-

ture

swith

elem

ents

,in-

terf

aces

and

oute

rmos

tbl

ack-

box

Pt.0.P.Demar-

cate prod-uct by en-vironmentinterfacesolutions

and suppli-er oppor-tunities

Pt.0.V.Verifyproto-type in

environ-ment

Pt.0

.Sa.

Envi

ronm

ent

rest

rict

ions

Xd:

2.Tu

rnke

yfu

l-ly

desc

ribed

sour

cesy

s-te

m

Pt.n

.E.

Inho

use

lega

cyso

urce

syst

ems

Xd:

1.Fr

om-th

e-sh

elffu

llyde

scri

bed

sour

cesy

s-te

m

Xa.

Prov

ide

sam

-pl

esof

f-the

-sh

elve

s

Xb.

Sam

ple

cat-

alog

ues

Pu.

Verif

ied

prot

otyp

e

Inhouse

Suppliers

Xc.

Dev

elop

turn

-ke

yite

ms

Pt.0.R.Exploreenviron-ment re-

stric-tions and

ensureenviron-

mentstaffing

Pt.0

.Q.

Alte

rnat

ive

solu

tions

for

inte

rfac

esto

envi

-ro

nmen

twith

supp

li-er

oppo

rtun

ities Pt.0.A.

Consti-tute en-viron-mentarchi-tecture

Pt.0

.G.

Fina

lized

inte

rfac

esto

envi

ronm

entw

ithpr

oduc

treq

uisit

es

Pt.0.I.Realize

interfaceand inte-grate/in-vade out- Pt

.0.J

:1.

Usa

ble

inte

rfac

est

arte

dto

simul

a-to

ror

targ

eten

vi-

ronm

ent

Pt.0.F.Finalizedesign ofinterfaceconnec-tions toenviron-

ment

Xd:4

.Tu

rnke

yre

usab

leite

m

Xd:

3.Fr

om-th

e-sh

elfr

eusa

-bl

eite

m

Pt.0

.B.

Envi

ronm

enta

rchi

tec-

ture

swith

elem

ents

,in-

terf

aces

and

oute

rmos

tbl

ack-

box

Pt.0.P.Demar-

cate prod-uct by en-vironmentinterfacesolutions

and suppli-er oppor-tunities

Pt.0.V.Verifyproto-type in

environ-ment

Pt.0

.Sa.

Envi

ronm

ent

rest

rict

ions

Xd:

2.Tu

rnke

yfu

l-ly

desc

ribed

sour

cesy

s-te

m

Pt.n

.E.

Inho

use

lega

cyso

urce

syst

ems

Xd:

1.Fr

om-th

e-sh

elffu

llyde

scri

bed

sour

cesy

s-te

m

Xa.

Prov

ide

sam

-pl

esof

f-the

-sh

elve

s

Xb.

Sam

ple

cat-

alog

ues

Pu.

Verif

ied

prot

otyp

e

Inhouse

Suppliers

Xc.

Dev

elop

turn

-ke

yite

ms

Pt.0.R.Exploreenviron-ment re-

stric-tions and

ensureenviron-

mentstaffing

Pt.0

.Q.

Alte

rnat

ive

solu

tions

for

inte

rfac

esto

envi

-ro

nmen

twith

supp

li-er

oppo

rtun

ities Pt.0.A.

Consti-tute en-viron-mentarchi-tecture

Pt.0

.G.

Fina

lized

inte

rfac

esto

envi

ronm

entw

ithpr

oduc

treq

uisit

es

Pt.0.I.Realize

interfaceand inte-grate/in-vade out- Pt

.0.J

:1.

Usa

ble

inte

rfac

est

arte

dto

simul

a-to

ror

targ

eten

vi-

ronm

ent

Pt.0.F.Finalizedesign ofinterfaceconnec-tions toenviron-

ment

Xd:4

.Tu

rnke

yre

usab

leite

m

Xd:

3.Fr

om-th

e-sh

elfr

eusa

-bl

eite

m

Page 59: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 59

EXAMPLE: House environment solution alternatives

EXAMPLE: House environment solution alternatives

• For each restriction requirement, document as many reasonable imaginable solutions as possible

• For each solution, decide if to be included in product to be developed

• If beneficial for later design, assess each solution alternative

• For each restriction requirement, document as many reasonable imaginable solutions as possible

• For each solution, decide if to be included in product to be developed

• If beneficial for later design, assess each solution alternative

Environment solution alternativesCost as-

sessmentEnvironment restric-

tionE.SL1.a. Keep distance to shoreline as close as possi-

ble to 150 mE.SL1.b. Build on higher land to keep lake viewE.SL1.c. Build higher house to keep lake view• Building plot

Exclude thesesolutions E.R.1. Swedish environ-

mental code 7th chapter

E.SL2.a. Obtain extra 2 000 m² land, to ensure a build-ing area of 100 m²

E.SL2.b. Obtain no extra land and build partly underground

E.SL2.c. Obtain no extra land and build smaller• Building size

Exclude thesesolutions E.R.2. Malmö urban plan-

ning and local constructionordinance

E.SL3. When interfaces to the environment is con-structed, existing neighbour environment may notbe damaged.

Exclude thesesolutions R.3. Swedish national

building regulationsE.SL4. Ramp from driveway to entry for disabled per-sons

~ ? 1 800

E.SL5. The building plot must be located to an attrac-tive area.

Exclude thesesolutions

R.4. Swedish FinancialSupervisory Authority

E.SL6.a. Ø 32 mm gas pipe from street• Gas is available in streetE.SL6.b. 3 m³ or 7 m³ rental tank close to house• Gas tank for free, included in gas deliveries

~ ? 7 000~ ? 500

E.R.5. All communal con-nections available shall beused to make the house func-tional and comfortable.

E.SL7.a. 16 Amperes from overhead linesE.SL7.b. 32 Amperes from underground cable• Elect ricity

~ ? 1 000~ ? 3 000

E.SL8.a. Drilled well with pump and purifierE.SL8.b. Ø 32 mm water pipe from streetE.SL8.c. Pipe from lake with pump and purifier• Water

~ ? 11 000~ ? 4 000~ ? 8 000

E.SL9.a. Waste water treatment to lake recipientE.SL9.b. Ø 125 mm pipe to street waste water• Sewage

~ ? 6 300~ ? 2 000

E.SL10.a. Basalt covered 2,4 m wide roadE.SL10.b. 4 basalt covered parking places, 2 m road

extension at street, with 0,5 m wide basalt coveredfootpath to house

• Driveway

~ ?15 000~ ? 2 000

Material min cost sumMaterial max cost sum

~ ? 11 300~ ? 44 100

Environment solution alternativesCost as-

sessmentEnvironment restric-

tionE.SL1.a. Keep distance to shoreline as close as possi-

ble to 150 mE.SL1.b. Build on higher land to keep lake viewE.SL1.c. Build higher house to keep lake view• Building plot

Exclude thesesolutions E.R.1. Swedish environ-

mental code 7th chapter

E.SL2.a. Obtain extra 2 000 m² land, to ensure a build-ing area of 100 m²

E.SL2.b. Obtain no extra land and build partly underground

E.SL2.c. Obtain no extra land and build smaller• Building size

Exclude thesesolutions E.R.2. Malmö urban plan-

ning and local constructionordinance

E.SL3. When interfaces to the environment is con-structed, existing neighbour environment may notbe damaged.

Exclude thesesolutions R.3. Swedish national

building regulationsE.SL4. Ramp from driveway to entry for disabled per-sons

~ ? 1 800

E.SL5. The building plot must be located to an attrac-tive area.

Exclude thesesolutions

R.4. Swedish FinancialSupervisory Authority

E.SL6.a. Ø 32 mm gas pipe from street• Gas is available in streetE.SL6.b. 3 m³ or 7 m³ rental tank close to house• Gas tank for free, included in gas deliveries

~ ? 7 000~ ? 500

E.R.5. All communal con-nections available shall beused to make the house func-tional and comfortable.

E.SL7.a. 16 Amperes from overhead linesE.SL7.b. 32 Amperes from underground cable• Elect ricity

~ ? 1 000~ ? 3 000

E.SL8.a. Drilled well with pump and purifierE.SL8.b. Ø 32 mm water pipe from streetE.SL8.c. Pipe from lake with pump and purifier• Water

~ ? 11 000~ ? 4 000~ ? 8 000

E.SL9.a. Waste water treatment to lake recipientE.SL9.b. Ø 125 mm pipe to street waste water• Sewage

~ ? 6 300~ ? 2 000

E.SL10.a. Basalt covered 2,4 m wide roadE.SL10.b. 4 basalt covered parking places, 2 m road

extension at street, with 0,5 m wide basalt coveredfootpath to house

• Driveway

~ ?15 000~ ? 2 000

Material min cost sumMaterial max cost sum

~ ? 11 300~ ? 44 100

Page 60: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 60

EXAMPLE House environment:Excluded and included solution alternatives with supplier opportunities

EXAMPLE House environment:Excluded and included solution alternatives with supplier opportunities

• Demarcate the product from the existing environment to prevent the product from swelling out

• Voluminous solutions for interfaces to environment are excluded from development

• Definitely needed interfaces to environment are included

• Demarcate the product from the existing environment to prevent the product from swelling out

• Voluminous solutions for interfaces to environment are excluded from development

• Definitely needed interfaces to environment are included

Excluded environment solutions Responsible Environment solutionalternatives

SX.1 Buy beachside building landlarger than 2 000 m² with pos-sible house ground at 150 mfrom the lake

House proprietor Building plotE.SL1.a., E.SL1.b., E.SL1.c.E.SL2.a., E.SL2.b., E.SL2.c.

SX.2. Damages on neighbours envi-ronment

House proprietor E.SL3.

SX.3. Lake view is more than goodenough

House proprietor E.SL5.

SX.4. Water and electricity supplyfrom environment during build-ing the house

House proprietor Preliminary electricity and waterE.SL7.a., E.SL7.b., E.SL8.a., E.SL8.b.,E.SL8.c.

SX.5. Connection fees to authoritiesand commune

House proprietor Interface connectionsE.SL7.a., E.SL7.b., E.SL8.a., E.SL8.b.,E.SL8.c., E.SL9.a., E.SL9.b., A.SL7.

Excluded environment solutions Responsible Environment solutionalternatives

SX.1 Buy beachside building landlarger than 2 000 m² with pos-sible house ground at 150 mfrom the lake

House proprietor Building plotE.SL1.a., E.SL1.b., E.SL1.c.E.SL2.a., E.SL2.b., E.SL2.c.

SX.2. Damages on neighbours envi-ronment

House proprietor E.SL3.

SX.3. Lake view is more than goodenough

House proprietor E.SL5.

SX.4. Water and electricity supplyfrom environment during build-ing the house

House proprietor Preliminary electricity and waterE.SL7.a., E.SL7.b., E.SL8.a., E.SL8.b.,E.SL8.c.

SX.5. Connection fees to authoritiesand commune

House proprietor Interface connectionsE.SL7.a., E.SL7.b., E.SL8.a., E.SL8.b.,E.SL8.c., E.SL9.a., E.SL9.b., A.SL7.

Included environment solution with supplier op-portunities

Environment solutionalternativesSU.10. Builder’s suppliers• Use ordina ry building material, from selected build -

er suppli ers.

Electricity, water and sewageE.SL7.a., E.SL7.b., E.SL8.a., E.SL8.b.,E.SL8.c.

SU.11. Gas supplier• Use only authority appr oved equipment, Use tank

supplied by gas provider.

Gas pipe and tankE.SL6.a., E.SL6.b.

SU.12. Ext Bas AB• Use stone sample H34

Driveway and rampE.SL4., E.SL10.a.

SU.13. Local supplier• Use natural material that harmony with the envi-

ronment from local suppliers

DrivewayE.SL9.a., E.SL9.b.

Included environment solution with supplier op-portunities

Environment solutionalternativesSU.10. Builder’s suppliers• Use ordina ry building material, from selected build -

er suppli ers.

Electricity, water and sewageE.SL7.a., E.SL7.b., E.SL8.a., E.SL8.b.,E.SL8.c.

SU.11. Gas supplier• Use only authority appr oved equipment, Use tank

supplied by gas provider.

Gas pipe and tankE.SL6.a., E.SL6.b.

SU.12. Ext Bas AB• Use stone sample H34

Driveway and rampE.SL4., E.SL10.a.

SU.13. Local supplier• Use natural material that harmony with the envi-

ronment from local suppliers

DrivewayE.SL9.a., E.SL9.b.

Page 61: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 61

Pt.n.P. Predetermine solutions and sourcing optionsPt.n.P. Predetermine solutions and sourcing options

• Try to satisfy requirements when designing black-box

• Propose samples and suppliers

• Try to satisfy requirements when designing black-box

• Propose samples and suppliers

Pt.n.P. Predetermine solu-tions and sourcing options

UnsatisfactoryPt

.n.P

a.Tr

ysa

tisfy

requ

irem

ents

Pt.n

.Pb.

Solu

tion

alte

rnat

ives

Pt.n

.Pc.

Ana

lyse

mak

e/bu

yop

tions

Pt.n

.Pd.

Supp

lier

oppo

rtun

ities

Pt.n

.Pe.

Exam

ine

mak

e/bu

yba

lanc

e

Xb.

Sam

plec

at-

alog

ues

Xc.

Dev

elop

turn

-ke

yite

ms

Pt.n

.Sa.

Prio

ritiz

edre

-qu

irem

ents

s

Pt.n

.Q.

Alte

rnat

ives

olu-

tions

with

supp

li-er

oppo

rtun

ities

Pt.n.P. Predetermine solu-tions and sourcing options

UnsatisfactoryPt

.n.P

a.Tr

ysa

tisfy

requ

irem

ents

Pt.n

.Pb.

Solu

tion

alte

rnat

ives

Pt.n

.Pc.

Ana

lyse

mak

e/bu

yop

tions

Pt.n

.Pd.

Supp

lier

oppo

rtun

ities

Pt.n

.Pe.

Exam

ine

mak

e/bu

yba

lanc

e

Xb.

Sam

plec

at-

alog

ues

Xc.

Dev

elop

turn

-ke

yite

ms

Pt.n

.Sa.

Prio

ritiz

edre

-qu

irem

ents

s

Pt.n

.Q.

Alte

rnat

ives

olu-

tions

with

supp

li-er

oppo

rtun

ities

Page 62: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 62

EXAMPLE calc_logic:Solution alternatives and supplier opportunities

EXAMPLE calc_logic:Solution alternatives and supplier opportunities

• Try finding solution alternatives for outmost black-box requirements

• In this example alternatives are few• Most development will be made

inhouse• Typical for software

• Try finding solution alternatives for outmost black-box requirements

• In this example alternatives are few• Most development will be made

inhouse• Typical for software

calc_logic for reuse supplier opportunitiescalc_logic for reuse solu-

tion alternativeSU.12. Inhouse project DG3 A. calc_logic for reuse

A.SL1., A.SL2., A.SL3., A.SL5., A.SL6.,A.SL9., A.SL10., A.SL11., A.SL12.

SU.13. Well direct Development system

calc_logic for reuse supplier opportunitiescalc_logic for reuse solu-

tion alternativeSU.12. Inhouse project DG3 A. calc_logic for reuse

A.SL1., A.SL2., A.SL3., A.SL5., A.SL6.,A.SL9., A.SL10., A.SL11., A.SL12.

SU.13. Well direct Development system

calc_logic for reuse solution alter-natives

Assess-ment

calc_logic for reuse require-ment

Prior-ity

A.SL1. calc_logic must internally han-dle 64 buttons.

No extracost

A.RR.1.1. The calc_logic elementmust be able to process 16 buttonstimuli at minimum and be future-proof to process many more buttonstimuli.

A.SL2. Up to 128 digits must be inter-nally handled, even if not all are accu-rate.

A.SL3. Handling must include bothnumeric and non-numeric characters

No extracost

A.RR.2.1. The calc_logic elementmust be able to process 8 digitsresponses, and must be future-proofto a much large amount of digits.

A.SL4. Any mathematical coprocessorshall never be used by calc_logic, butinstead the compiler with built-inlibrary or external library.

Saving cost A.RR.3.1. To reduce complexity fromunpredictable existence of coproces-sor, a math-copro cessors shall notbe used at all.

A.SL5. Develop first calc_logic on ahost development system supporting~ 15 digits precision.

A.SL6. Then port calc_logic to a Win-dows hosted development system formicro controllers supporting 7 digitsfloating point precision

A.SL7. Then port calc_logic to a microcontroller experimental board

A.SL8. Then port calc_logic to the tar-get standalone pocket calculator

A.SL9. When available, procure com-piler for the windows supporting bet-ter double floating point precision

A.SL10. If different precision or differ-ent target demands calc_logic spe-cific solutions, these must be hiddenbehind compiler switches.

~ 40 000

~ 1 000

~ 2 000

~ 2 000

No extracost

Small cost

A.RR.4.1. It is good enough with amaximum calculation precision of~ 15 digits during host developmentof the calc_logic program.

A.SL11. For development of calc_logic in host, development boards and tar- get, use development systems having open and documented mechanisms for function call and return.

A.RR.5.1. The calc_logic elementmust in first version be portable tothe windows calculator applicationand to the pocket standalone calcu-lator.

A.SL12. Make implementation in C, anduse scenario wait-states in program.

Cost ~20 000 (ex-

cludedcompiler

and math li-brary)

A.RB.6.S1. calc_logic for reuse,behaviour requirement 6, scenario 1

calc_logic for reuse solution alter-natives

Assess-ment

calc_logic for reuse require-ment

Prior-ity

A.SL1. calc_logic must internally han-dle 64 buttons.

No extracost

A.RR.1.1. The calc_logic elementmust be able to process 16 buttonstimuli at minimum and be future-proof to process many more buttonstimuli.

A.SL2. Up to 128 digits must be inter-nally handled, even if not all are accu-rate.

A.SL3. Handling must include bothnumeric and non-numeric characters

No extracost

A.RR.2.1. The calc_logic elementmust be able to process 8 digitsresponses, and must be future-proofto a much large amount of digits.

A.SL4. Any mathematical coprocessorshall never be used by calc_logic, butinstead the compiler with built-inlibrary or external library.

Saving cost A.RR.3.1. To reduce complexity fromunpredictable existence of coproces-sor, a math-copro cessors shall notbe used at all.

A.SL5. Develop first calc_logic on ahost development system supporting~ 15 digits precision.

A.SL6. Then port calc_logic to a Win-dows hosted development system formicro controllers supporting 7 digitsfloating point precision

A.SL7. Then port calc_logic to a microcontroller experimental board

A.SL8. Then port calc_logic to the tar-get standalone pocket calculator

A.SL9. When available, procure com-piler for the windows supporting bet-ter double floating point precision

A.SL10. If different precision or differ-ent target demands calc_logic spe-cific solutions, these must be hiddenbehind compiler switches.

~ 40 000

~ 1 000

~ 2 000

~ 2 000

No extracost

Small cost

A.RR.4.1. It is good enough with amaximum calculation precision of~ 15 digits during host developmentof the calc_logic program.

A.SL11. For development of calc_logic in host, development boards and tar- get, use development systems having open and documented mechanisms for function call and return.

A.RR.5.1. The calc_logic elementmust in first version be portable tothe windows calculator applicationand to the pocket standalone calcu-lator.

A.SL12. Make implementation in C, anduse scenario wait-states in program.

Cost ~20 000 (ex-

cludedcompiler

and math li-brary)

A.RB.6.S1. calc_logic for reuse,behaviour requirement 6, scenario 1

Page 63: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 63

Design architectures

Design architectures

Time and money for architects?Time and money for architects?

Page 64: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 64

Pt.0.A. Constitute environment architecturePt.0.A. Constitute environment architecture

• Interfaces to environment shall now be designed

• Alternative solution are selected and decided, including eventual supplier samples, and noted in architecture resumé

• Ingredients in the resumé are arranged in an environment logical architecture

• Ingredients are depicted in an environment physical architecture

• Interfaces to environment shall now be designed

• Alternative solution are selected and decided, including eventual supplier samples, and noted in architecture resumé

• Ingredients in the resumé are arranged in an environment logical architecture

• Ingredients are depicted in an environment physical architecture

Pt.0.A. Constitute envi-ronment architecture

Unsatisfactory

Pt.0

.Ag.

Exam

ine

prod

uct

cont

ext

Pt.0

.Aa.

Iden

tify

envi

ron-

men

tdes

ign

ingr

e-di

ents

Pt.0

.Ac.

Arr

ange

desi

gnin

-gr

edie

ntsa

ndid

en-

tify

blac

k-bo

x

Pt.0

.Ab.

Envi

ronm

enta

rchi

-te

ctur

eres

umé

Pt.0

.Ae.

Layo

utph

ysica

lar

chite

ctur

e

Pt.0

.B.

Envi

ronm

enta

rchi

-te

ctur

eswi

thel

e-m

ents

,int

erfa

cesa

ndou

term

ostb

lack

-boxPt

.0.A

d.En

viro

nmen

tlog

i-ca

larc

hite

ctu

re

Pt.0

.Af.

Envi

ronm

ent

phys

ical

arch

i-te

ctur

e

Xc.

Dev

elop

turn

-ke

yite

ms

Xb.

Sam

plec

at-

alog

ues

Pt.0

.Q.

Alte

rnat

ive

solu

tions

for

in-

terf

aces

toen

viro

nmen

twith

supp

lier

oppo

rtun

ities

Pt.0

.Sa.

Envi

ronm

ent

rest

rict

ions

Pt.0.A. Constitute envi-ronment architecture

Unsatisfactory

Pt.0

.Ag.

Exam

ine

prod

uct

cont

ext

Pt.0

.Aa.

Iden

tify

envi

ron-

men

tdes

ign

ingr

e-di

ents

Pt.0

.Ac.

Arr

ange

desi

gnin

-gr

edie

ntsa

ndid

en-

tify

blac

k-bo

x

Pt.0

.Ab.

Envi

ronm

enta

rchi

-te

ctur

eres

umé

Pt.0

.Ae.

Layo

utph

ysica

lar

chite

ctur

e

Pt.0

.B.

Envi

ronm

enta

rchi

-te

ctur

eswi

thel

e-m

ents

,int

erfa

cesa

ndou

term

ostb

lack

-boxPt

.0.A

d.En

viro

nmen

tlog

i-ca

larc

hite

ctu

re

Pt.0

.Af.

Envi

ronm

ent

phys

ical

arch

i-te

ctur

e

Xc.

Dev

elop

turn

-ke

yite

ms

Xb.

Sam

plec

at-

alog

ues

Pt.0

.Q.

Alte

rnat

ive

solu

tions

for

in-

terf

aces

toen

viro

nmen

twith

supp

lier

oppo

rtun

ities

Pt.0

.Sa.

Envi

ronm

ent

rest

rict

ions

Page 65: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 65

EXAMPLE House:Environment architecturesEXAMPLE House:Environment architectures

• Environment architectures• Resumé• Logical• Physical

• Environment architectures• Resumé• Logical• Physical

House environment architecture resumé

Environment ingredients Existing environment and solution alternativesto interface it

E. House environment The existing surrounding to the houseE.SL3. When interfaces to the environment is constructed,existing neighbour environment may not be damaged.

E.a. House user Proprietor, relatives and guests coming from the environmentE.b. Lake Existing beautiful lake, south of the planned houseE.c. Street Existing residential street, east of the planned house-E-1. Shoreline distance Product interface to be developed

E.SL1.a. Keep distance to shoreline as close as possible to 150m

-E-2. Water Product interface to be developedE.SL8.b. Ø 32 mm water pipe from street

-E-3. Sewage Product interface to be developedE.SL9.b. Ø 125 mm pipe to street waste water

-E-4. Electricity Product interface to be developedE.SL7.b. 32 Amperes from underground cable

-E-5. Gas Product interface to be developedE.SL6.b. 3 m³ or 7 m³ rental tank close to houseMust go shortest way from outer wall to inside burner.

-E-6. Driveway Product interface to be developedE.SL10.a. Basalt covered 2,4 m wide road. Stone sample H34from Ext Bas AB

-E-7. Entrances Product interface to be developedE.SL4. Ramp from driveway to entry for disabled persons

A. House Product to be developedE.SL2.a. Obtain extra 2 000 m² land, to ensure a building areaof 100 m².E.SL5. The building plot must be located to an attractive area.

E. Environment

-E-2. Water

-E-4. Electricity

-E-5. Gas

-E-3. Sewage

-E-6. Drive-way

-E-1

.Sh

orel

ine

dist

ance

A.House

E.b.Lake

E.c.

Stre

et

E.a.Houseuser

-E-7. Entrances

E. House environment

-E-6. Drivew

ay

-E-4. Electricity

-E-5. Gas

-E-2. Water -E-3. Sewage

50 m

E.c. Street

E.b. Lake

Page 66: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 66

EXAMPLE Calc_logic environment logical architectureEXAMPLE Calc_logic environment logical architecture

• Same reusable component with very different environments

• Same reusable component with very different environments

baa.E. Motherboard

aa.aaa.E. Person al computer environmente.aaa.E. Personal computer

ba.E.Main processor

ca.E.Math coprocessor

a.aaa.E. Calculator user

a.E.a. Windows op-erating system

a.E.aa.User mode services

a.E. Windows systemE. calc_logic environ-ment (Windows calcu-

lator application)

Ea. Application initiallygenerated by visual studio

-E-1. calc_logic in-terface to Windowscalculator software

E.ad. WndProc

aa.E. Working memory

d.aaa.E.Mouse

c.aaa.E.Keyboard

b.aaa.E.Screen

aaa.E. Graphicplug-in card

da.E. PCIbuffer

ea.E.Buffer

fa.E.Buffer

a.E.ab.Execut ive mode services

A.calc_logicfor reuse

E.aa.WinMain

E.ade.About

E.ac. InitIn-stance

E.ab.MyRegisterClass

E.adb. Case WM_COMMAND

E.adc. Case WM_PINT

E.add. Case WM_DESTROY

E.ada. Case WM_CREATE

aaa.E. Pocket calculator

a.aaa.E. Pocket calculator environment

a.aaa.E.a.Calcula-tor user

-a.aaa.E-1.Button

pressing

-a.aaa.E-2.Displayshowing

-a.aaa.E-3.Batteryopening

aa.E. Circuit board

-aa.E-1.Key port

-aa.E-4.Led seg port

a.E. Micro controller

-aaa.E-1.Wires

-aa.E-2.Interrupt port

-aa.E-3.Led nr port

-E-1.calc_logicinterfaceto pocketcalculatorsoftware

-E.a

-1.

Butto

nbu

ffer

A.calc_logicfor reuse

E.aa.Programinitiator

8

3

4

E.a.

Key

boar

dan

dLE

Ddr

iver

prog

ram

aaa.E.a.Battery

aa.E-a.Button

aa.E-b.LED dis-

play

E.ac.Led inter-

ruptthread

E.ab.Button

interruptthread

*

*

*

E. calc_logic environ-ment (pocket calculator

firmware)

a.E.a.Timer inter-

rupt generato r

Page 67: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 67

Pt.n.A. Satisfy refined requirements by decomposing black-box from outward level into white-box design containing possible black-boxes

Pt.n.A. Satisfy refined requirements by decomposing black-box from outward level into white-box design containing possible black-boxes

• Black-boxes from outward level shall now be opened and designed

• Alternative solution are selected and decided, including supplier samples, and noted in the architecture resumé

• Ingredients in the resumé are arranged in a physical architecture

• Ingredients are depicted in a physical architecture

• Black-boxes from outward level shall now be opened and designed

• Alternative solution are selected and decided, including supplier samples, and noted in the architecture resumé

• Ingredients in the resumé are arranged in a physical architecture

• Ingredients are depicted in a physical architecture

Pt.n.A. Satisfy refined requirements by decomposing black-box fromoutward level into white-box design containing possible black-boxes

Unsatisfactory

Pt.n

.Ag.

Exam

ine

arch

itec-

ture

s

Pt.n

.Aa.

Iden

tify

whi

te-

box

desig

nin

gre-

dien

ts

Pt.n

.Ac.

Arr

ange

desig

nin

gre-

dien

tsan

did

entif

ypo

ssib

lebl

ack-

boxe

s

Pt.n

.Ae.

Layo

utph

ysic

alar

chite

ctur

e

Pt.n

.Ab.

Arc

hite

ctu

rere

sum

é

Pt.n

.B.

Arc

hite

ctur

ew

hite

-box

with

maj

orel

emen

tsan

dpo

ssib

lebe

low-

level

blac

k-bo

xes

Pt.n

.Ad.

Logi

cala

rchi

-te

ctur

e

Pt.n

.Af.

Phys

ical

ar-

chite

ctur

e

Xc.

Dev

elop

turn

-ke

yite

ms

Xb.

Sam

ple

cat-

alog

ues

Pt.n

-1.B

.A

rchi

tect

ure

whi

te-b

oxwi

thm

ajor

elem

ents

and

poss

ible

belo

w-le

vel

blac

k-bo

xes

if n > 1

if n = 1

Pt.0

.B.

Envi

ronm

enta

rchi

-te

ctur

esw

ithel

e-m

ents

,int

erfa

cesa

ndou

term

ost

blac

k-bo

x

Pt.n

.Sa.

Prio

ritiz

edre

-qu

irem

ents

sts

Pt.n

.Q.

Alte

rnat

ive

solu

-tio

nsw

ithsu

ppli-

erop

port

uniti

es

Pt.n.A. Satisfy refined requirements by decomposing black-box fromoutward level into white-box design containing possible black-boxes

Unsatisfactory

Pt.n

.Ag.

Exam

ine

arch

itec-

ture

s

Pt.n

.Aa.

Iden

tify

whi

te-

box

desig

nin

gre-

dien

ts

Pt.n

.Ac.

Arr

ange

desig

nin

gre-

dien

tsan

did

entif

ypo

ssib

lebl

ack-

boxe

s

Pt.n

.Ae.

Layo

utph

ysic

alar

chite

ctur

e

Pt.n

.Ab.

Arc

hite

ctu

rere

sum

é

Pt.n

.B.

Arc

hite

ctur

ew

hite

-box

with

maj

orel

emen

tsan

dpo

ssib

lebe

low-

level

blac

k-bo

xes

Pt.n

.Ad.

Logi

cala

rchi

-te

ctur

e

Pt.n

.Af.

Phys

ical

ar-

chite

ctur

e

Xc.

Dev

elop

turn

-ke

yite

ms

Xb.

Sam

ple

cat-

alog

ues

Pt.n

-1.B

.A

rchi

tect

ure

whi

te-b

oxwi

thm

ajor

elem

ents

and

poss

ible

belo

w-le

vel

blac

k-bo

xes

if n > 1

if n = 1

Pt.0

.B.

Envi

ronm

enta

rchi

-te

ctur

esw

ithel

e-m

ents

,int

erfa

cesa

ndou

term

ost

blac

k-bo

x

Pt.n

.Sa.

Prio

ritiz

edre

-qu

irem

ents

sts

Pt.n

.Q.

Alte

rnat

ive

solu

-tio

nsw

ithsu

ppli-

erop

port

uniti

es

Page 68: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 68

Connection and boundary interfacesConnection and boundary interfaces

• Development outside-in• Connection interfaces are

keeping elements in contact• Belongs to the outermost

element where it appear• designated like –E–1.

• Boundary interfaces are keeping elements apart

• Belongs to the element it surrounds

• designated like [A]2.

• Development outside-in• Connection interfaces are

keeping elements in contact• Belongs to the outermost

element where it appear• designated like –E–1.

• Boundary interfaces are keeping elements apart

• Belongs to the element it surrounds

• designated like [A]2.

All solutionalternatives

E. Includedsolution alternatives

ExcludedsolutionExcluded

solutionExcludedsolution

E. Environment

-E-1.Connection

interface

-A-1.Connection

interface

[A.A

]2.

Boun

dary

inte

rfac

e

Connectioninterfacesolution

ConnectioninterfacesolutionConnection

interfacesolution

A. Solutionalternatives

E.R2

.Env

iron

men

tre

stri

ctio

nE.

R1.E

nvir

onm

ent

rest

rict

ion

A.R3

.1Bl

ack-

box

requ

irem

ent

A.R

2.1.

Blac

k-bo

xre

quir

emen

tA

.R1.

1.Bl

ack-

box

requ

irem

ent

A.b.Element

E.a.Existingelement

Satis

fyre

-str

ictio

nsTr

ysa

tisfy

re-

quir

emen

ts

[A]2

Boun

dary

inte

rfac

e

ElementsolutionElement solu-

tionElement solu-tion

BoundaryinterfacesolutionBoundaryinterfacesolutionBoundaryinterfacesolution

Connectioninterfacesolution

ConnectioninterfacesolutionConnection

interfacesolution

0.5.

A. Outmostwhite-box

A. Outmost black-box

A.A.Embed-

dedblack-

box

A.A.Embed -

ded white-box

-E-2.Existing MMI

E.b.Poten-

tial user

Page 69: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 69

EXAMPLE Multiplication Toy:Logic architecture with exchangeable multiplier

EXAMPLE Multiplication Toy:Logic architecture with exchangeable multiplier

aE. Hosting toy and multiplication toy environment

aE.a.Multi-plica-

tion toyuser

-E-1. Hostattachment

aE.b.Hostingtoy pro-ducer

-aE-5.BatteryexchangeaE.c.

Userguardian

-A-6.Power feed

A. Multiplication toy

-A-3.Operand

bus

-A-4.Operand

bus

-A-5.Product

bus

-aE-1a. Multi-plicand input

-aE-1b. Multi-plicand input

[A]2

.H

ousi

ng

E. Multiplication toy environment(hosting toy)

-aE-1c. Prod-uct output

-A-1.Circuit board

Aa.Multi-plier

Ab. Set-ting

device

Ad.Present-

ing device

Ae.Powersupply

Ac. Set-ting

device

10

4

4

Ad.b.7-seg.LEDdigits

Ad.a.BDC to7-seg.conv.

-aE-3. Immov-able parts

[E]2

.H

ostin

gto

ybo

unda

ry

-aE-2. Paddingleakage

-aE-4.Surface poison

-A-3.Operand

bus

-A-4.Operand

bus -Aa:1-1.B

in-B

CD

interface-A-5.Product

bus

Aa:1. Hard-wired multiplierAa:1.a. Arith-

metic unit

Aa:1.b. Bin-BCD converter

-A-6. Powerfeed

810

4

4

-A-1:1 Proto-type board

-A-3.Operand

bus

-A-4.Operand

bus -Aa:1-1.B

in-B

CD

interface-A-5.Product

bus

Aa:1. Hard-wired multiplierAa:1.a. Arith-

metic unit

Aa:1.b. Bin-BCD converter

-A-6. Powerfeed

810

4

4

-A-1:1 Proto-type board

Aa:2. Micro controller multiplier

10

4

4

-A-3.Operand

bus

-A-4.Operand

bus

-A-5.Product

bus

Aa:2a. Micro controller4 bit

4 bit

10 bit

Aa:2aa.Softwareprogramport

-A-6.Power feed

port

port

-A-1:2 Printedboard

-Aa:2-1.In circuit pro-

grammable port

Aa:2. Micro controller multiplier

10

4

4

-A-3.Operand

bus

-A-4.Operand

bus

-A-5.Product

bus

Aa:2a. Micro controller4 bit

4 bit

10 bit

Aa:2aa.Softwareprogramport

-A-6.Power feed

port

port

-A-1:2 Printedboard

-Aa:2-1.In circuit pro-

grammable port

Page 70: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 70

EXAMPLE House: House decomposed to kitchen logical architecturesEXAMPLE House: House decomposed to kitchen logical architectures

E. House environment

A. House

-A-7

.K-

win

dow

-A-18.L-wicket

-A-1

3.E-

door

-A-15.Openarch

-A-14.Lockdoor -A

-16.

Stai

rway

A.c.Stairway nook

-A-17.S-wicket

[A]1

1.H

ouse

oute

rbo

unda

ry

A.a. Rooms

-E-5. Gas

-A-3a. K-heating

-A-6.Door

section

-A-9.Frontdoor

-A-10.Backdoor

-E-1

.Air

outle

t

-E-2.Chimney

-E-4.Electric- -A-4a.

K-Wiring-E-3.

Sewage-A-5.

Sewer

-E-2.Water

-A-2.Cold water

-A-1.Warm water

-A-4b.O-Wiring

-A-3

d.T-

heat

ing

-A-3

e.B-

heat

-

-A-3

c.E-

heat

-in

g

-A-3

b.D

-hea

t-in

g

-A-8

.T-

wind

ow

-A-12.House inner walls

A.aE.Bed room

A.aB.Entrance

A.aA.DiningA.aC.

Kitchen

A.aD.Toilet

A.b.Loft

A.cc.Scale

A.cb.Boiler

A.ca.El. centra l

A.cd.Cesspit

-E-5a. K-Gas

-A.aC-1.Interioraccess

-A-3

a.K

-hea

ting

-A-7

.K-w

indo

w

[A.aC]4.Floor

[A.aC]5.Splash back

[A.aC]6. Wall andceiling

-A.aC-2. Interior attach

A.aC.p. Chef

-E-1

.Air

outle

t

-A-5

.Sew

er

-A-1

.War

mw

ater

-A-2

.Col

dw

ater

A.a

C.a

D.H

eatm

achi

nery

A.a

C.a

E.E

vacu

ate

mac

hine

ry

A.a

C.a

G.D

ishm

achi

nery

A.a

C.a

C.B

ake

mac

hine

ry

A.a

C.a

B.W

arm

mac

hine

ry

A.a

C.a

A.C

old

mac

hine

ry

A.aC. Kitchen

-A-4

a.K

-Wir

ing

-A.a

C-3

.M

achi

nery

el.f

eed

A.a

C.j.

Prep

arat

ion

benc

h

A.a

C.b

.Med

icin

ecu

pboa

rdA

.aC

.c.G

roce

rycu

pboa

rdA

.aC

.d.G

roce

rycu

pboa

rdA

.aC

.e.D

epos

itcu

pboa

rdA

.aC

.f.Ti

nyut

ensil

draw

ers

A.a

C.g

.Bak

ing

cupb

oard

A.a

C.k

.Che

mic

alcu

pboa

rdA

.aC

.h.T

able

war

edr

awer

sA

.aC

.m.T

able

war

ecu

pboa

rdA

.aC

.i.Bi

gut

ensil

cupb

oard

A.a

C.l.

Tabl

ewar

ecu

pboa

rdA

.aC

.n.K

nife

hang

er

A.a

C.a

F.W

etm

achi

nery

A.a

C.a

.Mac

hine

ry

A.aC.o.Sub Central

-E-5

a.K

-Gas

Page 71: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 71

EXAMPLE House: Machinery logical and physical architecture

EXAMPLE House: Machinery logical and physical architecture

• Physical architecture• Physical architecture

• Logical archi-tecture

• Logical archi-tecture

<-A.a

C.aA.a

. Comb

inedfri

dge/fr

eezer

<-A.a

C.aB.a

. Micr

o oven

<-A.a

C.aB.b

. Warm

ingove

n

<-A.a

C.aC.a

. Wide

oven<-

A.aC.a

E.a. W

idehoo

d

<-Aa

C.aDa

. Elec

tric h

obs

<-A.a

C.aD.b

. Gas

burner

<-A.a

C.aG.a

. Dish

washer

coarse

<-A.a

C.aF.a

. Sink

2 bowl

s

<=A.a

C.aF.b

. Comb

inedtap

<-A.a

C.aG.b

. Dish

washer

gentle

A.aC.a. Machinery

A.aC.aB. Warm machiner y

A.aC.aD. Heat machinery

A.aC.aE. Evacuate machiner y

A.aC.aF. Wet machiner y

-A-1. Warm water

-A-5. Sewer

-E-1. Air outlet

A.aC.aC. Bake machiner y

A.aC.aG. Dish machiner y

-A.aC-3a. El. fridge

-A.aC-3b. El. micro

-E-5. Gas

-A-2. Cold water

-A.aC-3c. El. warm

-A.aC-3d. El. bake

-A.aC-3e. El. hob

-A.aC-3f. El. hood

-A.aC-3h. El. G dish

-A.a

C-2

.Int

erio

rat

tach

[A.aC.aG]2.Dish housing

-A.a

C-1

.Int

erio

rac

cess

-A.aC-1p.Dish door[A.aC.aG]1.

Dish housing

-A.aC-1n.Dish door

[A.aC.aF]1.Gasket seal

-A.aC-1o.Dish panel

-A.aC-1m.Dish panel

-A.aC-1l.Handles

-A.aC-1k.Hood panel

[A.aC.aD]1.Gasket seal

-A.aC-1i.Hob panel-A.aC-1j.Burner panel

[A.aC.aC]1.Oven housing

-A.aC-1g.Bake panel-A.aC-1h.Bake door

-A.aC-1c.Micro panel-A.aC-1d.Micro door-A.aC-1e.Warm panel-A.aC-1f.Warm door

-A.aC-1b.Cold door

-A.aC-1a.Cold panel

[A.aC.aA]1.Cold housing

[A.aC.aE]1.Air tin box

-A.a

C-3

.Mac

hine

ryel

.fee

d

[A.aC.aB]2.Oven housing

[A.aC.aB]1.Micro housing

-A.aC-3g. El. C dish

A.aC.aA. Cold machiner y

A.aC.aB.a.Micro oven

A.aC.aA.a.Combined fridge/f reezer

A.aC.aB. b.Warming oven

A.aC.aC.a.Wide oven

AaC.aDa.Electric hobs

A.aC.aD.b.Gas burner

A.aC.aE.a.Wide hood

A.aC.aF.a.Sink 2 bowls

A.aC.aF.b.Combined tap

A.aC.aG.a.Dishwasher coarse

A.aC.aG.b.Dishwasher gentle

A.aC.a. Machinery

A.aC.aB. Warm machiner y

A.aC.aD. Heat machinery

A.aC.aE. Evacuate machiner y

A.aC.aF. Wet machiner y

-A-1. Warm water

-A-5. Sewer

-E-1. Air outlet

A.aC.aC. Bake machiner y

A.aC.aG. Dish machiner y

-A.aC-3a. El. fridge

-A.aC-3b. El. micro

-E-5. Gas

-A-2. Cold water

-A.aC-3c. El. warm

-A.aC-3d. El. bake

-A.aC-3e. El. hob

-A.aC-3f. El. hood

-A.aC-3h. El. G dish

-A.a

C-2

.Int

erio

rat

tach

[A.aC.aG]2.Dish housing

-A.a

C-1

.Int

erio

rac

cess

-A.aC-1p.Dish door[A.aC.aG]1.

Dish housing

-A.aC-1n.Dish door

[A.aC.aF]1.Gasket seal

-A.aC-1o.Dish panel

-A.aC-1m.Dish panel

-A.aC-1l.Handles

-A.aC-1k.Hood panel

[A.aC.aD]1.Gasket seal

-A.aC-1i.Hob panel-A.aC-1j.Burner panel

[A.aC.aC]1.Oven housing

-A.aC-1g.Bake panel-A.aC-1h.Bake door

-A.aC-1c.Micro panel-A.aC-1d.Micro door-A.aC-1e.Warm panel-A.aC-1f.Warm door

-A.aC-1b.Cold door

-A.aC-1a.Cold panel

[A.aC.aA]1.Cold housing

[A.aC.aE]1.Air tin box

-A.a

C-3

.Mac

hine

ryel

.fee

d

[A.aC.aB]2.Oven housing

[A.aC.aB]1.Micro housing

-A.aC-3g. El. C dish

A.aC.aA. Cold machiner y

A.aC.aB.a.Micro oven

A.aC.aA.a.Combined fridge/f reezer

A.aC.aB. b.Warming oven

A.aC.aC.a.Wide oven

AaC.aDa.Electric hobs

A.aC.aD.b.Gas burner

A.aC.aE.a.Wide hood

A.aC.aF.a.Sink 2 bowls

A.aC.aF.b.Combined tap

A.aC.aG.a.Dishwasher coarse

A.aC.aG.b.Dishwasher gentle

Page 72: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 72

Micro controller versus central processing unit (CPU)Micro controller versus central processing unit (CPU)

• Micro controller• Micro controller • Central processing unit (CPU)

• Central processing unit (CPU)

Arithmeticlogic unit

(ALU)

Typical micro controller simplified architecture

Latch

Latch

Latch

Latch Latch

Latch

Lat

chL

atch

Lat

ch

DataControl

bus

Jum

pde

stin

a tio

n

Accu-mula-

torTemp.regis-

ter

Port 1buffers

Port 2buffers

Port 3buffers

RandomAccess

MemoryMachinevariables Instruction

decoder

Read OnlyMemory

Machineinstructions

Timing andlatch control

Inter-rupt

control

Pro-gram

counter

Pro-gramloadport

Interrupts

Data

Data

8

8Data address

16Pr

og.a

ddre

ss

Arithmeticlogic unit

(ALU)

Typical micro controller simplified architecture

Latch

Latch

Latch

Latch Latch

Latch

Lat

chL

atch

Lat

ch

DataControl

bus

Jum

pde

stin

a tio

n

Accu-mula-

torTemp.regis-

ter

Port 1buffers

Port 2buffers

Port 3buffers

RandomAccess

MemoryMachinevariables Instruction

decoder

Read OnlyMemory

Machineinstructions

Timing andlatch control

Inter-rupt

control

Pro-gram

counter

Pro-gramloadport

Interrupts

Data

Data

8

8Data address

16Pr

og.a

ddre

ss

Enlarged core of micro processor,(needing external memor y, ports

and interrupt handler)

RandomAccess

Memory(RAM)

Read OnlyMemory(ROM)BOOT

and BIOSmachineinstruc-

tions

Interrupthandler

Instructioncache

Datacache

Controlbuffer

Con

trol

bus

Externalcontrol bus

Dat

aad

dres

s

Dat

a

Prog

.add

ress

Inst

ruct

ion

Central Processing Unit (CPU)

Address and data busbuffer

Ports forperipheral

devices

32

32

Generalmachineinstruc-

tions

Generalmachine

varia-bles

Applicationprogram

External address bus

External data bus

Enlarged core of micro processor,(needing external memor y, ports

and interrupt handler)

RandomAccess

Memory(RAM)

Read OnlyMemory(ROM)BOOT

and BIOSmachineinstruc-

tions

Interrupthandler

Instructioncache

Datacache

Controlbuffer

Con

trol

bus

Externalcontrol bus

Dat

aad

dres

s

Dat

a

Prog

.add

ress

Inst

ruct

ion

Central Processing Unit (CPU)

Address and data busbuffer

Ports forperipheral

devices

32

32

Generalmachineinstruc-

tions

Generalmachine

varia-bles

Applicationprogram

External address bus

External data bus

Page 73: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 73

Interrupt and threadsInterrupt and threads

• High level thread constructions take care of unsynchronized interrupt stimuli

• To avoid that all program paths must check all imaginable stimuli sources

• Organize one thread to take care of each source of scenario stimuli

• Preferably regard each tread as black-box

• Let each tread be instant to response• When time, let threads synchronize

internally

• High level thread constructions take care of unsynchronized interrupt stimuli

• To avoid that all program paths must check all imaginable stimuli sources

• Organize one thread to take care of each source of scenario stimuli

• Preferably regard each tread as black-box

• Let each tread be instant to response• When time, let threads synchronize

internally

Waiter!

Waiter!

Waiter!Waiter!

Waiter!

Waiter!

Waiter!

Real time program

Run threaduntil inter-rupt returninstruction

Run threadmaximumforone time-slot

Micro controller or processor

Thread1interruptelement

Asynch ronousinterface

Real timeinterface

Thread2applica-

tionelement

Real timeinterrupt

Multitasking operating system

Real time program

Run threaduntil inter-rupt returninstruction

Run threadmaximumforone time-slot

Micro controller or processor

Thread1interruptelement

Asynch ronousinterface

Real timeinterface

Thread2applica-

tionelement

Real timeinterrupt

Multitasking operating system

Page 74: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 74

EXAMPLE calc_logic:Logical and physical software architecture

EXAMPLE calc_logic:Logical and physical software architecture

• Logical architecture presumes high level program

• Logical architecture presumes high level program

• Physical architecture of software files

• Physical architecture of software files

A.d. calc_logic function

A.db. WAIT_FOR_LEAD_OPERAND_1ST_DIGIT

A.dc. WAIT_FOR_DUO_OPERATOR

A.dd. WAIT_FOR_TRIAL_OPERAND_1ST_DIGIT

A.de. WAIT_FOR_CONCLUSION_OPER ATOR

A.da. Local variable dec-

A. calc_logic for reuse

°

°

°

°A.deb. Equals

A.dec. Operator

E. Any calc_logic environment

-E-1.Commoncalc_logicinterface

°

°

E.b.Develop-ment sys-tem built-in stand-

ard library

°A.dba. Digit

°A.dbb. Operato r

°A.dbc. Default

°A.dca. Digit

°A.dcb. Operator

°A.dcc. Default

°A.dda. Digit

°A.ddb. Default

°A.deb.a. Add

°A.deb.b. Subtract

°A.deb.c. Multiply

°A.deb.d. Divide

°A.dea. Digit

°A.dec.a. Add

°A.dec.b. Subtract

°A.dec.c. Multiply

°A.dec.d. Divide

°A.ded. Default

A.deb.e. End calc

A.dec.e. End calc-E

-2.B

uilt-

insta

ndar

dlib

rary

inte

rfac

e

calc_logic program instructions

A.a. #include declaratio ns

A.b. #define declarations

A.c. Global variable declarations

A. calc_logic for reuse (program file calculator.cpp)

E. Any calc_logic environment

A.b. #define declarations

A.c. Global variable declarations

A.d. calc_logic function

/* Contains the calc_logic function */

-E-1.Commoncalc_logicinterface

-E-2

.Bui

lt-in

stand

ard

libra

ryin

terf

ace

E.b.Develop-ment sys-tem built-in stand-

ard librarylinkable

files

A.a. #include declaration s

-E-1.RB.7. Interface behaviour header file calc_logic_interface .h

A.RR.8. Black-box restriction header file calc_logic_restrictions.h

2. String requirement header file string.h

R.13a. Standard library requirement header file stdlib.h

R.13b. Standard in/out requirement header file stdio.h

Page 75: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 75

EXAMPLE Phonebook:Logical architecturesEXAMPLE Phonebook:Logical architectures

• Software has hierarchical structures like mechanics and electronics

• Architecture assume object orientation

• Architecture of file storage

• Software has hierarchical structures like mechanics and electronics

• Architecture assume object orientation

• Architecture of file storage

aE.a

.Mot

her

boar

d

aE. Computer with mechanics

aE.b.Harddisk

aaE.a.Phone-bookuser

E.b.

Stan

dard

C++

built

-inlib

rari

es

-aE

-2.

Disk

-E-4

.Win

dow

sint

erfa

ce

E.c.

Win

dow

sope

ratin

gsy

stem

-aE-

1.H

ardw

are/

softw

are

aaE. Computer environment

A. Phone- book

A.aaa. Contact object array

A.aaa.ab. Phone- number object array

A.aaa.aa. Person object

A.aaa.aab. Person functions

A.aaa.abb. Phone-number functions

A.aaa.b. Contact functions

A.ab. Phone-book functions, con- and destructors

-A-a

1.

Con

-ta

ctin

ter-

face

A.aa. Phone-book variable s

A.aaa.a. Contact variables

E. Phone-bo ok environment

-A.a

aa-1

.

Phon

e-nu

mbe

rin

terf

ace

-A.aaa-2. Person interface

A.aaa.aba. Phone-number varia-bles

A.aaa.aaa. Person variables

-E-2.

Con-sole in-terface

-E-3.

File in-terface

-E-1

.Ph

one

-boo

kin

ter-

face

-aaE-1.User

inter-face

E.a. Main function

A.a. Phone-book object

aE.b

a.Ph

one-

book

file

aE.ba. Phone-book file

aE.ba.cc. Contact object

aE.ba.cd. Array of phone numbersaE.ba.cd.a. Phone-number + new-line

aE.ba.ce. New-line

aE.ba.c. Array of contacts

aE.ba.d. New-line

aE.ba.cc.e. Country + new-line

aE.ba.cc.d. City + new-line

aE.ba.cc.c. Post code + new-line

aE.ba.cc.b. Address + new-line

aE.ba.cc.a. Name + new-line

aE.ba.b. New-line

aE.ba.a. Title + new-line

Page 76: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 76

Finalize designFinalize designSoftware lurking in hardwareSoftware lurking in hardware

Page 77: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 77

Finalize design inside-outFinalize design inside-out

• Previous technical phase have developed outside-in

• Architecture are ready, now develop all architecture details inside-out

• Previous technical phase have developed outside-in

• Architecture are ready, now develop all architecture details inside-out

Page 78: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 78

Pt.n.F. Finalize design of white-box with product requisites

Pt.n.F. Finalize design of white-box with product requisites

• Finalize design ingredients for white-boxes on this level

• Anchor design on inwards finalized white-boxes

• Account for white-box requisites

• Finalize procurement of suppliers items

• Finalize design are quite similar for level 0 environment and level > 0 white-boxes

• Finalize design ingredients for white-boxes on this level

• Anchor design on inwards finalized white-boxes

• Account for white-box requisites

• Finalize procurement of suppliers items

• Finalize design are quite similar for level 0 environment and level > 0 white-boxes

Pt.n.F. Finalize de-sign of white-box with

product requisites

Unsatisfactory

Pt.n

.Fa.

Fina

lizee

lemen

tsan

din

terf

aces

Pt.n

.Fc.

Acco

untf

orde

vel-

opm

ent,

real

izatio

nan

dpr

oduc

tion

Pt.n

.Fb.

Fina

lized

desig

nof

elem

ents

and

inte

rfac

es

Pt.n

.G.

Pt.n

.Fe.

Exam

ine

requ

isite

ssu

cces

sa-

bilit

yYes

Black-box

?

No

Pt.n

.E.

Inho

use

lega

cyso

urce

syst

ems

Xd:

3.Fr

om-th

e-sh

elfr

eusa

-bl

eite

m

Pt.n

.Fd.

Prod

uctr

equi

-sit

ees

timat

es

Pt.n

.Ff.

Fina

lize

item

proc

urem

ent

Pt.n

.Sb.

Whi

te-b

oxst

affin

gal

-lo

catio

n

Pt.n

.B.

Arc

hite

ctur

ewhi

te-b

oxwi

thm

ajor

elem

ents

and

poss

ible

belo

w-le

vel

blac

k-bo

xes

Xd:

1.Fr

om-th

e-sh

elffu

llyde

-sc

ribed

sour

cesy

stem

Xd:

2.Tu

rnke

yfu

l-ly

desc

ribe

dso

urce

sys-

tem

Xb.

Sam

plec

at-

alog

ues

Pt.n

.Q.

Alte

rnat

ive

solu

-tio

nsw

ithsu

ppli-

erop

port

uniti

es

if n > 0if n+1 exists

Pt.n

+1.G

.Fi

naliz

edw

hite

-bo

xw

ithpr

od-

uctr

equi

sites

Fina

lized

whi

te-

box

with

pro

d-uc

t req

uisit

es

Page 79: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 79

Pt.0.F. Finalize design of interface connections to environment

Pt.0.F. Finalize design of interface connections to environment

• Finalize design of interfaces to environment

• Finalized design performed inside-out

• Interface anchor to finalized outmost white-box

• Account for development, realization and production of interface to environment

• Finalize item procurement

• Finalize design of interfaces to environment

• Finalized design performed inside-out

• Interface anchor to finalized outmost white-box

• Account for development, realization and production of interface to environment

• Finalize item procurement

Pt.0.F. Finalize de-sign of interface con-nections to environ-

ment

Unsatisfactory

Pt.0

.Fe.

Exam

ine

prot

otyp

efit

ness

Pt.0

.Fc.

Acco

untf

orde

-ve

lopm

ent,

real

i-za

tion

and

pro-

duct

ion

Pt.0

.Fa.

Fina

lized

esig

nof

inte

rfac

esto

envi

ronm

ent

Pt.0

.Fb.

Fina

lized

desig

nof

inte

rfac

esto

envi

ronm

ent Pt

.0.F

f.Fi

naliz

eite

mpr

ocur

emen

t

Pt.0

.Fd.

Prod

uctr

equi

-sit

ees

timat

es

Yes

Black-box

?

No

Pt.0

.G.

Fina

lized

inte

rfac

esto

envi

ronm

entw

ithpr

oduc

treq

uisit

es

Xd:

3.Fr

om-th

e-sh

elfr

eusa

-bl

eite

m

Pt.1

.G.

Fina

lized

whi

te-

box

with

prod

-uc

treq

uisit

esXd:

2.Tu

rnke

yfu

l-ly

desc

ribed

sour

cesy

s-te

m

Xd:

1.Fr

om-th

e-sh

elff

ully

de-

scrib

edso

urce

syst

em

Pt.n

.E.

Inho

use

legac

yso

urce

syst

ems

Pt.0

.Sb.

Envi

ronm

ent

staf

fing

allo

-ca

tion

Xb.

Sam

plec

at-

alog

ues

Pt.0

.B.

Envi

ronm

enta

rchi

-te

ctur

eswi

thel

e-m

ents

,int

erfa

cesa

ndou

term

ost

blac

k-bo

x

Pt.0

.Q.

Alte

rnat

ive

solu

tions

for

inte

rfac

esto

envi

ronm

ent

with

supp

lier

oppo

rtun

iti-

Pt.0.F. Finalize de-sign of interface con-nections to environ-

ment

Unsatisfactory

Pt.0

.Fe.

Exam

ine

prot

otyp

efit

ness

Pt.0

.Fc.

Acco

untf

orde

-ve

lopm

ent,

real

i-za

tion

and

pro-

duct

ion

Pt.0

.Fa.

Fina

lized

esig

nof

inte

rfac

esto

envi

ronm

ent

Pt.0

.Fb.

Fina

lized

desig

nof

inte

rfac

esto

envi

ronm

ent Pt

.0.F

f.Fi

naliz

eite

mpr

ocur

emen

t

Pt.0

.Fd.

Prod

uctr

equi

-sit

ees

timat

es

Yes

Black-box

?

No

Pt.0

.G.

Fina

lized

inte

rfac

esto

envi

ronm

entw

ithpr

oduc

treq

uisit

es

Xd:

3.Fr

om-th

e-sh

elfr

eusa

-bl

eite

m

Pt.1

.G.

Fina

lized

whi

te-

box

with

prod

-uc

treq

uisit

esXd:

2.Tu

rnke

yfu

l-ly

desc

ribed

sour

cesy

s-te

m

Xd:

1.Fr

om-th

e-sh

elff

ully

de-

scrib

edso

urce

syst

em

Pt.n

.E.

Inho

use

legac

yso

urce

syst

ems

Pt.0

.Sb.

Envi

ronm

ent

staf

fing

allo

-ca

tion

Xb.

Sam

plec

at-

alog

ues

Pt.0

.B.

Envi

ronm

enta

rchi

-te

ctur

eswi

thel

e-m

ents

,int

erfa

cesa

ndou

term

ost

blac

k-bo

x

Pt.0

.Q.

Alte

rnat

ive

solu

tions

for

inte

rfac

esto

envi

ronm

ent

with

supp

lier

oppo

rtun

iti-

Page 80: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 80

EXAMPLE House: Finalize architectures and identify design items

EXAMPLE House: Finalize architectures and identify design items

• Detail and finalize physical archi-tectureingre-dients

• Detail and finalize physical archi-tectureingre-dients

• Identify design items based on architecture igredients

• Identify design items based on architecture igredients

-A-7

.K

-win

dow

[A]11g. Roof

[A]1

1o.F

acad

e

[A]11f. Roof laths

[A]11e. Roof deck

[A]11h.Eaveplank

[A]11a. Rooftruss

[A]11b. Trussisolation

[A]11c. Cross isolation[A]11d.Cross space

plank

[A]1

1n.

Wal

liso

la-

[A]1

1m.I

nner

bric

kwor

k

205

2

[A]11k.Opening joist

15

[A]11i.Bracket

[A]11j.Jointbeam

-A-1

2.H

ouse

inne

rw

alls

100

7010

[A]11l.Gypsum

board

Item Remark Material and dimensions Element or interfacei194. Rooftruss

Prefabri-cated

Framework of spruce 5,10 wide x 2,0 mhigh [A]11a. Roof truss

i195. Rock-wool

3GS Board 60 x 120 x 20 cm [A]11b. Truss isolation

i196. Rock-wool

3GS Roll 20 m x 60 x 5 cm [A]11c. Cross isolation

i197. Plank Unplaned spruce 2 x 3 inch [A]11d. Cross space planki198. Roofdeck

0,5 x 5 inch,unplaned tongued spruce sur-plus plank [A]11e. Roof deck

i199. Lath 1 x 1,5 inch unplaned spruce plank [A]11f. Roof lathsi200. Plank 1,5 x 5 inch unplaned spruce plank [A]11h. Eave planki201. Bracket L-shape galvanized steel 15 x 15 cm [A]11i. Bracketi202. Plank 4 x 7 inch unplaned spruce plank [A]11j. Joint beami203. Joist Prefabri-

catedConcrete joist 18 x 18 cm [A]11k. Opening joist

i204. Gypsum Gypsum board 15 mm, 60 x 120 cm [A]11l. Gypsum boardi205. Brick 20/m² hollow bricks 18 x 27 cm

[A]11m. Inner brickworki206. Mortar Prefabri-cated

2600 kg fine concrete

i207. Styro-foam

Styrofoam sheet 60 x 120 x 10 cm [A]11n. Wall isolation

i208. Gravel Sieved nature gravel 4 - 32 mm [A]11p. Water barrieri209. Footer Concrete

prefabri-cated

Moulded concreted

[A]11q. Foundationi210. Rein-forcement bar

Iron bar Ø 15 mm

i211. Macad-am

Macadam 16 - 32 mm [A]11r. Macadam

i212. Pipe Plastic perforated pipe [A]11s. Drainage pipei213. Sole Prefabri-

catedFine concrete 10 cm

[A]11t. Solei214. Rein-forcement net

Bar Ø 8 mm, 120 x 240 cm, mesh 15 x 15cm

Item Remark Material and dimensions Element or interfacei194. Rooftruss

Prefabri-cated

Framework of spruce 5,10 wide x 2,0 mhigh [A]11a. Roof truss

i195. Rock-wool

3GS Board 60 x 120 x 20 cm [A]11b. Truss isolation

i196. Rock-wool

3GS Roll 20 m x 60 x 5 cm [A]11c. Cross isolation

i197. Plank Unplaned spruce 2 x 3 inch [A]11d. Cross space planki198. Roofdeck

0,5 x 5 inch,unplaned tongued spruce sur-plus plank [A]11e. Roof deck

i199. Lath 1 x 1,5 inch unplaned spruce plank [A]11f. Roof lathsi200. Plank 1,5 x 5 inch unplaned spruce plank [A]11h. Eave planki201. Bracket L-shape galvanized steel 15 x 15 cm [A]11i. Bracketi202. Plank 4 x 7 inch unplaned spruce plank [A]11j. Joint beami203. Joist Prefabri-

catedConcrete joist 18 x 18 cm [A]11k. Opening joist

i204. Gypsum Gypsum board 15 mm, 60 x 120 cm [A]11l. Gypsum boardi205. Brick 20/m² hollow bricks 18 x 27 cm

[A]11m. Inner brickworki206. Mortar Prefabri-cated

2600 kg fine concrete

i207. Styro-foam

Styrofoam sheet 60 x 120 x 10 cm [A]11n. Wall isolation

i208. Gravel Sieved nature gravel 4 - 32 mm [A]11p. Water barrieri209. Footer Concrete

prefabri-cated

Moulded concreted

[A]11q. Foundationi210. Rein-forcement bar

Iron bar Ø 15 mm

i211. Macad-am

Macadam 16 - 32 mm [A]11r. Macadam

i212. Pipe Plastic perforated pipe [A]11s. Drainage pipei213. Sole Prefabri-

catedFine concrete 10 cm

[A]11t. Solei214. Rein-forcement net

Bar Ø 8 mm, 120 x 240 cm, mesh 15 x 15cm

Page 81: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 81

EXAMPEL Multiplication toy:Finalize assembler programEXAMPEL Multiplication toy:Finalize assembler program

• Unstructured assembler program• Possible to jump anywhere• All variables available to change anytime

• Written in pseudo-code• Must be adapted to target microcontroller

• Efficient, but time consuming to write, read and verify

• Can be illustrated with flow chart

• Unstructured assembler program• Possible to jump anywhere• All variables available to change anytime

• Written in pseudo-code• Must be adapted to target microcontroller

• Efficient, but time consuming to write, read and verify

• Can be illustrated with flow chart

; Aa:2aa. Software program

; After start, the program counter is zero ; and execution begins at start: just below

; This program is written in generic assembler, ; which must be slightly adopted to the assembler

; set used by the target micro controller ; /* Write in 8051 assembler */start:; Get operands from settings

MOV R1, P1 ; Move multiplicand on port 1 to register R1MOV R2, P2 ; Move multiplyer on port 2 to register R2

; perform the 4-bit * 4-bit multiplicationMOV R3, 4 ; Use R3 as bit count, initiate with 4MOV R4, 0 ; Product will emerge in R4, initiate with 0

chkbit:SHR R2, ; Right shift multiplyer, rightmost bit into carryJNC skip ; Skip addition if carry is zeroADD R4, R1 ; Accumulate product in R4

skip:SHL R1, ; Left shift multiplicandDEC R3 ; Decrement bit countJNZ chkbit ; Repeate if bits left

; perform the 8-bit binary to 3 digit BCD conversion ; Product resides in R4 as 8-bit binary valueMOV R5, 0 ; BDC units will emerge in R5, initiate with 0MOV R6, 0 ; BDC tenth will emerge in R6, initiate with 0MOV R7, 0 ; BDC hunds will emerge in R7, initiate with 0MOV R8, 8 ; Use R8 as shift counter

nxtbit:SHL R4, ; Left shift product, leftmost bit into carry

; rotate 1-bit left through unit, tenth and hunds, add 3 if >= 5RCL R5, ; Left shift unit, carry into unit rightmost bitMOV R9, R5 ; Save unit in temporary R9ADD R9, 11110000 ; If bit 5 is 1, then carry->1 else carry->0RCL R6 ; Left shift thenth, carry into tenth rightmost bitAND R5, 0F ; Clear upper nibble of unitsMOV R9, R5 ; Save unit in temporary R9ADD R9, FB ; Add 251 to test if unit >= 5, if so carry -> 1JC skipunit ; Skip adding if R9 < 5ADD R5, 3 ; Add 3 to unit

skipunit:MOV R9, R6 ; Save tenth in temporary R9ADD R9, 11110000 ; If bit 5 is 1, then carry->1 else carry->0RCL R7 ; Left shift hunds, carry into hunds rightmost bitAND R6, 0F ; Clear upper nibble of tenthMOV R9, R5 ; Save tenth in temporary R9ADD R9, FB ; Add 251 to test if tenth >= 5, if so carry -> 1JC skiptenth ; Skip adding if R9 < 5ADD R5, 3 ; Add 3 to tenth

skiptenth:JNZ nxtbit : Repeat if bits left

;; Send product to display

MOV P3, R5 ; Move units to unit displayMOV P4, R6 ; Move tenth to unit displayMOV P5, R7 ; Move tenth to unit display

;; Repeate everything

JMP start ; A jump is done by the microcontroller by loading ; the program counter with the loacation of the

:

:

:

;

;;

;;;

:

;

:

:

;;

;;

Unstructuredflowchart

Page 82: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 82

Account all production requisitesAccount all production requisites

• Items to be accounted:• Estimated production material requisites cost• Estimated production assembly requisites hourly/fixed/rental cost• Estimated production equipment requisites purchase/rental cost• Estimated development material requisites cost• Estimated development work requisites hourly/fixed items cost• Estimated development equipment requisites purchase/rental cost• Estimated realization material requisites cost• Estimated realization assembly requisites items hourly/fixed/rental cost• Estimated realization equipment requisites purchase/rental cost• Summed/accumulated requisites estimates

• Items to be accounted:• Estimated production material requisites cost• Estimated production assembly requisites hourly/fixed/rental cost• Estimated production equipment requisites purchase/rental cost• Estimated development material requisites cost• Estimated development work requisites hourly/fixed items cost• Estimated development equipment requisites purchase/rental cost• Estimated realization material requisites cost• Estimated realization assembly requisites items hourly/fixed/rental cost• Estimated realization equipment requisites purchase/rental cost• Summed/accumulated requisites estimates

Page 83: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 83

EXAMPLE House:Account for materialEXAMPLE House:Account for material

• All items are accounted

• In this list material is accounted and summarized

• All items are accounted

• In this list material is accounted and summarized

1 Piece 872 872 i239.Door SU17. Pa&Pp -A-9. Front door1 Piece 541 541 i240.Door SU17. Pa&Pp -A-6. Door section2 Piece 330 660 i241.Window SU17. Pa&Pp -A-6. Door section1 Piece 518 518 i215.Door SU17. Pa&Pp -A-13. E-door1 Piece 530 530 i216.Door SU17. Pa&Pp -A-14. Lock door1 Piece 1 680 1 680 i218.Stair SU17. Pa&Pp -A-16. Stairway1 Piece 320 320 i219.Wicket SU17. Pa&Pp -A-17. S-wicket1 Piece 360 360 i220.Wicket SU17. Pa&Pp -A-18. L-wicket8 meter 7 56 i221.Pipe SU14. Build-

er’s suppliers -A-1. Warm water8 meter 7 56 i222.Pipe SU14. Build-

er’s suppliers -A-2. Cold water80 meter 7.2 576 i223.Hose SU14. Build-

er’s suppliers -A-3a. K-heating90 meter 7.2 648 i224.Hose SU14. Build-

er’s suppliers -A-3b. D-heating30 meter 7.2 216 i225.Hose SU14. Build-

er’s suppliers -A-3c. E-heating30 meter 7.2 216 i226.Hose SU14. Build-

er’s suppliers -A-3d. T-heating40 meter 9.7 388 i228.5xCable SU18. Elert’s

suppliers -A-4a. K-Wiring48 meter 7.1 341 i229.3xCable SU18. Elert’s

suppliers -A-4b. O-Wiring8 meter 6.7 54 i230.Drain pipe SU14. Build-

er’s suppliers -A-5. Sewer3 meter 14 42 i231.Coil pipe SU14. Build-

er’s suppliers -E-1. Air outlet32 864

1 Piece 872 872 i239.Door SU17. Pa&Pp -A-9. Front door1 Piece 541 541 i240.Door SU17. Pa&Pp -A-6. Door section2 Piece 330 660 i241.Window SU17. Pa&Pp -A-6. Door section1 Piece 518 518 i215.Door SU17. Pa&Pp -A-13. E-door1 Piece 530 530 i216.Door SU17. Pa&Pp -A-14. Lock door1 Piece 1 680 1 680 i218.Stair SU17. Pa&Pp -A-16. Stairway1 Piece 320 320 i219.Wicket SU17. Pa&Pp -A-17. S-wicket1 Piece 360 360 i220.Wicket SU17. Pa&Pp -A-18. L-wicket8 meter 7 56 i221.Pipe SU14. Build-

er’s suppliers -A-1. Warm water8 meter 7 56 i222.Pipe SU14. Build-

er’s suppliers -A-2. Cold water80 meter 7.2 576 i223.Hose SU14. Build-

er’s suppliers -A-3a. K-heating90 meter 7.2 648 i224.Hose SU14. Build-

er’s suppliers -A-3b. D-heating30 meter 7.2 216 i225.Hose SU14. Build-

er’s suppliers -A-3c. E-heating30 meter 7.2 216 i226.Hose SU14. Build-

er’s suppliers -A-3d. T-heating40 meter 9.7 388 i228.5xCable SU18. Elert’s

suppliers -A-4a. K-Wiring48 meter 7.1 341 i229.3xCable SU18. Elert’s

suppliers -A-4b. O-Wiring8 meter 6.7 54 i230.Drain pipe SU14. Build-

er’s suppliers -A-5. Sewer3 meter 14 42 i231.Coil pipe SU14. Build-

er’s suppliers -E-1. Air outlet32 864

No Unit €/unit € Item Product Supplier Interface22 Piece 410 9 020 i194.Roof truss SU15. AllBau [A]11a. Roof truss

132 Sheet 3.8 502i195.Rockwool

SU19.IsoBau’s sup-pliers

[A]11b. Truss isolation

8 Roll 38 304i196.Rockwool

SU19.IsoBau’s sup-pliers

[A]11c. Cross isolation

160 meter 1.6 256 i197.Plank SU20. Localsuppliers

[A]11d. Cross spaceplank

950 meter 0.28 266 i198.Roof deck SU20. Localsuppliers [A]11e. Roof deck

260 meter 0.13 34 i199.Lath SU20. Localsuppliers [A]11f. Roof laths

27 meter 1.9 51 i200.Plank SU20. Localsuppliers [A]11h. Eave plank

7 meter 8.5 60 i201.Bracket IronWare SU15. AllBau [A]11i. Bracket27 meter 11 297 i202.Plank SU20. Local

suppliers [A]11j. Joint beam5 meter 17.2 86 i203.Joist SU15. AllBau [A]11k. Opening joist2 meter 17.2 34 i203.Joist SU15. AllBau -A-12. House inner walls

1600 Piece 1.2 1 920 i205.Brick Bricket SU15. AllBau [A]11m. Inner brickwork5 m³ 67 335 i206.Mortar SU20. Local

suppliers [A]11m. Inner brickwork500 Piece 1.2 600 i205.Brick Bricket SU15. AllBau -A-12. House inner walls

2 m³ 67 134 i206.Mortar SU20. Localsuppliers -A-12. House inner walls

50 Sheet 5.8 290 i204.Gypsum SU20. Localsuppliers [A]11l. Gypsum board

112 Sheet 0.7 78i207.Styrofoam

SU19.IsoBau’s sup-pliers

[A]11n. Wall isolation

7 m³ 25 175 i208.Gravel SU20. Localsuppliers [A]11p. Water barrier

15 m³ 70 1 050 i209.Footer SU20. Localsuppliers [A]11q. Foundation

420 meter 0.3 126 i210.Reinforce-ment bar IronWare SU15. AllBau [A]11q. Foundation

10 m³ 57 570 i211.Macadam SU20. Localsuppliers [A]11r. Macadam

36 meter 5 180 i212.Pipe SU20. Localsuppliers [A]11s. Drainage pipe

7 m³ 56 392 i213.Sole SU15. AllBau [A]11t. Sole36 Piece 14 504 i214.Reinforce-

ment net IronWare SU15. AllBau [A]11t. Sole4700 Piece 0.043 202 i232.Brick Bricket SU15. AllBau [A]11o. Facade

5 m³ 76 380 i233.Mortar SU20. Localsuppliers [A]11o. Facade

600 meter 0.2 120 i234.Reinforc-ing IronWare SU15. AllBau [A]11o. Facade

160 Piece 0.14 22 i235.Hooks SU15. AllBau [A]11o. Facade1260 Piece 4.7 5 922 i236.Tiles Bricket SU15. AllBau [A]11g. Roof tile

1 Piece 560 560 i237.Window SU17. Pa&Pp -A-7. K-window1 Piece 320 320 i238.Window SU17. Pa&Pp -A-8. T-window

No Unit €/unit € Item Product Supplier Interface22 Piece 410 9 020 i194.Roof truss SU15. AllBau [A]11a. Roof truss

132 Sheet 3.8 502i195.Rockwool

SU19.IsoBau’s sup-pliers

[A]11b. Truss isolation

8 Roll 38 304i196.Rockwool

SU19.IsoBau’s sup-pliers

[A]11c. Cross isolation

160 meter 1.6 256 i197.Plank SU20. Localsuppliers

[A]11d. Cross spaceplank

950 meter 0.28 266 i198.Roof deck SU20. Localsuppliers [A]11e. Roof deck

260 meter 0.13 34 i199.Lath SU20. Localsuppliers [A]11f. Roof laths

27 meter 1.9 51 i200.Plank SU20. Localsuppliers [A]11h. Eave plank

7 meter 8.5 60 i201.Bracket IronWare SU15. AllBau [A]11i. Bracket27 meter 11 297 i202.Plank SU20. Local

suppliers [A]11j. Joint beam5 meter 17.2 86 i203.Joist SU15. AllBau [A]11k. Opening joist2 meter 17.2 34 i203.Joist SU15. AllBau -A-12. House inner walls

1600 Piece 1.2 1 920 i205.Brick Bricket SU15. AllBau [A]11m. Inner brickwork5 m³ 67 335 i206.Mortar SU20. Local

suppliers [A]11m. Inner brickwork500 Piece 1.2 600 i205.Brick Bricket SU15. AllBau -A-12. House inner walls

2 m³ 67 134 i206.Mortar SU20. Localsuppliers -A-12. House inner walls

50 Sheet 5.8 290 i204.Gypsum SU20. Localsuppliers [A]11l. Gypsum board

112 Sheet 0.7 78i207.Styrofoam

SU19.IsoBau’s sup-pliers

[A]11n. Wall isolation

7 m³ 25 175 i208.Gravel SU20. Localsuppliers [A]11p. Water barrier

15 m³ 70 1 050 i209.Footer SU20. Localsuppliers [A]11q. Foundation

420 meter 0.3 126 i210.Reinforce-ment bar IronWare SU15. AllBau [A]11q. Foundation

10 m³ 57 570 i211.Macadam SU20. Localsuppliers [A]11r. Macadam

36 meter 5 180 i212.Pipe SU20. Localsuppliers [A]11s. Drainage pipe

7 m³ 56 392 i213.Sole SU15. AllBau [A]11t. Sole36 Piece 14 504 i214.Reinforce-

ment net IronWare SU15. AllBau [A]11t. Sole4700 Piece 0.043 202 i232.Brick Bricket SU15. AllBau [A]11o. Facade

5 m³ 76 380 i233.Mortar SU20. Localsuppliers [A]11o. Facade

600 meter 0.2 120 i234.Reinforc-ing IronWare SU15. AllBau [A]11o. Facade

160 Piece 0.14 22 i235.Hooks SU15. AllBau [A]11o. Facade1260 Piece 4.7 5 922 i236.Tiles Bricket SU15. AllBau [A]11g. Roof tile

1 Piece 560 560 i237.Window SU17. Pa&Pp -A-7. K-window1 Piece 320 320 i238.Window SU17. Pa&Pp -A-8. T-window

Page 84: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 84

EXAMPLE House: Account for development, realization and accumulate

EXAMPLE House: Account for development, realization and accumulate

• Develop-ment >

• Accumu-late >

• Develop-ment >

• Accumu-late >

• Realization >• Realization >

8 50 400i30. Electrician PR.12. Elert AB

Pt:2:2.1.A. Satisfy house requirements bydecomposing house black-box intowhite-box design containing room black-boxes

150 30 4 500 i31. Calculation engi-neer

PR.11. RobberHB

Pt:2:2.1.F. Finalize house elements andinterfaces with product requisites

24 40 960 i32. Electrician PR.12. Elert AB Pt:2:2.1.F. Finalize house elements andinterfaces with product requisites

40 50 2 000 i48. Quality inspector PR.10. Proprie-tor Pt:2:2.1.V. Verify house white/black-box

15 360

h €/h € Item Provider Process schedule0

i25. House user PR.10. Proprie-tor

Pt:2:2.1.R. Refine house requirementsfrom environment restrictions and en-sure house development staffing

30 50 1 500 i26. Architect PR.11. RobberHB

Pt:2:2.1.P Predetermine house solutionsand supplier opportunities

100 40 4 000i27. Architect PR.11. Robber

HBPt:2:2.1.A. Satisfy house requirements bydecomposing house black-box intowhite-box design containing room black-boxes

20 40 800 i28. Artistic architect PR.15. HomeyInc Pt.n.Ae. Layout physical architecture

30 40 1 200 i29. House layoutspecialist

PR.15. HomeyInc8 50 400

i30. Electrician PR.12. Elert ABPt:2:2.1.A. Satisfy house requirements bydecomposing house black-box intowhite-box design containing room black-boxes

150 30 4 500 i31. Calculation engi-neer

PR.11. RobberHB

Pt:2:2.1.F. Finalize house elements andinterfaces with product requisites

24 40 960 i32. Electrician PR.12. Elert AB Pt:2:2.1.F. Finalize house elements andinterfaces with product requisites

40 50 2 000 i48. Quality inspector PR.10. Proprie-tor Pt:2:2.1.V. Verify house white/black-box

15 360

h €/h € Item Provider Process schedule0

i25. House user PR.10. Proprie-tor

Pt:2:2.1.R. Refine house requirementsfrom environment restrictions and en-sure house development staffing

30 50 1 500 i26. Architect PR.11. RobberHB

Pt:2:2.1.P Predetermine house solutionsand supplier opportunities

100 40 4 000i27. Architect PR.11. Robber

HBPt:2:2.1.A. Satisfy house requirements bydecomposing house black-box intowhite-box design containing room black-boxes

20 40 800 i28. Artistic architect PR.15. HomeyInc Pt.n.Ae. Layout physical architecture

30 40 1 200 i29. House layoutspecialist

PR.15. HomeyInc

56 30 1 680

i39. Plumber SU14. Builder’ssuppliers

-A-3a. K-heating-A-3b. D-heating-A-3c. E-heating-A-3d. T-heating-A-3e. B-heating-A-3d. T-heating

448 30 13 440i40. Bricklayer SU14. Builder’s

suppliers[A]11m. Inner brickwork,[A]11k. Opening joist,[A]11j. Joint beam

344 30 10 320i41. Facade bricklayer SU14. Builder’s

suppliers[A]11i. Bracket[A]11n. Wall isolation[A]11o. Facade

16 40 640 i38. Tin-smith SU14. Builder’ssuppliers -E-1. Air outlet

48 30 1 440 i42. Chimney mason SU14. Builder’ssuppliers -E-2. Chimney

48 35 1 680

i43. Carpenter SU14. Builder’ssuppliers

-A-9. Front door-A-10. Back door-A-8. T-window-A-7. K-window-A-6. Door section

124 30 3 720

i44. Cabinet maker SU14. Builder’ssuppliers

-A-13. E-door-A-14. Lock door-A-15. Open arch-A-16. Stairway-A-17. S-wicket-A-18. L-wicket[A]11l. Gypsum board

36 140 5 040 i46. Woodworker SU14. Builder’ssuppliers [A]11a. Roof truss

252 40 10 080

i45. Roofer SU14. Builder’ssuppliers

[A]11b. Truss isolation,[A]11d. Cross space plank,[A]11c. Cross isolation[A]11e. Roofdeck,[A]11f. Roof laths,[A]11h. Eave plank

74 680

h €/h € Item Provider Interfaces40 80 3 200 i33. Labourer SU14. Builder’s

suppliers-E-3. Sewage-E-2. Water

96 40 3 840 i47. Electrician SU18. Elert’ssuppliers -E-4. Electricity

48 150 7 200i35. Pipe-fitter SU14. Builder’s

suppliers

-A-5. Sewer-A-2. Cold water-A-1. Warm water[A]11s. Drainage pipe

24 50 1 200 i36. Authorized gas plumb-er

SU14. Builder’ssuppliers -E-5. Gas

140 40 5 600 i37. Founder SU14. Builder’ssuppliers

[A]11q. Foundation[A]11t. Sole

40 140 5 600 i34. Excavator with driverand 1 labourer

SU14. Builder’ssuppliers

[A]11r. Macadam[A]11p. Water barrier

56 30 1 680

i39. Plumber SU14. Builder’ssuppliers

-A-3a. K-heating-A-3b. D-heating-A-3c. E-heating-A-3d. T-heating-A-3e. B-heating-A-3d. T-heating

448 30 13 440i40. Bricklayer SU14. Builder’s

suppliers[A]11m. Inner brickwork,[A]11k. Opening joist,[A]11j. Joint beam

344 30 10 320i41. Facade bricklayer SU14. Builder’s

suppliers[A]11i. Bracket[A]11n. Wall isolation[A]11o. Facade

16 40 640 i38. Tin-smith SU14. Builder’ssuppliers -E-1. Air outlet

48 30 1 440 i42. Chimney mason SU14. Builder’ssuppliers -E-2. Chimney

48 35 1 680

i43. Carpenter SU14. Builder’ssuppliers

-A-9. Front door-A-10. Back door-A-8. T-window-A-7. K-window-A-6. Door section

124 30 3 720

i44. Cabinet maker SU14. Builder’ssuppliers

-A-13. E-door-A-14. Lock door-A-15. Open arch-A-16. Stairway-A-17. S-wicket-A-18. L-wicket[A]11l. Gypsum board

36 140 5 040 i46. Woodworker SU14. Builder’ssuppliers [A]11a. Roof truss

252 40 10 080

i45. Roofer SU14. Builder’ssuppliers

[A]11b. Truss isolation,[A]11d. Cross space plank,[A]11c. Cross isolation[A]11e. Roofdeck,[A]11f. Roof laths,[A]11h. Eave plank

74 680

h €/h € Item Provider Interfaces40 80 3 200 i33. Labourer SU14. Builder’s

suppliers-E-3. Sewage-E-2. Water

96 40 3 840 i47. Electrician SU18. Elert’ssuppliers -E-4. Electricity

48 150 7 200i35. Pipe-fitter SU14. Builder’s

suppliers

-A-5. Sewer-A-2. Cold water-A-1. Warm water[A]11s. Drainage pipe

24 50 1 200 i36. Authorized gas plumb-er

SU14. Builder’ssuppliers -E-5. Gas

140 40 5 600 i37. Founder SU14. Builder’ssuppliers

[A]11q. Foundation[A]11t. Sole

40 140 5 600 i34. Excavator with driverand 1 labourer

SU14. Builder’ssuppliers

[A]11r. Macadam[A]11p. Water barrier

€tsoCmetIRooms and machinery 63 830Stairway nook realization material 5 934Stairway nook realization work 3 680Loft realization material 1 940Loft realization work 2 340House realization material 32 864House realization work 74 680House development work 15 360House, room and machinery sum 200 628

€tsoCmetIRooms and machinery 63 830Stairway nook realization material 5 934Stairway nook realization work 3 680Loft realization material 1 940Loft realization work 2 340House realization material 32 864House realization work 74 680House development work 15 360House, room and machinery sum 200 628

Page 85: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 85

EXAMPLE Phonebook:Account for developmentEXAMPLE Phonebook:Account for development

• Software can be time- and man-consuming to develop

• Accounting granularity need to be addressed

• Modularize software into items• Categorize developers into items

• Account in two dimensions

• Software can be time- and man-consuming to develop

• Accounting granularity need to be addressed

• Modularize software into items• Categorize developers into items

• Account in two dimensions

PR.10. Inhouse

i25. Headerprogrammer

Pt.n.Fa. Final-ize elements

and interfaces

i26. Class pro-grammer

PR.10. Inhouse

Pt.n.Fa. Final-ize elements

and interfaces

i27. Windowsprogrammer

PR.11. Zide Kft

Pt.n.Fa. Final-ize elements

and interfaces# €/h € # €/h € # €/h € Design item Element48 45 2 160 8 60 480 i103. ph_book_interfa

ces.hA. Phone-bookgeneral header

16 60 960 i101. ph_book_restrictions.h

A. Phone-bookre-striction header

4 60 240 i102. ph_book_aliases_etc.h

A. Phone-bookre-striction header

12 45 540 i105. support_f.h A. Phone-bookgeneral header

32 60 1 920 i104. ph_book_dyn_inst.ccp

A.c. Instantiationfunctions

20 60 1 200 i106. support_functions.cpp

A.b. Phone booksupport functions

20 45 900 10 50 500 i107. ph_book_c.h /C1./ Phone-bookclass

36 60 2 160 i108. ph_book_c.ph_book_c.ccp

/C1.b./ Phone-book function

24 60 1 440 i109. ph_book_c.key_add_cont_f.cpp

/C1.b./ Phone-book function

12 60 720 i110. ph_book_c.disp_all_cont_f.cpp

/C1.b./ Phone-book function

40 60 2 400 i111. ph_book_c.delete_cont_f.cpp

/C1.b./ Phone-book function

30 60 1 800 i112. ph_book_c.~ph_book_c.cpp

/C1.b./ Phone-book function

8 45 360 20 50 1 000 i113. cont_c.h /C2./ Contact class40 60 2 400 i114. cont_c.key_cont

_f.cpp/C2.b./ Contactfunction

12 60 720 i115. cont_c.disp_cont_f.cpp

/C2.b./ Contactfunction

24 60 1 440 i116. cont_c.read_cont_f.cpp

/C2.b./ Contactfunction

20 60 1 200 i117. cont_c.write_cont_f.cpp

/C2.b./ Contactfunction

8 45 360 16 50 800 i118. pers_c.h /C3./ Person class8 60 480 i119. pers_c.key_pers_

f.cpp/C3.b./ Personfunction

8 60 480 i120. pers_c.disp_pers_f.cpp

/C3.b./ Personfunction

16 60 960 i121. pers_c.read_pers_f.cpp

/C3.b./ Personfunction

20 60 1 200 i122. pers_c.write_pers_f.cpp

/C3.b./ Personfunction

12 45 540 16 50 800 i123. ph_numb_c.h /C4./ Phone-num-ber class

4 60 240 i124. ph_numb_c.key_ph_numb_f.cpp

/C4.b./ Phone-number function

4 60 240 i125. ph_numb_c.disp_ph_numb_f.cpp

/C4.b./ Phone-number function

12 60 720 i126. ph_numb_c.read_ph_numb_f.cpp

/C4.b./ Phone-number function

10 60 720 i127. ph_numb_c.write_numb_f.cpp

/C4.b./ Phone-number function

Sum 4 860 3 100 22 920

Page 86: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 86

Integrate white-boxIntegrate white-box

Will the items fit the prototype?Will the items fit the prototype?

Page 87: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 87

Integrate inside-out versus integrating outside-in (invade and consolidate)Integrate inside-out versus integrating outside-in (invade and consolidate)

• Integrate inside-out• Integrate inside-out • Integrate outside-in (invade and consolidate)• Integrate outside-in (invade and consolidate)Pt

.I.In

tegra

tewhi

te-bo

x

n = 2

n = 1

n = 0

Pt.2.

F.Pt

.2.G.

Pt.2.

I.Pt

.2.J.

Pt.2.

V.Pt

.2.W

.

Pt.1.

F.Pt

.1.G.

Pt.1.

I.Pt

.1.J.

Pt.1.

V.Pt

.1.W

.

Pt.0.

F.Pt

.0.G.

Pt.0.

I.Pt

.0.J.

Pt.0.

V.Pu

.

Pt.I.

Integ

rate

white-

box

n = 2

n = 1

n = 0

Pt.2.

F.Pt

.2.G.

Pt.2.

I.Pt

.2.J.

Pt.2.

V.Pt

.2.W

.

Pt.1.

F.Pt

.1.G.

Pt.1.

I.Pt

.1.J.

Pt.1.

V.Pt

.1.W

.

Pt.0.

F.Pt

.0.G.

Pt.0.

I.Pt

.0.J.

Pt.0.

V.Pu

.Pt.I . I ntegr ate white-box

Outmost black-box using faked

embeddedblack-boxes

Environmentrealization us-ing outmost

fake black-box

n = 2

n = 1

n = 0

Everywhereonly usedcompletedblack-boxes

Pt.2.I.

Pt.2.J.

Pt.2.V.

Pt.2.W

.

Pt.1.V.

Pt.1.W

.

Pt.0.V

Pu.

Pt.2.F.

Pt.2.G.

Pt.2.I.

Fake

Pt.1.I.

Pt.1.J.

Pt.1.V.

Temp

Pt.1.I.

Fake

Pt.0.I.

Pt.0.J.

Pt.0.V

Temp

Pt.1.F.

Pt.1.G.

Pt.0.F.

Pt.0.G.

P t.I . I ntegr ate white-box

Outmost black-box using faked

embeddedblack-boxes

Environmentrealization us-ing outmost

fake black-box

n = 2

n = 1

n = 0

Everywhereonly usedcompletedblack-boxes

Pt.2.I.

Pt.2.J.

Pt.2.V.

Pt.2.W

.

Pt.1.V.

Pt.1.W

.

Pt.0.V

Pu.

Pt.2.F.

Pt.2.G.

Pt.2.I.

Fake

Pt.1.I.

Pt.1.J.

Pt.1.V.

Temp

Pt.1.I.

Fake

Pt.0.I.

Pt.0.J.

Pt.0.V

Temp

Pt.1.F.

Pt.1.G.

Pt.0.F.

Pt.0.G.

Page 88: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 88

Develop in host and port to targetDevelop in host and port to target

• Porting a product from development system to target in field can be a too challenging lap

• Stepwise porting1. Develop and verify outmost

white-box in host debugger2. Port to host environment3. Port to development board

having target processor4. Port to target environment

• Porting a product from development system to target in field can be a too challenging lap

• Stepwise porting1. Develop and verify outmost

white-box in host debugger2. Port to host environment3. Port to development board

having target processor4. Port to target environment

n = 1

n = 0

Hostcomputer

Pt.0.

F.Pt

.0.G.

Pt.0.

I.Pt

.0.J.

Pt.0.

V.Pu

.

Pt.0.

F.Pt

.0.G.

Pt.0.

I.Pt

.0.J.

Pt.0.

V.Pu

.

Pt.0.

F.Pt

.0.G.

Pt.0.

I.Pt

.0.J.

Pt.0.

V.Pu

.

Pt.1.

F.Pt

.1.G.

Pt.1.

I.Pt

.1.J.

Pt.1.

V.Pt

.1.W

.

Developmentboard

Targetmicro processor

Targetcomputer

n = 1

n = 0

Hostcomputer

Pt.0.

F.Pt

.0.G.

Pt.0.

I.Pt

.0.J.

Pt.0.

V.Pu

.

Pt.0.

F.Pt

.0.G.

Pt.0.

I.Pt

.0.J.

Pt.0.

V.Pu

.

Pt.0.

F.Pt

.0.G.

Pt.0.

I.Pt

.0.J.

Pt.0.

V.Pu

.

Pt.1.

F.Pt

.1.G.

Pt.1.

I.Pt

.1.J.

Pt.1.

V.Pt

.1.W

.

Developmentboard

Targetmicro processor

Targetcomputer

Debugger

Controlmenu with

settings andmonitoring

Softwareto be devel-

oped

Host computerDebugger

Controlmenu with

settings andmonitoring

Softwareto be devel-

oped

Host computer

Host com-puter

Development boardTypical micro

controllerSoftware

to be devel-oped

Peripheralchip-set withcustom de-

signed experi-mental area

Host com-puter

Development boardTypical micro

controllerSoftware

to be devel-oped

Peripheralchip-set withcustom de-

signed experi-mental area

Target prototypeenvironment

Target prototype

Softwareto be devel-

oped

Target microcontroller

Targetperipheral

chip set

Page 89: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 89

Pt.n.I. Procure items, linkable code and integrate/ invade inward level black-boxes to realize white-box

Pt.n.I. Procure items, linkable code and integrate/ invade inward level black-boxes to realize white-box

• Receive items for white-box from suppliers

• Integrate items in white-box

• Start-up white-box in host, debugger, fixture or target

• Same structure as Pt.0.I.

• Receive items for white-box from suppliers

• Integrate items in white-box

• Start-up white-box in host, debugger, fixture or target

• Same structure as Pt.0.I.

Pt.n.I. Procure items, linkable code and integrate /invadeinward-level black-boxes to realize white-box

Pt.n

.J:1

.Co

mpl

eted

usab

lew

hite

-bo

xst

arte

din

host

,de-

bugg

er,f

ixtu

reor

targ

et

Pt.n

.Ib.

Item

sre

ceiv

edPt

.n.Ic

.R

eceiv

edite

msd

evia

-tio

nre

port

Pt.n

.If.

Whi

te-b

oxin

te-

grat

ion

repo

rt

Pt.n

.Id.

Inte

grat

eele

men

ts,

inclu

ding

linka

ble

code

and

embe

d-de

dbl

ack-

boxe

s

Unsatisfactory

Pt.n

.J:2

.U

nusa

ble

white

-box

Pt.n

.Ii.

Exam

ine

inte

grat

ion

robu

stne

ss

Pt.n

.Ie.

Whi

te-b

oxpr

epar

ed

Pt.n

.Ig.

Star

tup

whi

te-

box

Pt.n

.Ih.

Whi

te-b

oxst

art-u

pre

port

Pt.n

.Ia.

Obt

ain

item

sin-

clud

ing

linka

ble

code

Xd:

3.Fr

om-t

he-s

helf

reus

able

item

Xd:

4.Tu

rnke

yre

us-

able

item

Pt.n

.G.

Fina

lized

whi

te-

box

with

prod

-uc

treq

uisit

es

if n > 0if n + 1 exits

Pt.n

+1.W

:1.

Veri

fied

whi

te/

blac

k-bo

x

Pt.n.I. Procure items, linkable code and integrate /invadeinward-level black-boxes to realize white-box

Pt.n

.J:1

.Co

mpl

eted

usab

lew

hite

-bo

xst

arte

din

host

,de-

bugg

er,f

ixtu

reor

targ

et

Pt.n

.Ib.

Item

sre

ceiv

edPt

.n.Ic

.R

eceiv

edite

msd

evia

-tio

nre

port

Pt.n

.If.

Whi

te-b

oxin

te-

grat

ion

repo

rt

Pt.n

.Id.

Inte

grat

eele

men

ts,

inclu

ding

linka

ble

code

and

embe

d-de

dbl

ack-

boxe

s

Unsatisfactory

Pt.n

.J:2

.U

nusa

ble

white

-box

Pt.n

.Ii.

Exam

ine

inte

grat

ion

robu

stne

ss

Pt.n

.Ie.

Whi

te-b

oxpr

epar

ed

Pt.n

.Ig.

Star

tup

whi

te-

box

Pt.n

.Ih.

Whi

te-b

oxst

art-u

pre

port

Pt.n

.Ia.

Obt

ain

item

sin-

clud

ing

linka

ble

code

Xd:

3.Fr

om-t

he-s

helf

reus

able

item

Xd:

4.Tu

rnke

yre

us-

able

item

Pt.n

.G.

Fina

lized

whi

te-

box

with

prod

-uc

treq

uisit

es

if n > 0if n + 1 exits

Pt.n

+1.W

:1.

Veri

fied

whi

te/

blac

k-bo

x

Page 90: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 90

Pt.n.I. Procure items, linkable code and integrate/ invade inward level black-boxes to realize white-box

Pt.n.I. Procure items, linkable code and integrate/ invade inward level black-boxes to realize white-box

• Expanded Pt.n.I. schedule showing integration of different technologies

• Integration of• Source code from

assembler and high level languages

• Mechanics and electronics possibly containing processors with software

• Linkable code

• Expanded Pt.n.I. schedule showing integration of different technologies

• Integration of• Source code from

assembler and high level languages

• Mechanics and electronics possibly containing processors with software

• Linkable code

Pt.n.G.Finalizedwhite-box

with productrequisites

Pt.n

.Iaa.

Obt

ain

Pt.n.I. Procure items, linkable code and integrate/ invadeinward- level black-boxes to realize white-box

Pt.n+1.W:1.Verified white/black-bo x

Pt.n.Ia.Obtain

items in-cluding link-

able code

Pt.n.Id.Integrate elements,including linkable

code and embeddedblack-boxes

Pt.n.Ib.Items re-

ceived

Pt.n.Ie.White-

box pre-pared Pt

.n.Ig

.St

artu

pw

hite

-box

Pt.n.J:1.Complet-ed usablewhite-boxstarted inhost, de-bugger,

fixture ortarget

Pt.n

.Iaa

.Obt

ain

Pt.n

.Iab.

Asse

mbl

ePt

.n.Ia

c.Co

mpi

lePt

.n.Ia

a.O

btai

n

Pt.n+1.W:1:2.Inwards hierarchically black-

box(es) (mechanics with/withoutelectronics with/without proces-

sors withinnermost software)

Pt.n

.Ida.

JoinPt.n.Gc.

Assemblerlanguage

source code

Pt.n.Gd.High levellanguage

source code

Pt.n.Gb.Electronic

items

Pt.n.Ga.Mechanic

items

Pt.n.Ge.Softwarelibrary

Pt.n+1.W:1:3.One level inwards software linka-

ble code black- box(es)

Pt.n+1.W:1:1.One level inwards software source

code black-b ox(es)

Pt.n.Ibb.Electron-

ic item

Pt.n.Iba.Mechanic

item

Pt.n.Ide.Relocatable ex-ecutable code

Pt.n.Ideb.Instructions

Pt.n.Idea.Variables

Pt.n.Idc.Machine code

Pt.n.Idcb.Instruction s

Pt.n.Idca.Variables

Pt.n

.Idg.

Dyna

mic

load

Pt.n

.Idf

.Lo

ad

Pt.n

.Idb.

LinkPt.n.Ibc.

Linkablecode

Pt.n.Ibc.Linkable

code

Pt.n.Ibc.Linka ble

code

Pt.n.G.Finalizedwhite-box

with productrequisites

Pt.n

.Iaa.

Obt

ain

Pt.n.I. Procure items, linkable code and integrate/ invadeinward- level black-boxes to realize white-box

Pt.n+1.W:1.Verified white/black-bo x

Pt.n.Ia.Obtain

items in-cluding link-

able code

Pt.n.Id.Integrate elements,including linkable

code and embeddedblack-boxes

Pt.n.Ib.Items re-

ceived

Pt.n.Ie.White-

box pre-pared Pt

.n.Ig

.St

artu

pw

hite

-box

Pt.n.J:1.Complet-ed usablewhite-boxstarted inhost, de-bugger,

fixture ortarget

Pt.n

.Iaa

.Obt

ain

Pt.n

.Iab.

Asse

mbl

ePt

.n.Ia

c.Co

mpi

lePt

.n.Ia

a.O

btai

n

Pt.n+1.W:1:2.Inwards hierarchically black-

box(es) (mechanics with/withoutelectronics with/without proces-

sors withinnermost software)

Pt.n

.Ida.

JoinPt.n.Gc.

Assemblerlanguage

source code

Pt.n.Gd.High levellanguage

source code

Pt.n.Gb.Electronic

items

Pt.n.Ga.Mechanic

items

Pt.n.Ge.Softwarelibrary

Pt.n+1.W:1:3.One level inwards software linka-

ble code black- box(es)

Pt.n+1.W:1:1.One level inwards software source

code black-b ox(es)

Pt.n.Ibb.Electron-

ic item

Pt.n.Iba.Mechanic

item

Pt.n.Ide.Relocatable ex-ecutable code

Pt.n.Ideb.Instructions

Pt.n.Idea.Variables

Pt.n.Idc.Machine code

Pt.n.Idcb.Instruction s

Pt.n.Idca.Variables

Pt.n

.Idg.

Dyna

mic

load

Pt.n

.Idf

.Lo

ad

Pt.n

.Idb.

LinkPt.n.Ibc.

Linkablecode

Pt.n.Ibc.Linkable

code

Pt.n.Ibc.Linka ble

code

Page 91: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 91

Pt.0.I. Realize interface and integrate / invade outmost white-box

Pt.0.I. Realize interface and integrate / invade outmost white-box

• Receive items for interface to environment

• Complete interface to environment

• Start up prototype in environment

• Receive items for interface to environment

• Complete interface to environment

• Start up prototype in environment

Pt.0.I. Realize interfac e and integrate/invade outmost white-bo x

Pt.0

.Ic.

Rec

eive

dite

msa

ndpo

rt-

edco

dede

viat

ion

repo

rt

Pt.0

.If.

Prot

otyp

eco

mpl

etio

nan

din

tegr

atio

nre

port

Pt.0

.Ih.

Prot

otyp

est

art-

upre

port

Unsatisfactory

Pt.0

.J:1

.U

sabl

ein

terf

ace

start

-ed

tosim

ulat

oror

tar-

gete

nvir

onm

ent

Pt.0

.Ig.

Star

tpro

toty

pein

envi

ronm

ent

Pt.0

.Ii.

Exam

ine

prot

otyp

ere

liabi

lity

Pt.0

.Ie.

Inte

rfac

esto

envi

-ro

nmen

tcom

plet

ed

Pt.0

.Id.

Com

plet

ean

dco

n-ne

ctpr

otot

ype

in-

terf

aces

toen

vi-

ronm

ent

Pt.0

.Ib.

Item

sand

linka

-bl

ecod

erec

eive

d

Pt.0

.Ia.

Obt

ain

item

sfor

inte

r-fa

ceto

envi

ronm

ent

and

port

edlin

kabl

eco

de

Xd:

4.Tu

rnke

yre

us-

able

item

Xd:

3.Fr

om-th

e-sh

elf

reus

able

item

Pt.0

.G.

Fina

lized

inte

rfac

esto

envi

ronm

entw

ithpr

oduc

treq

uisit

es

Pt.1

.W:1

.Ve

rifie

dw

hite

/bl

ack-

box

Pt.0

.J:2

.U

nusa

ble

inte

rfac

e

Pt.0.I. Realize interfac e and integrate/invade outmost white-bo x

Pt.0

.Ic.

Rec

eive

dite

msa

ndpo

rt-

edco

dede

viat

ion

repo

rt

Pt.0

.If.

Prot

otyp

eco

mpl

etio

nan

din

tegr

atio

nre

port

Pt.0

.Ih.

Prot

otyp

est

art-

upre

port

Unsatisfactory

Pt.0

.J:1

.U

sabl

ein

terf

ace

start

-ed

tosim

ulat

oror

tar-

gete

nvir

onm

ent

Pt.0

.Ig.

Star

tpro

toty

pein

envi

ronm

ent

Pt.0

.Ii.

Exam

ine

prot

otyp

ere

liabi

lity

Pt.0

.Ie.

Inte

rfac

esto

envi

-ro

nmen

tcom

plet

ed

Pt.0

.Id.

Com

plet

ean

dco

n-ne

ctpr

otot

ype

in-

terf

aces

toen

vi-

ronm

ent

Pt.0

.Ib.

Item

sand

linka

-bl

ecod

erec

eive

d

Pt.0

.Ia.

Obt

ain

item

sfor

inte

r-fa

ceto

envi

ronm

ent

and

port

edlin

kabl

eco

de

Xd:

4.Tu

rnke

yre

us-

able

item

Xd:

3.Fr

om-th

e-sh

elf

reus

able

item

Pt.0

.G.

Fina

lized

inte

rfac

esto

envi

ronm

entw

ithpr

oduc

treq

uisit

es

Pt.1

.W:1

.Ve

rifie

dw

hite

/bl

ack-

box

Pt.0

.J:2

.U

nusa

ble

inte

rfac

e

Page 92: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 92

EXAMPLE Multiplication toy:EXAMPLE Multiplication toy:

• Devi-ationreport

• Devi-ationreport

• Integration report• Based on interfaces

• Start-up report

• Integration report• Based on interfaces

• Start-up report

Volume 1 000 100 000

Deviation Item Sourc-ing

Produc-er

Piec-es

€/piec

eCost€ /toy

€/piec

eCost€ /toy

IdArch

DR.1. Difficult tosolder on print-ed board, mustbe improved

Rotorswitch

GrossElectro

Pointer 2 0.4 0.8 0.2 0.4 Ab.

DR.2. To bephased out bysupplier

LED-seg-ment, nodp.

GrossElectro

Texx 3 0.3 0.9 0.2 0.6 Ad.

DR.3. All ordi-nary bins toohigh. Order spe-cialized immedi-ately.

Battery bin GrossElectro

Any 1 0.2 0.2 0.12 0.12 Ae.

DR.4. Up to 4month deliverytime. In themeantime, usemanually pro-duced fronts,backs and flapsfor prototypes.

Pressedfront hous-ing

Inhouse Inhouse 1 0.2 0.2 0.1 0.1 A-2c.

Front hous-ing tool

In depthpress

In depthpress

1 per50 000

5 5 0.1 0.1 A-2c.

Back hous-ing

Inhouse Inhouse 1 0.1 0.1 0.06 0.06 A-2d.

Back hous-ing tool

In depthpress

In depthpress

1 per50 000

5 5 0.1 0.1 A-2d.

DR.5. Producedby same tool asabove housing

Cut batteryflap

Inhouse Inhouse 1 0.025 0.025 0.02 0.02 A-2f.

DR.6. Maximumcapacity 4000pieces / week

Displaywindow

GrossElectro

Desiger 1 0.02 0.02 0.015 0.015 A-2e.

DR.7. Theremight be bettercontroller in thishuge family

PIC16F57 Pick-it MiChip 1 0.7 0.7 0.4 0.4 Aa:2a.

DR.8. Up to 2month deliverytime. Use expen-sive fast pro-duced PCB forprototypes

PCB Inhouse PCB inc. 1 0.4 0.4 0.2 0.2 -A-1:2

DR.9. Add probearea for auto-mated tests

PCB prepa-ration

Inhouse Inhouse 1 0.4 0.4 0.01 0.01 -A-1:2

Volume 1 000 100 000

Deviation Item Sourc-ing

Produc-er

Piec-es

€/piec

eCost€ /toy

€/piec

eCost€ /toy

IdArch

DR.1. Difficult tosolder on print-ed board, mustbe improved

Rotorswitch

GrossElectro

Pointer 2 0.4 0.8 0.2 0.4 Ab.

DR.2. To bephased out bysupplier

LED-seg-ment, nodp.

GrossElectro

Texx 3 0.3 0.9 0.2 0.6 Ad.

DR.3. All ordi-nary bins toohigh. Order spe-cialized immedi-ately.

Battery bin GrossElectro

Any 1 0.2 0.2 0.12 0.12 Ae.

DR.4. Up to 4month deliverytime. In themeantime, usemanually pro-duced fronts,backs and flapsfor prototypes.

Pressedfront hous-ing

Inhouse Inhouse 1 0.2 0.2 0.1 0.1 A-2c.

Front hous-ing tool

In depthpress

In depthpress

1 per50 000

5 5 0.1 0.1 A-2c.

Back hous-ing

Inhouse Inhouse 1 0.1 0.1 0.06 0.06 A-2d.

Back hous-ing tool

In depthpress

In depthpress

1 per50 000

5 5 0.1 0.1 A-2d.

DR.5. Producedby same tool asabove housing

Cut batteryflap

Inhouse Inhouse 1 0.025 0.025 0.02 0.02 A-2f.

DR.6. Maximumcapacity 4000pieces / week

Displaywindow

GrossElectro

Desiger 1 0.02 0.02 0.015 0.015 A-2e.

DR.7. Theremight be bettercontroller in thishuge family

PIC16F57 Pick-it MiChip 1 0.7 0.7 0.4 0.4 Aa:2a.

DR.8. Up to 2month deliverytime. Use expen-sive fast pro-duced PCB forprototypes

PCB Inhouse PCB inc. 1 0.4 0.4 0.2 0.2 -A-1:2

DR.9. Add probearea for auto-mated tests

PCB prepa-ration

Inhouse Inhouse 1 0.4 0.4 0.01 0.01 -A-1:2

Fulfilments and shortcomings Contained interfacesIR.1. The circuit board were equipped with-out problems. -A-1:2Printed board

IR.2. Riveted on selectors axis

[A]2.Housing

A-2a.Dial knobIR.3. Soldered to the printed circuit board.Note, there are components on both sides. A-2b.On-off Switch

IR.4. Manually produced front mounted A-2c.Toy front housingIR.5. Manually produced back mounted A-2d.Toy back housingIR.6. Manually produced Plexiglas mounted A-2e.Display windowIR.7. Manually produced flap mounted A-2f.Battery flapIR.8. Ordinary screw temporarily used A-2g.Flap screwIR.9. Selector soldered with some problem.Machine soldering not possible.

-A-3.Operand bus-A-4.Operand bus

IR.10. Presentation components mountedwithout problems on the printed circuitboard printed bus

-A-5.Product bus

IR.11. The power is distributed on all circuitboard printing. -A-6.Power feed

IR.12. Loading the machine code to microcontroller. The protocol is rather tricky and aspecialist from the supplier was called in toget it right first time.

-Aa:2-1.In circuit pro-grammable port

Fulfilments and shortcomings Contained interfacesIR.1. The circuit board were equipped with-out problems. -A-1:2Printed board

IR.2. Riveted on selectors axis

[A]2.Housing

A-2a.Dial knobIR.3. Soldered to the printed circuit board.Note, there are components on both sides. A-2b.On-off Switch

IR.4. Manually produced front mounted A-2c.Toy front housingIR.5. Manually produced back mounted A-2d.Toy back housingIR.6. Manually produced Plexiglas mounted A-2e.Display windowIR.7. Manually produced flap mounted A-2f.Battery flapIR.8. Ordinary screw temporarily used A-2g.Flap screwIR.9. Selector soldered with some problem.Machine soldering not possible.

-A-3.Operand bus-A-4.Operand bus

IR.10. Presentation components mountedwithout problems on the printed circuitboard printed bus

-A-5.Product bus

IR.11. The power is distributed on all circuitboard printing. -A-6.Power feed

IR.12. Loading the machine code to microcontroller. The protocol is rather tricky and aspecialist from the supplier was called in toget it right first time.

-Aa:2-1.In circuit pro-grammable port

Accomplishments and obstacles Troubling interfaceSR.1. The power switch is set to on, and the multiplication toy dis-play illuminates nicely, and response nicely when changing the ro-tating switches. Multiplication incorrect, but ready for verification.

A. Multiplication toy with mi-cro controller multiplier

Accomplishments and obstacles Troubling interfaceSR.1. The power switch is set to on, and the multiplication toy dis-play illuminates nicely, and response nicely when changing the ro-tating switches. Multiplication incorrect, but ready for verification.

A. Multiplication toy with mi-cro controller multiplier

Page 93: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 93

Verify white-and black-boxVerify white-

and black-boxCan even be automatedCan even be automated

Page 94: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 94

Pt.n.V. Verify white/black-boxPt.n.V. Verify white/black-box

• Verification most efficient inside-out• Develop white- and black-box test

cases for fixtures and debugger• Verify

• White-box• White/black-box• Black-box

• Locate and correct failures• Reverify until no more failures• Prepare manual table of content

• Verification most efficient inside-out• Develop white- and black-box test

cases for fixtures and debugger• Verify

• White-box• White/black-box• Black-box

• Locate and correct failures• Reverify until no more failures• Prepare manual table of content

Unsatisfactory

Pt.n

.Va.

Dev

elop

test

case

s,al

sofo

rfix

ture

sand

debu

gger

Pt.n.Vb.Test case

Pt.n.V. Verify white/black-box

Pt.n

.Vl.

Prep

are

prod

-uc

tman

ual

Pt.n

.Vh.

Veri

ficat

ion

blac

k-bo

xre

port

Pt.n

.Vba

.W

hite

-box

test

case

Pt.n

.Vbb

.Bl

ack-

box

test

case

s

Pt.n

.Vi.

Loca

tefa

il-ur

eso

urce

No

Yes

Pt.n

.Vj.

Exam

ine

veri

fyin

gqu

ality

Pt.n

.W:1

.Ve

rifie

dw

hite

/bl

ack-

box

Morefailures

?

Pt.n

.Vm

.M

anua

lta-

bleo

fcon

tent

Pt.n

.Vf.

Verif

icat

ion

whi

te-b

oxre

port

Pt.n

.Vg.

Veri

fybl

ack-

box

Pt.n

.Vd.

Veri

ficat

ion

repo

rt

Pt.n

.Vc.

Verif

yw

hite

/bl

ack-

boxe

s

Pt.n

.W:2

.Pa

rtly

veri

fied

whi

te-

orbl

ack-

box

Pt.n

.Vk.

Failu

reel

imi-

natio

nre

port

Pt.n

.Ve.

Veri

fywh

ite-

box

Pt.n

.B.

Arc

hite

ctur

ew

hite

-box

with

maj

orel

emen

tsan

dpo

ssib

lebe

low

-leve

lbla

ck-b

oxes

Pt.n

.Sa.

Prio

ritiz

edre

-qu

irem

ents

Pt.n

.G.

Fina

lized

whi

te-b

oxw

ithpr

oduc

treq

uisit

esPt

.n.J

:1.

Com

plet

edus

able

whi

te-

box

start

edin

host

,de-

bugg

er,f

ixtu

reor

targ

et Unsatisfactory

Pt.n

.Va.

Dev

elop

test

case

s,al

sofo

rfix

ture

sand

debu

gger

Pt.n.Vb.Test case

Pt.n.V. Verify white/black-box

Pt.n

.Vl.

Prep

are

prod

-uc

tman

ual

Pt.n

.Vh.

Veri

ficat

ion

blac

k-bo

xre

port

Pt.n

.Vba

.W

hite

-box

test

case

Pt.n

.Vbb

.Bl

ack-

box

test

case

s

Pt.n

.Vi.

Loca

tefa

il-ur

eso

urce

No

Yes

Pt.n

.Vj.

Exam

ine

veri

fyin

gqu

ality

Pt.n

.W:1

.Ve

rifie

dw

hite

/bl

ack-

box

Morefailures

?

Pt.n

.Vm

.M

anua

lta-

bleo

fcon

tent

Pt.n

.Vf.

Verif

icat

ion

whi

te-b

oxre

port

Pt.n

.Vg.

Veri

fybl

ack-

box

Pt.n

.Vd.

Veri

ficat

ion

repo

rt

Pt.n

.Vc.

Verif

yw

hite

/bl

ack-

boxe

s

Pt.n

.W:2

.Pa

rtly

veri

fied

whi

te-

orbl

ack-

box

Pt.n

.Vk.

Failu

reel

imi-

natio

nre

port

Pt.n

.Ve.

Veri

fywh

ite-

box

Pt.n

.B.

Arc

hite

ctur

ew

hite

-box

with

maj

orel

emen

tsan

dpo

ssib

lebe

low

-leve

lbla

ck-b

oxes

Pt.n

.Sa.

Prio

ritiz

edre

-qu

irem

ents

Pt.n

.G.

Fina

lized

whi

te-b

oxw

ithpr

oduc

treq

uisit

esPt

.n.J

:1.

Com

plet

edus

able

whi

te-

box

start

edin

host

,de-

bugg

er,f

ixtu

reor

targ

et

Page 95: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 95

Pt.0.V. Verify prototype in environmentPt.0.V. Verify prototype in environment

• Develop field test cases for target or simulator

• Verify prototype• In simulator• In target

• Locate and correct failures• Reverify until no more failures• Complete manual

• Develop field test cases for target or simulator

• Verify prototype• In simulator• In target

• Locate and correct failures• Reverify until no more failures• Complete manual

Pt.0.V. Verify prototype in environment

Unsatisfactory

Pt.0

.Vc.

Verif

ypr

otot

ype

infie

ldsim

ulat

oren

viro

nmen

t

Pt.0

.Ve.

Veri

fypr

oto-

type

inta

rget

envi

ronm

ent

Pt.0

.Vd.

Sim

ulat

orve

ri-

ficat

ion

repo

rtPt

.0.V

f.Ve

rific

atio

nin

targ

etre

port

No

Yes

Pt.0

.Vj.

Fina

lize

prod

-uc

tman

ual

Pt.0

.Vk.

Prod

uct

man

ual

Pt.0

.Vh.

Exam

ine

prot

otyp

eco

mpl

ete-

ness

Pt.0

.Vg.

Loca

tefa

il-ur

e sou

rce

Pt.0

.Vi.

Failu

reel

imi-

natio

nre

port

Pt.0

.Va.

Dev

elop

field

test

case

s,fo

rta

rget

or si

mu-

lato

rPt

.0.V

b.Fi

eld

test

case

s,fo

rta

rget

orsim

ulat

or

Pu.

Verif

ied

prot

otyp

e

Pt.0

.Sa.

Envi

ronm

ent

rest

rictio

ns

Pt.0

.G.

Fina

lized

inte

rfac

esto

envi

ronm

entw

ithpr

oduc

treq

uisit

esPt

.0.J

:1.

Usa

blei

nter

face

star

t-ed

tosim

ulat

oror

tar-

gete

nvir

onm

ent

Pt.0

.B.

Envi

ronm

enta

rchi

-te

ctur

esw

ithel

e-m

ents

,int

erfa

cesa

ndou

term

ostb

lack

-box

Pt.0

.W.

Part

lyve

rifie

dpr

otot

ype

Morefailures

?

Pt.0.V. Verify prototype in environment

Unsatisfactory

Pt.0

.Vc.

Verif

ypr

otot

ype

infie

ldsim

ulat

oren

viro

nmen

t

Pt.0

.Ve.

Veri

fypr

oto-

type

inta

rget

envi

ronm

ent

Pt.0

.Vd.

Sim

ulat

orve

ri-

ficat

ion

repo

rtPt

.0.V

f.Ve

rific

atio

nin

targ

etre

port

No

Yes

Pt.0

.Vj.

Fina

lize

prod

-uc

tman

ual

Pt.0

.Vk.

Prod

uct

man

ual

Pt.0

.Vh.

Exam

ine

prot

otyp

eco

mpl

ete-

ness

Pt.0

.Vg.

Loca

tefa

il-ur

e sou

rce

Pt.0

.Vi.

Failu

reel

imi-

natio

nre

port

Pt.0

.Va.

Dev

elop

field

test

case

s,fo

rta

rget

or si

mu-

lato

rPt

.0.V

b.Fi

eld

test

case

s,fo

rta

rget

orsim

ulat

or

Pu.

Verif

ied

prot

otyp

e

Pt.0

.Sa.

Envi

ronm

ent

rest

rictio

ns

Pt.0

.G.

Fina

lized

inte

rfac

esto

envi

ronm

entw

ithpr

oduc

treq

uisit

esPt

.0.J

:1.

Usa

blei

nter

face

star

t-ed

tosim

ulat

oror

tar-

gete

nvir

onm

ent

Pt.0

.B.

Envi

ronm

enta

rchi

-te

ctur

esw

ithel

e-m

ents

,int

erfa

cesa

ndou

term

ostb

lack

-box

Pt.0

.W.

Part

lyve

rifie

dpr

otot

ype

Morefailures

?

Page 96: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 96

Trace back after verificationTrace back after verification

• Assume failure were found on interface -E-1 in Pt.0.V. activities

• Assume failure is located to requirement A.B.B.RB.3.4.1.

• Assume failure were found on interface -E-1 in Pt.0.V. activities

• Assume failure is located to requirement A.B.B.RB.3.4.1.

E. House environment architectu re

E. House environmentA. House prototype

A. House architectureA.B. Architecture white-box

-A.B.-1.Docu-

mentedwire in-terface

-E-1.Document-ed cable in-

terface

-A-1.Docu-

mentedwire in-terface

A.a.Docu-

mentedelectricmain

central

A.B.a.Documentedelectric sub

central

Documentsgovern pro-

totype

A.B.B.Kitchen

architectureFailure lo-calized to

owenA.B.B.g.

Failure lo-calized in-side kitch-

en A.B.A.B. Kitchen white-box

-A.B.-1.Wireinter-face

-E-1.Cable

interface

-A-1.Wireinter-face

A.B.B.Machinerywhite-box

Failure local-ized inside ow-

en A.B.B.g.

A.B.a.Electric

sub centralA.a.Elec-tric

maincentral

Failure local-ized inside ma-chinery A.B.B.

Failure local-ized insidehouse A.

Failure origi-nally identi-fied on elec-tricity inter-

face E-1

5a.

5b.

4b.

3b.

2b.

1.

2a.

3a.4a.

A.B.B.RB.3.4.1.Machinerystandards

Primaryfailure lo-calized to

missedstandard

7.

Pt.3

.S.

Pt.3.P.

Pt.3

.Q.

Pt.3.R.

Pt.3.A.

Pt.3

.B.

Pt.3.F.

Pt.3

.G.

Pt.3.I.

Pt.3.V. Pt.3

.W

:1.Pt

.3.

W:2

.

Pt.3

.J:1

.Pt

.3.

J:2.

Pt.2

.S.

Pt.2.P.

Pt.2

.Q.Pt.2.R.

Pt.2.A.

Pt.2

.B.

Pt.2.F.

Pt.2

.G.

Pt.2.I.

Pt.2.V. Pt.2

.W

:1.

Pt.2

.W

:2.

Pt.2

.J:1

.Pt

.2.

J:2.

Pt.1.

S.

Pt.1.P.

Pt.1.R.

Pt.1.A. Pt.1.I.

Pt.1.V.

Pt.1.

B.

Pt.1

.J:1

.Pt

.1.

J:2.

Pt.1.

W:1

.Pt

.1.W

:2.

Pt.1

.G.

Pt.1

.Q.

Pt.0

.S.

Pt.0.P.

Pt.0.R.

Pt.0.A. Pt.0.F.

Pt.0

.G. Pt.0.V.

Pt.0

.B.

Pt.0

.Q.

Pu.

Pt.0

.W

.

Pt.0.I.

Pt.0

.J:2

.Pt.0

.J:1

.

1.

2b.

3b.

4b.5b.6.

7.

2a.

3a.

4a.5a.

Pt.1.F.

Pt.3

.S.

Pt.3.P.

Pt.3

.Q.

Pt.3.R.

Pt.3.A.

Pt.3

.B.

Pt.3.F.

Pt.3

.G.

Pt.3.I.

Pt.3.V. Pt.3

.W

:1.Pt

.3.

W:2

.

Pt.3

.J:1

.Pt

.3.

J:2.

Pt.2

.S.

Pt.2.P.

Pt.2

.Q.Pt.2.R.

Pt.2.A.

Pt.2

.B.

Pt.2.F.

Pt.2

.G.

Pt.2.I.

Pt.2.V. Pt.2

.W

:1.

Pt.2

.W

:2.

Pt.2

.J:1

.Pt

.2.

J:2.

Pt.1.

S.

Pt.1.P.

Pt.1.R.

Pt.1.A. Pt.1.I.

Pt.1.V.

Pt.1.

B.

Pt.1

.J:1

.Pt

.1.

J:2.

Pt.1.

W:1

.Pt

.1.W

:2.

Pt.1

.G.

Pt.1

.Q.

Pt.0

.S.

Pt.0.P.

Pt.0.R.

Pt.0.A. Pt.0.F.

Pt.0

.G. Pt.0.V.

Pt.0

.B.

Pt.0

.Q.

Pu.

Pt.0

.W

.

Pt.0.I.

Pt.0

.J:2

.Pt.0

.J:1

.

1.

2b.

3b.

4b.5b.6.

7.

2a.

3a.

4a.5a.

Pt.1.F.

Page 97: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 97

Trace forward after locating a failureTrace forward after locating a failure

• When primary failure is found

• Correct this failure• Trace forward from this

failure and adjust to bring everything in consistence

• During tracing forward also localize eventual secondary failures caused by the primary failure

• Correct and adjust like for the primary failure

• When primary failure is found

• Correct this failure• Trace forward from this

failure and adjust to bring everything in consistence

• During tracing forward also localize eventual secondary failures caused by the primary failure

• Correct and adjust like for the primary failure

Pt.3

.S.

Pt.3.P. Pt.3

.Q.Pt.3.R.

Pt.3.A.

Pt.3

.B.

Pt.3.F. Pt.3

.G.

Pt.3.I.

Pt.3.V.

Pt.3

.W

:1.

Pt.3

.W

:2.

Pt.3

.J:1

.Pt

.3.

J:2.

Pt.2

.S.

Pt.2.P.

Pt.2

.Q.Pt.2.R.

Pt.2.A.

Pt.2

.B.

Pt.2.F. Pt.2

.G.

Pt.2.I.

Pt.2.V.

Pt.2

.W

:1.

Pt.2

.W

:2.

Pt.2

.J:1

.Pt

.2.

J:2.

Pt.1.

S

Pt.1.P

Pt.1.R

Pt.1.A Pt.1.FPt.1.I

Pt.1.V.

Pt.1

.B Pt.1

J:1Pt

.1J:2

Pt.1.

W:1.

Pt.1.

W:2

.

Pt.1

.G

Pt.1.

Q

Pt.0

.S.

Pt.0.P.

Pt.0.R.

Pt.0.A. Pt.0.F.

Pt.0

.G. Pt0.V

Pt.0

.B.

Pt.0

.Q.

Pu.

Pt.0

.W

.

Pt.0.I.

Pt.0

.J:2

.Pt.0

.J:1

.

8

9 10 11

12

13

14

15

16

17

18

Page 98: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 98

EXAMPLE Phonebook: White- and black-box test casesEXAMPLE Phonebook: White- and black-box test cases

• White-box test cases

• White-box test cases

• Black-box test cases• Black-box test casesBlack-box stimulus inject Expected response with

pass-fail criteriaBehaviour re-

quirement• Use a phone-book file which has various num-

ber of existing contacts.Start the phone-book pro-gram, and append one contact.

CH.1. Phone-book file correct, but without con-tacts.CH.2. Phone-book file approximately half full.CH.3. Phone-book file still having place for onemore contact• For each of the above ways of registering con-

tacts, also register phone numbers in the fivevarious ways

CH.4.a. One phone numberCH.4.b. Half full of phone numbersCH.4.c. Next to full of phone numbersCH.4.d. Full of phone numbers

XP.1. Pass, if the appendedcontact and phone numbersare present in the phone-book at a listing of contacts.

A.RB.6.S.2.U.1.Append contact tophone book nor-mal case

CH.1. Use a phone-book file which has no moreplace for contacts. Start the phone-book program,and append one contact.

XP.1. Pass, if the program dis-play an error message, andif a listing doesn’t containanything from the appendedcontact, andif the program still executenormally.

A.RB.6.S.2.X.2.Append contact tofull phone bookexception case

CH.1. Use a phone-book file which is half full ofcontacts. Start the phone-book program.CH.2. Append one contact and key in the maxi-mum number of phone numbers.CH.3. Try to key in yet one more phone number.

XP.1. Pass, if the program dis-play an error message, andif a listing doesn’t containanything from the last phonenumber, andif the program still executenormally.

A.RB.6.S.2.X.3.Append phonenumber to fullphone number listexception case

Black-box stimulus inject Expected response withpass-fail criteria

Behaviour re-quirement

• Use a phone-book file which has various num-ber of existing contacts.Start the phone-book pro-gram, and append one contact.

CH.1. Phone-book file correct, but without con-tacts.CH.2. Phone-book file approximately half full.CH.3. Phone-book file still having place for onemore contact• For each of the above ways of registering con-

tacts, also register phone numbers in the fivevarious ways

CH.4.a. One phone numberCH.4.b. Half full of phone numbersCH.4.c. Next to full of phone numbersCH.4.d. Full of phone numbers

XP.1. Pass, if the appendedcontact and phone numbersare present in the phone-book at a listing of contacts.

A.RB.6.S.2.U.1.Append contact tophone book nor-mal case

CH.1. Use a phone-book file which has no moreplace for contacts. Start the phone-book program,and append one contact.

XP.1. Pass, if the program dis-play an error message, andif a listing doesn’t containanything from the appendedcontact, andif the program still executenormally.

A.RB.6.S.2.X.2.Append contact tofull phone bookexception case

CH.1. Use a phone-book file which is half full ofcontacts. Start the phone-book program.CH.2. Append one contact and key in the maxi-mum number of phone numbers.CH.3. Try to key in yet one more phone number.

XP.1. Pass, if the program dis-play an error message, andif a listing doesn’t containanything from the last phonenumber, andif the program still executenormally.

A.RB.6.S.2.X.3.Append phonenumber to fullphone number listexception case

CH.1. Check the programcode

XP.1. Pass if specifiedrestrictions are applied inthe program code.

A.RR.5.2.MAX_CONTACTS = 128

• Compared to maximumlength, key in person namewith:

CH.1. one character less thanmaximumCH.2. equal number of char-actersCH.3. one character more

XP.1. Pass, if oversizedperson data and phonenumbers get truncated attheir max length andif the program continuesto execute normally andif these data keep aftertermination and restart.

A.RR.5.4. MAX_PERS_LEN = 128

• Compared to maximumlength, key in phone num-bers with:

CH.4. one character lessCH.5. equal number of char-actersCH.6. with one charactermore

A.RR.5.5. MAX_NUMB_LEN = 32

White-box design check Expected appearancewith pass-fail criteria Restriction requirement

CH.1. Check which compileris used.

XP.1. Pass,if used compiler is widelyavailable, consideredtrustworthy and inexpen-sive.

A.RR.1.1. The phone-book programshall be written for a standard win-dows computer.

CH.1. Let a senior designercheck the structure of theprogram.

XP.1. Pass,if the program is devel-oped according todesigned architectureandif it is highly modularizedin a competent way.

A.RR.2.1. First phone-book programshall use simple text oriented consoleinteraction.

CH.1. Start the phone-book,add a contact and terminatethe program.

XP.1. Pass if the addedcontact is saved in aphone-book file.

A.RR.3.1. The program shall loadphone-book data at startup and save iton program termination.

CH.1. Let a programmercheck the program.

XP.1. Pass, if the selectedlanguage is object ori-ented.

A.RR.4.1. Chose an object orienteddevelopment system, and keeptogether user interaction with usedobjects.

CH.1. Check the programcode

XP.1. Pass, if the programuses fixed arrays for vari-able storages.

A.RR.5.1. The first phone-book pro-gram version shall use fixed size datastorage

CH.1. Check the programcode

XP.1. Pass if specifiedrestrictions are applied inthe program code.

A.RR.5.2.MAX_CONTACTS = 128

• Compared to maximumlength, key in person namewith:

CH.1. one character less thanmaximumCH.2. equal number of char-actersCH.3. one character more

XP.1. Pass, if oversizedperson data and phonenumbers get truncated attheir max length andif the program continuesto execute normally andif these data keep aftertermination and restart.

A.RR.5.4. MAX_PERS_LEN = 128

• Compared to maximumlength, key in phone num-bers with:

CH.4. one character lessCH.5. equal number of char-actersCH.6. with one charactermore

A.RR.5.5. MAX_NUMB_LEN = 32

White-box design check Expected appearancewith pass-fail criteria Restriction requirement

CH.1. Check which compileris used.

XP.1. Pass,if used compiler is widelyavailable, consideredtrustworthy and inexpen-sive.

A.RR.1.1. The phone-book programshall be written for a standard win-dows computer.

CH.1. Let a senior designercheck the structure of theprogram.

XP.1. Pass,if the program is devel-oped according todesigned architectureandif it is highly modularizedin a competent way.

A.RR.2.1. First phone-book programshall use simple text oriented consoleinteraction.

CH.1. Start the phone-book,add a contact and terminatethe program.

XP.1. Pass if the addedcontact is saved in aphone-book file.

A.RR.3.1. The program shall loadphone-book data at startup and save iton program termination.

CH.1. Let a programmercheck the program.

XP.1. Pass, if the selectedlanguage is object ori-ented.

A.RR.4.1. Chose an object orienteddevelopment system, and keeptogether user interaction with usedobjects.

CH.1. Check the programcode

XP.1. Pass, if the programuses fixed arrays for vari-able storages.

A.RR.5.1. The first phone-book pro-gram version shall use fixed size datastorage

Page 99: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 99

EXAMPEL Phonebook: VerificationEXAMPEL Phonebook: Verification

• Verification 1 of white-box• Verification 1 of white-box

• Verification 2 of black-box • Verification 2 of black-box Actual outcome and pass-fail

conclusio nExpected outcome and pass-

fail criteria RequirementVR.2. Pass XP.1. A.RB.6.S.1.U.1.VR.2. Pass XP.1. A.RB.6.S.1.X.2.VR.2. Pass XP.1. A.RB.6.S.1.X.3.VR.2.1. Fail,For all cases C.a. to C.r. last con-tact was not read. For example,if unexpected file end occurwithin first contact, then thenumber of contacts are dis-played as -1.

XP.1.Pass, if a warning message is dis-played and thereafter if a welcomemessage is displayed, and if all in-tact contacts are read.

A.RB.6.S.1.X.4. Found fileunexpecte d end exceptioncase

VR.2. Pass XP.1. A.RB.6.S.2.U.1.VR.2. Pass XP.1. A.RB.6.S.2.X.2.VR.2. Pass XP.1. A.RB.6.S.2.X.3.VR.2. Pass XP.1. A.RB.6.S.3.U.1.VR.2. Pass XP.1. A.RB.6.S.3.U.2.VR.2. Pass XP.1. A.RB.6.S.4.U.1.VR.2. Pass XP.1. A.RB.6.S.4.X.2.VR.2.2. Fail,The last contact is deleted evenif a contact number one too highis used.

XP.1.Pass, if the program display an er-ror message that the used contactnumber is out of existing range.

A.RB.6.S.4.X.3. Delete con-tact not existing exceptioncase

VR.2. Pass XP.1. A.RB.6.S.5.U.1.VR.2.3. FailDisplayed failure message iscorrect, but despite the phone-book program terminates

XP.1.Pass, if the program display an er-ror message that the phone-bookto be saved can not be created .

A.RB.6.S.5.X.2. File notcreated exception case

VR.2.4. Fail,Despite not anything is saved,this message is not displayed

XP.1.Pass, if the program display an er-ror message that not anything aresaved.

A.RB.6.S.5.X.3. File notwritten exception

VR.2. Pass XP.1. A.RB.6.S.5.X.4.

Actual outcome and pass-failconclusio n

Expected outcome and pass-fail criteria Requirement

VR.2. Pass XP.1. A.RB.6.S.1.U.1.VR.2. Pass XP.1. A.RB.6.S.1.X.2.VR.2. Pass XP.1. A.RB.6.S.1.X.3.VR.2.1. Fail,For all cases C.a. to C.r. last con-tact was not read. For example,if unexpected file end occurwithin first contact, then thenumber of contacts are dis-played as -1.

XP.1.Pass, if a warning message is dis-played and thereafter if a welcomemessage is displayed, and if all in-tact contacts are read.

A.RB.6.S.1.X.4. Found fileunexpecte d end exceptioncase

VR.2. Pass XP.1. A.RB.6.S.2.U.1.VR.2. Pass XP.1. A.RB.6.S.2.X.2.VR.2. Pass XP.1. A.RB.6.S.2.X.3.VR.2. Pass XP.1. A.RB.6.S.3.U.1.VR.2. Pass XP.1. A.RB.6.S.3.U.2.VR.2. Pass XP.1. A.RB.6.S.4.U.1.VR.2. Pass XP.1. A.RB.6.S.4.X.2.VR.2.2. Fail,The last contact is deleted evenif a contact number one too highis used.

XP.1.Pass, if the program display an er-ror message that the used contactnumber is out of existing range.

A.RB.6.S.4.X.3. Delete con-tact not existing exceptioncase

VR.2. Pass XP.1. A.RB.6.S.5.U.1.VR.2.3. FailDisplayed failure message iscorrect, but despite the phone-book program terminates

XP.1.Pass, if the program display an er-ror message that the phone-bookto be saved can not be created .

A.RB.6.S.5.X.2. File notcreated exception case

VR.2.4. Fail,Despite not anything is saved,this message is not displayed

XP.1.Pass, if the program display an er-ror message that not anything aresaved.

A.RB.6.S.5.X.3. File notwritten exception

VR.2. Pass XP.1. A.RB.6.S.5.X.4.

Actual outcom e and pass-failconclusi on

Expected outcome and pass-failcriteria Requirement

VR.1. Pass XP.1. A.RR.1.1.VR.1. Pass XP.1. A.RR.2.1.VR.1. Pass XP.1. A.RR.4.1.VR.1. Pass XP.1. A.RR.3.1.VR.1. Pass XP.1. A.RR.5.1.VR.1. Pass XP.1. A.RR.5.2.VR.1.1. Fail,At equal string length (C.2. andC.5.) or at one character more(C.3. and C.4.), the debuggergave Assertion failed, seeFigure 12-34 below.

XP.1.Pass, if oversized person data andphone numbers get truncated attheir max length and if the programcontinues to execute normally andif these data keep after terminationand restart.

A.RR.5.4. MAX_PERS_LEN = 128A.RR.5.5. MAX_NUMB_LEN = 32

Actual outcom e and pass-failconclusi on

Expected outcome and pass-failcriteria Requirement

VR.1. Pass XP.1. A.RR.1.1.VR.1. Pass XP.1. A.RR.2.1.VR.1. Pass XP.1. A.RR.4.1.VR.1. Pass XP.1. A.RR.3.1.VR.1. Pass XP.1. A.RR.5.1.VR.1. Pass XP.1. A.RR.5.2.VR.1.1. Fail,At equal string length (C.2. andC.5.) or at one character more(C.3. and C.4.), the debuggergave Assertion failed, seeFigure 12-34 below.

XP.1.Pass, if oversized person data andphone numbers get truncated attheir max length and if the programcontinues to execute normally andif these data keep after terminationand restart.

A.RR.5.4. MAX_PERS_LEN = 128A.RR.5.5. MAX_NUMB_LEN = 32

Page 100: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 100

EXAMPLE Phonebook:Failure elimination and manual

EXAMPLE Phonebook:Failure elimination and manual

• Locate failure

• Make failure elimi-nation plan

• Correct• Re-

verify

• Locate failure

• Make failure elimi-nation plan

• Correct• Re-

verify

• Plan manual chapters from each developed white-box

• Plan manual chapters from each developed white-box

Primary fail-ure

Failu re eliminationplan

Actualoutcomeandpass-fail criteria

Expected outcomeand pass-fail criteria

Restric-tions anduse caserequire-

mentFER.1.1. Thesafe C instruc-tion gets_stake a stringlength size pa-rameter. If in-put exceeds,the programstops.

FER.1.1.a.Inputstrings are longand rarely over-loaded.

FER.1.1.b. But a pro-fessional programshould not allowruntime crashes.

FER.1.1.c. Catch thefailure before theprogram isstopped and trun-cate the string atmax size

FER.1.1.d. Reverify

VR.1.1.Fail, At equal stringlength (C.2. and C.5.) orat one character more(C.3. and C.4.), thedebugger gave Asser-tion failed, seeFigure 12-34 below.

XP.1.Pass, if oversized per-son data and phonenumbers get truncatedat their max length andif the program contin-ues to execute nor-mally and if these datakeep after terminationand restart.

A.RR.5.4.MAX_PERS_LEN = 128

A.RR.5.5.MAX_NUMB_LEN =32

FER.1.2. A sim-ple logic failurewhen calculat-ing number ofintact contacts

FER.1.2.a.Find thefailure by thedebugger

FER.1.2.b. Correctthe failure

FER.1.2.c. Reverify

VR.2.1.Fail, For all cases C.a. toC.r. last contact was notread. For example, ifunexpected file endoccur within first con-tact, then the numberof contacts are dis-played as -1.

XP.1.Pass, if a warning mes-sage is displayed andthereafter if a welcomemessage is displayed,and if all intact con-tacts are read.

A.RB.6.S.1.X.4.Found fileunexpectedend excep-tion case

FER.1.3. A sim-ple logic failurewhen compar-ing with num-ber of last con-tact

FER.1.3.a.Find thefailure by thedebugger

FER.1.3.b. Correctthe failure

FER.1.3.c. Reverify

VR.2.2.Fail, The last contact isdeleted even if a contactnumber one too high isused.

XP.1.Pass, if the programdisplay an error mes-sage that the used con-tact number is out ofexisting range.

A.RB.6.S.4.X.3. Deletecontact notexistingexceptioncase

FER.1.4. Thefile is orderedto close, de-spite it not cre-ated

FER.1.4.a.Changethe file closinginstruction to afterit first has beenopened.

FER.1.4.b. Reverify

VR.2.3.Fail Displayed failuremessage is correct, butdespite the phone-bookprogram terminates

XP.1.Pass, if the programdisplay an error mes-sage that the phone-book to be saved cannot be created.

A.RB.6.S.5.X.2. File notcreatedexceptioncase

FER.1.5. Whenwriting to thefile, the firstlines are buff-ered and im-possibility towrite not imme-diately detect-ed.

FER.1.5.a.Flush thebuffer after thefirst line is written,then the impossi-bility to write isdiscovered.

FER.1.5.b. Reverify

VR.2.4.Fail, Despite not any-thing is saved, this mes-sage is not displayed

XP.1.Pass, if the programdisplay an error mes-sage that not anythingare saved.

A.RB.6.S.5.X.3. File notwrittenexception

Primary fail-ure

Failu re eliminationplan

Actualoutcomeandpass-fail criteria

Expected outcomeand pass-fail criteria

Restric-tions anduse caserequire-

mentFER.1.1. Thesafe C instruc-tion gets_stake a stringlength size pa-rameter. If in-put exceeds,the programstops.

FER.1.1.a.Inputstrings are longand rarely over-loaded.

FER.1.1.b. But a pro-fessional programshould not allowruntime crashes.

FER.1.1.c. Catch thefailure before theprogram isstopped and trun-cate the string atmax size

FER.1.1.d. Reverify

VR.1.1.Fail, At equal stringlength (C.2. and C.5.) orat one character more(C.3. and C.4.), thedebugger gave Asser-tion failed, seeFigure 12-34 below.

XP.1.Pass, if oversized per-son data and phonenumbers get truncatedat their max length andif the program contin-ues to execute nor-mally and if these datakeep after terminationand restart.

A.RR.5.4.MAX_PERS_LEN = 128

A.RR.5.5.MAX_NUMB_LEN =32

FER.1.2. A sim-ple logic failurewhen calculat-ing number ofintact contacts

FER.1.2.a.Find thefailure by thedebugger

FER.1.2.b. Correctthe failure

FER.1.2.c. Reverify

VR.2.1.Fail, For all cases C.a. toC.r. last contact was notread. For example, ifunexpected file endoccur within first con-tact, then the numberof contacts are dis-played as -1.

XP.1.Pass, if a warning mes-sage is displayed andthereafter if a welcomemessage is displayed,and if all intact con-tacts are read.

A.RB.6.S.1.X.4.Found fileunexpectedend excep-tion case

FER.1.3. A sim-ple logic failurewhen compar-ing with num-ber of last con-tact

FER.1.3.a.Find thefailure by thedebugger

FER.1.3.b. Correctthe failure

FER.1.3.c. Reverify

VR.2.2.Fail, The last contact isdeleted even if a contactnumber one too high isused.

XP.1.Pass, if the programdisplay an error mes-sage that the used con-tact number is out ofexisting range.

A.RB.6.S.4.X.3. Deletecontact notexistingexceptioncase

FER.1.4. Thefile is orderedto close, de-spite it not cre-ated

FER.1.4.a.Changethe file closinginstruction to afterit first has beenopened.

FER.1.4.b. Reverify

VR.2.3.Fail Displayed failuremessage is correct, butdespite the phone-bookprogram terminates

XP.1.Pass, if the programdisplay an error mes-sage that the phone-book to be saved cannot be created.

A.RB.6.S.5.X.2. File notcreatedexceptioncase

FER.1.5. Whenwriting to thefile, the firstlines are buff-ered and im-possibility towrite not imme-diately detect-ed.

FER.1.5.a.Flush thebuffer after thefirst line is written,then the impossi-bility to write isdiscovered.

FER.1.5.b. Reverify

VR.2.4.Fail, Despite not any-thing is saved, this mes-sage is not displayed

XP.1.Pass, if the programdisplay an error mes-sage that not anythingare saved.

A.RB.6.S.5.X.3. File notwrittenexception

Manual table of content Requirement / designMA.1. Starting up the program, including excep-tion handling

A.RB.6.S.1. Initiate phone-book scenario

MA.2. How to append a contact to the phone-book, including exception handling

A.RB.6.S.2. Append contact to phone-book sce-nario

MA.3. How to list all contacts, including excep-tion handling

A.RB.6.S.3. List phone-book contacts scenario

MA.4. How to delete a contact, including excep-tion handling

A.RB.6.S.4. Delete phone-book contact scenario

MA.5. Terminating the program, including ex-ception handling

A.RB.6.S.5. Terminate phone-book scenario

MA.6. Implemented phone-book size limitationsand proposed way of extension

A.RR.5.2. MAX_CONTACTS = 128A.RR.5.3. MAX_NUMB_PERS = 16

MA.7. Implemented string length limitations A.RR.5.4. MAX_PERS_LEN = 128A.RR.5.4. MAX_PERS_LEN = 128

MA.8. Architecture rationals and proposed wayof extension

A.Phone-book logical architecture (Figure 9-63 onpage 412)

MA.9. Object oriented rationals and proposedway of extension

A.Phone-book updated logical architecture(Figure 10-55 on page 534)

Manual table of content Requirement / designMA.1. Starting up the program, including excep-tion handling

A.RB.6.S.1. Initiate phone-book scenario

MA.2. How to append a contact to the phone-book, including exception handling

A.RB.6.S.2. Append contact to phone-book sce-nario

MA.3. How to list all contacts, including excep-tion handling

A.RB.6.S.3. List phone-book contacts scenario

MA.4. How to delete a contact, including excep-tion handling

A.RB.6.S.4. Delete phone-book contact scenario

MA.5. Terminating the program, including ex-ception handling

A.RB.6.S.5. Terminate phone-book scenario

MA.6. Implemented phone-book size limitationsand proposed way of extension

A.RR.5.2. MAX_CONTACTS = 128A.RR.5.3. MAX_NUMB_PERS = 16

MA.7. Implemented string length limitations A.RR.5.4. MAX_PERS_LEN = 128A.RR.5.4. MAX_PERS_LEN = 128

MA.8. Architecture rationals and proposed wayof extension

A.Phone-book logical architecture (Figure 9-63 onpage 412)

MA.9. Object oriented rationals and proposedway of extension

A.Phone-book updated logical architecture(Figure 10-55 on page 534)

Page 101: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 101

Pt.n.Va:2. Develop test cases, also for fixtures and debugger, by using usage profile modelling

Pt.n.Va:2. Develop test cases, also for fixtures and debugger, by using usage profile modelling

• Activity Pt.n.Va. extended to schedule Pt.n.Va:2.

• Develop black-box usage profiles

• Generate stimuli from usage profile

• Add expected response and pass/fail criteria

• Activity Pt.n.Va. extended to schedule Pt.n.Va:2.

• Develop black-box usage profiles

• Generate stimuli from usage profile

• Add expected response and pass/fail criteria

Pt.n.Va:2.Develop test cases, also for fixtures and de-

bugger, by usage profile modelling

Pt.n

.Va:

2.a.

Dev

elop

blac

k-bo

xus

agep

rofil

e

Pt.n

.Va:

2.c.

Acq

uire

usag

epr

o-fil

estim

ulig

ener

a-to

r

Pt.n

.Va:

2.d.

Usa

gesti

mul

ige

nera

tor

Pt.n

.Va:

2.e.

Man

ually

orau

to-

mat

ical

lypr

ovid

eus

-ag

epr

ofile

test

case

stim

uli

Pt.n.Vb.Test case

Pt.n.Vbb:1.Machinereadable

black-boxtest case

Pt.n

.Va:

2.g:

1.A

ddhu

man

read

-ab

leex

pect

edre

-sp

onse

and

pass

-fa

ilcr

iteri

a

Pt.n

.Va:

2.f:1

.H

uman

read

a-bl

ete

stca

sest

imul

i

Pt.n

.Va:

2.g:

2.A

ddm

achi

nere

adab

leex

pect

edre

spon

sean

dpa

ss-

fail

crite

ria

Pt.n

.Va:

2.f:2

.M

achi

nere

ada-

blet

estc

ase

stim

uli

Pt.n

.Va:

2.b.

Blac

k-bo

xus

agep

rofil

e Pt.n.Vbb:3.Human

readableblack-boxtest case

Pt.n

.Rbb

.Be

havi

ourr

e-qu

irem

ents

Page 102: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 102

EXAMPLE calc_logic:Develop black-box usage profileEXAMPLE calc_logic:Develop black-box usage profile

• Begin with use case scenario and transform to state machine

• Assign probability value to all state transitions, that reflect how a user operate a calculator

• Three user profiles assumed• Basic user• Advanced user• Stressed user

• Begin with use case scenario and transform to state machine

• Assign probability value to all state transitions, that reflect how a user operate a calculator

• Three user profiles assumed• Basic user• Advanced user• Stressed user

RB.WS.30. Wait fortrail operan d 1st

RB.WS.40. Wait forfurther digit or con-

RB.WS.20. Wait forfurther digit or duo-

RB.WS.10. Wait forlead operand 1st digit

S.1.

Stim

(0-9

)

S.2.

Stim

(+,-

,*or

/)

S.2.

Stim

(+,-

,*or

/)

S.1.

Stim

(0-9

)

S.1.

Stim

(0-9

)

S.3.

Stim

(=)

S.2.

Stim

(+,-

,*or

/)

S.1.

Stim

(0-9

)

Use casewith input

Calc_logic usage profiles,estimations in percent

Nextstate

Basicusageprofile

Advancedusageprofile

Stressedusageprofile

RB.WS.10. Wait for lead operand 1st digitS.1. Stim (0 -9)

10 % perdigit

8 % perdigit

2 % perdigi t

RB.WS.20.

S.2. Stim ( +,-, * or /)

5 % peroperator

10 % peroperator

RB.WS.30.

S.3. Stim (=) 40 % ?.Sum 100 % 100 % 100 %

RB.WS.20. Wait for further digit or duo-operator

S.1. Stim (0 -9)

5 % perdigit

8 % perdigit

2 % perdigi t

RB.WS.20.

S.2. Press(+,-,*,/)

30 %10 %5 %5 %

5 %5 %5 %5 %

20 %20 %20 %

RB.WS.30.

S.3. Stim (=) 20 % ?.Sum 100 % 100 % 100 %

RB.WS.30. Wait for trail operand 1st digitS.1. Stim (0 -9)

10 % perdigit

10 % perdigit

4 % perdigi t

RB.WS.40.

S.2. Stim ( +,-, * or /)

10 % peroperator ?.

S.3. Stim (=) 20 % ?.Sum 100 % 100 % 100 %

RB.WS.40. Wait for further digi t or con-clusion operator

S.1. Stim (0 -9)

5 % perdigit

7 % perdigit

2 % perdigi t

RB.WS.40.

S.3. Stim (=)30 % 10 % 40 %

RB.WS.10.

S.2. Press(+-, * or /) 20 % 8 %

4 % peroperator

22 %6 % peroperator

RB.WS.30.

Sum 100 % 100 % 100 %

A.calc_logicfor reuse

RB.WS.30. Wait fortrail operan d 1st

RB.WS.40. Wait forfurther digit or con-

RB.WS.20. Wait forfurther digit or duo-

RB.WS.10. Wait forlead operand 1st digit

S.1.

Stim

(0-9

)

S.2.

Stim

(+,-

,*or

/)

S.2.

Stim

(+,-

,*or

/)

S.1.

Stim

(0-9

)

S.1.

Stim

(0-9

)

S.3.

Stim

(=)

S.2.

Stim

(+,-

,*or

/)

S.1.

Stim

(0-9

)

Use casewith input

Calc_logic usage profiles,estimations in percent

Nextstate

Basicusageprofile

Advancedusageprofile

Stressedusageprofile

RB.WS.10. Wait for lead operand 1st digitS.1. Stim (0 -9)

10 % perdigit

8 % perdigit

2 % perdigi t

RB.WS.20.

S.2. Stim ( +,-, * or /)

5 % peroperator

10 % peroperator

RB.WS.30.

S.3. Stim (=) 40 % ?.Sum 100 % 100 % 100 %

RB.WS.20. Wait for further digit or duo-operator

S.1. Stim (0 -9)

5 % perdigit

8 % perdigit

2 % perdigi t

RB.WS.20.

S.2. Press(+,-,*,/)

30 %10 %5 %5 %

5 %5 %5 %5 %

20 %20 %20 %

RB.WS.30.

S.3. Stim (=) 20 % ?.Sum 100 % 100 % 100 %

RB.WS.30. Wait for trail operand 1st digitS.1. Stim (0 -9)

10 % perdigit

10 % perdigit

4 % perdigi t

RB.WS.40.

S.2. Stim ( +,-, * or /)

10 % peroperator ?.

S.3. Stim (=) 20 % ?.Sum 100 % 100 % 100 %

RB.WS.40. Wait for further digi t or con-clusion operator

S.1. Stim (0 -9)

5 % perdigit

7 % perdigit

2 % perdigi t

RB.WS.40.

S.3. Stim (=)30 % 10 % 40 %

RB.WS.10.

S.2. Press(+-, * or /) 20 % 8 %

4 % peroperator

22 %6 % peroperator

RB.WS.30.

Sum 100 % 100 % 100 %

A.calc_logicfor reuse

Page 103: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 103

EXAMPLE calc_logic: Generate usage profile machine readable stimuli (comma separated)EXAMPLE calc_logic: Generate usage profile machine readable stimuli (comma separated)

• Basic usage• Mostly addition and subtraction

• Advanced usage• Also multiplication and division

• Stressed usage • Strangely few numbers

• Basic usage• Mostly addition and subtraction

• Advanced usage• Also multiplication and division

• Stressed usage • Strangely few numbers

5, 7, +, 6, /, 9, 6, 6, 1, 6, +, 8, 0, -, 3, 3, 6, 7, 3, 8, 0, 9, 9, =, /, 0, 8, 9, 9,9, +, 9, /, 5, 3, 0, 6, 7, 8, 6, +, 5, 8, 0, 3, 6, 2, +, 4, 4, 7, +, 4, +, 8, 0, 5, 4,2, =, 8, 3, -, 6, 5, 5, =, -, 9, 8, 4, *, 7, 4, *, 3, =, +, 5, 1, 5, 4, 8, 8, 3, 5, 6,9, 2, 2, 7, 3, 1, 3, *, 7, =, 1, +, 2, 4, 4, 1, 0, 7, 4, 9, -, 5, 6, 1, 9, 2, -, 0, 8,-, 8, 4, -, 9, 8, 4, 3, +, 1, 1, 3, -, 4, +, 4, 1, 2, 2, +, 4, 7, 5, 0, 0, 7, 2, *, 3,4, 2, +, 7, 2, 3, 9, 1, 1, +, 1, 2, 6, 8, 0, 8, +, 9, 0, 0, 2, 6, 8, 2, 4, 0, -, 2, =,+, 1, +, 3, 0, 6, 4, 2, 0, 9, 3, 3, 8, 1, 7, 8, 6, 5, *, 1, 9, 8, 3, *, 1, 6, 2, 8, 1,=, 3, 6, +, 5, 7, 6, 6, *, 2, 3, 4, +, 0, 4, 6, 0, 6, 5, 3, /, 2, 4, 3, 4, 3, +, 2, 0,+, 6, =, 0, 4, 2, 8, 8, 5, 2, 2, -, 4, -, 8, 7, 9, =, 9, 4, 4, 2, +, 6, 6, 1, 4, 6, 1,9, =, 4, *, 1, =, 2, 3, +, 9, 5, +, 6, =, 4, 0, 1, 9, 0, 6, 1, -, 5, 6, 3, 7, *, 1, 7,4, =, 3, 4, 4, 3, 7, +, 9, 7, 8, 5, 5, +, 3, 8, 2, 3, 7, 7, =, 3, 6, 7, -, 9, 2, 7, 8,=, 4, *, 6, 8, 4, 4, 5, 6, 9, 9, *, 1, 6, 3, 8, =, 7, 4, 6, 5, 9, 9, 1, 0, 2, 9, 5, 0,9, 6, 0, 2, 0, 3, 8, 7, *, 4, 5, 0, 7, *, 3, 0, 3, =, 6, 2, 8, -, 1, 3, 3, +, 1, 5, 5,7, 0, 9, 5, 3, 3, 4, 9, 0, *, 6, 8, 7, =

2, -, =, -, *, -, *, 7, =, 8, =, *, *, +, 7, =, 0, =, /, =, =, =, =, =, 8, -, +, 1, +,8, =, 4, 2, -, *, /, /, +, 7, =, *, =, =, +, *, =, =, 4, *, =, 9, =, =, =, *, 0, 0, /,=, =, 2, -, =, =, =, =, =, =, /, /, -, =, =, /, +, =, =, =, *, =, +, =, =, /, =, 5, *,*, =, =, =, -, =, 8, =, 2, *, 5, =, /, *, =, 4, *, =, 0, /, =, =, +, -, +, =, 5, /, 0,+, 1, =, /, 8, *, -, +, 7, 2, 7, 6, =, =, =, 2, -, 6, =, =, +, *, +, =, =, =, *, =, =,*, -, 5, -, 6, =, -, -, 4, *, 0, +, -, *, +, =, 0, /, =, -, /, *, 1, -, *, 1, =, =, =,/, +, =, 5, -, 1, +, 5, +, 8, =, =, =, 1, 5, -, =, =, =, /, =, 2, 4, /, =, =, 2, -, +,*, 3, =, =, =, =, /, =, =, /, /, *, -, =, *, /, =, 6, -, 3, =, *, =, 7, *, 1, =, +, 5,=, 1, -, *, *, 1, /, -, +, +, =, =, /, *, /, 4, =, =, /, =, 0, =, =, =, =, *, -, 0, 4,8, =, 5, *, /, 6, +, *, 4, 3, =, =, =, =, =, +, /, =, /, =, +, =, =, =, 0, -, *, 7, 8,7, 7, /, *, -, 3, *, 4, +, 8, /, =, 3, /, =, /, 8, +, =, /, 6, +, -, =, *, -, -, -, 2,=, -, -, =, =, =, =, =, =, 3, 0, *, +, -, *, 8, =, -, =, =, =, =, /, +, *, =, 2, *, *,/, 9, /, =, =, =, 7, =, *, +, =, -, 3, -, *, =, =, +, /, +, 5, =, *, 6, =, =, 0, 6, -,=, -, 5, =, =, -, =, +, -, 6, /, 9, =, =, +, =, 6, *, *, 6, =, -, =

8, 7, +, 4, =, 5, +, 5, 9, 7, +, 2, 8, 7, =, 6, +, 5, =, 3, +, 8, +, 8, =, 7, /, 2, 0,8, =, 9, 3, -, 2, +, 1, 0, 7, 3, 2, 6, 4, 8, =, 8, 2, +, 8, 9, 4, =, 6, -, 5, +, 7, =,0, +, 3, =, 9, 2, 1, 0, 0, 8, +, 4, =, 6, 6, *, 7, =, 5, +, 9, 7, 8, 3, 8, 6, 7, 9, 9,9, 5, 4, 2, =, 2, /, 6, =, 4, 2, 4, 6, 3, 0, +, 7, 5, 2, 4, =, 7, 2, 7, 8, +, 0, +, 1,+, 4, =, 9, 9, 4, 4, -, 4, 5, +, 1, 5, 7, 2, 9, =, 2, 7, 1, 5, 4, *, 7, =, 1, 1, +, 2,=, 3, *, 1, 7, 0, =, 3, 0, +, 8, 4, 1, 6, 3, =, 2, -, 0, 8, =, 2, +, 1, 4, =, 4, 9, 7,1, 6, +, 2, 8, 6, =, 7, 8, +, 5, =, 4, 8, +, 7, +, 7, 9, 4, =, 3, 4, 9, 7, +, 0, +, 6,=, 8, +, 3, =, 1, /, 6, +, 9, 8, +, 3, 5, =, 2, /, 6, 8, =, 2, +, 6, =, 9, -, 1, 9, =,3, +, 8, 5, 0, =, 4, 5, 1, /, 5, 7, 6, 9, 9, +, 2, 0, =, 8, +, 2, 8, =, 0, /, 2, =, 6,+, 4, +, 0, =, 0, 1, 6, +, 3, +, 6, 6, 7, +, 8, 7, 0, 1, =, 8, -, 1, 0, =, 4, 0, -, 3,+, 5, 2, 9, 8, +, 5, =, 8, +, 9, =, 6, 9, 4, 5, 6, 6, 1, +, 5, 5, =, 3, +, 6, 2, 5, +,8, +, 4, 2, 4, =, 7, +, 6, +, 0, =, 1, 3, +, 7, 7, 8, 4, =, 5, +, 7, 5, =, 2, 0, 3, +,3, =, 5, 4, *, 6, 6, =, 1, 2, +, 9, 6, 1, 3, 5, 8, 7, =, 0, 3, +, 1, 2, 5, 7, 2, 0, =,3, /, 5, +, 1, 6, =, 2, 2, +, 8, +, 8, +, 6, 0, 5, 7, 8, +, 3, 4, =

Page 104: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 104

EXAMPLE calc_logic: Create test case by adding expected responses and pass/failure criteriaEXAMPLE calc_logic: Create test case by adding expected responses and pass/failure criteria

• Generated expected responses and pass/failure criteria

• In this example, after a number no response is expected

• A semicolon indicates an expectation of response

• Since division easily result in inexact quotients, also a minimum accuracy is specified for passing

• Generated expected responses and pass/failure criteria

• In this example, after a number no response is expected

• A semicolon indicates an expectation of response

• Since division easily result in inexact quotients, also a minimum accuracy is specified for passing

87+4=; 91 05+597+; 602 0287=; 889 06+5=; 11 03+8+; 11 08=; 19 07/208=; 0.033653846153846153846153846153846 1e-1693-2+; 91 010732648=; 10732739 0

Page 105: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 105

EXAMPLE calc_logic:Apply automatic test case executor to wrap itEXAMPLE calc_logic:Apply automatic test case executor to wrap it

• The executor read from the from the test case and feed program prototype

• The executor listen for responses from the program prototype

• Received responses are compared with the expected response

• The difference must be lower than specified allowed accuracy

• Observe that the test case executor must calculate with better accuracy than is demanded from the product prototype

• The executor read from the from the test case and feed program prototype

• The executor listen for responses from the program prototype

• Received responses are compared with the expected response

• The difference must be lower than specified allowed accuracy

• Observe that the test case executor must calculate with better accuracy than is demanded from the product prototype

bETest case

cEActual response

and pass/failconclusion

A.E.Program pro-

totype to verify

*Line handlerRead line

Interpret line

Feed stimulusReceive any response(s)

°If response expectedCalculate responses differ-

ence and relative errorJudge pass or fail

Document outcome

A. Test case executor

bETest case

cEActual response

and pass/failconclusion

A.E.Program pro-

totype to verify

*Line handlerRead line

Interpret line

Feed stimulusReceive any response(s)

°If response expectedCalculate responses differ-

ence and relative errorJudge pass or fail

Document outcome

A. Test case executor

Page 106: Technical value chain Introduction by Christer Sandahl · program (linked varia-bles and code Object instance description Class declara-tion Tread defined Prototype with con-taining

Page 106

EXAMPLE calc_logic:Document outcome from the test case executorEXAMPLE calc_logic:Document outcome from the test case executor

• Example of automatic verification report

• When an failure has been detected, it may be difficult to trace to when it happened

• Run the executor and product prototype in a debugger to set halt conditions on failures

• Example of automatic verification report

• When an failure has been detected, it may be difficult to trace to when it happened

• Run the executor and product prototype in a debugger to set halt conditions on failures

::

178 Stimulus =; Response 10852951649; Expected 10852951649; Rel. error 0.0; Max allowed 0; PASS

179 Stimulus +180 Stimulus 1; Response 1181 Stimulus +; Response 10852951650; Expected 10852951650;

Rel. error 0.0; Max allowed 0; PASS182 Stimulus 3; Response 3183 Stimulus 0; Response 30184 Stimulus 6; Response 306185 Stimulus 4; Response 3064186 Stimulus 2; Response 30642187 Stimulus 0; Response 306420188 Stimulus 9; Response 3064209189 Stimulus 3; Response 30642093190 Stimulus 3; Response 306420933191 Stimulus 8; Response 3064209338192 Stimulus 1; Response 30642093381193 Stimulus 7; Response 306420933817194 Stimulus 8; Response 3064209338178195 Stimulus 6; Response 30642093381786196 Stimulus 5; Response 306420933817865197 Stimulus *; Response 306431786769515; Expected 306431786769515;

Rel. error 0.0; Max allowed 0; PASS198 Stimulus 1; Response 1199 Stimulus 9; Response 19200 Stimulus 8; Response 198201 Stimulus 3; Response 1983202 Stimulus *; Response 6.076542331639483e+017; Expected 607654233163948245;

Rel. error 0.00000000000000009; Max allowed 0; FAIL203 Stimulus 1; Response 1204 Stimulus 6; Response 16205 Stimulus 2; Response 162206 Stimulus 8; Response 1628207 Stimulus 1; Response 16281208 Stimulus =; Response 9.893218570142241e+021; Expected 9893218570142241376845;

Rel. error 0.00000000000000003; Max allowed 0; FAIL::