Software development gets a better production line
(PhysOrg.com) -- Work by European researchers means that software is about to get the assembly line treatment. It offers a powerful new paradigm for software development.
European researchers have created tools and techniques to make possible an assembly line-style development process for software.
“In a nutshell, think of this as a sandwich shop, where you have different products coming from a product line that shares ingredients, which customers can pick and choose,” explains professor Awais Rashid of Lancaster University and coordinator of the AMPLE project.
Instead of sandwich ingredients the asset base contains modular software components creating a Software Product Line (SPL). The components come in a large number of variations, and the whole software lifecycle - from design, development through implementation and maintenance - is managed in the SPL.
This approach also offers forward and backward traceability, a way of following code, and program elements to see how they relate and affect other parts of the system. This kind of traceability means that upgrading and redevelopment is much faster, cheaper and more accurate.
Powerful analyses tools
The AMPLE team went much further however. They developed analyses tools that tell users how to develop their system. It is a very powerful technique.
There are two scenarios. In the first, a company already works in an area and has a range of products, and makes the business decision to move its development process to the SPL model.
Here, the analyses software will look at the existing assets - the existing software specification, its documentation and feature list. From that analysis it can create a feature list that tells the business what it needs to create its new SPL.
In the second scenario, a company decides it will start to develop software for new applications. It could be an existing business or a start-up. The analyses tool will scan relevant documents and spec lists to reveal what elements their new system will need.
Matching the experts, automatically
“We have compared the results from our tool against the results of acknowledged experts in the various software fields, and our analyses produces results comparable to human experts,” reveals Rashid.
But the AMPLE software can do it much faster, and non-experts can use it. It is a phenomenally useful application that is already in use in other areas, analysing internet traffic to identify paedophile activity for example. It has a large future in other areas, too.
It works using a combination of information retrieval techniques like ‘latent semantic analysis’ and ‘natural language analysis’. Latent semantic analysis reveals relationships between documents, while natural language analysis identifies nuances, such as the same word meaning different things or different words meaning the same thing.
The result is a powerful, automatic analysis of the types of features required, what Rashid calls the “asset base”. That is the first element of the Toolsuite created by AMPLE.
Tools in the chain
Other tools in the chain allow companies to create their modular software components, to assemble them for a specific task, and to test and validate the resulting application. Another important element is the maintenance, repair and modification of both the SPL and the software it produces.
“Software is developing all the time, with new and better techniques to do the same job, or to complete new tasks. You have to plan for upgrading and improving the product line from the beginning,” notes Rashid.
“This is where traceability becomes so important. With the AMPLE Toolsuite, if you change one element of the product line it will show you what other elements are affected by that change, so you can modify the other elements.”
It makes it a lot harder to break the software by adding a new element, a frequent problem in software design.
The project has completed its work and industry and academia are excited by what the team has achieved. There are a number of discussions underway to examine how the work might go forward.
One company, which worked with the project but is not part of the consortium, may incorporate elements of the initial analyses tools into its products, while the partners are discussing ways to take the work forward.
The software is already available for download on the AMPLE website, but Rashid believes it will require a lot more work to make the platform a commercial package. “Do I see the Toolsuite released as a commercial product? It would take much more development. There are elements within our work that will be used... but it will take a few years for the entire suite to be up to commercial standard. Therefore, we are making some of the modelling software Open Source to develop it further.”
In the meantime, AMPLE demonstrated a powerful new paradigm for software development, one that could reduce costs, speed up development and lead to new SMEs developing in Europe. As a bonus, they have created tools that will have impressive potential applications way beyond the software domain.