rgst.inf.tu-dresden.de/files/teaching/ss13/cbse/slides/01...m gloo t language - hyperspaces archjava...

43
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 4. Ubiquitous Component Models Prof. Dr. Uwe Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik http://st.inf.tu-dresden.de 13-1.1, 18.04.13 Prof. U. Aßmann, CBSE 2 The Power of Components http://upload.wikimedia.org/wikipedia/commons/thumb/1/13/ Container_ship_Hanjin_Taipei.jpg/800px-Container_ship_Hanjin_Taipei.jpg https://en.wikipedia.org/wiki/Container_ship

Upload: others

Post on 02-Mar-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 2: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 3: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 4: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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?

Page 5: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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)

Page 6: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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)

Page 7: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 8: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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!

Page 9: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 10: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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]

Page 11: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 12: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 13: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 14: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 15: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 16: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 17: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 18: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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)

Page 19: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 20: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 21: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 22: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 23: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 24: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 25: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 26: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 27: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 28: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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)

Page 29: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 30: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 31: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 32: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 33: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 34: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 35: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 36: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 37: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 38: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 39: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 40: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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?

Page 41: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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

Page 42: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

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)

Page 43: rgst.inf.tu-dresden.de/files/teaching/ss13/CBSE/slides/01...M Gloo t Language - Hyperspaces ArchJava 55 BSE 56 : !!!!) !!!!! x n s s to n s x n s s d p) BSE 57 house BSE 58 BSE 59

Pro

f. U

. Aßm

ann,

CB

SE

85

The

End