Inheritance is a useful mechanism for factoring and reusing code. However, it has limitations for building extensible systems. We describe nested inheritance, a mechanism that add...
These notes have the status of letters written to ourselves: we wrote them down because, without doing so, we found ourselves making rguments over and over again. So began the abs...
The main goal of this PhD thesis is to propose and implement a methodology for the construction of programs based on the SCOOP model, and for modular reasoning about their correct...
Predicate dispatch is an object-oriented (OO) language mechanism for determining the method implementation to be invoked upon a message send. With predicate dispatch, each method ...
There are a number of technologies designed to improve modularity in software systems. The technique presented here combines two of them seamlessly to exploit their respective ben...
Extreme Programming (XP) is an agile software development methodology composed of several practices that purportedly yield high quality and high customer satisfaction. However, th...
Generative programming and aspect-oriented software development have been proposed over the last years aiming at increasing maintainability and reusability of software systems. Wh...