ReUse/Web: Web-based Ada reuse

In his article "Software Reuse Myths" from the January 1988 issue of ACM SIGSOFT Software Engineering Notes, Will Tracz discusses why software reuse has not grown to its full potential. Engineers first proposed the concept of a subroutine library at the University of Cambridge in 1949. Yet the concept has not extended much past this level.At the time Tracz wrote this article, interest had begun to reemerge in the concept of software reuse. Still, Tracz believes that nine myths surround software reuse that have prevented it from becoming more widespread. Specifically, three myths relate to my thesis:1. Software reuse is a technical problem.2. Special tools are needed for software reuse.3. Ada has solved the reuse problem.As far as the first myth goes, the only technical problem is the lack of search methods to find the right pieces of code (which my project should help alleviate). Beyond that, the problem is more psychological, sociological or economic. For example, there is the "Not From Here" attitude pervading industry that Icads people to believe that software developed outside of their company is unreliable.Tracz believes you only need special tools (the second myth) when you become truly serious about reuse. Most software libraries, he claims, are only 100-200 components in size and that programmers can easily navigate this many components without any tools. Also, most instances of reuse occur when a programmer modifies existing programs that either he or a coworker wrote, so again he does not need a tool to find what he needs. I believe that the reuse mentality is a difficult one to accept and any tool that can make the transition to this attitude easier should be explored and utilized, no matter how small the number of components in the software library.Tracz refutes the third myth by stating that "writing a generic package in Ada does not necessarily make it reusable any more than writing a Fortran subroutine or assembly language macro." Simply put, generic packages are not enough to encourage reuse because the packages must still be instantiated with actual data types. The attitudes of the programmers using the language are more important than the language itself in determining whether or not code will be reused. I hope that my project makes Ada more accessible to code reuse and can change some programmers' attitudes about reuse.I believe that this attitude can change if programmers have access to a simple tool to browse software libraries that runs on a variety of hardware platforms to maximize usage and potential. This idea gave rise to ReUSE-WWW, an Ada specification file browser running under Netscape. Since Netscape runs on many platforms (PC, Macintosh, Unix-based., etc.), an application using Netscape as its "operating system" would be ideal. Fortunately, recent developments in World Wide Web programming, such as JavaScript and Perl CGI (Common Gateway Interface) have made this goal extremely attainable.ReUSE-WWW may not run under Microsoft's Internet Explorer, though. It also does not provide any editing, compiling, linking, or running capabilities. I assume that a potential user of the system already has an editor of choice and knows where to get an Ada 95 compiler, such as GNAT.