There are numerous mechanisms for separation of concerns at the source code level. Three mechanisms that are the focus of recent attention – metadata annotations, pointcuts and a...
Abstract. The term “software evolution” is generally used as an analogy for biological evolution. This paper explores that analogy in more depth, analyzing software evolution f...
Smalltalk-80 is a pure object-oriented language in which messages are dispatched according to the class of the receiver, or first argument, of a message. Object-oriented languages ...
Abstract. The authors of this paper have all developed a framework that allows runtime adaptation of software systems. Based on our experiences, we wish to summarize common pitfall...
Peter Ebraert, Theo D'Hondt, Yves Vandewoude, Yola...
In this paper we investigate the addition of first-class relationships to a prototypical object-oriented programming language (a “middleweight” fragment of Java). We provide ...
Abstract. Dependency injection is a hot topic among industrial developers using component frameworks. This paper first mentions that dependency injection and aspect-oriented progr...
Software modeling has received a lot a of attention in the last decade and now is an important support for the design process. Actually, the design process is very important to the...
Abstract. Starting from the advantages of using Feature-Oriented Programming (FOP) and program families to support software evolution, this paper discusses the drawbacks of current...
Object-oriented scripting languages like JavaScript and Python are popular partly because of their dynamic features. These include the runtime modification of objects and classes ...
Christopher Anderson, Paola Giannini, Sophia Dross...