An EU-funded team of researchers has created a new paradigm for software development. The AMPLE ('Aspect-oriented, model-driven, product line engineering') project offers a software product line (SPL) development methodology that provides better variation modularisation, holistic treatment across the software lifecycle and maintenance of their traceability during SPL development. AMPLE received nearly EUR 3.8 million under the 'Information society technologies' Thematic area of the Sixth Framework Programme (FP6).
'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,' said Professor Awais Rashid of the UK's Lancaster University, the coordinating body of AMPLE.
SPL manages the entire software lifecycle including design, development, implementation and maintenance. Not only does this system help researchers follow code but it also provides forward and backward traceability. At the end of the day, this type of traceability generates more accurate and faster upgrading at a much lower cost.
The AMPLE-developed analyses tools give users a major boost by telling them how to develop their system, according to the project partners. The software works in two ways: (1) if a company chooses to move its development process to the SPL model but already has a product range, the analyses software will review the existing assets (e.g. software specification, feature list) and create a feature list that indicates what the company must use to create its new SPL; (2) if a company chooses to develop software for new applications, the analyses tool will scan key documents and specifications lists to determine what elements the new system will require.
'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,' Professor Rashid pointed out. The uniqueness of the AMPLE software is that it is cheap, quick and user friendly.
The software uses a combination of information retrieval techniques such as 'natural language analysis', which identifies nuances like the same word meaning different things, and 'latent semantic analysis', which reveals relationships between documents, according to the partners.
The outcome is a strong and automated analysis of the types of features needed. Professor Rashid refers to it as the 'asset base', and it is the first element of AMPLE's Toolsuite.
The software assembly line can also help businesses build their modular software components, as well as assemble, test and validate the end results.
'Software is developing all the time, with new and better techniques to do the same job, or to complete new tasks,' Professor Rashid explained. 'You have to plan for upgrading and improving the product line from the beginning. 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.'
So what is in store for the future? Both academia and industry have expressed an interest in AMPLE's results. Interested users can download the software that is available on the AMPLE website. However, more work is needed if the platform is to be launched on the market.
'Do I see the Toolsuite released as a commercial product? It would take much more development,' Professor Rashid said. '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 our modelling software open source to develop it further.'
AMPLE partners are from Germany, Spain, France, the Netherlands, Portugal and the UK.
Related stories: 31269
Category: Project results
Data Source Provider: ICT Results
Document Reference: Based on information from ICT Results
Subject Index: Coordination, Cooperation; Information and communication technology applications; Scientific Research; Information Processing, Information