16219760
Selection and Reuse of Software Design Patterns Using CBR and WordNet
Software engineers and programmers deal with repeated problems and situations in the course of software design. This lead to the development of software design patterns, which can be defined as a description of an abstract solution for abstract design problems. Existing approaches to pattern application using computer tools, need the help and guidance of a human designer to select which design pattern to apply. The automation of this task opens the possibility of CASE design tools providing complete automation for the application of design patterns, and the offering new functionalities that can help the software designer to improve systems, and do better software reuse. In this paper we present an approach that automates design pattern selection and application. This approach is based on CaseBased Reasoning and WordNet, showing how they are combined to generate evolved software design diagrams. We also present an experimental study of our approach.
11166519
Case Retrieval of Software Designs using WordNet
Software design is one of the most important phases in system development, due to crucial decisions that are made during this phase. The need for software being developed in less time puts a lot of pressure in the design phase. One way to solve this problem is to reuse previous design solutions. In software design reuse the retrieval of relevant designs is a key issue. 
 
Case-Based Reasoning reuses past experiences to solve new problems, providing a reasoning framework for design reuse. But designing software involves reasoning at a more abstract level than coding software, thus a software design reuse tool must be able to work with a broad range of abstract concepts. A possible solution is the use of a common sense ontology, capable of providing this kind of knowledge, otherwise the system would have to demand a lot of knowledge from the designer. 
 
This paper presents an approach to software design retrieval based on Case-Based Reasoning combined with a common sense ontology - WordNet. We describe the case retrieval algorithm, the case similarity metrics and experimental results.
15250271
Evaluation of Case-Based Maintenance Strategies in Software Design
CBR applications running in real domains can easily reach thousands of cases, which are stored in the case library. Retrieval times can increase greatly if the retrieval algorithm can not cope with such an amount of cases. Redundancy can also be a problem, focusing retrieval alternatives in a very restricted search space. Basically, the system's performance starts to degrade with the increase of the case-base size. Case-base maintenance allows CBR systems to deal with this problem, mainly through the use of case selection criteria. In this paper we present an experimental study about several case-base maintenance policies developed till now. We adapted and implemented these policies to a CBR system for software reuse and design, testing the applicability of these policies to cases with a complex representation (combination of tree and graph representations).
18713951
Using CBR for Semantic Analysis of Software Specifications
Helping software designers in their task implies the development of tools with intelligent capabilities. One such capability is the integration of natural language understanding in CASE tools, thus improving the designer/tool communication. In this paper, we present a CBR approach for the generation of UML class diagrams from natural language text. This approach is implemented in a CASE tool, with the goal of helping the software designer create the first system model. We describe the natural language conversion module and give an overview of the tool in which it is integrated. Experimental results for retrieval and adaptation mechanisms are also presented.
11245975
Experiments with free concept generation in Divago
This paper presents a set of experiments we carried out with, Divago, a system that is an attempt to implement our ideas towards a computational model of creativity. It is expected to be able to generate novel concepts out of previous knowledge. Here we show its behaviour with a large dataset constructed independently by other researchers consisting of over 170 nouns (for a project named C^3). Each noun is represented with a syntax that is equivalent to the one adopted for Divago. We apply a two step experimentation procedure, which starts by ''training'' the system with ''preferred outcomes'' and then allowing it to do free generation, constrained by the pragmatic goal of a given query. We evaluate the results and make a short discussion regarding well-defined criteria of novelty and usefulness. We also present a comparison with a similar experiment done with C^3.
11219736
Combining Case-Based Reasoning and Analogical Reasoning in Software Design
Designers use several types of knowledge and reasoning mechanisms during the creation of new artefacts. In order to cope with this cognitive characteristic of design, an intelligent design tool able to help a designer must integrate several reasoning mechanisms and knowledge formats. Case-based reasoning and analogical reasoning are usually considered as two distinct mechanisms, though they are also considered to be in the same cognitive axis, case-based reasoning being in one extreme, and analogy in the other. Both are important reasoning mechanisms in the generation of new designs, but they both reflect different ways of exploring the design space. In this paper we present a way of combining both techniques, showing how it was integrated in an intelligent software design tool. Experimental results are presented and discussed, showing the advantages and limitations of this approach.
12781827
On the influence of GVR in vehicle routing
A comparative study is made between a new evolutionary approach for the Vehicle Routing Problem (VRP) and a standard evolutionary model, based on Path Representation. Genetic Vehicle Representation (GVR) is the new two-level representational scheme designed to deal in an effective way with all the information needed by candidate solutions. Experimental results, obtained from a set of VRP instances, show performance improvements when GVR is used.
18592363
Evolving Golomb Rulers
A Golomb Ruler is defined as a ruler that has marks unevenly spaced at integer locations in such a way that the distance between any two marks is unique. Unlike usual rulers, they have the ability to measure more discrete measures than the number of marks they possess. Although the definition of a Golomb Ruler does not place any restriction on the length of the ruler, researchers are usually interested in rulers with minimum length. An Optimal Golomb Ruler (OGR) is defined as the shortest length ruler for a given number of marks [1].
8238424
GVR: A New Genetic Representation for the Vehicle Routing Problem
In this paper we analyse a new evolutionary approach to the vehicle routing problem. We present Genetic Vehicle Representation (GVR), a two-level representational scheme designed to deal in an effective way with all the information that candidate solutions must encode. Experimental results show that this method is both effective and robust, allowing the discovery of new best solutions for some well-known benchmarks.
2344862
Busy Beaver - The Influence of Representation
The Busy Beaver is an interesting theoretical problem proposed by Rado in 1962, in the context of the existence of non computable functions. In this paper we propose an evolutionary approach to this problem. We will focus on the representational issues, proposing alternative ways of codifying and interpreting Turing Machines, designed to take advantage of the existence of sets of equivalent Turing Machines. The experimental results show that these alternatives provide improvement over the "standard" genetic codification.
10111787
Golomb Rulers: The Advantage of Evolution
In this paper we present a new evolutionary algorithm designed to efficiently search for optimal Golomb rulers. The proposed approach uses a redundant random keys representation to codify the information contained in a chromosome and relies on a simple interpretation algorithm to obtain feasible solutions. Experimental results show that this method is successful in quickly identifying good solutions and that can be considered as a realistic alternative to massive parallel approaches that need several months or years to discover high quality Golomb rulers.