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