Christopher L. Simons
University of the West of England
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Christopher L. Simons.
IEEE Transactions on Software Engineering | 2010
Christopher L. Simons; Ian C. Parmee; Rhys Gwynllyw
Although much evidence exists to suggest that early life cycle software engineering design is a difficult task for software engineers to perform, current computational tool support for software engineers is limited. To address this limitation, interactive search-based approaches using evolutionary computation and software agents are investigated in experimental upstream design episodes for two example design domains. Results show that interactive evolutionary search, supported by software agents, appears highly promising. As an open system, search is steered jointly by designer preferences and software agents. Directly traceable to the design problem domain, a mass of useful and interesting class designs is arrived at which may be visualized by the designer with quantitative measures of structural integrity, such as design coupling and class cohesion. The class designs are found to be of equivalent or better coupling and cohesion when compared to a manual class design for the example design domains, and by exploiting concurrent execution, the runtime performance of the software agents is highly favorable.
systems man and cybernetics | 2012
Christopher L. Simons; Ian C. Parmee
Design is fundamental to software development but can be demanding to perform. Thus, to assist the software designer, evolutionary computing is being increasingly applied using machine-based, quantitative fitness functions to evolve software designs. However, in nature, elegance and symmetry play a crucial role in the reproductive fitness of various organisms. In addition, subjective evaluation has also been exploited in interactive evolutionary computation (IEC). Therefore, to investigate the role of elegance and symmetry in software design, four novel elegance measures are proposed which are based on the evenness of distribution of design elements. In controlled experiments in a dynamic IEC environment, designers are presented with visualizations of object-oriented software designs, which they rank according to a subjective assessment of elegance. For three out of the four elegance measures proposed, it is found that a significant correlation exists between elegance values and reward elicited. These three elegance measures assess the evenness of distribution of 1) attributes and methods among classes; 2) external couples between classes; and 3) the ratio of attributes to methods. It is concluded that symmetrical elegance is in some way significant in software design, and that this can be exploited in dynamic, multiobjective IEC to produce elegant software designs.
genetic and evolutionary computation conference | 2006
Christopher L. Simons; Ian C. Parmee
This poster paper investigates the potential of single and multi-objective genetic operators with an object-oriented conceptual design space. Using cohesion as an objective fitness function, genetic operators inspired by genetic algorithms and evolutionary programming are compared against a simple case study. Also, using both cohesion and coupling as objective fitness functions, multi-objective genetic operators inspired by a non-dominated sorting algorithm have been developed. Cohesion and coupling values achieved are similar to human performed designs and a large number and variety of optimal solutions are arrived at, which could not have been produced by the human software engineer. We conclude that this mass of optimal design variants offers significant potential for design support when integrated with user-centric, computationally intelligent tools.
world congress on computational intelligence | 2008
Christopher L. Simons; Ian C. Parmee
Although much evidence exists to suggest that conceptual software engineering design is a difficult task for software engineers to perform, current computationally intelligent tool support for software engineers is limited. While search-based approaches involving module clustering and refactoring have been proposed and show promise, such approaches are downstream in terms of the software development lifecycle - the designer must manually produce a design before search-based clustering and refactoring can take place. Interactive, user-centered search-based approaches, on the other hand, support the designer at the beginning of, and during, conceptual software design, and are investigated in this paper by means of a case study. Results show that interactive evolutionary search, supported by software agents, appears highly promising. As an open system, search is steered jointly by designer preferences and software agents. Directly traceable to the design problem domain, a mass of useful and interesting conceptual class designs are arrived at which may be visualized by the designer with quantitative measures of structural integrity such as design coupling and class cohesion. The conceptual class designs are found to be of equivalent or better coupling and cohesion when compared to a manual conceptual design of the case study, and by exploiting concurrent execution, the performance of the software agents is highly favorable.
Swarm Intelligence | 2014
Christopher L. Simons; Jim Smith; Paul White
Finding good designs in the early stages of the software development lifecycle is a demanding multi-objective problem that is crucial to success. Previously, both interactive and non-interactive techniques based on evolutionary algorithms (EAs) have been successfully applied to assist the designer. However, recently ant colony optimization was shown to outperform EAs at optimising quantitative measures of software designs with a limited computational budget. In this paper, we propose a novel interactive ACO (iACO) approach, in which the search is steered jointly by an adaptive model that combines subjective and objective measures. Results show that iACO is speedy, responsive and effective in enabling interactive, dynamic multi-objective search. Indeed, study participants rate the iACO search experience as compelling. Moreover, inspection of the learned model facilitates understanding of factors affecting users’ judgements, such as the interplay between a design’s elegance and the interdependencies between its components.
soft computing | 2013
Christopher L. Simons; Jim Smith
Advances in processing capacity, coupled with the desire to tackle problems where a human subjective judgment plays an important role in determining the value of a proposed solution, has led to a dramatic rise in the number of applications of Interactive Artificial Intelligence. Of particular note is the coupling of meta-heuristic search engines with user-provided evaluation and rating of solutions, usually in the form of Interactive Evolutionary Algorithms (IEAs). These have a well-documented history of successes, but arguably the preponderance of IEAs stems from this history, rather than as a conscious design choice of meta-heuristic based on the characteristics of the problem at hand. This paper sets out to examine the basis for that assumption, taking as a case study the domain of interactive software design. We consider a range of factors that should affect the design choice including ease of use, scalability, and of course, performance, i.e. that ability to generate good solutions within the limited number of evaluations available in interactive work before humans lose focus. We then evaluate three methods, namely greedy local search, an evolutionary algorithm and ant colony optimization (ACO), with a variety of representations for candidate solutions. Results show that after suitable parameter tuning, ACO is highly effective within interactive search and out-performs evolutionary algorithms with respect to increasing numbers of attributes and methods in the software design problem. However, when larger numbers of classes are present in the software design, an evolutionary algorithm using a naïve grouping integer-based representation appears more scalable.
systems, man and cybernetics | 2010
Christopher L. Simons; Ian C. Parmee
User-centered Interactive Evolutionary Computation (IEC) has been applied to a wide variety of areas, including UML software design. The performance of evolutionary search is important as user interaction fatigue remains an on-going challenge in IEC. However, to obtain optimal search performance, it is usually necessary to “tune” evolutionary control parameters manually, although tuning control parameters can be time-consuming and error-prone. To address this issue in other fields of evolutionary computation, dynamic parameter control including deterministic, adaptive and self-adaptive mechanisms have been applied extensively to real-valued representations. This paper postulates that dynamic parameter control may be highly beneficial to IEC in general, and UML software design in particular, wherein a novel object-based solution representation is used. Three software design problems from differing design domains and of differing scale have been investigated with mutation probabilities modified by simulated annealing, the Rechenberg “1/5 success rule” and self-adaptation within local search. Results indicate that self-adaptation appears to be the most robust and scalable mutation probability modification mechanism. The use of self-adaption with an object-based representation is novel, and results indicate that dynamic parameter control offers great potential within IEC.
genetic and evolutionary computation conference | 2015
Hamzeh J. Aljawawdeh; Christopher L. Simons; Mohammed Odeh
In interactive metaheuristic search, the human helps to steer the trajectory of the search by providing qualitative evaluation to assist in the selection of solution individuals. It can be challenging to design mechanisms to exploit human qualitative evaluation taking into account human trade-off judgments among competing criteria and implicit knowledge and experience. This paper addresses this challenge by proposing the Preference metaheuristic design pattern involving six abstractions across two dimensions: explicit and implicit knowledge and a priori, interactive and a posteriori timings.
systems, man and cybernetics | 2009
Christopher L. Simons; Ian C. Parmee
Conceptual software engineering design is an intensely people-oriented and non-trivial activity, yet current computational tool support is limited. While a number of search-based software engineering approaches to support software design have been reported, few empirical studies into their application have been described. This paper reports the findings of an observational study of conceptual design episodes in a UK higher education problem domain. When compared with a manual design episode, a design episode enabled by a user-interactive, search-based, evolutionary computation tool generates a large number of useful and interesting candidate designs, and provides enhanced qualitative and quantitative evaluation. It is also found that tool-supported visualization of UML class designs offers opportunities for sudden design discovery, and that designers respond positively to opportunities to explore and exploit multiple candidate designs. It appears therefore that search-based computational tool support offers high potential in the support of conceptual software engineering design.
Journal of Systems and Software | 2015
Jim Smith; Christopher L. Simons
We pose the identification of class models in early stage software design as a search problem.We conduct empirical studies to see how various search components affect solution quality.We identify key characteristics of problem landscapes for constructing test-suites. This paper examines the factors affecting the quality of solution found by meta-heuristic search when optimising object-oriented software class models. From the algorithmic perspective, we examine the effect of encoding, choice of components such as the global search heuristic, and various means of incorporating problem- and instance-specific information. We also consider the effect of problem characteristics on the (estimated) cost of the global optimum, and the quality and distribution of local optima. The choice of global search component appears important, and adding problem and instance-specific information is generally beneficial to an evolutionary algorithm but detrimental to ant colony optimisation. The effect of problem characteristics is more complex. Neither scale nor complexity have a significant effect on the global optimum as estimated by the best solution ever found. However, using local search to locate 100,000 local optima for each problem confirms the results from meta-heuristic search: there are patterns in the distribution of local optima that increase with scale (problem size) and complexity (number of classes) and will cause problems for many classes of meta-heuristic search.