introduction there is a wealth of re-engineering tools architectural...

4
Connecting Architecture Reconstruction Frameworks Ivan Bowman, Michael Godfrey, Ric Holt Software Architecture Group University of Waterloo CoSET ‘99 May 17, 1999 CoSET 1999 2 Introduction There is a wealth of re-engineering tools Often, we would like to combine these Differences in tool storage formats and semantics makes reuse difficult We defined an exchange format that can be used to combine several tools: – CIAO, Dali, Datrix, PBS, and Rigi Introduction CoSET 1999 3 Background Recent work within CSER has identified opportunities for re-use between tools We identified two levels of tools: Code-Level tools provide detailed support Architecture-Level tools identify high-level abstractions We describe a format for connecting architecture-level tools Introduction CoSET 1999 4 Architectural Reconstruction Introduction Source Code Executing System Source Control System Artifacts Scanning Parsing Profiling Change Reporting Extractors Extracted Facts Repository View Generation Visualization Manipulation Architecture

Upload: others

Post on 17-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction There is a wealth of re-engineering tools Architectural …migod/papers/1999/coset99... · 2000-11-10 · Connecting Architecture Reconstruction Frameworks Ivan Bowman,

Con

nect

ing

Arc

hite

ctur

e R

econ

stru

ctio

n Fr

amew

orks

Ivan

Bow

man

, Mic

hael

God

frey

, Ric

Hol

tSo

ftw

are

Arc

hite

ctur

e G

roup

Uni

vers

ity o

f W

ater

loo

CoS

ET

‘99

M

ay 1

7, 1

999

CoS

ET

199

92

Intr

oduc

tion

•T

here

is a

wea

lth o

f re

-eng

inee

ring

tool

s

•O

ften

, we

wou

ld li

ke to

com

bine

thes

e

•D

iffe

renc

es in

tool

sto

rage

for

mat

s an

d se

man

tics

mak

es r

euse

dif

ficu

lt

•W

e de

fine

d an

exc

hang

e fo

rmat

that

can

be

used

to c

ombi

ne s

ever

al to

ols:

CIA

O, D

ali,

Dat

rix,

PB

S, a

nd R

igi

Intr

oduc

tion

CoS

ET

199

93

Bac

kgro

und

•R

ecen

t wor

k w

ithin

CSE

R h

as id

entif

ied

oppo

rtun

ities

for

re-

use

betw

een

tool

s

•W

e id

entif

ied

two

leve

ls o

f to

ols:

–C

ode-

Lev

elto

ols

prov

ide

deta

iled

supp

ort

–A

rchi

tect

ure-

Lev

elto

ols

iden

tify

high

-lev

el

abst

ract

ions

•W

e de

scri

be a

for

mat

for

con

nect

ing

arch

itect

ure-

leve

l too

ls

Intr

oduc

tion

CoS

ET

199

94

Arc

hite

ctur

al R

econ

stru

ctio

n

Intr

oduc

tion

Sour

ceC

ode

Exe

cutin

gSy

stem

Sour

ceC

ontr

ol

Syst

em A

rtif

acts

Scan

ning

Pars

ing

Prof

iling

Cha

nge

Rep

ortin

g

Ext

ract

ors

Ext

ract

edFa

cts

Rep

osito

ryV

iew

Gen

erat

ion

Vis

ualiz

atio

nM

anip

ulat

ion

Arc

hite

ctur

e

Page 2: Introduction There is a wealth of re-engineering tools Architectural …migod/papers/1999/coset99... · 2000-11-10 · Connecting Architecture Reconstruction Frameworks Ivan Bowman,

CoS

ET

199

95

Ent

ity-R

elat

iona

l Mod

el

•E

ntit

ies

repr

esen

t sou

rce

code

ele

men

ts

such

as

func

tions

, var

iabl

es, o

r ty

pes

•R

elat

ions

repr

esen

t ass

ocia

tions

in s

ourc

e co

de s

uch

as c

alls

or

inhe

rita

nce

•A

ttri

bute

ssu

ch a

s lin

e-nu

mbe

r re

cord

ad

ditio

nal i

nfor

mat

ion

•A

Sch

ema

defi

nes

the

allo

wed

ent

ities

, re

latio

ns, a

nd a

ttrib

utes

Mod

el

CoS

ET

199

96

Exa

mpl

e Sc

hem

a

Mod

el

Func

tion

line

num

ber

Var

iabl

e

line

num

ber

refe

renc

esli

ne n

umbe

r

calls

line

num

ber

Mod

ule

owne

rco

ntai

nsco

ntai

ns

CoS

ET

199

97

Con

nect

ion

Form

at R

equi

rem

ents

•Su

ppor

t mul

tiple

sou

rce

lang

uage

s

•Sc

ale

to la

rge

syst

ems

(e.g

. 10

ML

OC

)

•Pr

ovid

e m

appi

ng to

sou

rce

code

•Su

ppor

t sta

tic a

nd d

ynam

ic d

epen

denc

ies

•In

crem

enta

l app

roac

h

•M

ust b

e ex

tens

ible

, allo

win

g ne

w s

chem

es

to b

e de

fine

d as

nee

ded

Req

uire

men

ts

CoS

ET

199

98

The

Nam

ing

Prob

lem

•E

ach

entit

y m

ust h

ave

uniq

ue I

D

•So

urce

lang

uage

s m

ay a

llow

two

code

el

emen

ts to

hav

e th

e sa

me

nam

e–typedef int T;

–struct T { ... };

•T

o co

mbi

ne f

acts

, we

need

a c

omm

on n

amin

g sc

hem

e

•W

e ha

ve d

efin

ed a

sch

eme

for

Java

, and

we

are

disc

ussi

ng p

ossi

ble

solu

tions

for

C,C

++

Prob

lem

s

Page 3: Introduction There is a wealth of re-engineering tools Architectural …migod/papers/1999/coset99... · 2000-11-10 · Connecting Architecture Reconstruction Frameworks Ivan Bowman,

CoS

ET

199

99

The

Lin

e-N

umbe

r Pr

oble

m

•W

e re

quir

e a

mec

hani

sm to

get

fro

m a

n en

tity

back

to s

ourc

e co

de

•A

n ob

viou

s so

lutio

n is

to s

tore

file

+ li

ne #

–W

e w

ant s

ame

file

nam

e on

dif

fere

nt m

achi

nes

–So

me

entit

ies

are

defi

ned

on a

ran

ge o

f lin

es, o

r no

n-co

ntig

uous

ran

ges

of li

nes

(for

exa

mpl

e,

nam

espa

ces)

Prob

lem

s

CoS

ET

199

910

The

Res

olut

ion

Prob

lem

•Fo

r ea

ch r

efer

ence

in s

ourc

e co

de, w

e ca

n de

term

ine

the

refe

renc

e ta

rget

•Se

vera

l res

olut

ion

stra

tegi

es a

re u

sed:

–N

o re

solu

tion

-ea

ch r

efer

ence

is a

n en

tity

–R

esol

ved

to d

ecla

ratio

n (i

n a

head

er f

ile)

–R

esol

ved

to s

tatic

def

initi

on (

entit

y bo

dy)

–R

esol

ved

to d

ynam

ic d

efin

ition

(vi

rtua

l fu

nctio

ns, p

oint

ers)

Prob

lem

s

CoS

ET

199

911

TA

XFo

rm

•Id

ea: p

rovi

de c

onve

rter

s be

twee

n to

ol-

spec

ific

for

mat

s an

d a

com

mon

for

mat

•T

here

are

two

part

s to

an

exch

ange

for

mat

:–

Synt

ax o

f da

ta (

repr

esen

tatio

n in

file

s)

–Se

man

tic s

truc

ture

(sc

hem

as)

•W

e ch

ose

TA

syn

tax

(oth

ers

are

attr

activ

e)

•W

e al

low

tool

dev

elop

ers

to d

efin

e th

eir

own

sche

mas

as

need

ed

TA

XFo

rm

CoS

ET

199

912

Tra

nsfo

rmin

g B

etw

een

Sche

mas

TA

XFo

rm

Uni

vers

al

Hig

h-L

evel

Proc

edur

al

PL/I

C

Obj

ect-

Ori

ente

d

C+

+Ja

va

Dal

i CR

igi C

PBS

C

Page 4: Introduction There is a wealth of re-engineering tools Architectural …migod/papers/1999/coset99... · 2000-11-10 · Connecting Architecture Reconstruction Frameworks Ivan Bowman,

CoS

ET

199

913

Impl

emen

ting

TA

XFo

rm

•W

e ev

alua

ted

TA

XFo

rm b

y im

plem

entin

g co

nver

ters

for

sev

eral

exi

stin

g re

-en

gine

erin

g to

ols

•T

he s

ynta

ctic

tran

sfor

mat

ion

was

triv

ial

•W

e us

ed T

arsk

i rel

atio

nal a

lgeb

ra to

spe

cify

tr

ansf

orm

atio

ns, a

nd e

xecu

ted

them

with

gr

ok, a

rel

atio

nal c

alcu

lato

r

Eva

luat

ion

CoS

ET

199

914

Eva

luat

ion

of T

AX

Form

•W

ritin

g sc

hem

a tr

ansf

orm

atio

ns r

equi

red

care

ful s

tudy

of

sem

antic

s us

ed b

y ea

ch to

ol

•T

ools

use

d di

ffer

ent t

erm

inol

ogy

with

di

ffer

ent u

nder

lyin

g as

sum

ptio

ns

•B

y de

fini

ng tr

ansf

orm

s be

twee

n m

odel

s, w

e fo

rmal

ly d

ocum

ent a

ll of

thes

e as

sum

ptio

ns

and

prov

ide

a di

ctio

nary

for

term

inol

ogy

Eva

luat

ion

CoS

ET

199

915

Syst

ems

Mod

eled

Eva

luat

ion

Syst

emSi

zeL

angu

age

Too

l

Jike

s77

KL

OC

C+

+C

IAO

Lin

ux80

0 K

LO

CC

Dal

i, PB

S

Moz

illa

904

KL

OC

CR

igi

Nac

hos

10 K

LO

CC

++

CIA

O

CoS

ET

199

916

Sum

mar

y an

d Fu

ture

Wor

k

•W

e de

fine

d T

AX

Form

as

an e

xcha

nge

form

at b

etw

een

arch

itect

ure-

leve

l too

ls

•W

e va

lidat

ed o

ur f

orm

at b

y im

plem

entin

g co

nver

ters

fro

m e

xist

ing

tool

for

mat

s

•W

e ne

ed to

fur

ther

des

crib

e th

e se

man

tics

of e

ach

mod

el

Con

clus

ion