DeLesley Hutchins

Learn More
The goal of <i>feature-oriented programming</i> (FOP) is to modularize software systems in terms of features. A <i>feature</i> refines the content of a base program. Both base programs and features may contain various kinds of software artifacts, for example, source code in different languages, models, build scripts, and documentation. We and others have(More)
In mainstream OO languages, inheritance can be used to add new methods, or to override existing methods. Virtual classes and feature oriented programming are techniques which extend the mechanism of inheritance so that it is possible to refine nested classes as well. These techniques are attractive for programming in the large, because inheritance becomes a(More)
The term " software evolution " is generally used as an analogy for biological evolution. This paper explores that analogy in more depth, analyzing software evolution from the biologist's point of view. I give a basic introduction to genetic algorithms, and describe two major issues that effect evolvability: local optima in the search space, and genotype to(More)
I present the Ohmu language, a unified object model which allows a number of "advanced" techniques such as aspects, mixin layers, parametric polymorphism, and generative components to be implemented cleanly using two basic concepts: block structure and inheritance. I argue that conventional ways of defining classes and objects have created artificial(More)
  • 1