Download Next Generation Software Configuration Management System

Transcript
perhaps some header files, and design documentation. Upon successfully creating an executable, the product could then be used to manage itself by using the
interfaces defined in this document to load and manage the source, header, and
other files used by this project. In this way, the product would be self-realizable.
Lack of implementation limits the proof of this property, however.
5.6
Portability
Varying levels of portability can be achieved depending on the language used
to implement this product. Portability levels could range from the restrictive
nature of an Ada program, to the limitless portability of a Java program. At this
point in time, it would be recommended that Java be used to create this system,
due to its compliance with Sun’s ’Write Once, Run Anywhere’ goal. However,
the specification is flexible enough to allow for the system to be produced by
any high-level programming language that may arise in the near future.
All operations defined within the text of this document are based on the
POSIX interface. In this respect, the Configuration Management system is
completely portable. Furthermore, this system facilitates the use of any arbitrary compiler, without any more effort than it would take to type the compile
command at a shell prompt.
5.7
Software Reuse
The Configuration Management system builds on numerous systems introduced
in the past. The similarities to the Make system, and the new system’s ability
to work properly given a standard makefile are but small examples. Limitless
instances of software reuse can, and should, be incorporated into the final product. The Java Developers Toolkit includes a URL class, which could be utilized
to easily access source files on remote systems as defined in the Network Specification, Section 4.2. An example of an implementation of the URL class is
included in Appendix B. Furthermore, a means for creating the graphical node
representation as specified in the Example Makefile Section, Section 3, is currently being created in the Parallel Architecture lab at Clemson University and
could be reused in the creation of this final product.
5.8
Efficiency
Although the time it takes to query and retrieve a remote file may seem lengthy,
this drawback can be counteracted by the incorporation of vast amounts of parallelism that can be achieved within the typical compile operation. The fact that
the new system incorporates the use of threads during it’s execution, and will
compile various independent files simultaneously, will result in an exponential
performance increase.
68