Interactive evolutionary computing in early lifecycle software engineering design.
PhD, University of the West of England.
Publisher's URL: http://www.cems.uwe.ac.uk/~clsimons/PhD/ReadMe.htm...
Design is fundamental to software development. Indeed, early lifecycle software engineering design is crucial and has significant impact of subsequent development activities. Inferior designs can result in deleterious down-stream consequences. Therefore improving the traceability, structural integrity and elegance of software design has significant potential for enhancing software development productivity. However, early lifecycle software design is a demanding and non-trivial task for software engineers to perform and current computational tool support for software engineers is limited. Thus to address this limitation, this thesis investigates the potential of interactive evolutionary search and complementary computational intelligence to enable the exploration and discovery of useful and interesting software designs relating to the design problem at hand.
To enable evolutionary search and exploration of possible design solutions, a novel, discrete, object-based representation of both design problem and design solution is proposed. Associated genetic operators including self-adapting mutation are also proposed. Experiments show that this novel representation enables highly effective search and exploration of the software design solution space. Next, software agents are introduced to facilitate an interactive framework for natural collaborative designer / computer interaction. Empirical investigations reveal that colourful visualisation of software designs engages the designer. Furthermore, with enhanced generation of multiple candidate designs, opportunities for periods of designer reflection are presented thus enabling sudden design discovery.
Design elegance is an important but complex factor in software design. Four novel quantitative elegance measures are proposed which enhance the interactive design experience by selecting elegant software designs for designer evaluation. Using designer elegance evaluation as reward, reward-based machine learning is exploited to steer a dynamic, multi-objective search according to designer elegance intentions. Designer interactivity is further enhanced by a dynamic, fitness-proportionate interactive interval, which judiciously varies the number of evolutionary generations between interactions to promote search and exploration and further reduce use fatigue. The integration of interactive, dynamic evolutionary search with software agents and reward-based learning is found to produce an engaging, compelling interactive experience for software designers, successfully enabling the search, exploration and discovery of fruitful, interesting and useful early lifecycle software designs.
Request a change to this item
Total Document Downloads in Past 12 Months