Software Release Management


Introduction

An area of configuration management (CM) that has received little attention is what we call software release management. Consider the following scenario.

In a situation like this, software release management plays a crucial role. One would like to be able to have a single system in which all software releases, their descriptive information, and, most importantly, their interdependencies can be stored. In addition, the same system should allow browsing and retrieval of software releases and their associated information by consumers. Obviously there are a number of requirements on such a system.

Software Release Manager

SRM (Software Release Manager) is a system that satisfies the requirements for software release management given above. SRM has been built using NUCM [2]. NUCM serves as the underlying distributed repository where all software releases and related information are stored. SRM provides both a Tcl/Tk and a Web interface to its users.

SRM is currently used as the release manager for the software produced by SERL to demonstrate its functionality.

Releasing Software to SRM

The following screen shot illustrates how software is released using the Tcl/Tk interface to SRM. A developer supplies all relevant information, such as the program name, the release number, release date, etc. In addition, the developer supplies the name of an archive file where the release is stored.

screen shot

If the software that is being released to SRM is dependent on some other software already stored in SRM, a developer chooses the ``set dependencies'' button from the above screen, which will bring up a new window that looks like the following screen shot. In this particular screen shot, the developer has indicated (the red bar) that ProDAG depends on release 3.1 of LPT, release 3.3 of Q, and release 2.0 of TAOS. SRM remembers that release 3.3 of Q transitively depends on version 403.2 of Arpc, and indicates that through the yellow bar.

screen shot

Retrieving a Software Release from SRM

After software has been released to SRM, it can be retrieved using another part of SRM. Since SRM is distributed, the software can not only be retrieved at the site where it was released, but also at any other site that is connected (through NUCM) to the site where the software was released.

The following screen shot illustrates how software can be retrieved using SRM. In this particular case, a consumer has selected release 2.0 of ProDAG (the red bar) as the software that they want to retrieve. SRM, through the yellow bars, displays all other software upon which ProDAG dependes. The consumer is able to retrieve all this software at once, even though the software might be distributed over many physically distributed sites. SRM hides this distribution totally from the consumer (i.e., the consumer does not need to use, for example, FTP to connect to some number of different sites to retrieve the various bits and pieces of the whole system).

screen shot

The detailed information that was filled out by the developer can be displayed through use of the ``Show Detail'' button. A window similar to the very first screen shot will then show up, displaying the requested information. In addition, more insight in the dependence-graph can be obtained by using the ``Show Dependency Graph'' button. A window similar to the next screen shot will show up. In this particular case, one can see that release 2.0 of ProDag depends on release 3.1 of LPT, release 3.3 of Q, and release 2.0 of TAOS. In addition, one can see that ProDAG transitively depends on release 403.2 of Arpc, since release 3.3 of Q depends on that.

screen shot

The graph can be manipulated as well. If a consumer decides that they already have all or part of the software that a particular software release depends on, they can indicate to SRM that they do not want that part. For example, in the next screen shot, the consumer has indicated that they already have release 3.3 of Q (and consequently release 403.2 of Arpc) by simply clicking on the node. Now if the consumer retrieves the software, SRM will not retrieve Q and Arpc.

screen shot

Retrieving a Software Release from SRM through the Web Interface

In addition to the Tcl/Tk interface, we have also developed a Web interface to SRM. Consumers are able to use Web to obtain a software release, including (if they wish too) the software upon which it depends. This interface offers the best of both worlds: the accurate dependency and descriptive information of SRM, as well as the ubiquity of Web. Follow this link or this link to use the Web interface on an actual database.


Future Research Directions

As it is right now, SRM is ready for use in extended experiments. However, our research plans in software release management extend beyond its current features. Our future plans include the following.


References

[1]
Desktop Management Task Force. Desktop Management Interface Specification: Version 1.0, 29 April 1994.
[2]
A. van der Hoek, D. Heimbigner, and A.L. Wolf. A Generic, Peer-to-Peer Repository for Distributed Configuration Management. Proceedings of the 18th International Conference on Software Engineering. IEEE Computer Society, March 1996.


SERL Home ©1998 Software Engineering Research Laboratory (SERL)
Last updated: 09-21-98