! !rm -...

41
CBSE, © Prof. Uwe Aßmann 1 Component-Based Software Engineering (CBSE) 1) Introduction 1. Basics of Composition Systems 2. Historic Approaches to Black- Box Composition 3. Gray-Box Composition Prof. Dr. Uwe Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik http://st.inf.tu-dresden.de 12-1.1, 11.04.12 Prof. U. Aßmann, CBSE 2 Goals Understand what a composition system is The difference of component-based and composition-based systems The difference of component and composition systems What is a composition operator? composition expression? composition program? composition language? Understand the difference between graybox and blackbox systems (variability vs. extensibility) Understand the ladder of composition systems Understand the criteria for comparison of composition systems

Upload: trinhmien

Post on 10-Aug-2019

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

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

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

12-1

.1, 1

1.04

.12

Pro

f. U

. Aßm

ann,

CB

SE

2

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

Page 2: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

3

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 4

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.

Page 3: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

5

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

6

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

.

Page 4: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

7

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

8

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?

Page 5: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

9

Def

initi

ons

of C

ompo

nent

s

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

10

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?)

Page 6: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

11

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

12

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

Page 7: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

13

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

14

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

Arc

hJav

a

The

Ladd

er o

f Com

posi

tion

Syst

ems Sh

ell s

crip

ts

Mod

ula

A

da-8

5

Page 8: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

15

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

16

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)

. S

ynta

ctic

sub

stitu

tabi

lity

(typi

ng)

. M

2.1

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

Page 9: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

17

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

18

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

Page 10: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

19

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 20

1.2

His

toric

al A

ppro

ache

s to

C

ompo

nent

s

Page 11: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

21

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

22

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

2 U

we

Aßm

ann,

17.0

7.20

03,

Caller

Callee

Linker

Page 12: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

23

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

24

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#)

Page 13: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

25

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

26

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

Page 14: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

27

► 

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

28

S

eite

28

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

Page 15: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

29

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

30

S

eite

30

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

Page 16: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

31

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

32

S

eite

32

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

Page 17: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

33

► 

[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

34

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

Page 18: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

35

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

36

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

Page 19: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

37

(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

38

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

Page 20: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

39

.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

40

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

Page 21: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

41

S

eite

41

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

42

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

Page 22: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

43

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

44

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

Page 23: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

45

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

46

AC

ME

Stud

io

Page 24: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

47

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

48

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

Page 25: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

49

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

50

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

Page 26: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

51

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

52

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

Page 27: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

53

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

Inva

sive

Com

posi

tion

Picc

ola

Stan

dard

Com

pone

nts

Arc

hite

ctur

e as

Asp

ect

Asp

ect S

epar

atio

n C

ross

cutti

ng

Mer

ge

Ope

rato

r

Com

posi

tion

Lang

uage

Obj

ect-O

rient

ed S

yste

ms

C++

J

ava

Obj

ects

as

Run

-Tim

e C

ompo

nent

s

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

Syst

ems

.NET

CO

RB

A B

eans

EJ

B

The

Ladd

er o

f Com

posi

tion

Syst

ems

(rev

.)

CB

SE

, © P

rof.

Uw

e A

ßman

n 54

1.3

Gra

y-bo

x C

ompo

nent

Mod

els

Page 28: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

55

The

Esse

nce

of th

e La

st Y

ears

► 

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

56

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

Page 29: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

57

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

58

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

Page 30: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

59

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 60

1.3.

1 Fu

ll-Fl

edge

d C

ompo

sitio

n Sy

stem

s

Page 31: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

61

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

62

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

]

Page 32: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

63

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

64

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

Page 33: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

65

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 P

rof.

U. A

ßman

n, C

BS

E

66

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

Page 34: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

67

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

68

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

Page 35: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

69

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

70

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

Page 36: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

71

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

72

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

Page 37: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

73

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

74

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

Page 38: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

75

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

76

Step

s in

Sys

tem

Con

stru

ctio

n

► 

We

need

com

pone

nt m

odel

s an

d co

mpo

sitio

n sy

stem

s on

all

leve

ls o

f sy

stem

con

stru

ctio

n Sys

tem

com

posi

tion

(Sys

tem

gen

erat

ion)

Sys

tem

com

pila

tion

Sys

tem

dep

loym

ent

Sys

tem

exe

cutio

n

Des

ign

time

Run

tim

e

Page 39: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

CB

SE

, © P

rof.

Uw

e A

ßman

n 77

1.4

Wha

t Hav

e W

e Le

arne

d?

Pro

f. U

. Aßm

ann,

CB

SE

78

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

Page 40: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

79

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 P

rof.

U. A

ßman

n, C

BS

E

80

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

Page 41: ! !rm - st.inf.tu-dresden.dest.inf.tu-dresden.de/files/teaching/ss12/cbse/slides/01-cbse-introduction-2x1.pdfBSE 13 - !! s BSE 14 Classical Darwin PMN M Gloo t Language - Hyperspaces

Pro

f. U

. Aßm

ann,

CB

SE

81

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

82

The

End