Despite the automated refactoring support provided by today's IDEs many program transformations that are easy to conceptualize-such as improving the implementation of a desig...
Safely updating software at remote sites is a cautious balance of enabling new functionality and avoiding adverse effects on existing functionality. A useful first step in this p...
Component-Based Software Engineering, Separation of Concerns, Model-Driven Architecture, and Aspect-Oriented Programming are four active research areas that have been around for s...
: Software agents are often employed in distributed environments to cope with the various dynamical dimensions of such systems. Furthermore, the paradigm of agent-oriented software...
The new era of multi-core processing challenges software designers to efficiently exploit the parallelism that is now massively available. Programmers have to exchange the conven...