Documente Academic
Documente Profesional
Documente Cultură
*0
NPS CS-92-020
Salah
M. Badr
Valdis Berzins
Approved
Prepared
is
unlimited.
for:
FedDocs
D 208.1M/2
NPS-CS-92-020
HARRISON SHULL
Provost
This report was prepared for and funded by the Naval Postgraduate School.
Reproduction of
all
is
authorized.
t.AWM pnRTftRADUATE
SCHOOL
MONTEREY CA 93943*1 ui
UNCLASSIFIED
1b.
RESTRICTIVE MARKINGS
!a
3.
DISTRIBUTION/AVAILABILITY OP
REPORT
!b.
dECLASS
CA T IONVdOWNgRAdINg SCHEDULE
Approved
s.
distribution is unlimited
i.
nIPS
CS-92-020
6b OFFICE
(if
SYMBOL
7a.
applicable)
cs
7b.
NAME OF MONITORING ORGANIZATION Naval Postgraduate School ADDRESS (City, State, and ZIP Code) Monterey, CA 93943-5000
ADDRESS (City,
State,
Monterey,
CA
93943-5000
8b OPPICE
(it
SYMBOL
9.
PROCUR E M E N T NS T RUM E N T
I
IDEN TI F CA T ION
I
NUMB E R
applicable)
ADDRESS
(City, State,
Monterey,
CA
93943-5000
ELEMENT NO.
WORK
UNIT
NO.
NO.
ACCESSION NO.
11.
A
J2.
PERSONAL AUTHOR(S)
TYPE OF REPORT
i$a.
Techinical
16.
14.
DATE OF REPORT
(Year, Month,
Day)
15.
PASE COUNT
December 1992
25
17.
COSATI CODES
FIELD
18.
SUBJECT TERMS
(Continue on reverse
if
GROUP
SUB-GROUP
SOFTWARE EVOLUTION, JOB ASSIGNMENT, DESIGN DATABASE, EVOLUTION STEP, SOFTWARE PROTOTYPING.
identify
19.
ABSTRACT
(Continue on reverse
if
necessary and
by block number)
This report introduces the basic approach taken in designing the design management and job assignment system (DMJAS)for CAPS93. This approach uses a model of software evolution [8] which defines how a software change, once has been approved, will be applied to the software release (version) to produce another version of the software incorporating this change. This process is called an evolution step. The proposed system represents a management layer between the user interface (supporting two user classes, managers and designers) and the design database. The DMJAS controls the software evolution process in an incrementally evolving software system where The job steps to be scheduled are only partially known: time required, the set of sub-tasks for each step, and the input/output constraints between steps are all uncertain, and are all subject to change as steps are carried out. Models of design database and manager/designer interface are explained followed by the proposed
system.
So DIS T RIBU T ION/A VA
LAB
LI
TY
O P AB5T RAC 1
21.
UNCLASSIFIED
22b.
WOJ^iM2M
)D
LEIND,VIDUAL
22C.OFFICE SYMBOL
(408) 656-2903
83
FORM
1473, 84
MAR
be used
until
exhausted
UNCLASSIFIED
USA
ABSTRACT
This report introduces the basic approach taken in designing the design management and job assignment system (DMJAS) for CAPS93. This approach uses a model of software evolution [8] which defines how a software change, once has been approved, will be applied to the software release (version) to produce another version of the software incorporating this change. This process is called an evolution step. The proposed system represents a management layer between the user interface (supporting two user classes, managers and designers) and the design database. The DMJAS controls the software evolution process in an incrementally evolving software system where The job steps to be scheduled are only partially known: time required, the set of sub-tasks for each step, and the input/output constraints between steps are all uncertain, and are all subject to change as steps are carried out. Models of design database and manager/designer interface are explained followed by the proposed system.
KEYWORDS
SOFTWARE EVOLUTION, JOB ASSIGNMENT, DESIGN DATABASE,
EVOLUTION
STEP,
1.
Introduction
"The Computer Aided Prototyping System
(CAPS)
,
an inte-
grated
set
of
computer
in part
aided
software
tools,
has
been
1.
by the
Army Research
January 13, 1993
number ARO-145-91
[7]
In the context
entities that interact to develop a software system. main entities are the project manager,
main entities: the designer and CAPS system. The designer can
select
a
tool,
then
select
prototype
to work with.
The
designer can access the same prototype for modification. Currently CAPS
does
not
have
any mechanisms
for
coordinating
1,
2,
and
An
evolution
step
has
many
properties
and
initial conditions,
commit,
or
abandon/suspend,
deadlines.
and any
optional
A
data
such as priority,
January 13, 1993
The manager
2
tasks
r
Manager
Change List Suspend List
Incremental Sch.
Conditions
Assign Task
Commit
Abandon/Suspend
Optional data.
FIGURE
designer and gets back his commit response. Designers can work
on parallel on different tasks related to the same software
version,
(alternatives)
Commit
Assign Task Release Task
Suspend
Release
FIGURE
section
section
is
3.
In
section
5
the
6
underlying
design
database
defined.
Sections
and
8.
2. Definitions
Since
the
DMJAS
it
is
management
of its
layer
input
on
top
of
the
design database,
gets most
logs
information to the
to
history log,
new versions
assigns variation
the
resulting
from
applying the
evolution
steps,
objects,
copies
tasks
to
modified to the
area,
the database.
underlying database
schema
for
our work
An object is
A version
A variation of an object
versions of the object which represent the evolution history of an independent line of development. An evolution step represents the activity of creating a new
is composite if it can be
A top level Evolution Step represents the activity of initiating, analyzing, and implementing a change request in
the system.
X uses
Y:
X used-by
Y:
same as Y uses X.
3.
Previous
Work
[11]
According to
cess can be classified into two main models. The first model
is
system
ondary concept as
Both SCCS
The
second model
the
is
the
COM.
In
this
model
functional
is
the
primary
set
concept.
of
Versions
are
identified by
characteristic
func-
functional changes.
a
specify
the
single
version of the
On
system
other
then proceed to
in a VOM system,
required module.
the
hand,
software
system
producing
new
release
(version
of
the
whole system)
[12]
these
support
the
enforced
model
of
cooperation
^makefile' on changed
*view-
defines a series
of directories
to be
searched by
specific
versions
,
of
a
files.
This
System
informs
the
^Release Master'
face errors.
DSEE:
also uses
also approximates
inter-
ference between changes by answering queries about syntactic dependencies among program units.
SVCE:
its database
It
[12]
automates change management by enforcing programmers cooperation to maintain consistency among a sequence of scheduled
source code
changes.
a
Infuse
of
modules
into
hierarchy
semantic
dependencies
among
the
modules
or
according
to
their managers,
modules must be correct and that the modules can compile and
link
successfully)
mental
database
modules
its
pre-condition
experimental
database
for
merging
database back to
parent
the
are
database.
into
Infuse
automatically
partitions
experimental
designers
cies.
(programmers)
are
according to their
(uses)
dependenas
Versions
is
generated automatically as
and
soon
the
work
done.
Syntactic
can be
semantic
consistency
checking
4.
Design Database
The main goal of the CMJA system is to provide automated
design
data
support
for
software
development
through
all
[7]
as
well
as
control
over
all
the
ongoing
[8]
and the
ANSI/IEEE standard
[5],
following characteristics
Minimize the communication time between designers/programmers through keeping the development documents on-line.
Produce
project
nondisruptive
status
reports
for
an
ongoing
Provide a way of tracking the development history via keeping an up-to-date history
file
on-line that
has
all
the
take
care
of the
following
function
A
Design Management and Job Assignment System
January 13, 1993
DMJAS
Create Mutable
Copy
Decompose
Uses, Used-by Read/ Add Version
Commit
FIGURE
3.
Shared data
stored,
space where
the
frozen
software objects
are
and
12
4.1
the
verified
[5]
.
software
objects
(versions
or
configura-
tions)
The
contains
the
public
releases
of
the
software
4.2 Private
workspaces
frozen and
may not be changed, the private workspaces are used for pro-
or
adding new
automatically by
DMJAS,
and these
objects
continue
to
be
under its control until either all the changes are done and
the DMJAS commits them to generate the new version.
When a
becomes
immutable
version
in
the
shared
data
respectively.
5.
Designer Interface
The designer interface with the proposed system is meant
to be very
simple,
designer
according
the
initial
data
it
has
about
the
The
DMJAS
copies
those
As
tasks
as
automatically
the
to
the
soon
designer
finishes
which the DMJAS moves the task back to its internal database.
The DMJAS keeps track of the status of the sub-steps of a top
level
view only when all of the sub-steps have been committed. The
DMJAS can then assign new task to the designer
any)
.
(if
it
has
The designer can also suspend a task for some time then
The DMJAS
adds the
sus14
pended task
to
the
suspend
log,
and
does
not
assign
the
A typical
scenario
illustrating
the
operation
of
the
system that
he
has been
assigned
task
Tl
with
primary
or
induced,
the
specification
the
changes
designer
can
also
receive
a
messages
from
the
DMJAS
a
switch
to
some
Such
messages
are
6.
Manager
Interface
15
the
primary
inputs
of
the
objects
to
be
changed
are
defined.
reviews the
primary inputs,
optional
information
step
regarding
priority
A list of the objects that have to be changed by decomposing the primary input
(s)
and listing
work loads,
16
sub-steps
for
any management
reasons.
As
designer the
7.
Design
(DMJAS).
The design management and job assignment system rep-
resents
ers,
analysts,
and to the
design database.
The
DMJAS
controls
software software
evolution
system with
process
the
in
an
incrementally
evolving
following
special characteristics:
a.
and the
tional
information
becomes
known,
and
it
must
minimize
uncertain environment.
17
c.
constraints
needs
the
during
of
scheduling
the
of
new
jobs
job
which
before
completion
newly
scheduled
This
already
scheduled
(in-progress)
jobs.
will
lead to
accordingly.
This
function
must
be
integrated with
the
(documents)
deadline
response
to
changing esti-
ule
that
meets
the
deadline
requirements,
provides
for
version control,
job
environment where
frequent
changes
to
evolving
system are
requested/proposed, evolution steps are triggered after analyzing the change requests,
induced changes
are
inferred,
jobs
are
incrementally
committed
producing
new
version
of
the
committed
Get
and
document
the
change
request
information
in
the
given evolu-
well
defined
labeling
function.
This
labeling
Changes to versions that are not the most recent on their variation line split off a new variation line and produce the first version on the new variation.
19
a. decompose them if they are composite by querying the database for the image in the decomposition relation. and
b.
find the induced changes by querying the database for the used-by relation for each input object resulted from step a above.
c. 'repeat
step
a,
are found.
check if any of the above objects is "used-by" any of the objects of the ongoing changes (by any of the previous evolution If any is steps that is not committed yet) the manager found either issue a warning to or suspend the corresponding step according the policies specified by management (autosuspend or warning)
d.
.
Build
the
dependency
3.
acyclic
graph
of
the
resulting
Build the lists of the changes that can be done concurrently and the dependencies between these changes. Display
a
b.
c.
If list X2 depends on list XI start by assigning the objects of list XI, after each object in XI is committed, check if an object in X2 can be assigned, if so assign it, as soon as the objects of list XI are comd.
20
top level
evolution step are committed and according to the specified management policies either:
Notify the manager that all the modification are done and ask for permission to commit
b.
.
suspend,
abandon
commit: commit the step generating a new version by changing the mutable data to shared data space and update the history file by the date and time the version is committed.
a.
b.
Suspend: by copying the modified data to the suspended log with the reason why? and keep the version labeling.
Abandon: by copying the modified data to the abandoned log with the reason why? and release the version labeling.
c.
Respond to the designer commands with the corresponding action: a. "Suspend" by copying the suspended object to suspend log. b. "Commit" by copying the object back to the mutable database and check it done. c. "Release" by releasing the suspended object if there is one and copying it back from the suspended log to the designer's work area.
d.
7.1
Management
Issues
21
management
(design team)
the
immutable
of
base
version,
steps
to
automatically
their
atomic
assigns
constructs
breakdowns
both
evolution
and
components
tasks
to
primary
induced,
incrementally
The system
7.2
Job Scheduling
Job scheduling is completely automated since the sys-
tem
builds
the
dependency
graph,
prepare
the
dependency
busy and the priority goes to the task with his name as the
author if there is one, otherwise to the task with the maxi-
(to
As
its commit
22
The
suspension of
jobs
because
of
dependency conflicts
are
is
done
automatically
log,
and those
jobs
copied to
are
the
sus-
pended
jobs.
the
corresponding
designers
assigned
new
suspended job is
back,
to
docu-
ments were bound to new versions since the time when the job
was suspended and the version bindings for its inputs were
released.
8.
Conclusion
Our
design
management
and
job
assignment
system
is
design management layer between the manager/designer interface and the design database that contains all the project
software
objects.
The
goal
of
this
system
is
to
help the
automating
of
assignment
and keeping
track
of
the
activity
each
designer so the project manager can watch the progress of the team closely
A
and determine
when
corrective
actions
become
23
necessary.
automated.
Version control
are
also
the
same variation
updates without
split
variation
[14]
.
lines
back
together
is
in
progress. [13]
24
LIST OF REFERENCES
1]
2]
Borison E.,
"A Model
3]
Feldman
"Software Configuration management: Past Uses and Future Challenges" Proceedings of 3rd European Software Engineering Conference,
S.
I.,
ESEC
[
October 1991
S.,
4]
"A
Management
Environments",
28-30, 1988.
ACM
SIGSOFT/
SIGPLAN, Nov.
[5]
"IEEE Guide
to
New
York, 1988.
6]
Ketabchi
M.
A.,
"On
the
7]
IEEE Computer
22,
May
1989, pp 13-25.
for Software Evolution",
8]
Luqi,
IEEE Transaction on
NO.
8.
Aug. 1990
9]
Hefner K., "A Graph Model for Software Maintenance", Tech. Rep. NPS52-90-014, Computer Science Department, Naval Postgraduate School, Aug. 1989.
Mostov
I.,
Luqi,
and
10]
Narayanaswamy K. and Scacchi W., "Maintaining Configuration of Evolving Software System", IEEE Trans, on Software Eng. SE-13,3. Mar. 1987, pp.
324-334.
11]
"Change Oriented Versioning in a Software Engineering Database", Proceedings of 2nd International Workshop on Software Configuration Management, Princeton, New Jersey, Oct. 24,1989. pp. 56-65.
Lie A.
et
al,
12]
Automated Support
of
for Software
[13]
D. Dampier,
MS
[
thesis,
Merging Different Versions of a PSDL Program", Computer Science, Naval Postgraduate School, June 1990.
"A Model
for
14]
D. Dampier, Luqi,
Report, CS,
for
25
DISTRIBUTION LIST
Defense Technical Information Center
2
Cameron
Station
Alexandria,
VA
22314
Code 08
CA 93943
2
Code 52
CA 93943
2
NW
Training Department
American Embassy
(Cairo, Egypt)
American Embassy
(Cairo, Egypt)
American Embassy
(Cairo, Egypt)
10
26
10
USAF
HQUSCINCPAC/J66
Box 32A
Camp H. M.
Smith, HI 96861
Dr.Tarek Abdel-Hamid
Administrative Science Department, Code
AS
CA 93943
1
J.
T. Butler
Electrical
and Computer Engineering Department, Code Naval Postgraduate School Monterey, CA 93943
EC
27