rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava...
Transcript of rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava...
CB
SE
, © P
rof.
Uw
e A
ßman
n 1
Com
pone
nt-B
ased
Sof
twar
e En
gine
erin
g (C
BSE
) 1)
Intr
oduc
tion
1. B
asic
s of
Com
posi
tion
Sys
tem
s 2. H
isto
ric A
ppro
ache
s to
Bla
ck-
Box
Com
posi
tion
3. G
ray-
Box
Com
posi
tion
4. U
biqu
itous
Com
pone
nt
Mod
els
Pro
f. D
r. U
we
Aßm
ann
Tech
nisc
he U
nive
rsitä
t Dre
sden
In
stitu
t für
Sof
twar
e- u
nd
Mul
timed
iate
chni
k ht
tp://
st.in
f.tu-
dres
den.
de
13-1
.1, 1
8.04
.13
Pro
f. U
. Aßm
ann,
CB
SE
2
The
Pow
er o
f Com
pone
nts
http
://up
load
.wik
imed
ia.o
rg/w
ikip
edia
/com
mon
s/th
umb/
1/13
/C
onta
iner
_shi
p_H
anjin
_Tai
pei.j
pg/8
00px
-Con
tain
er_s
hip_
Han
jin_T
aipe
i.jpg
ht
tps:
//en.
wik
iped
ia.o
rg/w
iki/C
onta
iner
_shi
p
Pro
f. U
. Aßm
ann,
CB
SE
3
Goa
ls
►
Und
erst
and
wha
t a c
ompo
sitio
n sy
stem
is
►
The
diffe
renc
e of
com
pone
nt-b
ased
and
com
posi
tion-
base
d sy
stem
s ►
The
diffe
renc
e of
com
pone
nt a
nd c
ompo
sitio
n sy
stem
s ►
Wha
t is
a co
mpo
sitio
n op
erat
or?
com
posi
tion
expr
essi
on?
com
posi
tion
prog
ram
? co
mpo
sitio
n la
ngua
ge?
►
Und
erst
and
the
diffe
renc
e be
twee
n gr
aybo
x an
d bl
ackb
ox s
yste
ms
(var
iabi
lity
vs. e
xten
sibi
lity)
►
Und
erst
and
the
ladd
er o
f com
posi
tion
syst
ems
►
Und
erst
and
the
crite
ria fo
r com
paris
on o
f com
posi
tion
syst
ems
Pro
f. U
. Aßm
ann,
CB
SE
4
Obl
igat
ory
Rea
ding
►
[ISC
], C
hapt
er 1
, Cha
pter
2
►
Dou
glas
McI
lroy'
s ho
me
page
ht
tp://
cm.b
ell-l
abs.
com
/who
/dou
g/
►
[McI
lroy]
Dou
glas
McI
lroy.
Mas
s P
rodu
ced
Sof
twar
e C
ompo
nent
s. In
P
. Nau
r and
B. R
ande
ll, "S
oftw
are
Eng
inee
ring,
Rep
ort o
n a
conf
eren
ce s
pons
ored
by
the
NA
TO S
cien
ce C
omm
ittee
, Gar
mis
ch,
Ger
man
y, 7
th to
11t
h O
ctob
er 1
968"
, Sci
entif
ic A
ffairs
Div
isio
n,
NA
TO, B
russ
els,
196
9, 1
38-1
55.
http
://cm
.bel
l-lab
s.co
m/c
m/c
s/w
ho/d
oug/
com
pone
nts.
txt
CB
SE
, © P
rof.
Uw
e A
ßman
n 5
1.1.
Bas
ics
of C
ompo
sitio
n Sy
stem
s
Com
pone
nt-b
ased
sof
twar
e en
gine
erin
g is
bu
ilt o
n co
mp
osi
tio
n s
yste
ms.
A co
mpo
sitio
n sy
stem
has
a c
ompo
nent
m
odel
, a
com
posi
tion
tech
niqu
e, a
nd a
co
mpo
sitio
n la
ngua
ge.
Pro
f. U
. Aßm
ann,
CB
SE
6
Mot
ivat
ion
for C
ompo
nent
-Bas
ed D
evel
opm
ent
►
Div
ide-
and-
conq
uer (
Ale
xand
er th
e G
reat
) ■
Wel
l kno
wn
in o
ther
dis
cipl
ines
.
Mec
hani
cal e
ngin
eerin
g (e
.g.,
Ger
man
VD
I 222
1)
. E
lect
rical
eng
inee
ring
. A
rchi
tect
ure
►
Out
sour
cing
to c
ompo
nent
pro
duce
rs
■ C
ompo
nent
s of
f the
she
lf (C
OTS
) ■
Goa
l:
. R
euse
of p
artia
l sol
utio
ns
. E
asy
conf
igur
abili
ty o
f the
sys
tem
s: v
aria
nts,
ver
sion
s, p
rodu
ct fa
mili
es
►
Mas
s P
rodu
ced
Sof
twar
e C
ompo
nent
s [M
cIlro
y]
■ G
arm
isch
68,
NA
TO c
onfe
renc
e on
sof
twar
e en
gine
erin
g ■
Eve
ry ri
pe in
dust
ry is
bas
ed o
n co
mpo
nent
s, s
ince
thes
e al
low
to m
anag
e la
rge
syst
ems
■
Com
pone
nts
shou
ld b
e pr
oduc
ed in
mas
ses
and
com
pose
d to
sys
tem
s af
terw
ards
Pro
f. U
. Aßm
ann,
CB
SE
7
Mas
s-pr
oduc
ed S
oftw
are
Com
pone
nts
Yet t
his
fragi
le a
nalo
gy is
bel
ied
whe
n w
e se
ek fo
r ana
logu
es o
f oth
er
tang
ible
sym
bols
of m
ass
prod
uctio
n.
• The
re d
o no
t exi
st m
anuf
actu
rers
of s
tand
ard
parts
, muc
h le
ss c
atal
ogue
s of
sta
ndar
d pa
rts.
• O
ne m
ay n
ot o
rder
par
ts to
indi
vidu
al s
peci
ficat
ions
of s
ize,
rugg
edne
ss,
spee
d, c
apac
ity, p
reci
sion
or c
hara
cter
set
.
In th
e ph
rase
`mas
s pr
oduc
tion
tech
niqu
es,'
my
emph
asis
is o
n `te
chni
ques
' and
not
on
mas
s pr
oduc
tion
plai
n. O
f cou
rse
mas
s pr
oduc
tion,
in
the
sens
e of
lim
itles
s re
plic
atio
n of
a p
roto
type
, is
trivi
al fo
r sof
twar
e.
But
cer
tain
idea
s fro
m in
dust
rial t
echn
ique
I cl
aim
are
rele
vant
.
• The
idea
of s
ubas
sem
blie
s ca
rrie
s ov
er d
irect
ly a
nd is
wel
l exp
loite
d.
• The
idea
of i
nter
chan
geab
le p
arts
cor
resp
onds
roug
hly
to o
ur te
rm
`mod
ular
ity,'
and
is fi
tfully
resp
ecte
d.
• The
idea
of m
achi
ne to
ols
has
an a
nalo
gue
in a
ssem
bly
prog
ram
s an
d co
mpi
lers
.
Pro
f. U
. Aßm
ann,
CB
SE
8
Mas
s-pr
oduc
ed S
oftw
are
Com
pone
nts
►
Late
r McI
lroy
was
with
Bel
l Lab
s,
■ ..a
nd in
vent
ed p
ipes
, diff
, joi
n, e
cho
(UN
IX).
■
Pip
es a
re s
till t
oday
the
mos
t em
ploy
ed c
ompo
nent
sys
tem
!
►
Whe
re a
re w
e to
day?
Pro
f. U
. Aßm
ann,
CB
SE
9
Rea
l Com
pone
nt S
yste
ms
►
Lego
►
Squ
are
ston
es
►
Bui
ldin
g pl
ans
►
IC‘s
►
Har
dwar
e bu
s ►
How
do
they
diff
er fr
om s
oftw
are?
Pro
f. U
. Aßm
ann,
CB
SE
10
Def
initi
ons
of S
oftw
are
Com
pone
nts
A s
oftw
are
com
pone
nt is
a u
nit o
f com
posi
tion
• w
ith c
ontra
ctua
lly s
peci
fied
inte
rface
s •
and
expl
icit
cont
ext d
epen
denc
ies
only.
A s
oftw
are
com
pone
nt
• ca
n be
dep
loye
d in
depe
nden
tly a
nd
• is
sub
ject
to c
ompo
sitio
n by
third
par
ties.
(E
CO
OP
Wor
ksho
p W
CO
P 19
97 S
zype
rski
)
A re
usab
le s
oftw
are
com
pone
nt is
a
• lo
gica
lly c
ohes
ive,
•
loos
ely
coup
led
mod
ule
•
that
den
otes
a s
ingl
e ab
stra
ctio
n.
(Gra
dy B
ooch
)
A s
oftw
are
com
pone
nt is
a s
tatic
abs
tract
ion
with
plu
gs.
(Nie
rstra
sz/D
ami)
Pro
f. U
. Aßm
ann,
CB
SE
11
Wha
t is
a So
ftwar
e C
ompo
nent
?
►
A c
ompo
nent
is a
con
tain
er w
ith
■ co
nten
t (m
ost o
ften
code
sni
ppet
s/fra
gmen
ts)
■ va
riatio
n po
ints
■
exte
nsio
n po
ints
■
that
are
ada
pted
dur
ing
com
posi
tion
►
A c
ompo
nent
is a
reus
able
uni
t for
com
posi
tion
►
A c
ompo
nent
und
erlie
s a
com
pone
nt m
odel
■
that
fixe
s th
e ab
stra
ctio
n le
vel
■ th
at fi
xes
the
grai
n si
ze (w
idge
t or O
S?)
■
that
fixe
s th
e tim
e (s
tatic
or r
untim
e?)
Pro
f. U
. Aßm
ann,
CB
SE
12
Wha
t Is
A C
ompo
nent
-Bas
ed S
yste
m?
►
A c
ompo
nent
-bas
ed s
yste
m h
as th
e fo
llow
ing
divi
de-a
nd-c
onqu
er
feat
ure:
■
A c
ompo
nent
-bas
ed s
yste
m is
a s
yste
m in
whi
ch a
maj
or re
latio
nshi
p be
twee
n th
e co
mpo
nent
s is
tree
-sha
ped
or re
duci
ble.
■
See
cou
rse
Sof
twar
etec
hnol
ogie
-II
►
Con
sequ
ence
: the
ent
ire s
yste
m c
an b
e re
duce
d to
one
abs
tract
nod
e ■
at le
ast a
long
the
stru
ctur
ing
rela
tions
hip
►
Sys
tem
s w
ith la
yere
d re
latio
ns (d
ag-li
ke re
latio
ns) a
re n
ot n
eces
saril
y co
mpo
nent
-bas
ed.
■ B
ecau
se th
ey c
anno
t be
redu
ced
►
Bec
ause
of t
he d
ivid
e-an
d-co
nque
r pro
perty
, com
pone
nt-b
ased
de
velo
pmen
t is
attra
ctiv
e.
►
How
ever
, we
have
to c
hoos
e th
e st
ruct
urin
g re
latio
n an
d th
e co
mpo
sitio
n m
odel
►
Mai
nly,
2 ty
pes
of c
ompo
nent
mod
els
are
know
n ■
Mod
ular
dec
ompo
sitio
n (b
lack
box)
■ S
epar
atio
n of
con
cern
s (g
rayb
ox)
Pro
f. U
. Aßm
ann,
CB
SE
13
Com
pone
nt S
yste
ms
(Com
pone
nt P
latfo
rms)
fo
r des
crip
tion
of
com
pone
nts
fo
r com
posi
tions
of
com
pone
nts
Com
pone
nt M
odel
C
ompo
sitio
n Te
chni
que
►
We
call
a te
chno
logy
in w
hich
com
pone
nt-b
ased
sys
tem
s ca
n be
pr
oduc
ed a
com
pone
nt s
yste
m o
r com
pone
nt p
latfo
rm.
►
A c
ompo
nent
sys
tem
has
Pro
f. U
. Aßm
ann,
CB
SE
14
Com
posi
tion
Syst
ems
Com
posi
tion
Lang
uage
fo
r pro
gram
min
g-in
-the-
larg
e an
d ar
chite
ctur
e
Com
pone
nt M
odel
C
ompo
sitio
n Te
chni
que
►
A c
ompo
sitio
n sy
stem
has
Pro
f. U
. Aßm
ann,
CB
SE
15
Cla
ssic
al
Com
pone
nt S
yste
ms
Arc
hite
ctur
e Sy
stem
s
Asp
ect S
yste
ms
View
Sys
tem
s
Dar
win
B
PMN
HR
C
Asp
ect/J
A
OM
Inva
sive
Com
posi
tion
Picc
ola
Glo
o
Stan
dard
Com
pone
nts
Ref
lect
ion
Arc
hite
ctur
e as
Asp
ect
Con
nect
ors
Asp
ect S
epar
atio
n C
ross
cutti
ng
Com
posi
tion
Ope
rato
rs
Com
posi
tion
Lang
uage
Obj
ect-O
rient
ed S
yste
ms
C++
J
ava
UM
L co
mpo
nent
s O
bjec
ts a
s R
un-T
ime
Com
pone
nts
Mod
ular
Sys
tem
s M
odul
es a
s C
ompi
le-
Tim
e C
ompo
nent
s
Com
posi
tion
Filte
rs
Hyp
ersp
aces
Softw
are
Com
posi
tion
Sy
stem
s
.NET
CO
RB
A B
eans
EJ
B
Arc
hJav
a
The
Ladd
er o
f Com
posi
tion
Syst
ems Sh
ell s
crip
ts
Mod
ula
A
da-8
5
Pro
f. U
. Aßm
ann,
CB
SE
16
Des
ider
ata
for F
lexi
ble
Softw
are
Com
posi
tion
►
Com
pone
nt M
odel
: ■
How
do
com
pone
nts
look
like
?
■ S
ecre
ts, i
nter
face
s, s
ubst
ituta
bilit
y
►
Com
posi
tion
Tech
niqu
e ■
How
are
com
pone
nts
plug
ged
toge
ther
, com
pose
d, m
erge
d, a
pplie
d?
■ C
ompo
sitio
n tim
e (D
eplo
ymen
t, C
onne
ctio
n, ..
.)
►
Com
posi
tion
Lang
uage
■
How
are
com
posi
tions
of l
arge
sys
tem
s de
scrib
ed?
■
How
are
sys
tem
bui
lds
man
aged
?
►
Be
awar
e: th
is li
st is
NO
T co
mpl
ete!
Pro
f. U
. Aßm
ann,
CB
SE
17
Des
ider
ata
Com
pone
nt M
odel
►
CM
-M: M
odul
arity
■
M1
Com
pone
nt in
terfa
ces
and
secr
ets
(info
rmat
ion
hidi
ng):
.
Exp
licit
spec
ifica
tion
of in
terfa
ces
(con
tact
poi
nts,
exc
hang
e po
ints
, bi
ndin
g po
ints
, var
iatio
n po
ints
, ex
tens
ion
poin
ts)
. E
xplic
it sp
ecifi
catio
n of
de
pend
enci
es: P
rovi
ded
and
requ
ired
inte
rface
s .
Loca
tion,
way
of d
eplo
ymen
t .
Com
pone
nt li
fetim
e ■
M2
Sem
antic
sub
stitu
tabi
lity
(con
form
ance
, con
tract
s)
. C
M-M
2.1
Syn
tact
ic s
ubst
ituta
bilit
y (ty
ping
) .
CM
-M2.
2 Fu
nctio
nal c
ontra
cts
. C
M-M
2.3
Qua
lity
cont
ract
s ■
M3
Con
tent
.
Com
pone
nt la
ngua
ge m
etam
odel
►
CM
-P: P
aram
eter
izat
ion
of
com
pone
nts
to th
eir r
euse
co
ntex
t ■
P1
Gen
eric
type
par
amet
ers
■ P
2 G
ener
ic p
rogr
am e
lem
ents
■
P3
Pro
perty
par
amet
eriz
atio
n
►
CM
-S: S
tand
ardi
zatio
n ■
S1
Ope
n st
anda
rds
– or
pro
prie
tary
on
es
■ S
2 S
tand
ard
com
pone
nts
■ S
3 S
tand
ard
serv
ices
Pro
f. U
. Aßm
ann,
CB
SE
18
Des
ider
ata
Com
posi
tion
Tech
niqu
e
►
CT-
C: C
onne
ctio
n an
d A
dapt
atio
n ■
C1:
Aut
omat
ic C
ompo
nent
Ada
ptat
ion:
ad
apt t
he c
ompo
nent
inte
rface
to
anot
her i
nter
face
■
C2:
Aut
omat
ic G
luei
ng: G
ener
atio
n of
gl
ue c
ode
for c
omm
unic
atio
n,
sync
hron
izat
ion,
dis
tribu
tion.
Con
sist
s of
a s
eque
nce
of a
dapt
atio
ns
►
CT-
E: E
xten
sibi
lity
■ E
1: B
ase
Cla
ss E
xten
sion
: can
bas
e cl
asse
s be
ext
ende
d?
. E
1.1
Gen
erat
ed fa
ctor
ies:
can
fa
ctor
ies
be g
ener
ated
.
E1.
2 G
ener
ated
acc
ess
laye
rs
■ E
2: V
iew
s. U
se-b
ased
ext
ensi
ons:
C
an a
use
of a
com
pone
nt e
xten
d th
e co
mpo
nent
? ■
E3:
Inte
grat
ed E
xten
sion
s. C
an
exte
nsio
ns b
e in
tegr
ated
?
►
CT-
A: A
spec
t sep
arat
ion
■ A
S1:
Asp
ect w
eavi
ng: E
xten
sion
by
cros
scut
ting
view
s
■ A
S2:
Mul
tiple
inte
rface
s of
a
com
pone
nt
►
CT-
S: S
cala
bilit
y (C
ompo
sitio
n tim
e)
■ S
C1:
Bin
ding
tim
e hi
ding
■
SC
2: B
indi
ng te
chni
que
hidi
ng
►
CT-
M: M
etam
odel
ling
■ M
M1:
Intro
spec
tion
and
refle
ctio
n (m
etam
odel
). C
an o
ther
co
mpo
nent
s be
int
rosp
ecte
d? T
he
com
pone
nt it
self?
■
MM
2: M
etao
bjec
t pro
toco
l: is
the
sem
antic
s of
the
com
pone
nt
spec
ified
refle
ctiv
ely?
■
CT-
I: To
ol s
uppo
rt fo
r com
posi
tion
■ E
dito
rs, c
heck
ers,
val
idat
ors
Pro
f. U
. Aßm
ann,
CB
SE
19
Des
ider
ata
Com
posi
tion
Lang
uage
►
CL-
C: P
rodu
ct C
onsi
sten
cy
■ V
aria
nt c
lean
ness
: con
sist
ent c
onfig
urat
ions
■ R
obus
tnes
s: a
bsen
ce o
f run
-tim
e ex
cept
ions
►
CL-
P: S
oftw
are
Proc
ess
Supp
ort
■ B
uild
man
agem
ent a
utom
atio
n
►
CL-
M: M
eta-
com
posi
tion
■ Is
the
com
posi
tion
lang
uage
com
pone
nt-b
ased
, i.e
., ca
n it
be c
ompo
sed
itsel
f?
■ R
euse
of a
rchi
tect
ures
►
CL-
A: A
rchi
tect
ural
sty
les
(com
posi
tion
styl
es)
■ C
onst
rain
ts fo
r the
com
posi
tion
Pro
f. U
. Aßm
ann,
CB
SE
20
Serv
ice
Com
pone
nts
►
A s
ervi
ce c
ompo
nent
is a
sof
twar
e co
mpo
nent
who
se lo
catio
n, s
tyle
of
dep
loym
ent,
and
nam
e is
not
kno
wn.
■
It is
des
crib
ed b
y m
etad
ata
(attr
ibut
es)
■ [fr
om G
reen
field
/Sho
rt, S
oftw
are
Fact
orie
s, A
WL]
CB
SE
, © P
rof.
Uw
e A
ßman
n 21
1.2
His
toric
al A
ppro
ache
s to
C
ompo
nent
s
Pro
f. U
. Aßm
ann,
CB
SE
22
The
Esse
nce
of th
e 60
s-90
s:
LEG
O S
oftw
are
with
Bla
ck-B
ox C
ompo
sitio
n
►
Pro
cedu
ral s
yste
ms,
stre
am-b
ased
sys
tem
s ►
Mod
ular
sys
tem
s ►
Obj
ect-o
rient
ed te
chno
logy
►
Com
pone
nt-b
ased
pro
gram
min
g
■ C
OR
BA
, EJB
, DC
OM
, CO
M+,
.NE
T, O
SG
I
►
Arc
hite
ctur
e la
ngua
ges
Com
posi
tion
reci
pe
Con
nect
ors
Com
pone
nts
Com
pone
nt-b
ased
ap
plic
atio
ns
Pro
f. U
. Aßm
ann,
CB
SE
23
Proc
edur
e Sy
stem
s
►
Fortr
an, A
lgol
, C
►
The
proc
edur
e is
the
stat
ic c
ompo
nent
►
The
activ
atio
n re
cord
the
dyna
mic
one
►
Com
pone
nt m
odel
is s
uppo
rted
by a
lmos
t all
chip
s di
rect
ly
■ ju
mpS
ubro
utin
e --
retu
rn
Sei
te 2
3 U
we
Aßm
ann,
17.0
7.20
03,
Caller
Callee
Linker
Pro
f. U
. Aßm
ann,
CB
SE
24
Proc
edur
es a
s C
ompo
sitio
n Sy
stem
Component Model
Composition Technique
Composition Language
Con
tent
: bin
ary
code
with
sym
bols
Bin
ding
poi
nts:
link
er s
ymbo
ls
proc
edur
es (w
ith p
aram
eter
s) a
nd
glob
al v
aria
bles
Con
nect
ion
by li
nkin
g ob
ject
file
s
Pro
gram
tran
sfor
mat
ion
on o
bjec
t file
s
Com
posi
tion
time:
link
-tim
e, s
tatic
Pro
f. U
. Aßm
ann,
CB
SE
25
Mod
ules
(Inf
orm
atio
n-H
idin
g-B
ased
Des
ign
a la
Par
nas)
►
Eve
ry m
odul
e hi
des
the
an im
porta
nt d
esig
n de
cisi
on b
ehin
d a
wel
l-de
fined
inte
rface
whi
ch d
oes
not c
hang
e w
hen
the
deci
sion
ch
ange
s.
W
e ca
n at
tem
pt to
def
ine
our m
odul
es “a
roun
d” a
ssum
ptio
ns w
hich
are
like
ly to
cha
nge.
One
then
des
igns
a m
odul
e w
hich
“hid
es” o
r con
tain
s ea
ch o
ne.
Suc
h m
odul
es h
ave
rath
er a
bstra
ct
inte
rface
s w
hich
are
rela
tivel
y un
likel
y to
ch
ange
. Module
Module
Linker
■ S
tatic
bin
ding
of f
unct
iona
l int
erfa
ces
to e
ach
othe
r
■ C
once
pt h
as p
enet
rate
d al
mos
t all
prog
ram
min
g
lang
uage
s (M
odul
a, A
da, J
ava,
C++
, Sta
ndar
d M
L,
C#)
Pro
f. U
. Aßm
ann,
CB
SE
26
Link
er
Bou
nd p
roce
dure
sy
mbo
ls, n
o
glue
cod
e
A L
inke
r is
a St
atic
Com
posi
tion
Ope
rato
r
Prov
ided
Req
uire
d
►
Sta
tic li
nker
s co
mpo
se m
odul
es a
t lin
k tim
e ►
Dyn
amic
link
ers
at ru
n tim
e
Pro
f. U
. Aßm
ann,
CB
SE
27
Mod
ules
as
Com
posi
tion
Syst
em
Component Model
Composition Technique
Composition Language
Con
tent
: gro
ups
of p
roce
dure
s
Bin
ding
poi
nts:
link
er s
ymbo
ls
proc
edur
es (w
ith p
aram
eter
s) a
nd
glob
al v
aria
bles
Con
nect
ion
by li
nkin
g ob
ject
file
s
Pro
gram
tran
sfor
mat
ion
on o
bjec
t file
s
Com
posi
tion
time:
link
-tim
e, s
tatic
Pro
f. U
. Aßm
ann,
CB
SE
28
►
Com
mun
icat
ion
can
take
pla
ce o
nce
or m
any
times
►
By
Cal
ls (s
ingu
lar)
or S
trea
ms
(con
tinuo
us)
►
UN
IX s
hells
offe
r a c
ompo
nent
mod
el fo
r stre
ams
■ E
xtre
mel
y fle
xibl
e, s
impl
e ■
Com
mun
icat
ion
with
byt
e st
ream
s, p
arsi
ng a
nd li
near
izin
g th
e ob
ject
s
►
Com
pone
nt m
odel
■
Con
tent
: unk
now
n (d
epen
s on
par
sing
), ex
tern
ally
byt
es
■ B
indi
ng p
oint
s: s
tdin
/std
out/s
tder
r por
ts
■ M
ore
secr
ets:
dis
tribu
tion,
par
alle
lism
etc
►
Com
posi
tion
tech
niqu
e: m
anip
ulat
ion
of b
yte
stre
ams
■ A
dapt
atio
n: fi
lter a
roun
d ot
her c
ompo
nent
s. F
ilter
lang
uage
s su
ch a
s se
d, a
wk,
per
l ■
Bin
ding
tim
e: s
tatic
, stre
ams
are
conn
ecte
d (v
ia fi
lters
) dur
ing
com
posi
tion
►
Com
posi
tion
lang
uage
s ■
C, s
hell,
tcl/t
k, p
ytho
n, p
erl…
■
Bui
ld m
anag
emen
t lan
guag
e m
akef
ile
UN
IX P
ipes
and
Filt
ers
(McI
lroy)
stdi
n Fi
lter
Filte
r
stdo
ut
stde
rr
stdi
n
pipe
Pro
f. U
. Aßm
ann,
CB
SE
29
S
eite
29
Uw
e A
ßman
n, 17
.07.
2003
, sd
&m
-Kon
fere
nz 2
003:
Web
Ser
vice
s
Shel
ls a
nd P
ipes
as
Com
posi
tion
Syst
em
Component Model
Composition Technique
Composition Language
Con
tent
: unk
now
n (d
ue to
par
sing
), ex
tern
ally
byt
es
Bin
ding
poi
nts:
std
in/o
ut p
orts
Sec
rets
: dis
tribu
tion,
par
alle
lism
Ada
ptat
ion:
filte
r aro
und
othe
r com
pone
nts
Filte
r lan
guag
es s
uch
as s
ed, a
wk,
per
l
Bin
ding
tim
e: s
tatic
C, s
hell,
tcl/t
k, p
ytho
n…
Bui
ld m
anag
emen
t lan
guag
e m
akef
ile
Vers
ion
man
agem
ent w
ith s
ccs
rcs
cvs
Pro
f. U
. Aßm
ann,
CB
SE
30
Com
mun
icat
ion
• B
lack
-box
com
pone
nts
com
mun
icat
e ei
ther
•
Via
cal
ls (s
ingu
lar)
: à
alg
ebra
ic d
ata
type
s, in
duct
ion
• V
ia s
tream
s (c
ontin
uous
) à c
oalg
ebra
ic d
ata
type
s, c
oind
uctio
n
Pro
f. U
. Aßm
ann,
CB
SE
31
S
eite
31
Uw
e A
ßman
n, 17
.07.
2003
, sd
&m
-Kon
fere
nz 2
003:
Web
Ser
vice
s
Obj
ect-O
rient
ed S
yste
ms
►
Com
pone
nts:
obj
ects
(run
time)
and
cla
sses
(com
pile
tim
e)
■ O
bjec
ts a
re in
stan
ces
of c
lass
es (m
odul
es) w
ith u
niqu
e id
entit
y
■ O
bjec
ts h
ave
runt
ime
stat
e
■ La
te b
indi
ng o
f cal
ls b
y se
arch
at r
untim
e
Caller
Object
dispatch
Callee
Callee
Callee
Pro
f. U
. Aßm
ann,
CB
SE
32
Obj
ect-O
rient
ed S
yste
ms
►
Com
pone
nt M
odel
■
Con
tent
: cod
e (s
tatic
) and
val
ues
(dyn
amic
)
■ B
indi
ng p
oint
s:
. m
onom
orph
ic c
alls
(sta
tic c
alls
) .
poly
mor
pic
calls
(dyn
amic
ally
dis
patc
hed
calls
)
►
Com
posi
tion
Tech
niqu
e ■
Ada
ptat
ion
by in
herit
ance
or d
eleg
atio
n
■ E
xten
sibi
lity
by s
ubcl
assi
ng
►
Com
posi
tion
Lang
uage
: non
e
Pro
f. U
. Aßm
ann,
CB
SE
33
S
eite
33
Uw
e A
ßman
n, 17
.07.
2003
, sd
&m
-Kon
fere
nz 2
003:
Web
Ser
vice
s
Obj
ect-O
rient
atio
n as
Com
posi
tion
Syst
em
Component Model
Composition Technique
Composition Language
Con
tent
: bin
ary
files
, obj
ects
Bin
ding
poi
nts:
sta
tic a
nd
poly
mor
phic
cal
ls (d
ynam
ical
ly
disp
atch
ed c
alls
)
Ada
ptat
ion
by in
herit
ance
or d
eleg
atio
n
Ext
ensi
bilit
y by
sub
clas
sing
Pro
f. U
. Aßm
ann,
CB
SE
34
►
[Pre
e] A
n ob
ject
-orie
nted
fram
ewor
k co
nsis
ts o
f a s
et o
f tem
plat
e cl
asse
s w
hich
can
be
para
met
eriz
ed b
y ho
ok c
lass
es (p
aram
eter
cl
asse
s)
►
This
prin
cipl
e ca
n be
tran
sfer
red
to m
any
othe
r com
posi
tion
syst
ems
Obj
ect-O
rient
ed S
yste
ms:
Fra
mew
orks
Hoo
k cl
ass
Tem
plat
e cl
ass
Form
al p
aram
eter
Act
ual
para
met
er
Pro
f. U
. Aßm
ann,
CB
SE
35
O-O
Fra
mew
orks
►
Com
pone
nt M
odel
■
Bin
ding
poi
nts:
Hot
spo
ts to
exc
hang
e th
e pa
ram
eter
cla
sses
(set
s of
po
lym
orph
ic m
etho
ds)
. V
aria
tion
poin
ts: 1
out
-of n
cho
ice
. E
xten
sion
poi
nts:
arb
itrar
ily m
any
exte
nsio
ns
►
Com
posi
tion
Tech
niqu
e ■
Sam
e as
OO
►
Com
post
ion
lang
uage
■
Sam
e as
OO
Pro
f. U
. Aßm
ann,
CB
SE
36
Com
mer
cial
Com
pone
nt S
yste
ms
(CO
TS, C
ompo
nent
s of
f the
She
lf)
►
CO
RB
A/D
CO
M/.N
ET/
Java
Bea
ns/E
JB
►
Alth
ough
diff
eren
t on
the
first
sig
ht, t
urn
out t
o be
rath
er s
imila
r
Sof
twar
e bu
s (m
edia
tor,
brok
er, c
onne
ctor
)
Caller
Object
Callee
(Server)
Pro
f. U
. Aßm
ann,
CB
SE
37
CO
RB
A
http
://w
ww
.om
g.or
g/co
rba
►
Lang
uage
inde
pend
ent,
dist
ribut
ion
trans
pare
nt
►
inte
rface
def
initi
on la
ngua
ge ID
L ►
sour
ce c
ode
or b
inar
y
Cli
en
t Ja
va
Serv
er
C+
+ C
lien
t C
IDL S
tub
IDL
skele
ton
IDL S
tub
O
bje
ct R
eq
uest
Bro
ker
(OR
B), T
rad
er,
Serv
ices
Ob
ject
ad
ap
ter
Pro
f. U
. Aßm
ann,
CB
SE
38
(D)C
OM
(+),
Act
iveX
ht
tp://
ww
w.a
ctiv
ex.o
rg
►
Mic
roso
ft’s
mod
el is
sim
ilar t
o C
OR
BA
. Pro
prie
tary
►
DC
OM
is a
bin
ary
stan
dard
Cli
en
t V
Basi
c Serv
er
C+
+ C
lien
t C
++
CO
M s
tub
CO
M
skele
ton
CO
M s
tub
M
on
ikers
, R
eg
istr
y
Serv
er
C+
+
IDL
skele
ton
Ob
ject
ad
ap
ter
Pro
f. U
. Aßm
ann,
CB
SE
39
Java
Ent
erpr
ise
Bea
ns
►
Java
onl
y, e
vent
-bas
ed, t
rans
pare
nt d
istri
butio
n by
rem
ote
met
hod
invo
catio
n (R
MI)
►
sour
ce c
ode/
byte
code
-bas
ed
Bean
Java
Bean
Ja
va
Bean
Java
E
ven
t In
foBu
s, R
MI
Serv
er
C+
+
IDL
skele
ton
Ob
ject
ad
ap
ter
Pro
f. U
. Aßm
ann,
CB
SE
40
.NET
ht
tp://
ww
w.m
icro
soft.
com
►
Lang
uage
inde
pend
ent,
dist
ribut
ion
trans
pare
nt
►
NO
inte
rface
def
initi
on la
ngua
ge ID
L (a
t lea
st fo
r C#)
►
sour
ce c
ode
or b
ytec
ode
MS
IL
►
Com
mon
Lan
guag
e R
untim
e C
LR
Cli
en
t Ja
va
Serv
er
C+
+ C
lien
t C
#
.net-
CLR
.net-
CLR
.net-
CLR
CLR
Pro
f. U
. Aßm
ann,
CB
SE
41
CO
TS
►
Com
pone
nt M
odel
■
Con
tent
: bin
ary
com
pone
nts
■ S
ecre
ts: D
istri
butio
n, im
plem
enta
tion
lang
uage
■ B
indi
ng p
oint
s ar
e st
anda
rdiz
ed
. D
escr
ibed
by
IDL
lang
uage
s
. se
t/get
pro
perti
es
. st
anda
rd in
terfa
ces
such
as
IUnk
now
n (Q
uery
Inte
rface
)
►
Com
posi
tion
Tech
niqu
e ■
Ext
erna
l ada
ptat
ion
for d
istri
bute
d sy
stem
s (m
arsh
allin
g) a
nd m
ixed
-lang
uage
sy
stem
s (ID
L)
■ D
ynam
ic c
all i
n C
OR
BA
►
Com
posi
tion
Lang
uage
■
e.g.
, Vis
ual B
asic
for C
OM
Pro
f. U
. Aßm
ann,
CB
SE
42
S
eite
42
Uw
e A
ßman
n, 17
.07.
2003
, sd
&m
-Kon
fere
nz 2
003:
Web
Ser
vice
s
CO
TS a
s C
ompo
sitio
n Sy
stem
Component Model
Composition Technique
Composition Language
Con
tent
: bin
ary
com
pone
nts
Bin
ding
poi
nts
are
stan
dard
ized
D
escr
ibed
by
IDL,
Sta
ndar
d in
terfa
ces
Sec
rets
: dis
tribu
tion,
lang
uage
Ada
ptat
ion
for d
istri
bute
d sy
stem
s (m
arsh
allin
g) a
nd m
ixed
-lang
uage
sys
tem
s
Dyn
amic
cal
l in
CO
RB
A
Visu
alB
asic
for C
OM
Pro
f. U
. Aßm
ann,
CB
SE
43
Arc
hite
ctur
e Sy
stem
s
►
Uni
con,
AC
ME
, Dar
win
, Reo
■
feat
ure
an A
rchi
tect
ure
Des
crip
tion
Lang
uage
(AD
L)
►
Spl
it an
app
licat
ion
into
: ■
App
licat
ion-
spec
ific
part
(enc
apsu
late
d in
com
pone
nts)
■
Arc
hite
ctur
e an
d co
mm
unic
atio
n (in
arc
hite
ctur
al d
escr
iptio
n in
AD
L)
■ B
ette
r reu
se s
ince
bot
h di
men
sion
s ca
n be
var
ied
inde
pend
ently
Pro
f. U
. Aßm
ann,
CB
SE
44
Con
nect
or
Por
t In
terfa
ce
Rol
e
Com
pone
nt M
odel
in
Arc
hite
ctur
e Sy
stem
s
►
Port
s ab
stra
ct in
terfa
ce c
omm
unic
atio
n po
ints
■
in(d
ata)
, out
(dat
a)
■ C
ompo
nent
s m
ay b
e ne
sted
►
Con
nect
ors
as s
peci
al c
omm
unic
atio
n co
mpo
nent
s ►
Coo
rdin
ator
s as
hig
her-
leve
l arc
hite
ctur
al s
tyle
s
Pro
f. U
. Aßm
ann,
CB
SE
45
Arc
hite
ctur
e ca
n be
exc
hang
ed in
depe
nden
tly
of c
ompo
nent
s
Po
rt 2
Po
rt 1
Po
rt Po
rt C
om
ponen
t
Com
ponen
t
Com
ponen
t
►
Reu
se o
f com
pone
nts
and
arch
itect
ures
is fu
ndam
enta
lly im
prov
ed
Pro
f. U
. Aßm
ann,
CB
SE
46
The
Com
posi
tion
Lang
uage
: AD
L
►
Arc
hite
ctur
e la
ngua
ge (a
rchi
tect
ural
des
crip
tion
lang
uage
, AD
L)
■ A
DL-
com
pile
r
■ X
ML-
Rea
ders
/Writ
ers
for A
DL.
XA
DL
is a
new
sta
ndar
d ex
chan
ge la
ngua
ge fo
r A
DL
base
d on
XM
L
►
Gra
phic
edi
ting
of s
yste
ms
►
Che
ckin
g, a
naly
sing
, sim
ulat
ing
syst
ems
■ D
umm
y te
sts
■ D
eadl
ock
chec
kers
■ Li
vene
ss c
heck
ing
Pro
f. U
. Aßm
ann,
CB
SE
47
AC
ME
Stud
io
Pro
f. U
. Aßm
ann,
CB
SE
48
Arc
hite
ctur
e Sy
stem
s as
Com
posi
tion
Syst
ems
Component Model
Composition Technique
Composition Language
Sou
rce
or b
inar
y co
mpo
nent
s
Bin
ding
poi
nts:
por
ts
Ada
ptat
ion
and
glue
cod
e by
con
nect
ors
Sca
ling
by e
xcha
nge
of c
onne
ctor
s
Arc
hite
ctur
al la
ngua
ge
Pro
f. U
. Aßm
ann,
CB
SE
49
Web
Ser
vice
s an
d th
eir L
angu
ages
as
Spec
ific
AD
L
■ La
ngua
ges:
BP
EL,
BP
NM
►
Bin
ding
pro
cedu
re is
inte
rpre
ted,
not
com
pile
d
►
Mor
e fle
xibl
e th
an b
inar
y co
nnec
tors
:
■ W
hen
inte
rface
cha
nges
, no
reco
mpi
latio
n an
d re
bind
ing
■ P
roto
col-i
ndep
ende
nt
Caller
Object
Mediator
Callee
(Server)
SOAP
interpretation
Pro
f. U
. Aßm
ann,
CB
SE
50
Web
Ser
vice
s as
Com
posi
tion
Syst
em
Component Model
Composition Technique
Composition Language
Con
tent
: not
impo
rtant
Inte
rface
Def
initi
on L
angu
age
WS
DL
Bin
ding
poi
nts
are
desc
ribed
by
XM
L
Bin
ding
pro
cedu
re is
inte
rpre
tatio
n of
SO
AP
Sec
rets
: dis
tribu
tion,
impl
emen
tatio
n la
ngua
ge
Ada
ptat
ion
for d
istri
bute
d sy
stem
s (m
arsh
allin
g) a
nd m
ixed
-lang
uage
sys
tem
s
Glu
e: S
OA
P, H
TTP
UD
DI,
BP
EL,
BP
MN
Pro
f. U
. Aßm
ann,
CB
SE
51
Wha
t the
Com
posi
tion
Lang
uage
Offe
rs fo
r the
So
ftwar
e Pr
oces
s
►
Com
mun
icat
ion
■ C
lient
can
und
erst
and
the
arch
itect
ure
grap
hics
wel
l ■
Arc
hite
ctur
e st
yles
cla
ssify
the
natu
re o
f a s
yste
m in
sim
ple
term
s (s
imila
r to
desi
gn p
atte
rns)
►
Des
ign
supp
ort
■ R
efin
emen
t of a
rchi
tect
ures
(ste
pwis
e de
sign
, des
ign
to s
ever
al le
vels
) ■
Vis
ual a
nd te
xtua
l vie
ws
to th
e so
ftwar
e re
sp. t
he d
esig
n
►
Val
idat
ion:
Too
ls fo
r con
sist
ency
of a
rchi
tect
ures
■
Are
all
ports
bou
nd?
Do
all p
roto
cols
fit?
■
Doe
s th
e ar
chite
ctur
e co
rres
pond
s to
a c
erta
in s
tyle
? O
r to
a m
odel
ar
chite
ctur
e?
■ P
aral
lelis
m fe
atur
es a
s de
adlo
cks,
fairn
ess,
live
ness
, ■
Dea
d pa
rts o
f the
sys
tem
s
►
Impl
emen
tatio
n: G
ener
atio
n of
larg
e pa
rts o
f the
com
mun
icat
ions
an
d ar
chite
ctur
e
Pro
f. U
. Aßm
ann,
CB
SE
52
Com
posi
tion
reci
pe
Con
nect
ors
Com
pone
nts
Com
pone
nt-b
ased
ap
plic
atio
ns
Bla
ck-B
ox C
ompo
sitio
n
Pro
f. U
. Aßm
ann,
CB
SE
53
The
Esse
nce
of B
lack
-Box
Com
posi
tion
►
3 P
robl
ems
in S
yste
m c
onst
ruct
ion
■
Var
iabi
lity
■ E
xten
sibi
lity
■ A
dapt
atio
n
►
In “D
esig
n P
atte
rns
and
Fram
ewor
ks”,
we
lear
ned
abou
t des
ign
patte
rns
to ta
ckle
thes
e pr
oble
ms
►
Bla
ck-b
ox c
ompo
sitio
n su
ppor
ts v
aria
bilit
y an
d ad
apta
tion
■ no
t ext
ensi
bilit
y
Pro
f. U
. Aßm
ann,
CB
SE
54
Cla
ssic
al
Com
pone
nt S
yste
ms
Arc
hite
ctur
e Sy
stem
s
Asp
ect S
yste
ms
View
Sys
tem
s
Dar
win
B
PMN
HR
C
Asp
ect/J
A
OM
Inva
sive
Com
posi
tion
Picc
ola
Glo
o
Stan
dard
Com
pone
nts
Ref
lect
ion
Arc
hite
ctur
e as
Asp
ect
Con
nect
ors
Asp
ect S
epar
atio
n C
ross
cutti
ng
Com
posi
tion
Ope
rato
rs
Com
posi
tion
Lang
uage
Obj
ect-O
rient
ed S
yste
ms
C++
J
ava
UM
L co
mpo
nent
s O
bjec
ts a
s R
un-T
ime
Com
pone
nts
Mod
ular
Sys
tem
s M
odul
es a
s C
ompi
le-
Tim
e C
ompo
nent
s
Com
posi
tion
Filte
rs
Hyp
ersp
aces
Softw
are
Com
posi
tion
Sy
stem
s
.NET
CO
RB
A B
eans
EJ
B
Arc
hJav
a
The
Ladd
er o
f Com
posi
tion
Syst
ems Sh
ell s
crip
ts
Mod
ula
A
da-8
5
CB
SE
, © P
rof.
Uw
e A
ßman
n 55
1.3
Gra
y-bo
x C
ompo
nent
Mod
els
Pro
f. U
. Aßm
ann,
CB
SE
56
Gre
y-B
ox C
ompo
nent
Mod
els:
Th
e D
evel
opm
ent o
f the
Las
t Yea
rs
►
View
-bas
ed P
rogr
amm
ing
►
Com
pone
nt m
erge
(int
egra
tion)
►
Com
pone
nt e
xten
sion
►
Asp
ect-o
rient
ed P
rogr
amm
ing
►
View
s ca
n cr
oss-
cut c
ompo
nent
s
Gra
y-bo
x co
mpo
sitio
n m
erge
s de
sign
-tim
e co
mpo
nent
s to
run-
time
com
pone
nts
B
lack
-box
com
posi
tion
leav
es d
esig
n-tim
e co
mpo
nent
s un
touc
hed
(1:1
rela
tions
hip)
Pro
f. U
. Aßm
ann,
CB
SE
57
Stru
ctur
e M
edia
pla
n
Ligh
t pla
n W
ater
pip
le p
lan
Inte
grat
ed
hous
e
Asp
ects
in A
rchi
tect
ure
Pro
f. U
. Aßm
ann,
CB
SE
58
Deb
uggi
ng
asp
ect
Pers
iste
nce
aspe
ct A
lgor
ithm
Deb
uggi
ng a
spec
t Pe
rsis
tenc
e as
pect
Pers
iste
nce
aspe
ct D
ebug
ging
asp
ect
Wea
ver-
Tool
Deb
uggi
ng a
spec
t
Asp
ects
in S
oftw
are
Pro
f. U
. Aßm
ann,
CB
SE
59
Asp
ect W
eave
rs D
istr
ibut
e A
dvic
e C
ompo
nent
s ov
er C
ore
Com
pone
nts
Dis
trib
utor
►
Asp
ects
are
cro
sscu
tting
►
Hen
ce, a
spec
t fun
ctio
nalit
y m
ust
be d
istri
bute
d ov
er th
e co
re
►
The
dist
ribut
ion
is c
ontro
lled
by
a cr
ossc
ut g
raph
A
spec
t
Cor
e
Cro
sscu
t gr
aph
Pro
f. U
. Aßm
ann,
CB
SE
60
Asp
ect S
yste
ms
As
Com
posi
tion
Syst
ems
Component Model
Composition Technique
Composition Language
Cor
e- a
nd a
spec
t com
pone
nts
Asp
ects
are
rela
tive
and
cros
scut
ting
Bin
ding
poi
nts:
join
poi
nts
Ada
ptat
ion
and
glue
cod
e by
wea
ving
Wea
ving
is d
istri
butio
n
Wea
ving
Lan
guag
e
CB
SE
, © P
rof.
Uw
e A
ßman
n 61
1.3.
1 Fu
ll-Fl
edge
d C
ompo
sitio
n Sy
stem
s
Pro
f. U
. Aßm
ann,
CB
SE
62
Com
posi
tion
Syst
ems
Com
pone
nt M
odel
Com
posi
tion
Lang
uage
Com
posi
tion
Exp
ress
ions
C
ompo
sitio
n P
rogr
ams
Com
posi
tion
Tech
niqu
e C
ompo
sitio
n O
pera
tors
B
lack
-boy
: con
nect
, ada
pt
Gra
y-B
ox: e
xten
d, m
ixin
, mer
ge, w
eave
Pro
f. U
. Aßm
ann,
CB
SE
63
Com
posi
tion
Syst
ems
►
All
the
follo
win
g co
mpo
sitio
n sy
stem
s su
ppor
t ful
l bla
ck-b
ox a
nd g
rey-
box
com
posi
tion,
as
wel
l as
full-
fledg
ed c
ompo
sitio
n la
ngua
ges:
►
Com
posi
tion
filte
rs [A
ksit,
Ber
gman
s]
►
Hyp
ersp
ace
Pro
gram
min
g [O
sshe
r et a
l., IB
M]
►
Pic
cola
[Nie
rstra
sz e
t al.,
Ber
ne]
►
Inva
sive
sof
twar
e co
mpo
sitio
n (IS
C) [
Aßm
ann]
►
Form
al c
alcu
li ■
Lam
bda-
N c
alcu
lus
[Dam
i] ■
Lam
bda-
F ca
lcul
us [L
umpe
]
Pro
f. U
. Aßm
ann,
CB
SE
64
Clie
nt
Libr
ary
Clie
nt
Libr
ary
Bla
ckbo
x co
nnec
tion
with
glu
e co
de
Bla
ckbo
x C
ompo
sitio
n
Con
nect
ors
are
Com
posi
tion
Ope
rato
rs
Usu
ally
, con
nect
ors
conn
ect (
glue
) bla
ck-b
ox c
ompo
nent
s fo
r co
mm
unic
atio
n
Pro
f. U
. Aßm
ann,
CB
SE
65
Clie
nt
Libr
ary
Clie
nt
Libr
ary
Bla
ckbo
x co
nnec
tion
with
glu
e co
de
Clie
nt
Libr
ary
Bla
ckbo
x C
ompo
sitio
n In
vasi
ve
Com
posi
tion
Con
nect
ors
can
be G
rey-
Box
Com
posi
tion
Ope
rato
rs
Con
nect
ors
can
wor
k in
vasi
vely
, i.e
., ad
apt c
ompo
nent
s in
side
Gre
y-bo
x (In
vasi
ve) C
onne
ctio
n
Pro
f. U
. Aßm
ann,
CB
SE
66
Com
pose
rs G
ener
aliz
e C
onne
ctor
s (A
DL
Com
pone
nt M
odel
)
Com
pone
nts
C
ompo
sers
Va
riatio
n po
ints
B
lack
-Box
C
ompo
nent
s C
onne
ctor
s,
Inva
sive
con
nect
ors
Enc
apsu
latio
n op
erat
ors
Por
ts
Pro
f. U
. Aßm
ann,
CB
SE
67
inhe
rit
Com
pose
rs C
an B
e U
sed
For I
nher
itanc
e
►
Ext
ensi
on c
an b
e us
ed fo
r in
herit
ance
(mix
ins)
►
inhe
ritan
ce :=
■
copy
firs
t sup
er d
ocum
ent;
■ ex
tend
with
sec
ond
supe
r do
cum
ent;
■ B
e aw
are:
The
com
posi
tion
syst
em o
f obj
ect-o
rient
ed
fram
ewor
ks (c
ours
e D
PF)
is
only
one
of t
he p
ossi
ble
ones
Pro
f. U
. Aßm
ann,
CB
SE
68
Com
pose
rs G
ener
aliz
e In
herit
ance
Ope
rato
rs
(Cla
sses
as
Com
pone
nts)
Com
pone
nts
C
ompo
sers
Ex
tens
ion
poin
ts
Cla
sses
M
ixin
ope
rato
rs,
inhe
ritan
ce
oper
ator
s
Cla
ss m
embe
r lis
ts
Pro
f. U
. Aßm
ann,
CB
SE
69
Com
pose
rs G
ener
aliz
e Vi
ew-b
ased
Ext
ensi
ons
►
Sym
met
ric v
iew
: Tw
o co
mpo
nent
s ar
e m
erge
d ►
Asy
mm
etric
vie
w: A
cor
e co
mpo
nent
is e
xten
ded
by a
vie
w
com
pone
nt
mer
ge
exte
nd
Pro
f. U
. Aßm
ann,
CB
SE
70
Com
pose
rs G
ener
aliz
e Vi
ew E
xten
sion
s
Com
pone
nts
C
ompo
sers
Ex
tens
ion
poin
ts
View
s
Mer
ge o
pera
tors
, ex
tend
ope
rato
rs
Ope
n de
finiti
ons
Pro
f. U
. Aßm
ann,
CB
SE
71
Com
pose
rs G
ener
aliz
e A
spec
t Wea
vers
Dis
trib
utor
►
Com
plex
com
pose
rs d
istri
bute
as
pect
frag
men
ts o
ver c
ore
fragm
ents
►
Dis
tribu
tors
ext
end
the
core
■
Dis
tribu
tors
are
mor
e co
mpl
ex
oper
ator
s, d
efin
ed fr
om b
asic
one
s ■
Dis
tribu
tion
is s
teer
ed b
y a
cros
scut
gr
aph
Asp
ect
Cor
e
Cro
sscu
t gr
aph
Pro
f. U
. Aßm
ann,
CB
SE
72
Wea
vers
Are
Com
plex
Dis
trib
utor
s
Req
uire
men
ts a
spec
t
Test
ing
aspe
ct
Cor
e (A
lgor
ithm
)
Op
Op
Op
Op
Op
Op
Op
Test
ing
Arc
hite
ctur
e as
pect
Arc
hite
ctur
e
Pro
f. U
. Aßm
ann,
CB
SE
73
Com
pose
rs G
ener
aliz
e A
spec
t Wea
vers
Com
pone
nts
C
ompo
sers
Ex
tens
ion
poin
ts
Cor
e, a
dvic
e gr
oups
W
eave
r
Join
poi
nts
Pro
f. U
. Aßm
ann,
CB
SE
74
Com
paris
on T
able
App
roac
h C
ompo
nent
s
Com
pose
rs
Varia
tion/
Exte
nsio
n po
ints
Mod
ular
sys
tem
s M
odul
es
Sta
tic li
nkin
g D
ynam
ic li
nkin
g Li
nker
sym
bols
Obj
ect-o
rient
ed
syst
ems
Cla
sses
M
ixin
inhe
ritan
ce o
pera
tor,
m
ixin
laye
r ope
rato
r, ot
her i
nher
itanc
e op
erat
ors
Cla
ss m
embe
r lis
ts
Obj
ects
P
olym
orph
ic d
ispa
tch
Dyn
amic
invo
catio
n Tr
adin
g
Arc
hite
ctur
e sy
stem
s B
lack
-Box
C
ompo
nent
s C
onne
ctor
s,
Inva
sive
con
nect
ors
Enc
apsu
latio
n op
erat
ors
Por
ts
Gen
eric
sys
tem
s G
ener
ic F
ragm
ents
B
indi
ng
Slo
ts
View
sys
tem
s Vi
ews
(frag
men
ts)
Mer
ge o
pera
tors
, ext
end
oper
ator
s O
pen
defin
ition
s
Asp
ect s
yste
ms
Cor
e, a
dvic
e gr
oups
W
eave
r
Join
poi
nts
Full
com
posi
tion
syst
ems
All
of th
e ab
ove
Exp
licit
cros
scut
spe
cific
atio
ns
Slo
ts a
nd jo
in
poin
ts
Pro
f. U
. Aßm
ann,
CB
SE
75
Com
posi
tion
Lang
uage
s in
Com
posi
tion
Syst
ems
►
Com
posi
tion
lang
uage
s de
scrib
e th
e st
ruct
ure
of th
e sy
stem
in-th
e-la
rge
(“pr
ogra
mm
ing
in th
e la
rge”
) ►
Com
posi
tion
prog
ram
s co
mbi
ne th
e ba
sic
com
posi
tion
oper
atio
ns o
f the
co
mpo
sitio
n la
ngua
ge
►
Com
posi
tion
lang
uage
s ca
n lo
ok q
uite
diff
eren
t ►
Impe
rativ
e or
rule
-bas
ed
■ Te
xtua
l lan
guag
es
■ S
tand
ard
lang
uage
s, s
uch
as J
ava
■ D
omai
n-sp
ecifi
c la
ngua
ges
(DS
L) s
uch
as M
akef
iles
or a
nt-fi
les
■ G
raph
ic la
ngua
ges
■ A
rchi
tect
ural
des
crip
tion
lang
uage
s (A
DL)
►
Com
posi
tion
lang
uage
s en
able
us
to d
escr
ibe
larg
e sy
stem
s
Com
posi
tion
prog
ram
siz
e
1
Sys
tem
siz
e
10
Pro
f. U
. Aßm
ann,
CB
SE
76
Com
posi
tion
Rec
ipe
Com
posi
tion
Ope
rato
rs
Gre
y-bo
x C
ompo
nent
s
Sys
tem
Con
stru
cted
with
an
Inva
sive
Arc
hite
ctur
e
Inva
sive
S
oftw
are
Com
posi
tion
Pro
f. U
. Aßm
ann,
CB
SE
77
Con
clus
ions
for C
ompo
sitio
n Sy
stem
s
►
Com
pone
nts
have
com
posi
tion
inte
rface
with
var
iatio
n an
d ex
tens
ion
poin
ts
■ C
ompo
sitio
n in
terfa
ce is
diff
eren
t fro
m fu
nctio
nal i
nter
face
■
The
com
posi
tion
is ru
nnin
g us
ually
bef
ore
the
exec
utio
n of
the
syst
em
■ Fr
om th
e co
mpo
sitio
n in
terfa
ce, t
he fu
nctio
nal i
nter
face
is d
eriv
ed
►
Sys
tem
com
posi
tion
beco
mes
a n
ew s
tep
in s
yste
m b
uild
Com
posi
tion
• W
ith
com
posi
tion
inte
rface
s
Dep
loym
ent
• W
ith fu
nctio
nal
inte
rface
s
Exe
cutio
n
• W
ith fu
nctio
nal
inte
rface
s
Pro
f. U
. Aßm
ann,
CB
SE
78
1.4
UB
IQU
ITU
OU
S
CO
MPO
NEN
T M
OD
ELS
Pro
f. U
. Aßm
ann,
CB
SE
79
Step
s in
Sys
tem
Con
stru
ctio
n
►
We
need
diff
eren
t com
pone
nt m
odel
s an
d co
mpo
sitio
n sy
stem
s on
all
leve
ls o
f sys
tem
con
stru
ctio
n
Sys
tem
com
posi
tion
(Sys
tem
gen
erat
ion,
des
ign-
time
com
posi
tion)
Sys
tem
com
pila
tion
(com
pila
tion-
time
com
posi
tion)
Link
-tim
e co
mpo
sitio
n
Sys
tem
exe
cutio
n
Rec
ompo
sitio
n at
che
ckpo
ints
Sta
tic ti
me
Run
tim
e
Sys
tem
dep
loym
ent
(dep
loym
ent-t
ime
com
posi
tion)
CB
SE
, © P
rof.
Uw
e A
ßman
n 80
1.5
Wha
t Hav
e W
e Le
arne
d?
Pro
f. U
. Aßm
ann,
CB
SE
81
Com
pone
nt-b
ased
Sys
tem
s
►
... a
re p
rodu
ced
by c
ompo
nent
sys
tem
s or
com
posi
tion
syst
ems
►
... h
ave
a ce
ntra
l rel
atio
nshi
p th
at is
tree
-like
or r
educ
ible
►
... s
uppo
rt a
com
pone
nt m
odel
►
... a
llow
for c
ompo
nent
com
posi
tion
with
com
posi
tion
oper
ator
s ■
... a
nd –
in th
e la
rge
– w
ith c
ompo
sitio
n la
ngua
ges
►
His
toric
ally
, com
pone
nt m
odel
s an
d co
mpo
sitio
n te
chni
ques
hav
e be
en p
retty
diff
eren
t ■
from
com
pile
tim
e to
run
time
►
Bla
ckbo
x co
mpo
sitio
n su
ppor
ts v
aria
bilit
y an
d gl
uein
g ►
Gra
ybox
com
posi
tion
supp
orts
ext
ensi
bilit
y, v
iew
s, a
spec
ts
►
Obj
ect-o
rient
atio
n is
just
one
of t
he m
any
com
posi
tion
syst
ems
whi
ch
have
bee
n de
fined
Pro
f. U
. Aßm
ann,
CB
SE
82
Cla
ssic
al
Com
pone
nt S
yste
ms
Arc
hite
ctur
e Sy
stem
s
Asp
ect S
yste
ms
View
Sys
tem
s
Dar
win
B
PMN
Asp
ect/J
In
vasi
ve C
ompo
sitio
n M
etac
lass
Com
posi
tion
Picc
ola
Glo
o
Stan
dard
Com
pone
nts
Arc
hite
ctur
e as
Asp
ect
Asp
ect S
epar
atio
n C
ompo
sitio
n O
pera
tors
C
ompo
sitio
n La
ngua
ge
Obj
ect-O
rient
ed S
yste
ms
C++
J
ava
UM
L co
mpo
nent
s O
bjec
ts a
s R
un-T
ime
Com
pone
nts
Mod
ular
Sys
tem
s M
odul
a
Ada
-85
Mod
ules
as
Com
pile
- Ti
me
Com
pone
nts
Com
posi
tion
Filte
rs
Hyp
ersl
ices
Softw
are
Com
posi
tion
Sy
stem
s
.NET
CO
RB
A B
eans
EJ
B
The
Ladd
er o
f Com
posi
tion
Syst
ems
Pro
f. U
. Aßm
ann,
CB
SE
83
Cla
ssic
al
Com
pone
nt S
yste
ms
Arc
hite
ctur
e Sy
stem
s
Asp
ect S
yste
ms
View
Sys
tem
s
Dar
win
B
PMN
Asp
ect/J
A
OM
Inva
sive
Com
posi
tion
Picc
ola
Glo
o
Stan
dard
Com
pone
nts
Ref
lect
ion
Arc
hite
ctur
e as
Asp
ect
Con
nect
ors
Asp
ect S
epar
atio
n C
ross
cutti
ng
Com
posi
tion
Ope
rato
rs
Com
posi
tion
Lang
uage
Obj
ect-O
rient
ed S
yste
ms
C++
J
ava
UM
L co
mpo
nent
s O
bjec
ts a
s R
un-T
ime
Com
pone
nts
Mod
ular
Sys
tem
s M
odul
es a
s C
ompi
le-
Tim
e C
ompo
nent
s
Com
posi
tion
Filte
rs
Hyp
ersp
aces
Softw
are
Com
posi
tion
Sy
stem
s
.NET
CO
RB
A B
eans
EJ
B
The
Ladd
er o
f Com
posi
tion
Syst
ems Sh
ell s
crip
ts
Mod
ula
A
da-8
5
Pro
f. U
. Aßm
ann,
CB
SE
84
Wha
t Can
Be
Don
e w
ith C
ompo
sitio
n Sy
stem
s?
Com
posi
tion
syst
ems
Fram
ewor
ks, l
ayer
ed fr
amew
orks
Pro
duct
fam
ilies
(doc
umen
ts, s
oftw
are,
mod
els)
Sta
ged
arch
itect
ures
(web
sys
tem
s, c
ompl
ex p
rodu
ct fa
mili
es)
Sof
twar
e ec
osys
tem
s (a
pp s
tore
s, th
ird-p
arty
plu
gins
)
Sof
twar
e ec
osys
tem
s fo
r CP
S (c
ertif
icat
ion)
Pro
f. U
. Aßm
ann,
CB
SE
85
The
End