gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!!...

51
Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl für Softwaretechnologie 20 Design Methods - An Overview Prof. Dr. U. Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik Gruppe Softwaretechnologie http://st.inf.tu-dresden.de /teaching/swt2 Version 12-1.1, 15.12.12 1.From Requirements to Design 2.What is a Design Method? 3.Overview of Design Methods 1.Functional Development 2.Action-Based Development 3.Component-Based Development 4.Data-Oriented Development 5.Object-oriented Development 6.Transformative Development 7.Generative Development 8.Model-Driven Software Development 9.Formal Methods 10.Aspect-oriented Development 4.Other Architectural Styles 5.Design Heuristics and Best Practices Obligatory Readings Pfleeger Chapter 5 Ghezzi Chapter 3 TU Dresden, Prof. U. Aßmann Development 2

Transcript of gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!!...

Page 1: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Faku

ltät I

nfor

mat

ik, I

nstit

ut fü

r Sof

twar

e- u

nd M

ultim

edia

tech

nik,

Leh

rstu

hl fü

r Sof

twar

etec

hnol

ogie

20

Des

ign

Met

hod

s -

An

Ove

rvie

w

Ø Pr

of.

Dr.

U.

Aßm

ann

Ø Te

chni

sche

Uni

vers

ität

Dre

sden

Ø In

stitu

t fü

r So

ftw

are-

und

Mul

timed

iate

chni

k Ø Gr

uppe

Sof

twar

etec

hnol

ogie

Ø ht

tp:/

/st.

inf.tu

-dre

sden

.de/

teac

hing

/sw

t2

Ø Ve

rsio

n 12

-1.1

, 15

.12.

12

1. F

rom

Req

uir

emen

ts t

o D

esig

n

2. W

hat

is a

Des

ign

Met

hod

? 3

. Ove

rvie

w o

f D

esig

n M

eth

ods

1. F

un

ctio

nal

Dev

elop

men

t 2

. Act

ion

-Bas

ed D

evel

opm

ent

3. C

omp

onen

t-B

ased

Dev

elop

men

t 4

. Dat

a-O

rien

ted

Dev

elop

men

t 5

. Ob

ject

-ori

ente

d D

evel

opm

ent

6. T

ran

sfor

mat

ive

Dev

elop

men

t 7

. Gen

erat

ive

Dev

elop

men

t 8

. Mod

el-D

rive

n S

oftw

are

Dev

elop

men

t 9

. For

mal

Met

hod

s 1

0. A

spec

t-or

ien

ted

Dev

elop

men

t 4

. Oth

er A

rch

itec

tura

l Sty

les

5. D

esig

n H

euri

stic

s an

d B

est

Pra

ctic

es

Obl

igat

ory

Rea

ding

s

Ø P

fleeg

er C

hapt

er 5

Ø G

hezz

i Cha

pter

3

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

2

Page 2: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Sec

onda

ry L

itera

ture

Ø [

Thay

er]

Ric

hard

Tha

yer.

Sof

twar

e En

gine

erin

g. A

cur

ricu

lum

boo

k.

IEEE

Pre

ss

Ø [

Bud

gen]

Dav

id B

udge

n. S

oftw

are

Des

ign:

An

Intr

oduc

tion.

In

[Tha

yer]

Ø [

Thay

er&

McG

ettr

ick]

Ric

hard

Tha

yer,

And

rew

McG

ettr

ick.

Sof

twar

e En

gine

erin

g -

A E

urop

ean

Pers

pect

ive.

IEE

E Pr

ess

Ø [

Parn

as]

Dav

id P

arna

s. O

n th

e Crite

ria

To B

e U

sed

in D

ecom

posi

ng

Sys

tem

s in

to M

odul

es.

Com

mun

icat

ions

of th

e ACM

Dec

. 19

72.

The

clas

sic

artic

le o

n m

odul

arity

Ø [

Bro

oks]

Fre

derick

P.

Bro

oks

jr.

No

Silv

er B

ulle

t. E

ssen

ce a

nd

Acc

iden

ts o

f Sof

twar

e En

gine

erin

g. I

n [T

haye

r].

Won

derf

ul a

rtic

le

on w

hat

soft

war

e en

gine

erin

g is

all

abou

t Ø H

eise

Dev

elop

er P

odca

st h

ttp:

//w

ww

.hei

se.d

e/de

velo

per/

podc

ast/

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

3

Lite

ratu

re

Ø [

Bud

gen]

Dav

id B

udge

n. S

oftw

are

Des

ign.

Add

ison

-Wes

ley.

Ex

pand

s on

the

Bud

gen

pape

r. P

rett

y sy

stem

atic

. Ø [

Sha

w/G

arla

n] S

oftw

are

Arc

hite

ctur

e. 1

996.

Pre

ntic

e-H

all.

Gre

at

book

for

arc

hite

cts.

Ø [

Sha

w/C

lem

ents

] M

. Sha

w,

P. C

lem

ents

. A F

ield

Gui

de t

o Box

olog

y.

Ø [

Endr

es/R

omba

ch]

A.

Endr

es,

D.

Rom

bach

. A H

andb

ook

of s

oftw

are

and

syst

ems

engi

neer

ing.

Em

pirica

l obs

erva

tions

, la

ws

and

theo

ries

. Add

ison

-Wes

ley.

Ver

y go

od c

olle

ctio

n of

sof

twar

e la

ws.

N

ice!

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

4

Page 3: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Goa

ls

Ø G

et a

n ov

ervi

ew o

n th

e av

aila

ble

met

hods

to

com

e fr

om a

re

quirem

ents

spe

cific

atio

n to

the

des

ign

Ø U

nder

stan

d th

at s

oftw

are

engi

neer

s sh

ould

n't

get

stuc

k by

a

spec

ific

desi

gn m

etho

d

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

5

Sce

nario

Ø Y

ou a

re a

pro

ject

man

ager

in M

iller

Car

Rad

ios,

Inc

Ø Y

our

boss

com

es in

to y

our

offic

e an

d sa

ys:

“Our

com

petit

or S

mith

Car

Rad

ios

has

a ne

w s

atel

lite

radi

o. T

heir

sale

s ar

e gr

owin

g, a

nd o

ur c

usto

mer

s de

man

d it,

too

. H

ow q

uick

ly

can

you

deliv

er m

e a

sate

llite

rad

io?”

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

6

Page 4: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Sce

nario

Ø Y

ou a

re a

pro

ject

man

ager

in M

iller

Car

Rad

ios,

Inc

Ø Y

our

boss

com

es in

to y

our

offic

e an

d sa

ys:

Ø “O

ur c

ompe

titor

Sm

ith C

ar R

adio

s ha

s a

new

sa

telli

te r

adio

. Th

eir

sale

s ar

e gr

owin

g, a

nd o

ur

cust

omer

s de

man

d it,

too

. H

ow q

uick

ly c

an y

ou

deliv

er m

e a

sate

llite

rad

io?”

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

cost

cal

cula

tion tim

e pl

anni

ng

requ

irem

ents

an

alys

is

syst

em d

esig

n

proj

ect m

anag

emen

t so

ftwar

e pr

oces

s

7

The

Idea

l Des

ign

Proc

ess

Ø "

Des

ign

prod

uces

a w

orka

ble

solu

tion

to a

giv

en

prob

lem

" [B

udge

n]

Ø "

Des

ign

is t

he d

escr

iptio

n of

a s

olut

ion"

[Pf

leeg

er]

Ø "

The

Des

ign

Proc

ess

is t

he c

reat

ive

proc

ess

of t

rans

form

ing

the

prob

lem

into

a s

olut

ion"

[Pf

leeg

er]

Ø G

oal:

Thi

s le

ctur

e pr

esen

ts s

ome

syst

emat

ic w

ays

how

to

com

e to

a

wor

kabl

e so

lutio

n fo

r a

give

n pr

oble

m

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

8

Page 5: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

20.1

Fro

m R

equi

rem

ents

to

Des

ign

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

Syst

em in

tera

ctio

n an

alys

is

(sys

tem

con

text

ana

lysi

s)

Arc

hite

ctur

al S

tyle

A

naly

sis

Func

tiona

l Des

ign

Requ

irem

ent

Ana

lysi

s

OO

Des

ign

Tran

sfor

mat

ive

Des

ign

Syst

em in

terf

aces

(Con

text

mod

el)

Arc

hite

ctur

al D

esig

n

Arc

hite

ctur

e (S

AS)

Func

tiona

l Des

ign

OO

Des

ign

Tran

sfor

mat

ive

Des

ign

Det

aile

d D

esig

n

SD

DS

...

...

Top-

leve

l arc

hite

ctur

e

9

Ø Co

nten

ts o

f th

e Sof

twar

e Req

uire

men

ts S

peci

ficat

ion

(SRS)

(rep

.)

Ø T

he S

oftw

are

Req

uire

men

t

Spe

cific

atio

n (S

RS)

cont

ains

a

list

of t

hing

s th

e sy

stem

has

to

fu

lfill

Ø E

xam

ple

[Ric

hard

Fai

rley

,

Sof

twar

e En

gine

erin

g]

Ø U

sual

ly,

spec

ifica

tion

lang

uage

s

are

the

sam

e or

sim

ilar

for

re

quirem

ents

an

d de

sign

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

Ø O

verv

iew

of Pr

oduc

t

Ø B

ackg

roun

d, E

nviron

men

t

Ø I

nter

face

s of

the

Sys

tem

(c

onte

xt m

odel

) Ø I

/O in

terf

aces

, da

ta for

mat

s (s

cree

ns,

prot

ocol

s, e

tc.)

, Com

man

ds

Ø O

verv

iew

of da

ta flo

w t

hrou

gh

syst

em,

Dat

a di

ctio

nary

Ø F

unct

iona

l req

uire

men

ts

Ø N

on-f

unct

iona

l req

uire

men

ts

Ø E

rror

han

dlin

g

Ø P

rior

itiza

tion

Ø P

ossi

ble

exte

nsio

ns

Ø A

ccep

tanc

e te

st c

rite

ria

Ø D

ocum

enta

tion

guid

elin

e

Ø L

itera

ture

Ø G

loss

ary

10

Page 6: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Con

tent

s of

the

Sof

twar

e Arc

hite

ctur

al D

esig

n Spe

cific

atio

n (S

AD

, SAS)

Ø C

once

ptua

l abs

trac

tion

leve

l Ø C

once

ptua

l ins

tead

of te

chni

cal

Ø C

oars

e gr

ain

inst

ead

of d

etai

led

Ø D

esig

n di

men

sion

s Ø S

truc

ture

(pa

rt-o

f re

latio

ns,

is-a

rel

atio

ns)

Ø F

unct

ion

(typ

es,

inte

rfac

es)

Ø B

ehav

ior

Ø S

yste

m c

ompo

nent

s an

d th

eir

inte

rfac

es

Ø C

ontr

act

spec

ifica

tions

of m

odul

es:

how

to

use

a m

odul

e?

Ø W

hat

shou

ld it

tak

e, w

hat

deliv

er (

pre-

and

pos

tcon

ditio

ns)

Ø C

ompo

nent

rel

atio

ns

Ø U

ses,

is-a

, pa

rt-o

f, b

ehav

es-l

ike

Ø C

onne

ctio

ns

Ø A

rchi

tect

ural

sty

les

(arc

hite

ctur

al p

atte

rns)

Ø C

oars

e gr

ain

patt

erns

of th

e ar

chite

ctur

e in

ter

ms

of c

ontr

ol flo

w a

nd d

ata

flow

Ø C

onst

rain

ts o

f m

odul

es,

rela

tions

, an

d co

nnec

tions

Ø D

esig

n pa

tter

ns

Ø M

icro

-str

uctu

res

in t

he d

esig

n m

odel

, m

ostly

on

the

colla

bora

tion

of 2

-5

clas

ses

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

11

Con

tent

s of

Det

aile

d D

esig

n D

ocum

ent

(SD

DS)

Ø S

DD

S =

Sof

twar

e D

etai

led

Des

ign

Spe

cific

atio

n

Ø F

ine-

grai

ned

desi

gn

Ø T

echn

ical

inst

ead

of c

once

ptua

l Ø S

ketc

h of

the

impl

emen

tatio

n w

ith p

seud

o co

de,

stat

echa

rts,

pet

ri n

ets,

or

othe

r de

sign

not

atio

ns

Ø B

ehav

iora

l mod

el

Ø T

ells

mor

e ab

out

the

HO

W,

with

out

givi

ng t

he im

plem

enta

tion

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

12

Page 7: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

20

.2 D

ESIG

N M

ETH

OD

S

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

13

A S

oftw

are

Des

ign

Met

hod

(aka

Dev

elop

men

t M

etho

d)

… h

as 3

com

pone

nts

[Bud

gen]

: 1. R

epre

sent

atio

n pa

rt (

nota

tion,

lang

uage

) Ø S

et o

f no

tatio

ns in

(in

form

al)

text

ual,

(sem

i-fo

rmal

) di

agra

mm

atic

, or

m

athe

mat

ic (

form

al)

form

2. P

roce

ss m

odel

(“V

orge

hens

mod

ell”

, “P

roze

ssm

odel

l”)

Ø D

esig

n st

rate

gy:

A b

asic

des

ign

ques

tion

(foc

us o

f re

finem

ent)

Ø R

estr

uctu

ring

met

hods

Ø C

onsi

sten

cy c

heck

ing

3. S

et o

f he

uris

tics

Ø G

ener

al r

ules

of th

umb

Ø P

roce

ss-s

peci

fic r

ules

Ø P

roce

ss p

atte

rns

Ø D

esig

n pa

tter

ns

Ø A

dapt

atio

n ru

les

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

14

Page 8: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

20.2

.1 D

esig

n Rep

rese

ntat

ions

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

15

Des

ign

Lang

uage

s

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

Pro

gram

min

g

Lang

uage

s

Spe

cific

atio

n

Lang

uage

s

Exe

cuta

ble

Spe

cific

atio

n

Lang

uage

s

Pap

er

Spe

cific

atio

n

Lang

uage

s

Text

D

iagr

ams

Mat

h

Par

seab

le n

atur

al

lang

uage

In

form

al

Nat

ural

lang

uage

P

seud

o-co

de

Flow

cha

rt D

ata-

flow

Dia

gram

E

ntity

-Rel

atio

nshi

p

Dia

gram

ER

U

ML

Stru

ctur

e D

iagr

am

Sta

tech

arts

W

orkf

low

lang

uage

s (B

PE

L, B

PM

N)..

.

Col

ored

Pet

ri ne

ts

Sta

te m

achi

nes

Vien

na D

evel

opm

ent

Lang

uage

VD

L/V

DM

Z B

ELA

N

SE

TL

Java

S

cala

C

#

Larc

h (w

ith p

rove

r)

CS

P

CC

S 16

Mod

elic

a M

etam

odel

ica

Mat

lab

Sim

ulin

k

Page 9: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

20

.2.2

DES

IGN

P

RO

CES

SES

Gen

eric

ste

ps

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

17

20.2

.3 D

esig

n Pr

oces

s

Ø A

des

ign

pro

cess

is a

str

uctu

red

algo

rith

m (

or w

orkf

low

) to

ac

hiev

e a

desi

gn m

odel

fro

m a

req

uire

men

t sp

ecifi

catio

n Ø A

seq

uenc

e of

ste

ps

Ø A

set

of m

ilest

ones

Ø T

he d

esig

n pr

oces

s st

arts

fro

m t

he s

yste

m’s

inte

rfac

es (

cont

ext

code

l) a

nd r

efin

es it

s in

tern

als

Ø E

very

des

ign

proc

ess

Ø C

onta

ins

seve

ral c

entr

al g

ener

ic s

teps

Ø U

ses

gene

ral d

esig

n st

rate

gies

Ø E

nds

up in

a s

peci

fic a

rchi

tect

ural

sty

le

Ø D

esig

n pr

oces

ses

belo

ng t

o so

ftw

are

deve

lopm

ent

met

hods

/pr

oces

ses

• To

geth

er w

ith r

equi

rem

ents

, te

stin

g et

c.

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

18

Page 10: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Rep

etiti

on:

Gen

eric

Ste

ps in

Des

ign

Proc

esse

s

Ever

y de

sign

pro

cess

con

tain

s so

me

gene

ric

step

s Ø E

labo

ratio

n Ø 

Wor

k ou

t a

cert

ain

aspe

ct o

f th

e de

sign

mod

el,

usin

g an

app

ropr

iate

des

ign

nota

tion

Ø R

efin

emen

t Ø 

Ref

ine

an e

xist

ing

spec

ifica

tion/

mod

el,

repl

acin

g ab

stra

ct p

arts

by

deta

ils,

e.g.

, ad

d pl

atfo

rm-s

peci

fic d

etai

ls

Ø 

Ret

ain

refin

emen

t co

nditi

ons

such

as

embe

ddin

g Ø A

bstr

actio

n is

the

opp

osite

of re

finem

ent

Ø C

heck

ing

Con

sist

ency

Ø C

heck

ing

busi

ness

rul

es a

nd c

onte

xt c

onst

rain

ts

Ø R

estr

uctu

re (

mor

e st

ruct

ure,

but

kee

p se

man

tics)

Ø S

plit

(dec

ompo

se,

intr

oduc

e hi

erar

chie

s, la

yers

, re

duci

bilit

y)

Ø C

oale

sce

(rea

rran

ge)

Ø S

ymm

etry

ope

ratio

ns (

sem

antic

s-pr

eser

ving

, re

stru

ctur

ing)

: Ø S

eman

tic r

efin

emen

t Ø R

efac

toring

Ø C

hang

e Rep

rese

ntat

ion

(Not

atio

n):

Ø S

impl

ifica

tion

(fac

toring

, tr

ansi

tive

redu

ctio

n, fac

adin

g)

Ø C

hang

e re

pres

enta

tion,

but

kee

p se

man

tics

Ø T

rans

form

a c

erta

in r

epre

sent

atio

n of

the

mod

el in

to a

noth

er o

ne

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

19

Dev

elop

men

t O

pera

tions

of D

esig

n M

etho

ds

Ø E

very

not

atio

n ha

s el

abor

atio

n, r

efin

emen

t, c

heck

ing,

and

st

ruct

urin

g op

erat

ions

Ø H

and

oper

atio

ns

Ø S

plit

(dec

ompo

se,

intr

oduc

e hi

erar

chie

s, la

yers

, re

duci

bilit

y Ø C

oale

sce

(rea

rran

ge)

Ø A

utom

atic

ope

ratio

ns

Ø G

raph

ana

lysi

s m

etho

ds,

such

as

cons

trai

nts

Ø G

raph

str

uctu

ring

met

hods

, e.

g.,

grap

h an

alys

is o

r tr

ansf

orm

atio

ns

Ø T

ext-

base

d sp

ecifi

catio

ns c

an b

e tr

ansf

orm

ed in

to A

SG

s an

d th

en s

truc

ture

d by

gra

ph s

truc

turing

met

hods

Ø S

ome

nota

tions

hav

e sp

ecifi

c au

tom

atic

met

hods

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

20

Page 11: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

20.2

.2.1

Arc

hite

ctur

al S

tyle

s as

Res

ults

of D

esig

n Pr

oces

ses

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

21

Den

ert's

Law

on

Arc

hite

ctur

al S

tyle

s

Ø E

rnst

Den

ert.

Sof

twar

e En

gine

erin

g. S

prin

ger,

199

1.

Ø C

onse

quen

ce o

f D

ener

t's la

w:

Ø i

f w

e ca

n sp

lit o

ff a

con

cern

in a

n ap

plic

atio

n do

mai

n, w

e ar

rive

at

a ne

w

stan

dard

arc

hite

ctur

e (a

rchi

tect

ural

sty

le)

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

Sep

arat

ion

of c

once

rns

lead

s to

sta

ndar

d ar

chit

ectu

res.

E

. Den

ert,

199

1

22

Page 12: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Arc

hite

ctur

al S

tyle

s

Ø A

n ar

chit

ectu

re s

tyle

em

ploy

s ce

rtai

n ty

pes

of c

once

pts

Ø C

erta

in t

ypes

of co

mpo

nent

s w

ith

Ø C

erta

in t

ypes

of co

nnec

tions

/con

nect

ors

Ø A

nd a

cer

tain

rel

atio

n be

twee

n co

ntro

l and

dat

a flo

w

Ø A

rchi

tect

ural

sty

les

enab

le u

s to

tal

k ab

out

the

coar

se-g

rain

st

ruct

ure

of a

sys

tem

Ø G

ood

for

docu

men

tatio

n an

d co

mpr

ehen

sion

Ø G

ood

for

mai

nten

ance

Ø A

rchi

tect

ural

Sty

les

vs D

esig

n Pa

tter

ns

Ø D

esig

n pa

tter

ns h

ave

been

cal

led

mic

roar

chite

ctur

es

Ø T

hey

gras

p a

rela

tions

hip

betw

een

seve

ral c

lass

es o

f an

app

licat

ion,

but

not

of

the

entir

e ar

chite

ctur

e or

sub

syst

em

Ø A

rchi

tect

ural

sty

les

are

coar

se-g

rain

des

ign

patt

erns

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

23

Wha

t Is

In

a Sty

le ?

Ø A

sty

le h

as 5

maj

or c

once

rns,

in w

hich

it c

an v

ary

[Sha

w/G

arla

n]

Ø S

tru

ctu

ral P

arts

: co

mpo

nent

s, in

terf

aces

(po

rts)

, co

nnec

tors

, cl

asse

s,

obje

cts,

mod

ules

Ø C

ontr

ol f

low

Ø T

opol

ogy

(in

whi

ch for

m c

oord

inat

ion

take

n pl

ace?

) Ø S

ynch

roni

satio

n (s

ynch

rono

us,

asyn

chro

nous

) Ø B

indi

ng t

ime

(Whe

n ar

e th

e co

mpo

nent

s or

gani

zed?

) Ø D

ata

flow

Ø T

opol

ogy

(How

doe

s th

e da

ta flo

w?)

Ø C

ontin

uity

(si

ngul

ar,

spor

adic

, co

ntin

uous

, st

rong

, w

eak)

Ø M

odus

(sh

ared

mem

ory,

mes

sage

s, .

.)

Ø I

nte

ract

ion

bet

wee

n co

ntro

l- a

nd d

ata

flow

Ø Is

omor

phic

sim

ilar

to a

dat

a st

ruct

ure

Ø D

irec

tion

(par

alle

l, an

tipar

alle

l)

Ø I

nva

rian

ts

Ø F

eatu

res

that

nev

er c

hang

e

Ø A

nal

ysis

fea

ture

s Ø H

ow c

an b

e ar

chite

ctur

e be

ana

lyze

d?

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

24

Page 13: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

The

Des

ign

Prob

lem

Ø H

ow d

o I

derive

at

a de

sign

for

the

sys

tem

?

Ø H

ow d

o I

derive

at

an a

rchi

tect

ural

sty

le for

the

sys

tem

? Ø H

ow d

o I

derive

a d

etai

led

desi

gn?

Ø M

ost

ofte

n, a

fter

rea

ding

the

req

uire

men

ts,

the

syst

em lo

oks

like

in m

ist

Ø D

evel

oper

s ha

ve a

bad

fee

ling

in t

heir s

tom

ach

Ø T

hey

feel

the

ir w

ay for

war

d Ø 

Impo

rtan

t is

: w

hich

que

stio

ns a

re a

sked

? Ø I

n de

sign

mee

tings

, th

e ba

sic

desi

gn q

uest

ions

are

pos

ed o

ver

and

over

aga

in,

until

a d

esig

n is

fou

nd

Ø S

elec

t a

desi

gn m

etho

d Ø P

ose

the

desi

gn m

etho

d's

basi

c qu

estio

n Ø P

erfo

rm t

he d

esig

n m

etho

d's

proc

ess

Ø Pe

rfor

m t

he d

esig

n m

etho

d's

step

s Ø I

f pr

oces

s ge

ts s

tuck

, ch

ange

des

ign

met

hod

and

try

anot

her

one

Ø H

owev

er,

be a

war

e, w

hich

des

ign

met

hod

and

proc

ess

you

use

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

25

Des

ign

Proc

esse

s ha

ve a

Foc

us o

f El

abor

atio

n an

d Ref

inem

ent

Ø A

cent

ral v

iew

poin

t w

ith a

set

of

conc

erns

, ac

cord

ing

to w

hich

the

sys

tem

is

elab

orat

ed

• Dec

ompo

sed

• Ref

ined

• c

ompo

sed

Ø An

ela

bora

tion

stra

tegy

Ø Th

e ce

ntra

l que

stio

n

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

26

Page 14: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

20.3

Ove

rvie

w o

f El

abor

atio

n Str

ateg

ies

Ø A

des

ign

met

hod

relie

s on

a e

lab

orat

ion

str

ateg

y, in

clud

ing

a ba

sic

ques

tion

the

deve

lope

r ha

s to

pos

e hi

mse

lf, o

r th

e te

am a

sks

itsel

f Ø A

diff

eren

t qu

estio

n gi

ves

a di

ffer

ent

desi

gn m

etho

d Ø M

etho

ds c

an b

e gr

oupe

d ac

cord

ing

to t

heir foc

us o

f de

com

posi

tion

and

the

desi

gn n

otat

ion

they

use

. Ø F

un

ctio

n-o

rien

ted:

func

tion

in foc

us

Ø A

ctio

n-o

rien

ted

, ev

ent-

acti

on-o

rien

ted

: Act

ion

in foc

us

Ø D

ata-

orie

nte

d:

A d

ata

stru

ctur

e is

in foc

us

Ø C

omp

onen

t-or

ien

ted

(st

ruct

ure

-ori

ente

d):

par

ts in

foc

us

Ø O

bje

ct-o

rien

ted:

obje

cts

(dat

a an

d co

rres

p. a

ctio

ns)

in foc

us

Ø T

ran

sfor

mat

ion

al:

basi

c ac

tion

is t

he t

rans

form

atio

n Ø G

ener

ativ

e: b

asic

act

ion

is a

spe

cial

for

m o

f t

rans

form

atio

n, t

he

gene

ratio

n. A

lso

usin

g pl

anni

ng

Ø F

orm

al m

eth

ods:

cor

rect

ref

inem

ent

and

form

al p

roof

s in

foc

us

Ø A

spec

t-or

ien

ted

met

hod

s: r

efin

emen

t ac

cord

ing

to v

iew

poin

ts a

nd

conc

erns

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

27

20.3

.1)

Func

tion-

Orien

ted

Des

ign

(Ope

ratio

n-or

ient

ed,

Mod

ular

Des

ign)

Ø D

esig

n w

ith fun

ctio

nal u

nits

whi

ch t

rans

form

inpu

ts t

o ou

tput

s Ø M

inim

al s

yste

m s

tate

Ø I

nfor

mat

ion

is t

ypic

ally

com

mun

icat

ed v

ia p

aram

eter

s or

sha

red

mem

ory

Ø N

o te

mpo

ral a

spec

t to

fun

ctio

ns

Ø F

unct

ions

/ope

ratio

ns a

re g

roup

ed t

o m

odul

es o

r co

mpo

nent

s Ø D

ivid

e: fin

ding

sub

func

tions

Ø C

onqu

er:

grou

ping

to

mod

ules

Ø E

xam

ples

Ø P

arna

s' c

hang

e-or

ient

ed d

esig

n (i

nfor

mat

ion-

hidi

ng b

ased

des

ign,

see

ST-

1)

Ø L

ayer

ed a

bstr

act

mac

hine

s (s

ee S

T-1)

Ø U

se:

whe

n th

e sy

stem

has

a lo

t of

diff

eren

t fu

nctio

ns

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

Wha

t ar

e th

e fu

ncti

ons

of t

he s

oftw

are

and

thei

r su

bfun

ctio

ns?

28

Page 15: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Ø "

Div

ide

and

Con

quer

” of

fun

ctio

n Ø D

ecom

pose

sys

tem

into

sm

alle

r an

d sm

alle

r pi

eces

• 

Idea

lly,

each

pie

ce c

an b

e so

lved

sep

arat

ely

• Id

eally

, ea

ch p

iece

can

be

mod

ified

inde

pend

ent

of o

ther

pie

ces

Ø R

ealit

y: e

ach

piec

e m

ust

com

mun

icat

e w

ith o

ther

pie

ces

• 

This

com

mun

icat

ion

impl

ies

a ce

rtai

n co

st

• At

som

e po

int

the

cost

is m

ore

than

the

ben

efit

prov

ided

by

the

indi

vidu

al

piec

es

• At

this

poi

nt,

the

deco

mpo

sitio

n pr

oces

s ca

n st

op

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

29

20.3

.2)

Act

ion-

Orien

ted

Des

ign

Ø A

ctio

n-or

ient

ed d

esig

n is

sim

ilar

to fun

ctio

n-or

ient

ed d

esig

n, b

ut

actio

ns r

equi

re s

tate

on

whi

ch t

hey

are

perf

orm

ed (

impe

rativ

e,

stat

e-or

ient

ed s

tyle

)

Ø D

ivid

e: fin

ding

sub

actio

ns

Ø C

onqu

er:

grou

ping

to

mod

ules

Ø E

xam

ples

: Ø P

etri N

ets

Ø U

se-c

ase-

base

d de

velo

pmen

t Ø D

ata-

flow

bas

ed d

evel

opm

ent

SA,

SAD

T

Ø U

se:

whe

n th

e sy

stem

map

s to

a s

tate

spa

ce,

in w

hich

act

ions

for

m

the

tran

sitio

ns

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

Wha

t ar

e th

e ac

tion

s th

e sy

stem

sho

uld

perf

orm

?

30

Page 16: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Str

uctu

ral D

ecom

posi

tion

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

A y

A y

x x

A

x y

A

x x

inpu

t ou

tput

tra

nsfo

rm

Co-

ordi

nate

31

Res

ult

1: C

all-

Bas

ed A

rchi

tect

ural

Sty

le

Ø C

ompo

nent

s de

note

pro

cedu

res

that

cal

l eac

h ot

her

Ø C

ontr

ol flo

w is

sym

met

ric

(cal

ls a

nd s

ymm

etric

retu

rns)

Ø D

ata-

flow

can

be

Ø p

aral

lel t

he c

all (

push

-bas

ed s

yste

m):

cal

ler

push

es d

ata

into

cal

lee

Ø a

ntip

aral

lel,

i.e.,

par

alle

l to

the

retu

rn (

pull-

base

d sy

stem

): c

alle

r dr

ags

out

data

fro

m c

alle

e Ø A

ka “

Clie

nt-S

erve

r” in

loos

ely

coup

led

or d

istr

ibut

ed s

yste

ms

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

Mod

ule

Mod

ule

Mod

ule

Syst

em

call

retu

rn

call

retu

rn

call

retu

rn

call

retu

rn

call

retu

rn

32

Page 17: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Res

ult

2: D

ata-

Flow

Bas

ed S

yste

ms

(Pip

e-an

d-Fi

lter,

Cha

nnel

s, S

trea

ms)

Ø I

f da

ta flo

ws

in s

trea

ms,

cal

l-ba

sed

syst

ems

are

exte

nded

to

stre

am-b

ased

sy

stem

s Ø C

ompo

nent

s: p

roce

sses

, co

nnec

tors

: st

ream

s Ø C

ontr

ol flo

w is

asy

nchr

onou

s, c

ontin

uous

Ø D

ata-

flow

gra

ph o

f co

nnec

tions

, st

atic

or

dyna

mic

bin

ding

Ø D

ata-

flow

can

be

para

llel t

o th

e co

ntro

l-flo

w (

push

-bas

ed s

yste

m)

or

antip

aral

lel (

pull-

base

d sy

stem

)

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

arch

itect

ural

glu

e co

de

Filte

r

Pipe

cat s

erve

r.log

| gr

ep "A

ddin

g st

uden

t"

33

Exam

ples

Dat

a-flo

w b

ased

sys

tem

s:

Ø I

mag

e pr

oces

sing

sys

tem

s Ø M

icro

scop

y, o

bjec

t re

cogn

ition

Ø D

igita

l sig

nal p

roce

ssin

g sy

stem

s Ø V

ideo

and

aud

io p

roce

ssin

g, e

.g.,

the

sat

ellit

e ra

dio

Ø C

onte

nt m

anag

emen

t sy

stem

s (C

MS)

Ø D

ata

is s

tore

d in

XM

L or

rel

atio

nal f

orm

at

Ø P

ipel

ines

pro

duce

dis

play

for

mat

Ø B

atch

-pro

cess

ing

syst

ems

Ø U

NIX

she

ll sc

ript

s pr

ovid

es u

ntyp

ed d

ata

flow

(te

xts)

Ø M

icro

soft

Pow

er S

hell

prov

ides

typ

ed d

ata-

flow

, ty

ped

in X

ML

Cal

l-ba

sed

syst

ems:

Ø O

bjec

t-or

ient

ed fra

mew

orks

Ø L

ayer

ed a

rchi

tect

ures

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

34

Page 18: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

20.

3.2.

2) E

vent

-Con

ditio

n-Act

ion-

Orien

ted

Des

ign

Ø E

vent

-con

ditio

n-ac

tion

rule

s (E

CA r

ules

) Ø O

n w

hich

eve

nt,

unde

r w

hich

con

ditio

n, fol

low

s w

hich

act

ion?

Ø D

ivid

e: fin

ding

rul

es for

con

text

s Ø C

onqu

er:

grou

ping

of ru

les

to r

ule

mod

ules

Ø E

xam

ple:

Ø B

usin

ess-

rule

-bas

ed d

esig

n (S

BVR)

Ø U

se:

whe

n th

e sy

stem

map

s to

a s

tate

spa

ce,

in w

hich

act

ions

for

m

the

tran

sitio

ns a

nd t

he a

ctio

ns a

re g

uard

ed b

y ev

ents

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

Wha

t ar

e th

e ev

ents

tha

t m

ay o

ccur

and

ho

w d

oes

my

soft

war

e re

act

on t

hem

?

35

Arc

h. S

tyle

: Ev

ent-

base

d Arc

hite

ctur

al S

tyle

(Im

plic

it In

voca

tion

Sty

le)

Ø C

ompo

nent

s: p

roce

sses

or

proc

edur

es

Ø C

onne

ctor

s: A

nony

mou

s co

mm

unic

atio

n by

eve

nts

Ø A

sync

hron

ous

com

mun

icat

ion

Ø D

ynam

ic t

opol

ogy:

Lis

tene

rs c

an d

ynam

ical

ly r

egis

ter

and

unre

gist

er

Ø L

iste

ners

are

impl

icitl

y in

voke

d by

eve

nts

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

On

Eve

nt

If C

ondi

tion

then

Act

ion

On

Eve

nt

If C

ondi

tion

then

Act

ion

On

Eve

nt

If C

ondi

tion

then

Act

ion

36

Page 19: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

SBVR E

xam

ple

(OM

G B

usin

ess

Rul

e La

ngua

ge)

curr

ent

cont

act

deta

ils

C

once

pt T

ype:

rol

e

D

efin

ition

: c

onta

ct d

etai

ls o

f re

ntal

tha

t ha

ve b

een

conf

irm

ed b

y re

nter

of r

enta

l

rent

al

D

efin

ition

: c

ontr

act

that

is w

ith r

ente

r an

d sp

ecifi

es u

se o

f a

car

of c

ar g

roup

and

is for

re

ntal

per

iod

and

is for

ren

tal m

ovem

ent

optio

nal e

xtra

D

efin

ition

: I

tem

tha

t m

ay b

e ad

ded

to a

ren

tal a

t ex

tra

char

ge if

the

ren

ter

so c

hoos

es

E

xam

ple:

One

-way

ren

tal,

fuel

pre

-pay

men

t, a

dditi

onal

insu

ranc

es,

fittin

gs (

child

sea

ts,

sate

llite

nav

igat

ion

syst

em,

ski r

ack)

S

ourc

e: C

RIS

G [

“opt

iona

l ext

ra”]

rent

al a

ctua

l ret

urn

date

/ tim

e

C

once

pt T

ype:

rol

e

D

efin

ition

: d

ate/

time

whe

n re

nted

car

of re

ntal

is r

etur

ned

to E

U-R

ent

rent

al r

eque

sts

car

mod

el

S

ynon

ymou

s Fo

rm:

car

mod

el is

req

uest

ed for

ren

tal

N

eces

sity

: E

ach

rent

al r

eque

sts

at m

ost

one

car

mod

el.

P

ossi

bilit

y: T

he c

ar m

odel

req

uest

ed for

a r

enta

l cha

nges

bef

ore

the

act

ual p

ick-

up d

ate/

time

of t

he r

enta

l.

N

eces

sity

: N

o ca

r m

odel

req

uest

ed for

a r

enta

l cha

nges

aft

er t

he

act

ual p

ick-

up d

ate/

time

of t

he r

enta

l

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

37

JBos

s Rul

es

<ru

le n

ame=

"Fre

e Fi

sh F

ood

Sam

ple"

>

<

para

met

er id

entif

ier=

"car

t">

<

java

:cla

ss>

org.

droo

ls.e

xam

ples

.jav

a.pe

tsto

re.S

hopp

ingC

art<

/jav

a:cl

ass>

<

/par

amet

er>

<

para

met

er id

entif

ier=

"ite

m">

<

java

:cla

ss>

org.

droo

ls.e

xam

ples

.jav

a.pe

tsto

re.C

artI

tem

</j

ava:

clas

s>

<

/par

amet

er>

<

java

:con

ditio

n>ca

rt.g

etIt

ems(

"Fi

sh F

ood

Sam

ple"

).s

ize(

) =

= 0

</j

ava:

cond

ition

>

<

java

:con

ditio

n>ca

rt.g

etIt

ems(

"Fi

sh F

ood"

).s

ize(

) =

= 0

</j

ava:

cond

ition

>

<

java

:con

ditio

n>ite

m.g

etN

ame(

).eq

uals

( "G

old

Fish

" )<

/jav

a:co

nditi

on>

<

java

:con

sequ

ence

>

Sys

tem

.out

.print

ln(

"Add

ing

free

Fis

h Fo

od S

ampl

e to

car

t" )

; ca

rt.a

ddIt

em(

new

org

.dro

ols.

exam

ples

.jav

a.pe

tsto

re.C

artI

tem

( "F

ish

Food

Sam

ple"

, 0.

00 )

);

dr

ools

.mod

ifyO

bjec

t( c

art

);

<

/jav

a:co

nseq

uenc

e>

</r

ule>

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

38

Page 20: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Even

t-Bus

Ø B

asis

of m

any

inte

ract

ive

appl

icat

ion

fram

ewor

ks (

XW

indo

ws,

Jav

a AW

T, J

ava

Info

Bus

, ..

..)

Ø S

ee d

esig

n pa

tter

n O

bser

ver

with

Cha

nge

Man

ager

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

Eve

ntB

us (M

edia

tor)

Sub

ject

S

ubje

ct

Sub

ject

Obs

erve

r Jr

ules

-ba

sed

Obs

erve

r

EC

A-r

ule

base

d O

bser

ver

39

Arc

h. S

tyle

: W

orkf

low

-Bas

ed S

yste

ms

Ø A

wor

kflo

w d

escr

ibes

the

act

ions

on

cert

ain

even

ts a

nd c

ondi

tions

Ø F

orm

ed b

y a

deci

sion

ana

lysi

s, d

escr

ibed

by

ECA r

ules

Ø I

nste

ad o

f a

data

-flo

w g

raph

as

in p

ipe-

and-

filte

r sy

stem

s, o

r a

cont

rol-

flow

gra

ph a

s in

cal

l-ba

sed

syst

ems

Ø A

con

trol

-and

-dat

a flo

w g

raph

ste

ers

the

syst

em

Ø T

he d

ata-

flow

gra

ph c

onta

ins

cont

rol-

flow

inst

ruct

ions

(if,

whi

le,

..)

Ø T

his

wor

kflo

w g

raph

is s

imila

r to

a U

ML

activ

ity d

iagr

am,

with

pip

es a

nd

switc

h no

des

Ø O

ften

tra

nsac

tion-

orie

nted

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

Wor

kflo

w

Filte

r

Pipe

? ?

40

Page 21: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

App

licat

ion

Dom

ains

of W

orkf

low

Arc

hite

ctur

es

Ø B

usin

ess

soft

war

e Ø T

he b

ig fra

mew

orks

of SAP,

Peo

ples

oft,

etc

. al

l org

aniz

e w

orkf

low

s in

co

mpa

nies

Ø P

rodu

ctio

n pl

anni

ng s

oftw

are

Ø W

eb s

ervi

ces

are

desc

ribe

d by

wor

kflo

w la

ngua

ges

(BPE

L)

Ø M

ore

in c

ours

e “C

ompo

nent

-bas

ed S

oftw

are

Engi

neer

ing”

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

41

Arc

h. S

tyle

: Arc

hite

ctur

al S

tyle

of Com

mun

icat

ing

Sta

te

Mac

hine

s

Ø P

roce

sses

can

be

mod

eled

with

sta

te m

achi

nes

that

rea

ct o

n ev

ents

, pe

rfor

m a

ctio

ns,

and

com

mun

icat

e Ø M

odel

che

ckin

g ca

n be

use

d fo

r va

lidat

ion

of s

peci

ficat

ions

Ø L

angu

ages

:

Ø 

Este

relle

, Lo

tos,

SD

L Ø 

UM

L an

d its

sta

tech

arts

Ø 

Het

ereg

enou

s Ric

h Com

pone

nts

(HRC)

Ø 

EAST-

AD

L

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

42

Page 22: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

App

licat

ions

Ø P

roto

col e

ngin

eering

Ø A

utom

atic

der

ivat

ion

of t

ests

for

sys

tem

s Ø T

elec

omm

unic

atio

n so

ftw

are

Ø E

mbe

dded

sof

twar

e

Ø 

In c

ars

Ø 

In p

lane

s Ø 

In r

obot

s

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

43

20.3

.3)

Dat

a-O

rien

ted

Des

ign

Ø D

ata-

orie

nted

des

ign

is g

roup

ed a

roun

d a

inpu

t/ou

tput

/inn

er d

ata

stru

ctur

e Ø o

r a

lang

uage

for

a d

ata

stru

ctur

e (r

egul

ar e

xpre

ssio

ns,

finite

aut

omat

a,

cont

ext-

free

gra

mm

ars,

...

)

Ø T

he a

lgor

ithm

of th

e sy

stem

is is

omor

phic

to

the

data

and

can

be

derive

d fr

om t

he d

ata

Ø I

nput

dat

a (i

nput

-dat

a dr

iven

des

ign)

Ø O

utpu

t da

ta (

outp

ut-d

ata

driv

en d

esig

n)

Ø I

nner

dat

a

Ø D

ivid

e: fin

ding

sub

-dat

a st

ruct

ures

Ø C

onqu

er:

grou

ping

of da

ta a

nd a

lgor

ithm

s to

mod

ules

Ø E

xam

ple:

Ø J

acks

on S

truc

ture

d Pr

ogra

mm

ing

(JSP)

Ø E

TL p

roce

ssin

g in

info

rmat

ion

syst

ems

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

Wha

t do

es t

he d

ata

look

like

?

44

Page 23: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Dat

a-Fl

ow S

tyle

: Reg

ular

Bat

ch P

roce

ssin

g (E

TL P

roce

ssin

g)

Ø R

egul

ar B

atch

Pro

cess

ing

is a

spe

cific

bat

ch-p

roce

ssin

g st

yle.

In

such

an

appl

icat

ion,

reg

ular

dom

ains

are

pro

cess

ed:

Ø R

egul

ar s

trin

g la

ngua

ges,

reg

ular

act

ion

lang

uage

s, o

r re

gula

r st

ate

spac

es

Ø T

he for

m o

f th

e da

ta c

an b

e de

scribe

d by

a

Ø R

egul

ar e

xpre

ssio

n, r

egul

ar g

ram

mar

, st

atec

hart

, or

JSP

diag

ram

tre

e

Ø O

ften

tra

nsac

tion-

orie

nted

Ø E

xam

ple:

Ø R

ecor

d pr

oces

sing

in b

ank

and

busi

ness

app

licat

ions

: Ø B

ank

tran

sact

ion

soft

war

e Ø D

atab

ase

tran

sact

ion

soft

war

e fo

r bu

sine

ss

Ø B

usin

ess

repo

rt g

ener

atio

n fo

r m

anag

ers

(con

trol

ling)

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

45

Arc

h. S

tyle

: Rep

osito

ry S

yste

ms

(Dat

a Bas

e Sys

tem

s)

Ø P

roce

ssin

g is

dat

a-or

ient

ed

Ø F

ree

coor

dina

tion

the

com

pone

nts,

can

be

com

bine

d w

ith c

all-

base

d st

yle

or p

roce

ss-s

tyle

Ø O

ften

als

o st

ate-

orie

nted

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

Rep

osito

ry

Rea

d/w

rite

46

Page 24: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Exam

ple:

Rep

osito

ry S

tyle

in a

Com

pile

r

Ø T

he a

lgor

ithm

s ar

e st

ruct

ured

alo

ng t

he s

ynta

x of

the

pro

gram

s Ø T

he D

esig

n Pa

tter

n “V

isito

r” s

epar

ates

dat

a st

ruct

ures

fro

m

algo

rith

ms

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

Lexi

cal

Ana

lyse

r

Pars

er

Sem

antic

A

naly

sis

Opt

imiz

er

Tran

sfor

mat

ion

Phas

e

Cod

e ge

nera

tor

Rep

osito

ry

47

Rep

osito

ry S

tyle

in a

Int

egra

ted

Dev

elop

men

t En

viro

nmen

t

Ø I

DE

stor

e pr

ogra

ms,

mod

els,

tes

ts in

the

ir r

epos

itory

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

Lexi

cal

Ana

lyse

r

Pars

er

Sem

antic

A

naly

sis

Ref

acto

ring

Pret

ty

Prin

ter

Rep

osito

ry

Dia

gram

Vi

sual

izer

Uni

t Tes

ting

48

Page 25: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Info

rmat

ion

Sys

tem

s –

Que

ries

on

a Rep

osito

ry

Ø A

lgor

ithm

s ar

e st

ruct

ured

alo

ng t

he r

elat

iona

l dat

a Ø D

ata

war

ehou

se a

pplic

atio

ns p

rovi

de q

uery

ing

on m

ultid

imen

sion

al

data

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

Que

ry 1

Q

uery

O

ptim

izer

Que

ry3

Rep

osito

ry

Que

ry 2

49

Bla

ckbo

ard

Sty

le

Ø T

he b

lack

boar

d is

an

activ

e re

posi

tory

(i.e

., a

n ac

tive

com

pone

nt)

and

coor

dina

tes

the

othe

r co

mpo

nent

s Ø b

y ev

ent

notif

icat

ion

or c

all

Ø D

omin

ant

styl

e in

exp

ert

syst

ems

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

Bla

ckbo

ard

Rea

d/w

rite

50

Fire

/trig

ger

Page 26: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

20.3

.4)

Com

pone

nt-B

ased

Des

ign

(Str

uctu

re-O

rien

ted

Des

ign)

Ø F

ocus

is o

n th

e H

AS-A

(PA

RT-

OF)

rel

atio

n Ø F

ocus

is o

n pa

rts,

i.e.

, on

an

hier

arch

ical

str

uctu

re o

f th

e sy

stem

Ø D

ivid

e: fin

ding

sub

com

pone

nts

(par

ts)

Ø C

onqu

er:

grou

ping

of co

mpo

nent

s to

larg

er c

ompo

nent

s

Ø E

xam

ple:

Ø D

esig

n w

ith a

rchi

tect

ural

lang

uage

s (s

uch

as E

AST-

AD

L)

Ø D

esig

n w

ith c

lass

ical

com

pone

nt s

yste

ms

(com

pone

nts-

off-

the-

shel

f, C

OTS

),

such

as

CO

RBA o

r Aut

oSAR

Ø H

owev

er,

man

y co

mpo

nent

mod

els

exis

t Ø S

epar

ate

cour

se “

Com

pone

nt-b

ased

sof

twar

e en

gine

erin

g (C

BSE)

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

Wha

t ar

e th

e co

mpo

nent

s (p

arts

) of

the

sys

tem

, th

eir

stru

ctur

e, a

nd t

heir

rel

atio

ns?

51

20.3

.5)

Obj

ect-

Orien

ted

Des

ign

Ø D

ata

and

actio

ns a

re g

roup

ed in

to o

bjec

ts,

and

deve

lope

d to

geth

er

Ø F

ocus

is o

n th

e is

-a a

nd t

he b

ehav

es-l

ike

rela

tion

Ø A

par

t of

the

sys

tem

is li

ke o

r be

have

s lik

e an

othe

r pa

rt (

sim

ilarity

)

Ø D

ivid

e: fin

ding

act

ions

with

the

ir e

nclo

sing

obj

ects

Ø C

onqu

er:

grou

p ac

tions

to

obje

cts

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

Wha

t ar

e th

e "o

bjec

ts"

of t

he s

yste

m?

Wha

t ar

e th

e ac

tion

s an

d at

trib

utes

of

the

obje

cts?

52

Page 27: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Obj

ect-

Orien

ted

Des

ign

Met

hods

Ø C

RC c

ards

(ST-

1)

Ø V

erb

subs

tant

ive

anal

ysis

(ST-

1)

Ø C

olla

bora

tion-

base

d de

sign

and

CRRC (

ST-

1)

Ø U

se-C

ase

Rea

lizat

ion

Ana

lysi

s

Ø B

ooch

met

hod

Ø R

umba

ugh

met

hod

(OM

T)

Ø (

Rat

iona

l) U

nifie

d Pr

oces

s (R

UP,

or

Uni

fied

Met

hod)

Ø u

ses

UM

L as

not

atio

n

Ø H

iera

rchi

cal O

O M

etho

d (H

OO

D)

Ø O

ften

, O

O is

use

d, w

hen

the

real

wor

ld s

houl

d be

sim

ulat

ed

(sim

ulat

ion

prog

ram

s)

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

53

Arc

h. S

tyle

: O

bjec

t-O

rien

ted

Cal

l-Bas

ed A

rchi

tect

ural

Sty

le

Ø C

ontr

ol flo

w is

sym

met

ric

(cal

ls a

nd r

etur

ns)

Ø C

ontr

ol flo

w is

not

fix

ed (

dyna

mic

arc

hite

ctur

e vi

a po

lym

orph

ism

) Ø C

ontr

ol-f

low

can

be

sequ

entia

l or

para

llel

Ø D

ata-

flow

can

be

para

llel t

he c

all (

push

-bas

ed s

yste

m)

or

antip

aral

lel,

i.e.,

par

alle

l to

the

retu

rn (

pull-

base

d sy

stem

)

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

Cla

ss

Sub

clas

s

Sub

clas

s

Syst

em

call

retu

rn

call

retu

rn

call

retu

rn

disp

atch

54

Page 28: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Arc

h. S

tyle

: O

bjec

t-O

rien

ted

Proc

ess

Sys

tem

s (A

ctor

Sys

tem

s)

Ø O

bjec

t-or

ient

ed s

yste

ms

can

be p

aral

lel

Ø A

ctor

s ar

e pa

ralle

l com

mun

icat

ing

proc

esse

s Ø P

roce

sses

tal

k di

rect

ly t

o ea

ch o

ther

Ø U

nstr

uctu

red

com

mun

icat

ions

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

55

Arc

h. S

tyle

: Pr

oces

s Tr

ee S

yste

ms

(UN

IX-L

ike)

Ø P

roce

sses

(pa

ralle

l obj

ects

) ar

e or

gani

zed

in a

tre

e

Ø a

nd t

alk

only

to

thei

r de

scen

dant

s

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

56

Page 29: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

20.3

.6)

Tran

sfor

mat

iona

l Des

ign

Ø W

e st

art

with

an

initi

al,

abst

ract

des

ign

that

mee

ts t

he

requ

irem

ents

Ø 

The

cont

ext

mod

el a

nd t

he t

op-l

evel

arc

hite

ctur

e Ø T

he im

plem

enta

tion

is a

chie

ved

by a

n ite

rativ

e tr

ansf

orm

atio

n pr

oces

s, s

tart

ing

from

an

initi

al d

esig

n Ø R

efin

emen

t-ba

sed

deve

lopm

ent

Ø R

efac

toring

-bas

ed d

evel

opm

ent

uses

sym

met

ry o

pera

tions

(re

fact

orin

gs)

Ø S

emi-

auto

mat

ical

ly d

eriv

ing

a fin

al d

esig

n Ø D

ivid

e: fin

d st

eps

from

the

initi

al t

o th

e fin

al d

esig

n Ø C

onqu

er:

chai

n th

e st

eps

Ø N

ote:

thi

s de

sign

met

hod

is o

rtho

gona

l to

the

othe

rs,

beca

use

it ca

n be

com

bine

d w

ith a

ll of

the

m

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

How

sho

uld

I tr

ansf

orm

the

cur

rent

des

ign

to a

n be

tter

ver

sion

and

fi

nally

, the

impl

emen

tati

on?

57

Tran

sfor

mat

iona

l Ref

inem

ent-

Bas

ed D

esig

n

Ø W

ide

spec

tru

m la

ng

uag

es u

ses

rule

-bas

ed t

rans

form

atio

n sy

stem

s an

d tr

ansf

orm

atio

n pl

anne

rs

Ø T

his

star

ts a

t th

e re

quirem

ent

spec

ifica

tion

and

refin

es (

unde

r pr

oofs

of

corr

ectn

ess)

exp

ress

ive

expr

essi

ons

to e

xecu

tabl

e pr

ogra

ms

(sem

anti

c-p

rese

rvin

g r

efin

emen

t)

Ø T

he s

eman

tic

refi

nem

ents

are

ref

acto

ring

s w

hich

low

er e

xpre

ssiv

e ex

pres

sion

s to

low

-lev

el

Ø S

eman

tics

can

be p

rove

n in

diff

eren

t fo

rms,

e.g

., w

ith H

oare

logi

c, D

ynam

ic

logi

c, o

r de

nota

tiona

l sem

antic

s Ø S

eman

tic-p

rese

rvin

g re

finem

ent

does

not

nee

d te

stin

g, b

ecau

se a

ll de

rive

d pr

ogra

ms

are

corr

ect

by c

onst

ruct

ion.

The

met

hod

is a

lso

a fo

rmal

met

hod.

Ø E

xam

ples

• 

CIP

-L (

Mun

ich

Uni

vers

ity)

• 

F. L

. Bau

er,

M.

Bro

y, R

. G

natz

, W

. H

esse

, B.

Krieg

-Brü

ckne

r, H

. Pa

rtsc

h, P

. Pe

pper

, an

d H

. W

össn

er.

Tow

ards

a w

ide

spec

trum

lang

uage

to

supp

ort

prog

ram

spe

cific

atio

n an

d pr

ogra

m d

evel

opm

ent.

SIG

PLAN

Not

ices

, 13

(12)

15-2

4, 1

978.

• 

SET

L (J

. Sch

war

tz,

New

Yor

k U

nive

rsity

) • 

KID

S (

Kes

trel

inst

itute

), V

DM

, Z,

B,

Even

t-B

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

58

Page 30: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Ref

acto

ring

-Bas

ed E

xtre

me

Prog

ram

min

g (X

P)

Ø M

ore

info

rmal

and

incr

emen

tal p

roce

ss:

Extr

eme

Prog

ram

min

g (X

P)

• Bas

ed o

n re

fact

orin

gs for

str

uctu

ral i

mpr

ovem

ents

, bu

t no

t pa

rtic

ular

ly for

lo

wer

ings

• 

Ref

acto

ring

can

be

supp

orte

d by

ref

acto

ring

too

ls

• Ev

ery

requ

irem

ent

is im

plem

ente

d an

d te

sted

in s

epar

atio

n • 

Con

tinuo

us t

estin

g an

d co

ntin

uous

inte

grat

ion

(tes

t-dr

iven

dev

elop

men

t)

• Cus

tom

er is

invo

lved

(cu

stom

er-d

rive

n de

velo

pmen

t)

• Pe

rman

ent

revi

ew w

ith p

air

prog

ram

min

g

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

59

Mod

el-D

rive

n Arc

hite

ctur

e as

Tra

nsfo

rmat

iona

l Des

ign

Met

hod

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent D

omai

n m

odel

, R

equi

rem

ents

spe

cific

atio

n

Pla

tform

Inde

pend

ent M

odel

(PIM

)

Pla

tform

Spe

cific

Mod

el (P

SM

)

Pla

tform

Spe

cific

Impl

emen

tatio

n (P

SI)

(Cod

e)

Mod

el m

appi

ngs

Com

puta

tiona

lly In

depe

nden

t M

odel

(CIM

)

60

Page 31: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

20.3

.7)

Gen

erat

ive

Des

ign

Ø (

aka

Gen

erat

ive

Prog

ram

min

g)

Ø S

peci

fy t

he s

olut

ion

in

Ø a

"fo

rmal

met

hod"

, a

spec

ifica

tion

lang

uage

Ø a

tem

plat

e w

hich

is e

xpan

ded

(gen

eric

pro

gram

min

g)

Ø I

n U

ML,

whi

ch is

gen

erat

ed in

to c

ode

by a

CASE

tool

Ø G

ener

ate

a so

lutio

n w

ith a

gen

erat

or t

ool t

hat

plan

s th

e so

lutio

n Ø 

Plan

ning

the

com

posi

tion

of t

he s

olut

ion

from

com

pone

nts

Ø 

Syn

thes

izin

g th

e so

lutio

n

Ø D

ivid

e: d

epen

ds o

n th

e sp

ecifi

catio

n la

ngua

ge

Ø C

onqu

er:

also

Ø F

ully

gen

erat

ive

prog

ram

min

g is

cal

led

Aut

omat

ic P

rogr

amm

ing

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

How

can

I d

eriv

e th

e im

plem

enta

tion

fro

m t

he d

esig

n au

tom

atic

ally

?

61

Gen

erat

ive

Spe

cific

atio

ns

Ø D

evel

opin

g a

spec

ficat

ion

in o

ne o

f th

ese

lang

uage

s is

sim

pler

tha

n w

ritin

g th

e co

de

Ø G

ram

mar

-orien

ted

deve

lopm

ent

(gra

mm

arw

are)

Ø Fi

nite

aut

omat

a fr

om r

egul

ar g

ram

mar

s Ø La

rge

finite

aut

omat

a fr

om m

odal

logi

c (m

odel

che

cker

s)

Ø Pa

rser

s fr

om C

onte

xt-f

ree

gram

mar

s Ø Ty

pe c

heck

ers,

typ

e in

fere

ncer

s fr

om A

ttribu

te g

ram

mar

s Ø Ty

pe c

heck

ers

and

inte

rpre

ters

fro

m N

atur

al s

eman

tics

Ø O

ptim

izer

s fr

om g

raph

rew

rite

sys

tem

s (s

ee c

hapt

er o

n G

RS)

Ø F

eatu

re-o

rien

ted

deve

lopm

ent

(FO

DA):

spe

cify

fea

ture

tre

es a

nd d

eriv

e th

e co

mpo

nent

s fr

om t

hem

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

Spe

cific

atio

n

Mod

el –

Gra

mm

ar –

Log

ic -

Feat

ureT

ree

Cod

e

62

Page 32: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Aut

omat

ic P

rogr

amm

ing

Ø I

n au

tom

atic

pro

gram

min

g, a

pla

nner

pla

ns a

way

to

gene

rate

d th

e co

de fro

m t

he r

equi

rem

ent

spec

ifica

tions

• 

Usi

ng a

pat

h of

tra

nsfo

rmat

ions

Ø A

.P.

is g

ener

ativ

e, a

nd t

rans

form

ativ

e, a

nd for

mal

met

hod.

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

63

1.3.

8 M

odel

-Drive

n Sof

twar

e D

evel

opm

ent

(MD

SD

)

Ø M

DSD

ble

nds

Tran

sfor

mat

iona

l and

Gen

erat

ive

desi

gn

Ø M

odel

s

• re

pres

ent

part

ial i

nfor

mat

ion

abou

t th

e sy

stem

• 

Are

not

direc

tly e

xecu

tabl

e • 

But

can

be

used

to

gene

rate

par

ts o

f th

e co

de o

f a

syst

em

Ø M

odel

-drive

n ar

chite

ctur

e (M

DA®

) of

OM

G)

blen

ds

Tran

sfor

mat

iona

l Des

ign

and

Gen

erat

ive

Des

ign

Ø S

ee a

lso

Cha

pter

“M

odel

-Drive

n Arc

hite

ctur

e”

Ø M

DA n

eeds

Asp

ect-

Orien

ted

Mod

elin

g (m

odel

wea

ving

)

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

64

Page 33: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

20.3

.9)

Form

al M

etho

ds

Ø A

for

mal

met

hod

is a

des

ign

met

hod

that

Ø H

as a

for

mal

(m

athe

mat

ical

) sp

ecifi

catio

n of

the

req

uire

men

ts

Ø D

evel

ops

a fo

rmal

spe

cific

atio

n of

the

des

ign

Ø T

he d

esig

n ca

n be

ver

ified

aga

inst

the

req

uire

men

ts s

peci

ficat

ion

Ø A

for

mal

met

hod

allo

ws

for

prov

ing

a de

sign

cor

rect

Ø V

ery

impo

rtan

t fo

r sa

fety

-critic

al s

yste

ms

Ø F

orm

al m

etho

ds a

re o

rtho

gona

l to

the

othe

r m

etho

ds:

ever

y m

etho

d ha

s th

e po

tent

ial t

o be

for

mal

Ø I

mpo

rtan

t in

saf

ety-

criti

cal a

pplic

atio

n ar

eas

(pow

er p

lant

s, c

ars,

em

bedd

ed a

nd r

eal-

time

syst

ems)

Ø 

Ex.

Petr

i net

s (s

epar

ate

chap

ter)

, B,

Z,

VD

M,

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

How

can

I p

rove

tha

t m

y de

sign

is c

orre

ct w

ith

rega

rd t

o th

e re

quir

emen

ts?

65

Che

cker

-Bas

ed S

yste

ms

Ø A

ch

ecke

r-b

ased

sys

tem

is fau

lt-to

lera

nt in

the

sen

se t

hat

for

ever

y co

mpo

nent

, a

chec

ker

exis

ts t

hat

chec

ks t

he c

orre

ctne

ss o

f an

app

licat

ion

Ø A

lso

calle

d a

mon

itor

Ø E

xam

ple:

Ver

ified

com

pile

rs,

faul

t-to

lera

nt 2

4/7

syst

ems

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

C

heck

er

Com

pone

nt

Che

cker

-Wra

pper

?

Err

or

Out

put

Inpu

t

66

Page 34: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Test

-Drive

n Arc

hite

ctur

e

Ø A

tes

t-d

rive

n s

yste

m m

aint

ains

with

eve

ry c

ompo

nent

a t

est

com

pone

nt

Ø T

he t

est

runs

prior

to

the

syst

em

Ø E

xam

ple:

TD

D (

Test

-Drive

n D

evel

opm

ent)

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

C

ompo

nent

Te

st

Com

pone

nt

Test

-Wra

pper

Err

or

Out

put

Inpu

t

67

Vot

ing

Arc

hite

ctur

es

Ø I

n a

votin

g fa

ult-

tole

rant

arc

hite

ctur

e, t

he r

un-t

ime

chec

ker

is a

m

ajor

ity v

oter

(qu

orum

) th

at c

ompa

res

the

resu

lts o

f se

vera

l in

stan

ces

of t

he c

ompo

nent

Ø E

xam

ple:

Spa

ce S

hutt

le

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

Vote

r (Q

uoru

m)

Com

pone

nt

? C

ompo

nent

Com

pone

nt

68

Page 35: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

20

.3.1

0 A

SP

ECT-

OR

IEN

TED

SO

FTW

AR

E D

ESIG

N

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

69

Deb

uggi

ng

asp

ect

Pers

iste

nce

aspe

ct

Alg

orith

m

Deb

uggi

ng a

spec

t Pe

rsis

tenc

e as

pect

Pers

iste

nce

aspe

ct

Deb

uggi

ng a

spec

t

Wea

ver-

Tool

Deb

uggi

ng a

spec

t

Arc

h. S

tyle

: Asp

ect-

Orien

ted

Sof

twar

e D

esig

n

Ø U

sual

des

ign

met

hods

hav

e on

e as

pect

of de

velo

pmen

t in

foc

us

(“ty

rann

y of

dec

ompo

sitio

n”)

Ø A

spec

t-or

ient

ed s

yste

ms

spec

ify d

iffer

ent

aspe

cts

of a

sys

tem

in

sepa

ratio

n (s

epar

atio

n of

con

cern

s)

Ø 

The

slic

es a

re r

eint

egra

ted

by g

ener

ativ

e Asp

ect

Wea

vers

(Asp

ect/

J)

Ø 

Mor

e in

cha

pter

s “A

spec

t-or

ient

atio

n”,

“Fea

ture

-bas

ed p

rodu

ct li

nes”

and

cou

rse

CBSE

TU D

resd

en,

Pro

f. U

. A

ßm

ann

7

0

Page 36: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

20

.3.1

1 A

DA

PTI

VE

AR

CH

ITEC

TUR

ES

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

71

To b

e fil

led…

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

72

Page 37: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

20

.4 A

RC

HIT

ECTU

RA

L S

TYLE

S S

PEC

IFIC

TO

LA

YER

S

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

73

Laye

red

Arc

hite

ctur

e

Ø T

he m

ost

gene

ral a

rchi

tect

ural

sty

le,

whi

ch c

an b

e co

mbi

ned

with

al

l oth

ers

are

laye

rs

Ø L

ayer

s ca

n be

com

bine

d w

ith m

any

othe

r st

yles

Ø I

ngre

dien

ts:

Ø 

Con

nect

ors:

pro

cedu

re c

alls

or

stre

ams

Ø 

Port

s: c

ompo

nent

inte

rfac

es

Ø 

Con

trol

flo

w m

ostly

syn

chro

nous

Ø 

Dat

a flo

w a

long

the

laye

rs a

nd t

he

call

grap

hs,

mos

tly s

ingu

lary

Ø 

Dat

a- a

nd c

ontr

ol flo

w a

re is

omor

phic

Ø D

omin

atin

g st

yle

for

larg

e sy

stem

s

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

74

Page 38: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Exam

ple:

4-T

ier

Arc

hite

ctur

es in

GU

I-ba

sed

App

licat

ions

(BCED

)

Ø A

lrea

dy p

rese

nted

in S

T-1

Ø A

cycl

ic U

SES

Rel

atio

n,

div

ided

into

3 (

resp

. 4)

laye

rs:

Ø G

UI

(gra

phic

use

r in

terf

ace)

Ø M

iddl

e la

yer

(App

licat

ion

logi

c an

d m

iddl

ewar

e, t

rans

port

laye

r)

Ø D

ata

repo

sito

ry (

data

base

)

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

Dat

a R

epos

itory

Lay

er (d

atab

ase,

mem

ory)

Mid

dlew

are

(mem

ory

acce

ss, d

istr

ibut

ion)

Gra

phic

al u

ser i

nter

face

App

licat

ion

logi

c (b

usin

ess

logi

c)

75

Exam

ple:

Ope

ratin

g Sys

tem

s

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

Ker

nel

Use

r Spa

ce

UN

IX:

Ker

nel

Use

r Spa

ce

App

le-U

NIX

:

Mic

roke

rnel

(Mac

h)

Ker

nel

Use

r Spa

ce

Win

dow

s N

T/X

P:

Har

dwar

e A

bstra

ctio

n La

yer (

HA

L)

76

Page 39: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Arc

hite

ctur

al S

tyle

s Can

Be

Laye

r Spe

cific

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

77

Dat

a R

epos

itory

Lay

er (d

atab

ase,

mem

ory)

Mid

dlew

are

(mem

ory

acce

ss, d

istr

ibut

ion)

Gra

phic

al u

ser i

nter

face

App

licat

ion

logi

c (b

usin

ess

logi

c)

Even

t-­bas

ed  

Dat

a-­ba

sed  

Act

ion-­

base

d  

Func

tion

-­ba

sed  

Test

-­dr

iven

    Tr

ans-­

form

ativ

e     MDA  

  Asp

ect-­

orie

nted

 

Form

al  m

etho

ds  

Dom

ain-

Spe

cific

Arc

hite

ctur

al S

tyle

s

Ø O

ften

an

appl

icat

ion

dom

ain

need

s its

ow

n st

yle,

its

refe

renc

e ar

chite

ctur

e Ø I

t's h

ard

to s

ay s

omet

hing

in g

ener

al a

bout

tho

se

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

78

Page 40: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Impo

rtan

t

Ø A

n ar

chite

ctur

al s

tyle

res

ults

fro

m a

spe

cific

dev

elop

men

t m

etho

d Ø F

unct

iona

l, m

odul

ar d

esig

n: c

all-

base

d st

yle

Ø A

ctio

n de

sign

: da

ta-f

low

sty

le,

wor

kflo

w s

tyle

, re

gula

r pr

oces

sing

, pr

oces

s tr

ees

Ø O

bjec

t-or

ient

ed d

esig

n: o

bjec

t-or

ient

ed c

all-

base

d sy

stem

s, c

lient

-ser

ver,

ac

tors

(pr

oces

s sy

stem

s)

Ø U

ses-

orie

nted

des

ign:

laye

red

syst

ems

Ø S

peci

fic la

yers

nee

d sp

ecifi

c st

yles

Ø R

elia

ble

syst

ems

need

spe

cific

sty

les

Ø T

he d

edic

ated

eng

inee

r kn

ows

whe

n to

app

ly w

hat

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

79

Sum

mar

y: M

ost

Impo

rtan

t Arc

hite

ctur

e Sty

les

Ø D

ata

flow

sty

les

Ø S

eque

ntia

l pip

e-an

d-fil

ter

Ø D

ata

flow

gra

ph/n

etw

ork

Ø W

orkf

low

sys

tem

s (m

ixed

with

co

ntro

l flo

w)

Ø C

all-

styl

e

Ø M

odul

ar s

yste

ms

Ø A

bstr

act

data

typ

es

Ø O

bjec

t-or

ient

ed s

yste

ms

Ø C

lient

/ser

vice

pro

vide

r

Ø H

iera

rchi

cal s

tyle

s Ø L

ayer

ed a

rchi

tect

ure

Ø I

nter

pret

er

Ø C

heck

er-b

ased

Arc

hite

ctur

es

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

Ø I

nter

actin

g pr

oces

ses

(act

ors)

Ø T

hrea

ds in

a s

hare

d m

emor

y Ø D

istr

ibut

ed o

bjec

ts

Ø E

vent

-bas

ed s

yste

ms

Ø A

gend

a pa

ralle

lism

Ø D

ata-

orie

nted

(Rep

osito

ry

arch

itect

ures

) Ø T

rans

actio

n sy

stem

s (d

ata

base

s)

Ø Q

uery

-bas

ed s

yste

ms

Ø B

lack

boar

d (e

xper

t sy

stem

s)

Ø T

rans

form

atio

n sy

stem

s (c

ompi

lers

) Ø G

ener

ativ

e sy

stem

s (g

ener

ator

s)

Ø D

ata

base

d st

yles

Ø C

ompo

und

docu

men

ts

Ø H

yper

text

-bas

ed

80

Page 41: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Law

of M

etho

d an

d Sty

le

Ø F

unct

iona

l and

act

ion

desi

gn è

cal

l-ba

sed

arch

itect

ural

sty

le o

r co

mpo

nent

-bas

ed s

tyle

Ø O

bjec

t-or

ient

ed d

esig

n è

obj

ect-

orie

nted

cal

l sty

le o

r ac

tor

styl

e Ø A

ctio

n-ba

sed

desi

gn (

with

dat

a-flo

w) è

dat

a-flo

w a

rchi

tect

ures

(p

ipe-

and-

filte

r ar

chite

ctur

es)

or E

CA s

yste

ms

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

A sp

ecifi

c de

sign

met

hod

lead

s to

a s

peci

fic a

rchi

tect

ural

sty

le

81

Ø A

spe

cific

app

licat

ion

dom

ain

need

s a

spec

ific

arch

itect

ural

sty

le,

and

due

to t

hat,

a s

peci

fic d

esig

n m

etho

d, e

.g.,

• 

Embe

dded

sof

twar

e ne

eds

form

al m

etho

ds

• En

terp

rise

sof

twar

e ne

eds

wor

kflo

w-b

ased

sty

le

• In

form

atio

n sy

stem

s ne

ed r

epos

itory

sty

le

Whi

ch D

esig

n M

etho

d fo

r th

e Sat

ellit

e Rad

io?

Ø R

eal w

orld

obj

ects

mus

t be

sim

ulat

ed

Ø O

bjec

t-or

ient

ed d

esig

n?

Ø E

vent

s in

the

rea

l wor

ld

Ø E

vent

-con

ditio

n-ac

tion

base

d de

sign

?

Ø F

low

of da

ta fro

m t

he s

atel

lite

to t

he r

adio

to

the

user

Ø D

ata-

orie

nted

des

ign?

dat

a-flo

w a

rchi

tect

ure!

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

82

Page 42: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Wha

t H

ave

We

Lear

ned?

Ø T

here

is n

o si

ngle

“th

e w

ay t

o th

e sy

stem

” Ø E

very

pro

ject

has

to

find

its p

ath

empl

oyin

g an

app

ropr

iate

des

ign

met

hod

Ø T

he b

asic

des

ign

ques

tions

are

pos

ed o

ver

and

over

aga

in,

until

a

desi

gn is

fou

nd

Ø S

elec

t a

desi

gn m

etho

d Ø P

ose

the

desi

gn m

etho

d's

basi

c qu

estio

n Ø P

erfo

rm t

he d

esig

n m

etho

d's

proc

ess

Ø P

erfo

rm t

he d

esig

n m

etho

d's

step

s: e

labo

rate

, re

fine,

str

uctu

re,

chan

ge

repr

esen

tatio

n, .

..

Ø I

f pr

oces

s ge

ts s

tuck

, ch

ange

des

ign

met

hod

and

try

anot

her

one!

Ø A

rchi

tect

ural

sty

les

are

the

resu

lt of

a d

esig

n pr

oces

s Ø T

hey

give

us

a w

ay t

o ta

lk a

bout

a s

yste

m o

n a

rath

er a

bstr

act

leve

l Ø A

rchi

tect

ural

sty

les

can

be d

istin

guis

hed

by t

he r

elat

ion

of d

ata-

flow

and

co

ntro

l-flo

w (

para

llel v

s an

tipar

alle

l)

Ø .

. an

d th

e ty

pe o

f sy

stem

str

uctu

ring

rel

atio

n th

ey u

se

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

83

Wha

t is

run

ning

in P

art

III

– D

esig

n?

Ø P

rese

ntat

ion

of D

esig

n M

etho

ds w

ith N

otat

ions

, Pr

oces

ses,

H

eurist

ics

Ø P

rese

ntat

ion

of t

he D

evel

opm

ent

Focu

s Ø P

rese

ntat

ion

of r

esul

ting

Arc

hite

ctur

al S

tyle

s Ø P

rese

ntat

ion

of V

aria

bilit

y an

d Ex

tens

ibili

ty m

echa

nim

s, t

o pr

epar

e pr

oduc

t lin

e en

gine

erin

g

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

84

Page 43: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Why

Is

This

Im

port

ant?

(T

he E

ngin

eer's

Park

inso

n D

isea

se)

Ø D

on't

be d

isco

urag

ed a

bout

the

div

ersi

ty o

f th

is le

ctur

e. T

here

is

som

ethi

ng t

o w

in..

. Ø A

goo

d ob

ject

-orien

ted

desi

gner

is n

ot a

utom

atic

ally

a g

ood

soft

war

e en

gine

er

Ø A

sof

twar

e en

gine

er k

now

s a

larg

e to

olbo

x of

diff

eren

t m

etho

ds t

o be

abl

e to

cho

ose

the

righ

t m

etho

d!

Ø U

sual

ly,

peop

le s

tick

to t

he m

etho

ds in

whi

ch t

hey

have

bee

n ed

ucat

ed

Ø C

OBO

L pr

ogra

mm

ers

Ø I

mpe

rativ

e vs

fun

ctio

nal p

rogr

amm

ers

Ø O

bjec

t-or

ient

ed p

rogr

amm

ers

vs p

roce

dura

l pro

gram

mer

s

Ø D

o yo

u w

ant

to g

et s

tuck

? Ø Y

ou w

ill h

ave

a la

rge

adva

ntag

e if

you

are

open

-min

ded

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

85

20

.5 D

ESIG

N H

EUR

ISTI

CS

A

ND

BES

T P

RA

CTI

CES

Gen

eral

Str

ateg

ies

in D

esig

n Pr

oces

ses

Page 44: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Lite

ratu

re

Ø O

blig

ator

y Rea

ding

Ø [

Bro

oks]

Fre

derick

P.

Bro

oks

jr.

No

Silv

er B

ulle

t. E

ssen

ce a

nd A

ccid

ents

of

Sof

twar

e En

gine

erin

g. I

n [T

haye

r].

Won

derf

ul a

rtic

le o

n w

hat

soft

war

e en

gine

erin

g is

all

abou

t.

Ø O

ther

Lite

ratu

re

Ø [

Bud

gen]

Dav

id B

udge

n. S

oftw

are

Des

ign.

Add

ison

-Wes

ley.

Exp

ands

on

the

Bud

gen

pape

r. P

rett

y sy

stem

atic

. Ø [

Endr

es/R

omba

ch]

A.

Endr

es,

D.

Rom

bach

. A H

andb

ook

of s

oftw

are

and

syst

ems

engi

neer

ing.

Em

pirica

l obs

erva

tions

, la

ws

and

theo

ries

. Add

ison

-Wes

ley.

Ver

y go

od c

olle

ctio

n of

sof

twar

e la

ws.

Nic

e!

TU D

resd

en,

12

.05

.20

09

Seb

asti

an R

ich

ly

Folie

87

von

18

Des

ign

Heu

rist

ics

Bro

ok's

Par

adox

on

Sof

twar

e Bea

uty

Exci

ting

Ø U

nix

Ø O

S/2

Ø A

PL

Ø P

asca

l Ø M

odul

a Ø A

lgol

68

Ø S

mal

ltalk

Use

ful,

but

unex

citin

g Ø M

VS/3

70

Ø M

S-D

OS

Ø C

obol

Ø P

L/1

Ø F

ortr

an

Ø A

lgol

60

Ø p

hp

Nic

e sy

stem

s ar

e of

ten

too

late

in th

e m

arke

t

... b

e th

e fir

st o

r the

sec

ond

bird

!

TU D

resd

en,

12

.05

.20

09

Seb

asti

an R

ich

ly

Folie

88

von

18

Des

ign

Heu

rist

ics

Page 45: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Heu

rist

ic:

Lazy

or

Eage

r D

esig

n

Ø I

n ca

se o

f a

diffic

ult

desi

gn d

ecis

ion

Ø (

whe

n el

abor

atin

g, r

efin

ing,

ref

acto

ring

or

chan

ging

rep

rese

ntat

ion)

Ø …

def

er it

(la

zy d

esig

n)

Ø It

erat

ive

Sof

twar

e de

velo

pmen

t m

etho

ds s

uch

as E

xtre

me

Prog

ram

min

g Ø …

dec

ide

it (e

ager

des

ign)

Ø …

anti

cip

ate

furt

her

deve

lopm

ents

in t

he d

esig

n (a

ntic

ipat

ory

desi

gn)

Ø T

ime-

boxe

d de

sign

: (S

CRU

M X

P pr

oces

s)

Ø D

o ite

ratio

ns in

fix

ed t

ime-

slot

s (1

mon

th)

Ø F

ix r

equi

rem

ents

onl

y fo

r on

e tim

e-sl

ot

Ø H

ave

it ru

nnin

g un

der

all c

ircu

mst

ance

s Ø U

pdat

e re

quirem

ents

with

cus

tom

er a

fter

the

tim

e-sl

ot

TU D

resd

en,

12

.05

.20

09

Seb

asti

an R

ich

ly

Folie

89

von

18

Des

ign

Heu

rist

ics

Prep

are

for

Evol

utio

n: G

row

Liv

ing

Sof

twar

e

Ø B

uild

dev

elop

men

t: “

build

, no

t w

rite

” [B

rook

s]

Ø S

oftw

are

is a

livi

ng t

hing

Ø L

ehm

an's

first

law

of so

ftw

are

evol

utio

n: “

A s

yste

m t

hat

is u

sed

will

be

chan

ged”

Ø I

ncre

men

tal d

evel

opm

ent

Ø “

grow

, no

t bu

ild s

oftw

are”

[Bro

oks]

Ø R

efac

toring

s an

d re

finem

ent

shou

ld a

lway

s be

pos

sibl

e

TU D

resd

en,

12

.05

.20

09

Seb

asti

an R

ich

ly

Folie

90

von

18

Des

ign

Heu

rist

ics

Page 46: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Heu

rist

ic:

Div

ide

and

Con

quer

Str

ateg

y

Ø D

ivid

e et

impe

ra (

from

Ale

xand

er t

he G

reat

) Ø d

ivid

e: p

robl

ems

into

sub

prob

lem

s (s

impl

ifica

tion)

Ø T

o fin

d so

lutio

ns in

ter

ms

of t

he a

bstr

act

m

achi

ne w

e ca

n em

ploy

. W

hen

this

map

ping

is

com

plet

e, w

e ca

n co

nque

r Ø c

onq

uer

: so

lve

subp

robl

ems

(hop

eful

ly e

asie

r)

Ø c

omp

ose

(mer

ge)

: co

mpo

se t

he c

ompl

ete

so

lutio

n fr

om t

he s

ubso

lutio

ns

Ø R

euse

of pa

rtia

l sol

utio

ns is

pos

sibl

e

(the

n th

e tr

ee is

a d

ag)

Ø W

here

do

we

begi

n?

Ø S

tepw

ise

refin

emen

t (t

op-d

own)

Ø A

ssem

blag

e (b

otto

m-u

p)

Ø D

esig

n fr

om t

he m

iddl

e (m

iddl

e-ou

t, y

o-yo

)

......

.

......

.

......

.

??

TU D

resd

en,

12

.05

.20

09

Seb

asti

an R

ich

ly

Folie

91

von

18

Des

ign

Heu

rist

ics

Ste

pwis

e Ref

inem

ent

(Top

-Dow

n, C

lass

ic D

ivid

e-an

d-Con

quer

)

Ø P

oin

twis

e re

fin

emen

t Ø F

rag

men

t re

fin

emen

t Ø C

ontr

ol r

efin

emen

t (o

pera

tion

refin

emen

t)

Ø W

e gu

ess

the

solu

tion

of t

he p

robl

em in

te

rms

of a

hig

her-

leve

l abs

trac

t m

achi

ne

Ø W

e re

fine

thei

r op

erat

ions

unt

il th

e gi

ven

ab

stra

ct m

achi

ne is

rea

ched

Ø D

ata

refi

nem

ent

Ø W

e m

ay a

lso

refin

e th

e da

ta s

truc

ture

s

of t

he a

bstr

act

mac

hine

Ø S

ynta

ctic

ref

inem

ent

does

not

res

pect

se

man

tics

of t

he o

rigi

nal m

odel

Ø S

eman

tic

refi

nem

ent

prov

es c

onfo

rman

ce o

f th

e re

fined

mod

el t

o th

e or

igin

al m

odel

, i.e

. w

heth

er it

is s

eman

tical

ly e

quiv

alen

t or

ric

her

than

the

origi

nal m

odel

Ø D

isad

vant

age:

Ø W

e m

ight

nev

er r

each

a r

ealiz

atio

n Ø O

ften

"w

areh

ouse

sol

utio

ns"

are

de

velo

ped,

tha

t ar

e in

appr

opriat

e ...

....

......

.

......

.

??

Folie

92

von

18

Des

ign

Heu

rist

ics

Page 47: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Ste

pwis

e Con

stru

ctio

n (B

otto

m-u

p)

Ø I

n th

is c

ase

we

star

t w

ith a

giv

en a

bstr

act

mac

hine

and

Ø a

ssem

ble

mor

e co

mpl

ex o

pera

tions

of a

hi

gher

-lev

el a

bstr

act

mac

hine

Ø o

r as

sem

ble

the

mor

e co

mpl

ex d

ata

st

ruct

ures

Ø G

ood:

Ø A

lway

s re

alis

tic

Ø A

run

ning

par

tial s

olut

ion

Ø B

ad:

Ø D

esig

n m

ight

bec

ome

clum

sy s

ince

gl

obal

pic

ture

was

not

tak

en in

to a

ccou

nt

......

.

......

.

......

.

??

Folie

93

von

18

Des

ign

Heu

rist

ics

Mid

dle

out

Ø F

ix s

ome

subp

robl

ems

in

the

mid

dle

and

solv

e th

em

by r

efin

emen

t Ø T

hen

wor

k yo

ur w

ay u

p Ø O

ften

avo

ids

the

disa

dvan

tage

s

of t

op-d

own

and

bott

om-u

p Ø F

indi

ng le

mm

as in

a

mat

hem

atic

al p

roof

is s

imila

r

......

.

......

.

......

.

??

Folie

94

von

18

Des

ign

Heu

rist

ics

Page 48: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Heu

rist

ic:

Use

Hie

rarc

hies

and

Red

ucib

le G

raph

s

Ø T

rees

, tr

ees,

tre

es

Ø D

ags

(direc

ted

acyc

lic g

raph

s)

Ø C

an b

e la

yere

d Ø R

educ

ible

gra

phs

Ø C

an b

e la

yere

d to

o, o

n ea

ch

laye

r th

ere

are

cycl

es

Ø E

very

nod

e ca

n be

ref

ined

in

depe

nden

tly a

nd a

bstr

acts

th

e lo

wer

leve

ls

TU D

resd

en,

12

.05

.20

09

Seb

asti

an R

ich

ly

Folie

95

von

18

Des

ign

Heu

rist

ics

Heu

rist

ics

on S

ize

Ø L

imit

your

self

to a

sm

all n

umbe

r of

item

s Ø N

ever

use

mor

e th

an 5

item

s

Ø o

n a

page

Ø o

n a

slid

e Ø o

n an

abs

trac

tion

leve

l of a

spec

ifica

tion

or m

odel

Ø K

ISS (

keep

it s

impl

e st

upid

) Ø R

emov

e al

l sup

erflu

ous

thin

gs,

mak

e it

fit o

n 1

page

Ø S

impl

ifica

tion

take

s a

long

tim

e “I

did

n't

have

the

tim

e to

mak

e it

shor

ter”

Ø E

inst

ein:

"M

ake

it as

sim

ple

as p

ossi

ble,

but

not

sim

pler

!”

Ø S

teph

en K

ing:

“W

hen

I th

ink,

I a

m r

eady

, I

usua

lly h

ave

to r

educ

e ab

out

30%

fat

fro

m m

y bo

ok."

Ø A

bstr

actio

n is

neg

lect

ion

of u

nnec

essa

ry d

etai

l Ø F

ocus

at

one

prob

lem

at

a tim

e an

d to

for

get

abou

t ot

hers

Ø D

ispl

ay o

nly

esse

ntia

l inf

orm

atio

n Ø C

hang

e re

pres

enta

tion

if de

velo

pmen

t st

rate

gy c

hang

es

Ø T

his

lead

s to

des

ign

met

hods

or

deco

mpo

sitio

n m

etho

ds

TU D

resd

en,

12

.05

.20

09

Seb

asti

an R

ich

ly

Folie

96

von

18

Des

ign

Heu

rist

ics

Page 49: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Heu

rist

ics

on A

bstr

actio

n

Ø S

epar

atio

n of

Con

cern

s (S

oC)

Ø D

iffer

ent

conc

epts

sho

uld

be s

epar

ated

so

that

the

y ca

n be

spe

cifie

d in

depe

nden

ly

Ø D

imen

sion

al s

peci

ficat

ions

: sp

ecify

fro

m d

iffer

ent

view

poin

ts

Ø I

f se

para

ted,

the

n co

ncer

ns c

an b

e va

ried

inde

pend

ently

Ø E

xam

ple

of S

oC:

Sep

arat

e Po

licy

and

Mec

hani

sm

Ø M

echa

nism

: Th

e w

ay h

ow t

o te

chni

cally

rea

lize

a so

lutio

n Ø P

olic

y: T

he w

ay h

ow t

o pa

ram

eter

ize

the

real

izat

ion

of a

sol

utio

n Ø I

f se

para

ted,

the

n po

licy

and

mec

hani

sm c

an b

e va

ried

inde

pend

ently

TU D

resd

en,

12

.05

.20

09

Seb

asti

an R

ich

ly

Folie

97

von

18

Des

ign

Heu

rist

ics

But

Con

side

r Bro

oks

Law

..

The

cent

ral q

uest

ion

in d

esig

n is

how

to

impr

ove

on t

he s

oftw

are

art

cent

ers

- as

it a

lway

s ha

s be

- o

n

peop

le.

[Bro

oks]

TU D

resd

en,

12

.05

.20

09

Seb

asti

an R

ich

ly

Des

ign

Heu

rist

ics

Folie

98

von

18

Page 50: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

Ref

lect

ions

on

Bro

oks'

Law

Ø E

duca

tion

of p

eopl

e is

ver

y im

port

ant!

Ø H

owev

er,

the

differ

ence

s ar

e no

t m

inor

- t

hey

are

rath

er li

ke t

he d

iffer

ence

s be

twee

n Sal

ieri a

nd M

ozar

t.

Ø S

tudy

aft

er s

tudy

sho

ws

that

the

ver

y be

st d

esig

ners

pro

duce

str

uctu

res

that

are

fas

ter,

sm

alle

r, s

impl

er,

clea

ner,

and

pro

duce

d w

ith le

ss e

ffor

t.

Ø G

reat

des

igne

rs a

nd g

reat

man

ager

s ar

e bo

th v

ery

rare

Ø H

owev

er,

Fark

as' L

aw:

Figh

ting

help

s!

Ø F

arka

s, a

pro

min

ent

trom

bone

tea

cher

, no

ticed

tha

t th

e m

ost

tale

nted

pu

pils

did

n't

mak

e it

Ø I

nste

ad,

the

mid

dle-

clas

s su

rviv

ed t

hat

lear

ned

how

to

wor

k ha

rd

TU D

resd

en,

12

.05

.20

09

Seb

asti

an R

ich

ly

Folie

99

von

18

Des

ign

Heu

rist

ics

Oth

er L

itera

ture

Ø S

imon

Sin

gh.

Ferm

ats

letz

er S

atz.

Die

abe

nteu

erlic

he G

esch

icht

e ei

nes

mat

hem

atis

chen

Rät

sels

. dt

v.

Ø G

ute-

Nac

ht-G

esch

icht

e üb

er F

erm

at‘s

jah

rhun

dert

ealte

s Rät

sel.

Erkl

ärt

den

kom

pliz

iert

en B

ewei

s And

rew

Wile

s‘ für

Nic

ht-E

xper

ten.

Zum

Ver

sche

nken

! (G

aloi

s in

klus

ive.

.)

Ø U

hren

arith

met

ik.

Ellip

tisch

e G

leic

hung

en.

Mod

ulfo

rmen

.

Ø M

erke

: G

enie

ent

steh

t au

s vi

el,

viel

Fle

iss

(man

bea

chte

das

Er

lebn

is W

iles‘

bei

der

Kor

rekt

ur d

es B

ewei

ses!

) Ø W

enn

selb

st s

olch

gro

sse

Mat

hem

atik

er F

ehle

r in

ihre

n Bew

eise

n pr

oduz

iere

n...

.. k

eine

Ang

st v

or g

ross

en A

ufga

ben.

..

Ø E

xcel

lenc

e is

the

res

ult

of e

norm

ous

corr

ectio

n..

TU D

resd

en,

12

.05

.20

09

Seb

asti

an R

ich

ly

Folie

10

0 v

on 1

8

Des

ign

Heu

rist

ics

Page 51: gs - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws12/st2/... · 20!! ts !!!!! t !! g (gs) !!!!! ps !! t and 57 !! s !! (-preserving refinement. P)!! g ¥! gs gs ¥! s ¥! ¥! ¥!

The

End

Ø I

n th

e fo

llow

ing,

we

will

see

sev

eral

exa

mpl

es fo

r se

lect

ed d

esig

n m

etho

ds

Ø W

ith t

he c

once

pts

of s

impl

e gr

aph-

base

d m

odel

s, w

e ca

n se

e co

mm

on c

once

pts

in a

ll of

the

m

TU D

resd

en,

Pro

f. U

. A

ßm

ann

D

evel

opm

ent

10

1