I've been reading some papers from the early 90s about a US Department of Defense software reuse initiative called the Defense Software Reuse System (DSRS). The most recent mention of it I could find was in a paper from 2000 - A Survey of Software Reuse Repositories

Defense Software Repository System (DSRS)

The DSRS is an automated repository for storing and retrieving Reusable Software Assets (RSAs) [14]. The DSRS software now manages inventories of reusable assets at seven software reuse support centers (SRSCs). The DSRS serves as a central collection point for quality RSAs, and facilitates software reuse by offering developers the opportunity to match their requirements with existing software products. DSRS accounts are available for Government employees and contractor personnel currently supporting Government projects...

...The DoD software community is trying to change its software engineering model from its current software cycle to a process-driven, domain-specific, architecture-based, repository-assisted way of constructing software [15]. In this changing environment, the DSRS has the highest potential to become the DoD standard reuse repository because it is the only existing deployed, operational repository with multiple interoperable locations across DoD. Seven DSRS locations support nearly 1,000 users and list nearly 9,000 reusable assets. The DISA DSRS alone lists 3,880 reusable assets and has 400 user accounts...

The far-term strategy of the DSRS is to support a virtual repository. These interconnected repositories will provide the ability to locate and share reusable components across domains and among the services. An effective and evolving DSRS is a central requirement to the success of the DoD software reuse initiative. Evolving DoD repository requirements demand that DISA continue to have an operational DSRS site to support testing in an actual repository operation and to support DoD users. The classification process for the DSRS is a basic technology for providing customer support [16]. This process is the first step in making reusable assets available for implementing the functional and technical migration strategies.

[14] DSRS - Defense Technology for Adaptable, Reliable Systems
URL: http://ssed1.ims.disa.mil/srp/dsrspage.html
[15] STARS - Software Technology for Adaptable, Reliable Systems
URL: http://www.stars.ballston.paramax.com/index.html
[16] D. E. Perry and S. S. Popovitch, “Inquire: Predicate-based use and reuse,''
in Proceedings of the 8th Knowledge-Based Software Engineering Conference, pp. 144-151, September 1993.

Is DSRS dead, and were there any post-mortem reports on it? Are there other more-recent US government initiatives or reports on software reuse?

  • Wow very interesting. I'd imagine most things reusable by the entire defense community would be the kind if stuff reusable by programmers at large. So that kind of stuff would make its way to general libraries and frameworks. – Doug T. Aug 2 '12 at 3:31

DSRS had at least one name before that and has had a couple more afterward. I've since forgotten what they are, but you should consider the program dead. Not even pining for the fjords, just dead.

The DoD has gone through many attempts at department-wide reusability programs, and this was one of them. The Ada programming language was another, being a mandatory-use language from 1987 until the late 1990s when the mandate was effectively abandoned. (The number of waivers for non-Ada projects that were being issued by the early 1990s should have been a dead giveaway.)

The post-mortem on most of these programs is pretty simple:

  • Trying to do re-use on that scale is a noble idea and can be made to work, but it takes a combination of foresight, determination, coordination and leadership that DoD has never been able to muster.
  • There were (and still are) cultural problems with re-use like turf wars between the department's offices and each of those offices running their own re-use programs.
  • A lot of defense-related development happens in a bubble, where the contractor is being paid to develop "a" system and doesn't have any real motivation to make the things they build into tools that can be used widely, especially if they're not going to be paid to maintain it for other programs over the long term. Project A isn't going to use its precious budget to do something to help out Project B even though it's all the same big pot of money.
| improve this answer | |
  • Can you comment at all on your background or how you came about this information? – M. Dudley Sep 7 '12 at 16:52
  • @emddudley: I've worked in defense on and off since the early 1990s. – Blrfl Sep 7 '12 at 17:05

As a Java programmer working for the Dept of Defense, I've never heard of it and neither has anyone else in the office. I just now Googled it and all I found was the acronym definition but nothing else. I think its safe to say that it died a quiet death. Pity, though, it seems like a good idea.

| improve this answer | |
  • 1
    A lot of things that seem like a good idea turn out to be utterly impractical. Writing reusable software is much harder than it sounds. – Michael Borgwardt Sep 7 '12 at 15:04
  • 1
    DSRS predates Java by at least five years, longer if you count its predecessors. – Blrfl Sep 7 '12 at 15:35

Not the answer you're looking for? Browse other questions tagged or ask your own question.