The aim of AMPLE is to provide a Software Product Line (SPL) development methodology that offers improved modularisation of variations, their holistic treatment across the software lifecycle and maintenance of their (forward and backward) traceability during SPL evolution. Currently, there is a big gap between research in requirements analysis, architectural modelling and implementation technology, and the industrial practice in SPL engineering. Furthermore, the focus tends to be on the design and code level when variations need to be identified, managed and analysed from the very early stage of requirements engineering. Architecture models are related to requirements models in an ad-hoc fashion and implementation tends to rely on pre-processors which are inadequate substitute for proper programming language support for variability. Nor is there any systematic traceability framework for relating variations across a SPL engineering lifecycle.
Aspect-Oriented Software Development (AOSD) can improve the way in which software is modularised, localising its variability in independent aspects as well as improving the definition of complex configuration logic to customise SPLs. Model-Driven Development (MDD) can help to express concerns as a set of models without technical details and support traceability of the high-level requirements and variations through model transformations.
AMPLE will combine AOSD and MDD techniques to not only address variability at each stage in the SPL engineering lifecycle but also manage variations in associated artefacts such as requirements documents. Furthermore, it aims to bind the variation points in various development stages and dimensions into a coherent variability framework across the life cycle thus providing effective forward and backward traceability of variations and their impact. This makes it possible to develop resilient yet adaptable SPL architectures for exploitation in industrial SPL engineering processes.
ICT Results (25th of January 2010)
Software Development Gets a Better Production Line
European researchers have devised a new software development paradigm using an assembly line-style development process. "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," says AMPLE project coordinator and Lancaster University professor Awais Rashid. The asset base features modular software elements that establish a Software Product Line (SPL), within which is managed the entire software lifecycle from design and development through deployment and maintenance. The AMPLE team created analyses tools that guide users on system development. Rashid says the results of the AMPLE tool analyses match those of human software experts, but the AMPLE software is capable of much faster assessment and can be used by non-experts. Other tools in the chain let companies generate their own modular software components, to put them together for a specific job, and to test and validate the resulting application. Another key element is the maintenance, repair, and modification of both the SPL and the software it creates.
View Full Article