Document not found! Please try again

An Object-Oriented Model of Software Configuration Management*

2 downloads 210 Views 1MB Size Report
Software configuration management. (SCM) seeks to control the evolution of software systems. In this pa- per, we introduce a new object-oriented model of SCM.
An Object-Oriented Hal Department University

Model

Roy

of Computer at

Austin

Colorado

Configuration

Render

of Colorado 1420

of Software

Bluffs

Springs,

University

Springs

1304

80918-7150

configuration

management of software

(SCM)

systems.

per, we introduce a new object-oriented that is based on the earlier research SAGA

project.

The

model

seeks to

system

is, we believe,

sions

more

is based

that

tools.

ods to define the operations

required

tionality,

describes

and explains

their

their structure

SCM

model

classes

roles in the representation

and

of SCM systems.

of

general

Software tion

configuration

of software

identifying,

of

software

release

with

management

project

and

and

a software life-cycle,

ware production. grow in size and

por-

SCM

initial

SCM

the

is concerned

from

earlier

work

on

the

for

CLEMMA

*The work was supported in part ware Engineering Program (ISEP).

by the

the

ware in

came

configuration

li-

Illinois

order

to

of

publication

Soft-

perrmssion of tfte Association

1991 ACM

for Computing

reqmres a fee and/or

direct

notice and the title of tbe Machinery. specific

089791-429-5/91/0005/0127

of

model

of SCM

CLEMMA

of SCM and

composed class

and

was

improving

paper

cooperating the

Base

structure

classes

subclasses

discuss

define

we present SCM

subclasses. for

of

defines

of object.

major

pertinent

the

and

define special-

the

issues

Along

applying

is by

To copy otherpermission.

$1.50

127

to

develop

management and

we needed SCM

[6].

way,

extending

[11,

too

basic

our needs.

or too

of the

tied

to integrate support

[38, 39].

in

Because

definition

version

we the

models SCM

ble

of configuration

concept

support

integration

framework,

to

to combine

a software we began

of SCM

to

elements

of

Second,

project

man-

environby a unified

to develop

management

5], and be either

development is aided

el-

models

model.

and

more

of the

[45, 21,4,

in a new

First,

SCM

19] seemed

decided

of soft-

control

models

35,

to a particular

conceptual models

reasons.

a precise

20,

We thus existing

model

two

existing

control

43,

a new for

compare

Existing

7], change

models

suit

ment

is granted for

and its date appear, and notice is given that copying

wise , or to republish, @

copyright

is

this

its

analyze

[31, 22,25, SCM

several

Permission to copy without fee all or part of this material provided that the copies are not made or distributed the ACM

us

design

limitations

and

plans

motivated

we sought

advantage,

and

configuration

agement

commercial

In

our

methodically,

seman-

model

AT&T

re-

Background

We were

of soft-

an object-oriented

inspiration

the

of analyzing

Each

model,

class

discuss

2

Consequently, as software projects cost, the importance of SCM also

The

aids

and

showed

through

it affects the efficiency

we present

of SCM.

SCM

of them.

ements

In this paper,

entities

model.

grows. tic model

verthat

to the

spans

design

goal

of objects,

in our

each

will

with

changes

project.

Because

change,

is the

concerned

controlling

from

maintenance.

managing

(SCM)

management

organizing

components entire

to

of SCM

complete

of one kind

kinds

classes

Introduction

of

objects.

behavior

izations

1

our

managing

configurations

support.

Our

and func-

the

of the

University

of CLEMMA

of SCM

a more

for

and

model

Further,

to satisfy

at the

is a system

model

as part

Project

construction

an abstract us that

relationships the principal

developed

components

The

support

to the entities,

6],

on an abstract

lationships.

gen-

35,

CLEMMA

of software

showed

classes in the model,

Ave.

61808-2987

Engineering

eral and comprehensive than previous models and uses clasaes to define different kinds of SCM entities, methto denote generalization and inheritance between the classes. The paper presents

IL

[34,

Software

of Illinois.

In this pa-

model of SCM results of the

applicable

Springfield

[email protected]

SAGA

the evolution

W.

colorado.edu

brarian

Software

Science

at Urbana-Champaign

Urbana,

Abstract control

of Computer

of Illinois

Pkwy

CO

renderC2zeppo.

Campbell

Department

Science

Colorado

Management*

compatiand

project

management We

[37, 42].

had

oriented used

other

model.

[36].

quate,

[30]. the

In contrast, the

and

fashion

the

one

of the

prototype Our

our

Because

of its power

Because ments

we use

terminology

Smalltalk

of an object-oriented

The

fundamental

model

define

object

The

value

is treated

as a direct

to

ject’s

change

variables

One

object

sending name

or

to

executes

the

other

of the

object

an object

provides

is called

as an interface

A

class

ture

and

is a special

the instances’ methods. are

class local

class.

to and

the they

and

of

class

class

object

that

methods define

one

to

between allows

are

are also

are

structure

of entities entity

in a sys-

are

modeled

operations by

one

instance

one

class

methods

may

methods.

to define for

instances.

defini-

different

interacting

Subclassing

al-

generalization/specialization different

kinds

automatic

rela-

of entities,

propagation

related

two

and

in-

of feature

def-

classes.

of the

one

items:

software

Model

by

contains

the

with

pa-

any

the

For

lishes

sets,

component a binary

is created

and

the

Subclasses

of Item

represent

from

module,

one

code

ancode

estab-

the source

binary four

the when

a source

between

compiler,

program-

defines

established

code

the

code docu-

and

one compiles

relationship

are Typ-

source

DerivationRelation

when

that

requirements

data

and con-

system.

include

associations

system

to produce

module,

items

test

Item

software

components

modules,

class

a derivation

model,

management

documents,

example,

our

Item defines

system

relationship

software

module

object

code

The

in

class

configuration

binary

tools,

other.

classes

by a configuration

derivation

ob-

major The

design

ming

The

code

module.

primary

specializ~

tions:

and

it ●

AggregateItem for

strucin-

declarations



of

— items

example,

Derived

Item

example, source

composed

a complex —

items

a binary code

software derived

code

of other

items:

subsystem. other

from

module

items:

derived

for

from

module.

declarations

Claas shared

creation

of class

Relation.

software

ments,

objects.

local

and

between

modules,

be in-

protocol,

contain

methods

new

involves

the

to parametrize allow

Overview

of the instances’

methods.

modeled

one

denote

tionships

kinds

methods set

heritance

ical

objects—the

definitions

inst ante

lows

that

operation.

defines

contains

but

entire

with

set of methods

other

related

a class may

and

Class

it and

object a set

variables

The

its message

A class

In addition,

its instances. object,

of

variables

that along

method.

between

behavior

stances of the

other

allow

creation

managed

of the

of another

to be executed by the

may

some

are

the

methods.

modeling

the

are

specializes

represent

and

variable

by declaring

of a complex

variables,

the

of the

or redefined to

Concepa subset

of a superclass

of its instances

different

an entity

Derivation

which

object.

of one

of the

class

All

object-oriented

attributes

with

There

ele-

its behavOID,

which

a message

required

define

value

perform

rameters acts

the

instance

4

stan-

the

entity

to another

a method

method

yet

variables

object

are procedures

or return

with

a class. represent

A subclass

of classes

as

model.

object-oriented

private

is an

reference

methods of an object voked

an

methods that

and

of a variable

The

figuration

of

(OID),

behavior

tem.

initions

express

subclasses.

purposes,

and

object

use

Smalltalk-

object is a distinct

An

identifier

its structure,

ior.

bene-

model.

element

is an object.

a unique

to

our

construction

of

definitions

by defining

the

and

our

is not

terms

and

variables

researchers

we chose

and behavior

variables

tions,

increasing

to express

structure

Class

experience.

in which

by its

as well

variables.

superclass.

method

inherited

becomes and

class

of a subclass

of its

and

to

Modeling

object-oriented

dardized,

the

instances

apply

analysis

operations)

or access

instances

opera-

the claimed

and flexibility,

medium

model

software

Object-Oriented

80 [18] as the

an

aids

and

by other

both

object-oriented

The

greatly

of the

For

in an inte-

construct

supports

design

[24, 46, 2, 1] reinforces

an

model.

modeling,

of object-oriented

of

can

that

experience

of object-oriented

3

using

the

and

expresses

of a system

Further,

specification

refinement.

refining

model

behavior

language

an executable fits

made

ade-

difficult.

[3].

programming tional

them

op-

were

tually,

declarations

of Liskov

methods

an object-oriented

structure

grated

between

design

abstract

notation

two

{14].

to update

subclass is a specialization

A

us-

on RM/T

using

from

the

we

constructor

called

operations

modeling

was designed

based

specified

derived

mismatches

extending

of CLEMMA,

structure

While

object-

an

conventional

model

was

specifications

Guttag

design

more

relational

behavior

erational and

constructing

the

of

CLEMMA’S

an extended

CLEMMA’S

for

During

a combination

techniques ing

(sometimes

reasons

variables by

to the

all



of

class

Versioned

Item

concrete

implementations:

fication

operations

128

— generic

of a particular

items for software

that

have

example, procedure.

alternate an

identi-

a

-c

LinearVersioned

r

Versionedltem

item

RCSVersionedltem

MakeItem DerivedItem

Versioned

~+-

Derived

Item

DerivedVersion

~VersionedComposite

Item

~CornpositeVersion CompositeItem --L

*versionedDerivedcompos’te DerivedCompositeVersion

DerivedComposite

AggregateItem rVersionedSequence SequentialVersion SequentialItem VersionedDerivedSequence

+

DerivedSequence DerivedSequentialVersion

Figure



Version items: that

— concrete for

iterrls

example,

implements

that

implement

an actual a generic

1: Item Class Hierarchy.

source

software

generic

code

Other

module

subclasses

derived

procedure.

Derivedltem

tinct

of

Derivation

Relation

represent

two

dis-

sents

specializations: DerivationProcedure

— derivation

kinds of software

tween

cal source nary

code

code

modules,

relationships

objects:

for

Pascal

be-

example,

compilers,

Pasand

composite procedure. four

all

amine Derivation tween tween cific

Execution

specific a specific Pascal

module

— derivation

software Pascal

compiler,

compiled

objects: source and

from

relationships

be-

for

be-

code

example, module,

a specific

the

Pascal

and

a spe-

binary

code

source

code

model ample,

subclasses features the

of of

Item

particular

classes

further SCM

derivation

version class

specialized

systems.

RCSVersionedltem

model the branching ing protocols of RCS. The sion

timestamp-based

are

and

graphs

MakeItem

control

For

of Make

models

An

instance

tem

component

class’s

log

name

nary

[17].

code

documents,

129

represent of Item.

combinations Figure

1 shows

hierarchy. on

classes:

this

Item,

paper,

we cannot

we will

briefly

Derivation

ex-

Relation,

subclasses.

class

Item

under

configuration

management.

access

software

control

configuration is taken

term

in a software

the

of

of Item

and

ditional

lock-

reprecompo-

Items

nent

ex-

classes

However,

principal

save versions

by an automated

classes.

primary

methods

to

RCSVer-

and

their

5

module. The

our

that

and

Versioned-

CompositeItem

constraints

of our

class

items

subclasses class

length

discuss

modules.

Item

aggregates

the

Derived

created

These

primary

current Given

bi-

class

items

sition

specialize

example, derived

The

of the the

Item

represents

of themselves. Subclasses

of For

objects.

from

for a managed system

modules, test

data

include

represents

to the

management component. source and

sysThe

compo-

events.

The

item, the tra-

configuration

requirements sets,

a software

code

Typical

documents, development

items

modules,

bi-

design tools.

Variable

Type

name



body



species



body

owner



permissions



Figure

The

member

/

items.

objects

example, named

is RCS

versions

uses system models

[27].

to an

Figure

a new

member

container

3 shows items.

is assigned

130

a CompositeItem

Upon

an empty

creation, instance

and

its collection

a composite of the

item’s

Dictionary

of body class,

basically

a set

specializes to work

with

stance

name-object

methods

this

kind

methods

retrieve, ber;

of

the

or list

item.

the names

When

container

that

specify

the

procedure.

allow

member;

is added

the in-

one to insert,

rename

of all the members

an item

variable

derivation

AggregateItem

Specifically,

in the class

a named

CompositeItem

from

of collection.

defined

or remove

pairs.

inherited

of a composite

is updated

to refer

item,

to the

its

composite

tual

input

ing

formal

with

the

and

it’s

much

is another

body

less

is a sequence

common

represented

by

ments

Odin

(e.g.

gous

in

an

instance

instance

insert,

the

software

cific

analo-

of the

work

item’s

body.

one to list

allow

in order

one to

parameters

the

of

of the

7

Derivation

Two

kinds

software

for

of derivation

cates

the

one

determine isting

use

The

second

software

ing

this

the

The

nents

that

can

components

species

first

A software

The

that

a derivation

com-

and

computer-formatted

can

SCM

ex-

project

from

these

inputs

Relation

possible. derivation

class the

script the

later

defines

a

of the

derivation

the executing process,

the return

specifies

and

the value

derivation The

specializes relations

parameters

Derived

from

derivation

that

kinds for

Item

augments

Item

with of

Figure

the

4). to

holds

of arguments

a list

and derived

Along

with

updating

of

defines

from

which the

the methods the

new

a derive assigned

method to its

software to

object

auto-

stored

derivation, procedure;

holds

an

in

which parents,

derivation

pro-

optional

list

of

item.

which

instance

model

variables

needed

to the

derived

a

the former

instance

include

a derivation

children,

and

Our

for

derived

the

software

These

of the

latter.

variables

the

a reference

procedure

131

for

encapsulates

which

also a

Item

a as

specifies

object.

Relation

a

as much

relation

derived

of in

objects

derivation

Item

task

objects

a representation managed

holds

items

Derivation-

between

body(see

cedure;

create

variable

Derived

One

derived

of Derivation

Derived

mate

outputs. Procedure

class class

inherited

of

requires

objects libraries,

derivation

between

of a particular

delete

its

their

via a deriva-

software function

the

which

objects.

outputs

to

this

if stor-

a parameters

how

automate

subclasses

the

compiled

identify

relations

the

The

date.

variable

to

creation

if it is created

documents.

to

Doing

uses the

represents

and

a transformer that

to

is

of determining

the

Us-

compo-

Also,

Relation

inputs

a spe-

propagate to

be used

at some

Derivation

and

Derivation

can

and

system

another.

it.

can

The

relation

objects.

from

them

encapsulates

to represent

software

derived

class

from

class

and

of derived

binaries,

system

compo-

when

from

system

information

a command

The

the for

stat e of the ends,

is derived Examples

of the

automatically

recreate

relations.

variable

holds

been

abstract

derivation

operation. executable

system

records

is created

object

tion are

the

create

relation

a SCM

this and

as that

of a derivation

created

and

The holds

Items

indi-

be created

to

component

have

age is scarce,

procedure. execution

executes

current

con-

method

process.

Derived

way

derivation

one

the

It

If so directed,

component

to

execute

variables

object

begins

instances

the

script

who

is exe-

a

engineer,

another.

an SCM

information

information,

changes

of

from

information,

components. the

system.

to

automatically.

cific

the

of object

components

software

important

by a software

between

this

what

also

nents

management

kind

Using

are

formulated

relationship

ponents.

can

relation

configuration a procedure,

creating

to

command

the process

procedure

Parameter

Other

spe-

an instance

of a derivation

derivation

user

Derivationbetween

implies,

of a derivation

the

script,

an

executable

Relations 8

records

of Actual

same

the process

an

a derivation

arguments

procedure.

command time

the

transformer method,

specializes

variable

of the

record

procedure,

members

the

to

derivation

body.

when

variable

execution

enumeration

the

and

the

relations

As its name

a list

from

reference

at a particular

An

contains

of ac-

correspond-

this

becomes

Execution

parameters

structed

transformer

collection.

class

items

to its

inherited

ordered

in the

member

has

assigned

methods

with

defined

or remove

also allows

Collection

specializes to

SequentialItem

a list

the

With

derivation

is created

The

for have

procedure.

objects.

class

executed.

output

takes

with

executes

Method

Derivation

software

of the

environ-

objects

and

to represent

cution

in a sequential

method

a few

aggregate

instance

methods

retrieve,

position

aggregates

of Ordered Item

AggregateItem

The

than

items.

Sequential

from

systems

SCM

[8]) support

creation,

an empty body.

Although

that

them

aa arguments.

Derivation

class

Relation

items.

parameters,

instances

and

DerivationProcedure

execute,

development

The

of AggregateItem,

of other

CompositeItem,

to sequential

Upon

subclass

as input

of

matches

objects

software

SequentialItem

Instances method,

of

Forma I Parameter

of items

objects,

instance

item.

holds

species

an additional

a mem-

to a composite

procedure

support

accessing

and

Derived

Item

variables, to execute

derivation

the

variable.

derivation The

re-

Variable

Type

name



body



species

< class>

member

own er

< User>

permissions



log



con t airier

< CompositeItem

derivation



of a Derived

Figure

Item

Instance

we

5: Framework

hope

to

method

of the

becomes

other

the derive in the

and

list to

may

propagate,

propagate

message

of children, executing

change

allowing

invokes

the

to each changes

derive

value

method

must

to

item’s

have

derived

As

it

is

implemented,

always

of whether

the

For

body

example,

derived

of a derived

A version

item

user

support

who

for

of the

bodies

change

to

difficult

[45, 4, 5].

an

The

of deciding In Make a derived yet

exist

is.

We

define this

M akeltem of

derived

procedure more (such

derivation The

a subclass policy

the

first

Derived derive

to send and

if one than

it

the then

rules)

timestamp-based

seems

to be the

most

tems.

However,

in

improve a MakeItem

derive

message

derivation

common

facilities

of and

Derived control

form subclasses

used of

o!iflerence algo-

to

Because

a bit

general

defines

among

approach.

software

versioning.

snapshots

inherits

the

superclass,

The

com-

abstract

of a Versioned

is specialized

item

instance

Item.

For

Item

in-

variable

of Version

5).

variable

that

ing”

version

in the version G rou p. The

‘the

one to use” of the

update

body

but to

However,

permission

verification Versionedltem the

systems

versions match the

like

CLEMMA

to item

methods and

to

to select

expression.

is important

mechanisms

ver-

other

selection

method

one. access

subject

all

introduces

is

require

instance still

like

a relational

[27],

version

that

an are

logging

selection

DSEE

with

also “work-

a specific

in a version G roup

select

version

default

methods

methods also

instance

the current

request

the

and

each

that

interact

enumerate

the

of the ver-

procedures

do not

the

methods.

that

instances,

Item

references

specializes

sionGroup.

particular,

A Versioned

derivation

item

Item

item,

of an implementation

(Figure

for

declara-

a versioned

as a version Grou p variable.

is a collection

is a snapshot

it models

shared

because

found [35],

in SCM

and

Shape

[32].

by

The

It em.

new

to identify

of M akeltem by SCM

subject

quite

a very Item

of that

in time.

differs

taken

Versions

is a snapshot

has a default

In

Make

in M akeltem

from

derivation

updated

variable

versions

derivation

has been rules

implemented

its

to each of

its

body

and

meth-

for

of its

Versioned

to

To

Other

future

and

and

versions

defines Item

tions

a version

it

Item,

Item.

has.

inherited

not

than

model.

to execute

derivation

propagation

at one point

Versioned

are

Version

sioned

with

method

parents

are also

feat ures

be

does

of Derived variables

of its

parametrized

object

that

of which

or not.

is newer

in our

instance

the

parents

recently

specializing

if the

change

component

we have class

A version Group

a

ways

associated

object

MakeItem,

only

as

only of the

have

can

systems,

Versioned

body

simple

a derivation

derivation

efficiency,

is specialized its

parent

superclass,

derivation

out

other

Items

as it existed

abstract

class

of the

items

for

customizable

stance.

whether

are some

operation

is executed

inherits

its

carry

its

execution

derived

there

derivation

object

last

De-

list

determining

affect

to

the

or if any

represent ods

will

However,

whether [17],

the

of

parent’s

support

Items

21].

of a software

ponents

regardless

have

Versioned

“smart”

for managing

SCM

the

to be derived.

not

of its

general,

item

needs

need

since

In

method

operation

item

Item

method.

derive its

of the

substantially

derive

out

a Derived

if none

changed

the

carries

[4, 5] and

component

item. rived Item

and

including

Versioned

9

descendants.

permission

Versions

An-

instance

the

incorporate

[45,

sends

to the

body,

write

rithms

the

item.

Item

its

method

of the

by

consecutively

propagated

the

the

created

of the derived

method,

be recursively

Because

execution

the new body

instance

item

derivation

for

mechanisms,

predicates value

+

>

control

turn

I

/

Specifically,

sys-

sioned

DerivedItem,

132

item;

instance a version the the

variables

declared

of a versioned

implements key variable

variable holds

in Version

item.

serve

(see Figure

references a unique

the

6). ver-

identifier

ods

for

the

affected

Variable

Tvue

name



viously

body



the

species

< class>

dition

owner

< User>

variable

permissions



an instance

log

< ChangeLog>

linearly-ordered

con t &“ner

< CompositeItem>

implements



key



in the list.

item

of a linear

linear

variables. the successor

version

LinearVersioned of new

instance becomes

representation subclasses.

two

of Ver-

main

kinds

However,

of versioning EPOS

some some-

[28, 29].

of other

kinds

We of

10

Combination

Classes

derivation derive

As mentioned bine

the

Derived

earlier,

features Item,

of the

inherits

called

not

that

from

support

found the

com-

an instance

Aggregate

Item,

DerivedVersion

In some

forms

or more

create

superclasses,

a situation

so for

classes,

variable

declarations

and

However,

we have

in our

model

to maintain

classes

we have

method

had

the conceptual

of

item’s benefit

storage

10.1

Versioned

Derived

ity

Items

the

tially,

then

example,

parents the

when

of a derived derived

item

the Pascal

tion

is changed

to correct

then

the source

code

duce

a new

function.

for each version to create

of

code

fectively

combining

in the

code

object

For

code

for

derived

and

features

of two

of the

sioned Derived

item,

such items

the As

sense

Thus,

a subclass

Derived

which

invocation

of their

version

of the item.

every

new concrete of their

creation,

rived

items

tion. the

Versioned ents,

are

Group Method

from default

members

Group

are

Derived

and combines

Figure

is illustrated and

are shown

inherited

from

7 shows

the

with

item. other

children. with

other

The

a

the

combination

of

an

facil-

combination this

ease of

object-oriented

Version

Parame-

SCM

for

user

using

systems,

must

this

is the

be selected This

execution.

a version

which

of a derived

When

object

the

or by

a parent

object.

select

a version

mechanisms

for

may

be

of the

in the

SCM

automatically. there

are three

version

a particular

primary

of a versioned

derivation

ways

object

is

version

as

procedure:

versioned

object

indicates

a specific

a default; 2. the

par-

version-

3.

key

of a specific

version

derivation

procedure;

a version

selection

the

versioned

the

derivation

is associated

expression

with

is associated

the

with

procedure.

tion

and

ver-

as parents

versions

and

134

first

two

and

a version

of these

Derivation

selection

we define

Versioned

An

items

the

procedure,

called

derived

derived

for

Versionedltem

associate

Item of an

derived

versions

Support

versionVersioned-

its superclass

linear

the

believe

of

example,

of the

to choose

1. the

de-

children.

Although

and

by having

to be used

Item.

of Derived

associated

derived

We

power

ver-

to lower

or copied. item’s Like

versioned

derived of the

from

it

recreated

is used

incorporation

derivation

of determining

combines

organization

The

the

last

manually

construc-

the

inherited derived

is a subclass

Derived

of

Item

adds

of DerivedVersion.

features

of Version

as parents and

either

LinearVersionedltem.

similarly

DerivedVersion

LinearVersion. instance

are

creates

our

actual

In most

for

derivation,

and

from

of a versioned

items

LinearVersioned

variables

superclass

support

naturally

subclasses. to

version

an

system

Instances

versioned

time

Derived

The

comes

is that

and

of the nature

with

and

variables

instances

item,

Because by

inherits its

Item.

method

associated

superclass

definitions

The

sions

in

done

the class Ver-

derived

derive

Versioned

Derivedltem

and

generic

linearly-related

of its

children

are

versions

Consequently, features

item

Item

of Derived

of Versioned

ver-

procedure

version

a facility

be a versioned

some

use

of

in

may

case,

ef-

subclasses

shown

object

the

versioned,

with

model

derivation

that

such

Versioned

object we define

Once the

ters

Item. In our model,

version

added

to be deleted

systems

[27]),

attests

10.2

then

it makes

is both

of the

model.

to pro-

object.

and

version’s

method.

a derived

body

appropriate

function,

object

the

derive

the

created

In SCM

definition

version

to

func-

is versioned,

code object

of the binary

object

be rederived.

be recompiled

binary

of the source

a version

binary

must

code

substan-

code for a cosine

to an error

the

source

change

must

source

object

image

If the

item

of

derivation

variable

to the

recording

that

requirements.

of the When

of

DSEE

in our

new

is automatically

version’s

(e.g.

of the

of the

for

instance

version Group.

arguments

sions

result

parents

version

on demand.

hierarchy.

The

the

the

The

of the

is invoked

a new

is assigned

initialized,

allows

Item,

body

arguments

and

the

integrity

variable.

One

to

the

explanation derive

Derived

procedure

the

defini-

attempted

so as to minimize

becomes

is assigned sioned

some When

is created.

derivation

derivation

Smalltalk

inheritance, of other

the

intuitive,

is necessary. of Versioned

execution

a subclass

Unfortunately

elsewhere. and

class

model

Version.

one can

multiple

classes

duplication the

and

the features

to duplicate arrange

two

in our

subclasses

inheritance.

combine

tions

Item

modeling,

multiple

does

classes

Versionedltem

of object-oriented that

some

is fairly

method

is already Procedure

expression

a subclass

present

in

classes.

To

with

a deriva-

of Formal

Parameter

Forma lParameter.

instance

of the

Versioned

sents

a kind

of formal

parameter

dure,

Upon

execution

of the

formal

parameter

sioned

item.

will

derivation

has

a versionSelector

of a derivation

derivation

be matched

To select

the

Forma lParameter

a version

execution,

with of the

a versioned

variable

that

procedure,

the

an actual

ver-

item

formal may

repreproce-

for

use by

parameter

be assigned

a

parents

derivation

succassor

Figure

version

selection

cedure

is executed,

version

expression.

of the

the

versioned

If the version Selector the

default Using

sion

tion

each

(specifically

can

[16])

be defined

Versioned

object

that

components the

of a system

configuration system

model

Considered is a composite position

is an image

in our item

procedure.

such

contains

with

rules

A system

point terms, from

system

that

owner



permissions



Jog

< ChangeLog>

con t airier

< CompositeItem>

Dictionary

derivation



Procedure>

children

< Ordered

version Group



default



8: Structure

view,

for combining

Collection>

of a Versioned

created

A

from

items

version

DerivedComposite

represent

a

classes

system

Versioned

by a com-

is a versioned

each

method

item

them

135

the variable

a system systems

models Derived

of and

of and

model. with

and

Derived method

inherits

com-

Given the

configurations

of Derived

Composite

pro-

is a derived

CompositeItem,

Composite

a subclass

Derived

definitions

from

software a subclass

system Versioned

and the composition

A configuration

created

we represent

iteVersion,

a software

the components

of a system.

rived Composite,

in time.

other

model

posite

of the

system.

specifies

cedure

resources. a list

of the

of a system

model’s

Item

mech-

a set of component

an image

derived

ver-



species

Figure

a set of desired

at a particular

to

systems

a software

from that

to produce

version

name

Composites

of SCM,

along

deriva-

complex

subclasses.

is an object

components

more

ex-

seem

SCM

in future

t oget her provide model

A few

we feel that

formed

item

the

systems

but

view

a ver-

a selection

flexibility,

do support

In an object-oriented

A system

attach

of each

SCM

model.

is an aggregate

then

versioned

attach

Derived

object

only

Type

Variable

one

execution.

a result,

a specific

many

mechanisms,

Derivations

is used.

parameter

our

for

pro-

to select

to yield

of this

of

derivation

use in the

we can

with

Adele

sion selection

10.3

to

Because

capabilities

be representable

anisms

item

versioned

procedure.

for

we can not

procedure,

to

selection

of the

expression

or derivation pression

item

mechanism,

selection

the

is used

is nil or fails

version

this

When

expression

7: Framework

class and with

Derived

this Dewe the

Combos-

Composite. the

variable adds

and

Composite

and

definitions

of Li nea rVer-

to

sionedltem

(see

versioned represent

the

variable

the

version Group sion that

holds

configuration

instances

class

to

fined

similar

from

our

the

desired

Item

of the

variable

to either

features.

We

DerivedSequence,

in the

orthogonality

have

classes

to storing

the

model

class

dere-

Related the

a relational

experience data

oriented

model

stream”

SCM

base

led

of SCM,

us

work

in areas

of versioning

were

models

for

object-based

Chou

various especially

and Kim

[2].

and

we feel

more

Mainstream cept

were

based

derived [8].

Our

came

were

[6], and

Shape our

[11],

Huff

12

[32]. model,

[20],

of

and

[8].

Our

influenced

Adele Other

[16],

more

SCM

in

grew

Krane

out

derivation

[4].

[27], have

small-

to

In this ware

helped

us

onomy

in

[37].

lyzing ing

The CLEMMA

model

and

into

prototyping extended

specifications

Future

classes,

class

greatly

Indeed,

in

levels,

our

we

deriva-

project

and

will

software

and

be used

in

will

management

systems

their

soft-

environment

written

in a

has

[1], and

work

fa-

to develop

environment

others

from

to use them

a prototype

and

A similar

procedures,

been

we hope

to our

we

research

began

classes

typing

to

own.

and dis-

136

for

the

model,

and that

by providing systems.

the

relates

model

a means

Base objects

implement The

presents

mentions

operations

SCM

special-

paper

discusses

background

in-

describes

the

modeling,

in the model,

of softis a tax-

hierarchy.

general

subclasses

object-oriented

we hope

and

class

define

model model

relationships,

while

models,

SCM

The

of the base classes.

classes

SCM

a new

object-oriented

hierarchy

motivation on

presented

entities,

the

variations

timately,

ana-

modified the

consider

and

we intend

management.

as an

and

vious

underly-

Since

USC

when

stable

we have

ized the

classes

after

CLEMMA’S terms.

we have

hierarchy.

of our

developed

recasting

object-oriented

the the

were

[26],

the

[33]

for

learned

of SCM

expressed classes

specifications

Cedar

The

Balzer

paper,

formation preliminary

are

use mod-

and

environment.

configuration

principal published

We

that

Summary

expression

Work We

of Gypsy

include

Inscape

front,

medium-sized

by

features

version

object-manager

lower

lessons

In partic-

facilities their

are

model.

[40],

of languages.

CLEMMA

of Cooprider

and

[41],

describe there

inclusion.

facilities

configuration

in its

13

Our

[19].

Status

CRUISE

an

cilities

classes

of Clemm

selection

models

per-

of work

steps

models

our

and

of SCM,

in the

for

Such

development

apply

storage

[23] for

focus

applications

proposed

con-

sys-

relations

by those

the

research Our

as the

incorporate

for-

found

model.

DSEE

SCM

especially

Current

and

our

of version

analyzing

to refine

Beech

seem

man.u~acturing

also

understanding

from

[46], and

SCM

to translate

represent

current

SCM

policies.

construct

ware

data

at considering ORION

to be sufficiently

variety

objects

Clemm

on Borison’s

items

[25],

we have

engineering parts

software

[43] and

ones

to

Klahold

of data

programming

easily

the

lack

ideally

amounts

operations

modeling

Factory the

classes

object-oriented

[22],

models

the

version

is also not

we plan

more

to include

looking

[16],

On

or some

large

our

and

[10] and

Software

our

literature.

other

of aggregate

by Tichy

and

version

software

influenced

by examining

of Katz

than

engineering

of “main-

that

things

control

Adele

it’s

use as a working

can

in

we found

the definition

future,

address

elements

we are

tion

object-

In particular,

[15], Zdonik

database

well-defined

software has

those

using

our

outside

us.

refined

[7], Dittrich

In general,

mal

develop

has also influenced

notions databases,

to

CLEMMA

discussed

object-oriented

we

and

also considering

of building

in

environment,

Smalltalk

another

ule interfaces Although

those

limitations.

[9], EPOS

Work

Although

retrieving in the

which

the primary

ular,

11

point

hierarchy

always

classes

[18].

has made

and

into in

Although

subclasses.

from

of the

the prototype’s

some

formance

pri-

diferent

prototyping

problematic.

limits At

sub-

which

all

inheritance

of our

tem.

quite

Smalltalk-80

suited

language

of the

in

a suitable

Item

easily

are

prototype

paper

which

and

paper

specifications.

of multiple

Derived-

LinearVersioned

this

Smalltalk

Each

representations

to be added

for

this

of derivation.

instance

from

had

confidence

The

system.

in

earlier

We

derivation

and

version

the

little

subclasses

our

the orthogonality

copied

integrate

cussed

that

CompositeVer-

by time

and

Aside

LinearVersion,

mary

Derived of the

demonstrate

of a

of items

procedure.

DerivedComposite

derivation, definitions

inforces

of

variable The

composition

configurations

CompositeVersion model.

the list

of a system.

Versioned

aggregation,

and

parents

holds

is linearly-related

classes

of our

The

system

represent

method

8).

composite

components

holds

The

Figure

derived

the model

our

future

will

aid

of analyzing

to pre-

plans. future and

UlSCM

proto-

14

Acknowledgments

We would have

like

like

to mention Walter

in

to acknowledge

contributed

and

to our Ellen

Tlchy,

modeling

ful

and

work.

Borison,

much.

Karen

over

both

the

people

done

also like

course

S. Cohen,

Michael

E.

Wagner. In

Katz

SOFT/SIGPLAN

work

sium

to thank

Greg

many

on

1988.

and

Richard

[10]

work.

system.

ACM

March

1989.

David

Beech

P. Gabriel.

for

Draft

a common

SIGPLAN

re-

Reidar

Conradi, Even-Andr6

Westby,

24(3):93-156,

sion

and

control

Proceedings tional

in

an

of

the

Conference

22, Los [3]

Brom

1988

Booth.

Object

Benjamin

California,

1990.

Fourth

Oriented

ver-

Boston,

SIGSympoEnvi-

Massachusetts,

In

Martin

Olav

System

Lee W.

software

Per Holager, Design

engineering

environ-

of the International

FRG,

Cooprider.

79-116,

Per Har-

Thomassen.

Development

Berlin,

Bj@rn

Lie,

Hallsteinsen,

In Proceedings on

Didriksen, Anund

Asbj@n

EPOS

of software

pages

[12]

14-

Confer-

Environments

May

The

systems.

and

1989.

representation

Technical

Carnegie-Mellon

William

of families

Report

University,

Courington.

vironment.

1988.

Design

Cummings,

in

ACM

CMU-CSApril

1979.

Interna-

Engineering, February

the

Development

Karlsson,

and

kernel

Factories,

database.

IEEE

California,

plications.

Generalized

object-oriented

on Data

Angeles,

Grady

Mahbod.

Tor

Svein

Solberg,

ence

[11] [2]

and

management

Engineering

Software 201–215,

Gulls,

ment.

prototyping

Notices,

Gluecker,

Schwanke,

of

Software

November

of the Balzer

W.

Version

Practical pages

Ole

on requirements

Raimund

Proceedings

ronments,

ald

port

Soni,

Robert

help-

References [1] Robert

A.

Hasling,

Gypsy.

process.

Dilit

M.

Randy

offered

of our

Ellis William

seminal

management

of whom

who

we would

Huff,

have

We would

Sum,

of the

In particular,

configuration

Bob

comments

some

all of whom

the

We owe them Rogers

[9]

with

[13]

Ap-

Redwood

City,

Sun

Eugene

Cristofor,

siewicz.

Source

In

The

Network

Microsystems, T.

A.

control

Wendt,

and

tools

=

En-

1989. B.

C. Won-

stable

systems.

of COMPSA

C 80, pages

527-532,

Introduction

to Database

Systems,

Proceedings

+

Software

Inc.,

1980. [4]

Ellen In

[5]

Borison.

A model

Proceedings

of the

shop

on

pages

197–220,

Ellen

Advanced

Ariel

Cost

IFIP

Borison.

of Computer

[14]

Work-

Environments,

Norway,

Program

June

PhD

Carnegie

and

thesis,

Mellon

C.J.

Date.

Vol.

II.

[15]

the

Klaus

R.

software

University,

ings

1989.

Roy

H.

Campbell

izing

configuration

In Proceedings

[7]

Berlin,

FRG,

work

Kyoto,

Japan,

Geoffrey ware 84,

M.

control

Large August

Clemm.

environment. University

in

Data

[16]

on

IFIP

frame-

pages

[17]

Con-

J. Estublier. base

Colorado

at

June

A configuration of programs.

C. for

Proceedon Ad-

pages

353–

1987.

manager:

In

pages

sachusetts,

June

The

Workshop

Environments

the-Large,

Stuart ing

336-344,

extensible

Report

In Workshop

Environments,

Norway,

Peter system

environments.

Programming

for

140–147,

Adele

on Software

Programming-in-

Harwichport,

Mas-

1985.

L Feldman.

computer

[18]

soft-

The

CU-CS-262-

Boulder,

Adele

March

Make-a

9:255-265,

Goldberg Language

and and

Wesley,

Reading,

Dennis

Heimbigner

program

for

maintain-

Software-Practice

programs.

Experience,

ODIN—an

and

database

environment.

International Bases,

Gotthard,

International

Trondheim,

data

1986.

Technical of

a CAD

Willi

engineering

of the

371,

and Factories,

A unifying

Twelfth

Massachusetts,

CLEMMA.

Conference

Kim.

Reading,

DAMOKLES-a

Engineering

Won

of the

on Very

Formal-

1989.

and

version

Proceedings

ference

with

Environments

May

Chou

for

S. Render.

of the International

Development

Hong-Tai

Hal

management

System

In

[8]

and

Dittrich,

Lockemann.

Dept.

vanced [6]

An

Addison-Wesley,

1983.

1987.

Changes

Recompilation.

Science,

manufacture.

International

Programming

Trondheim,

of Selective

July

of software

and

1979. David

its

Robson.

Smalltalk-80:

Implementation.

Mass.,

Addison-

1983.

1984. [19]

transform

137

model

and for

Steven

configuration

Krane.

A graph

management

In

environments.

Proceedings

SOFT/SIGPLAN sium

on

of the

Software

Practical

ronments,

pages

November

1988.

ACM

Engineering

Software 216–225,

SIG-

and

J.

Sympo-

the

2nd

Development

Boston,

[21]

Karen

E. Huff.

A database

figuration

management

ronment.

In

model

in the

Proceedings

for effective

of the

5th

Conference

on Software

Engineering,

San

CA,

1981.

Diego,

R. H. Katz

March

and

E. Chang.

computer-aided the

13th

Data

design

Bases,

Randy

Managing

455–462,

change

H.

Katz

for

and

Tobin

versions

files.

IEEE

neering, Won

Very

[30]

of

Per Holager.

Change

engineering

Kim,

Nat

Jorge

tegrating with

F.

England,

J. Lehman.

Database

and

alternatives

of large

on Software

-2OO,

March

1989.

Barbara

Liskov

a database

Won

Kim,

Garza,

and in

ber

Jay

Banerjee,

Garza,

and

Darrell

system.

de-

Darrell an

[32]

Insystem

SIGP~AN

Notices,

Hong-Tai

Chou,

Jorge

Peter

C. Lockemann. control

ronment.

In C.G.

Yeh,

Composite

object

database

system.

22(12):118–125,

Axel

Gunter

[27]

In

W.

on Very Japan,

Lampson of

for

[33]

and

Eric

a practical

Principles

of Programming

Tenth Texas,

David

B.

Leblang

Jr.

Configuration

scale

software

shop

on

Annual

E.

and

MIT

1986.

Schmidt.

Prac-

[35]

applicative on

pages

D.

efforts.

Engineering

pages

Lie,

Reidar

Andr6

Karlsson, Change

Conradi, Svein oriented

Tor

O.

pages

P.A.

conenvi-

Ng,

and

Approach

701–713.

Elsevier

1983.

Andreas

Lampen.

engineering

An

software

of the ACM

SIGSOFT/SIGPLAN

Development

Environments,

Boston,

Dewayne

Massachusetts,

E. Perry.

CA,

191-

1988.

in the

of the

on Software

Monterey,

Practical

pages

control

Proceedings

Conference

on

November

Version

In

integrated

configurations.

Software

Hal

S. Render.

ration

librarian.

puter

Science,

Hal

Inscape

9th

Int erna-

Engineering,

pages

March

1987.

McLean,

[36]

design

University

and of

a

S.

Work-

system. Dept.

Render of

the

configu-

Dept.

Illinois

H. Campbell.

of Com-

at

Urbana-

88),

and

Conference pages

Roy

CLEMMA

Technical of Computer

libraron Software

222–228,

H.

Phoenix,

Campbell.

The

configuration

Report

librarian

UIUCDCS-R-88-

Science,

at Urbana-Champaign,

CLEMMA:

configuration

of the

(CSM

Hal

Roy

practical

1988.

October

of

software

1988.

Maintenance

In

Har-

thesis,

AZ,

design

122–127,

A

Master’s

In Proceedings

largefor

CLEMMA:

May

S. Render

for

University

October

1458, of Illinois

1988.

1985. [37]

Anund

S. Jajodia,

Entity-Relationship

Symposium

ian.

237-

Environments

June

and

engineering

Engineering

The

Symposium

Gordon

of version

North-Holland,

and

for

Champaign,

management

Massachusetts,

pages

1983.

development

Software

Databases,

Languages,

January

[34]

Interna-

1986.

ACM

Programming-in-the-Large,

Holager.

and

The

Wolfgang

12th

polymorphic

In

Austin,

Large

Davis,

Engineering,

environment.

management

of the

August

language.

wichport, [28]

NJ,

Abstraction

Development.

Software 200,

Decem-

and

version

Proceedings

Kyoto,

use

Schlageter,

model

Conference

319–327,

255,

of the Configu-

Princeton,

Guttag.

Analysis

editors,

Mahler

tional

in databases.

tical

56-65,

in a software

Publishers,

toolset

F.

Woelk.

A general

Butler

Proceedings

Massachusetts,

In Proceedings

object-oriented Notices,

Klahold,

Wilkes.

[26]

and

in a soft-

Hong-Tai Woelk.

1987.

tional

Didriksen,

on Software

pages

Program

figuration

to Software

programming ACM

Banerjee,

SIGPLAN

Peter

In

and John in

142-149, [25]

M.

versioning

database.

Cambridge,

R.T.

Engi-

1988.

NOV

Jay

support ACM

Springer-

O. Hallsteinsen,

oriented

Management,

Press,

1984.

Ballou,

an object-oriented

23(11):142-152, [24]

Tor

Svein

Workshop

Specification

Large

Brighton,

Transactions

SE-10 (2):191

Chou,

Conradi,

Karlsson,

Science [23]

Reidar

Even-Andr6

October

19 1–202.

in a

In Proceedings on

pages

of

Confer-

1987.

support sign

Lie,

387,

Proceedings

Engineering

1989.

2nd International

54-61,

[31] [22]

Anund

ware

International pages

Conference

pages

September

envi-

September

editors,

Software

LNCS

Verlag,

ration

database.

International

con-

programming

McDermid,

European

ence, volume

Envi-

Massachusetts, [29]

[20]

A.

Didriksen,

Hallsteinsen,

versioning.

Evenand

Hal

S.

Render

preliminary

Per

ration

In C. Ghezzi

ware

138

class

management development

and

Roy

hierarchy in

an

environment.

H.

Campbell.

supporting object-oriented Technical

A configusoftReport

UIUCDCS-R-89-1532, ence,

October [38]

Dept.

University

Hal

of Illinois

S. Render,

Robert

opment

accepted

S. Render,

Campbell.

of

The

SIGSOFT

14(1):61-82, Suresh

nance

(CSM

October Robert

N.

Sum

Walter

and

Roy

interface In ProMainte-

Phoenix,

AZ,

Campbell. development University

October A data

preenvi-

of Illinois

1989.

model

for

programming

In Proceedings

Conference System

A

management

UIUCDCS-R-89-1531,

of the IFIP

on Automated

Design

F.

Tichy.

Design,

of a revision

Tools

and Development,

implementation,

control

ceedings

of the 6th A CM/IEEE

ference

on

Tokyo,

Japan,

Walter

Software

Smart

of the

Stanley

B.

ACM

In

Confer-

Languages,

on the New

Or-

1985. management In

Workshop

Environments, June

58-67,

Symposium

Version

database.

Norway,

Con-

pages

recompilation.

January

International

gramming

Pro-

1982.

12th

Zdonik.

object-oriented

In

International

of Programming

Louisiana,

and

system.

Engineering,

September

F. Tichy. Record

Principles

heim,

Notes,

1981.

Walter

IFIP

project.

Software

project

Science,

Working

evaluation

[46]

factory

Using

software

environments.

Information

leans,

of

1989.

evolution.

H. for

Report

F. Tichy. 8.1

ence

University

132–142,

hierarchy

of Computer

October

[45]

project

Engineering

on

pages

Technical

support

[44]

system

Conference

at Urbana-Champaign,

for

and

CRUISE:

88),

class

ronment.

WG

in-

UIUCDCS-R-89-

software

in an object-oriented

[43]

H.

to

1988.

liminary

Dept.

Roy

89.

to support of the

The

and

November

USC

Subramanian.

ceedings

devel-

approach

Science,

Software

January

hierarchies

[42]

Jr.,

Report

H.

published.

management

Computer

Scacchi.

project

1989.

yet

Sum

at Urbana-Champaign,

ACM

[41]

N.

Technical

Dept.

Roy

and

of FedCASE

not

object-oriented

configuration

management.

and

October

but

Robert

An

tegrated

Walt

Sci-

software

In Proceeding Maryland,

has been

1553,

Jr.,

in an object-oriented

’89, Gaithersburg,

Illinois

Sum

configuration

environment.

paper

[40]

N.

Integrating

management

Hal

Computer

1989.

Campbell.

[39]

of

at Urbana-Champaign,

pages

Proceedings on Advanced 405-422,

in

an

of the ProTrond-

1987.

139

Suggest Documents