Save Your Software! Recycle

A specification for recycling old software code for new tasks and projects is gradually making its way toward becoming a standard, according to an engineer at IBM’s Rational software development tools division.

Grant Larsen, model driven development strategist, said the Re-usable Asset Specification (RAS) is geared to take bits and pieces of software code and bundle them together to use them in other projects, cutting time and costs.

RAS is important, Larsen said, because currently no standard exists to facilitate methods for packaging software assets. Larsen heads the RAS consortium, which includes IBM, Borland, Flashline, ComponentSource and others.

Larsen said a key to re-using software code, is familiarity because most developers “go about the development process” in different ways.

“Just like the steering wheel, turn signals and pedals of a car are slightly different across car models and makes, software assets may be slightly different, but will all have an inherent familiarity,” Larsen told

One practical use for the RAS process includes taking code from one Web site and using it to build another, even superior Web site.

The seed for the idea was planted a few years ago as the dot-com economy was reaching new depths and financial officers were slashing budgets wholesale. IBM, Microsoft and pre-IBM-owned Rational Software got together to discuss away to cut software development costs. Microsoft later dropped out, but Larsen wouldn’t say why.

“We came together to discuss certain artifacts, or pieces of software code that we dealt with and set out to define what a software component is, and what an asset is, which is a group of artifacts, which you could use to develop new sites,” Larsen said. “We outlined a whole process and definitions that eventually became the Re-usable Asset Specification.”

Bits of code are collected and pieced together to form assets, which may include a company’s logo that must appear on every Web page. These assets may be combined, Larsen said, to allow for a more complex assets for a “coarse-grained solution,” in which the assets know how to work with one another to perform a task, such as providing the basis for a Web site.

For example, if a company acquired another company and a head developer desired to re-use some of that company’s code, the developer could put it through the RAS process of modeling, visualizing, testing and validating to blend the code with other alien bits of code.

Or, take the case of an existing Web site that needs to update print invoices. A developer could take the shopping cart, and replace that with online credit card Web service using RAS.

Ideally, Larsen said this would save companies time and money associated with software development costs, freeing engineers to work on other critical projects.

RAS is expressed in XML, Larsen said, making it extremely accessible to the software development world. RAS also employs metadata — data about data — to help in the profile description process. Moreover, it
models predictability

Larsen said Rational employs RAS-based tools in its prized Rational XDE
modeling tool, which comes in both .NET and Eclipse-based Java flavors. Larsen said
XDE can “produce and consume RAS assets and one can create as many RAS
repositories as he or she would like” with XDE.

RAS is currently being reviewed by the Object
Management Group
standards body and is expected to be ratified in July.

News Around the Web