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