It is widely accepted in Distributed Artificial Intelligence that a crucial property of artificial agents is their autonomy. Whereas agent autonomy enables features of agent-base...
Gamification, the use of game mechanics in non-gaming applications, has been applied to various systems to encourage desired user behaviors. In this paper, we examine patterns of ...
Jennifer Thom-Santelli, David R. Millen, Joan Morr...
Many researchers claim that crosscutting concerns, which emerge in early software development stages, are harmful to software stability. On the other hand, there is a lack of effec...
Transparent system support for software fault tolerance reduces performance in general and precludes application-specific optimizations in particular. In contrast, explicit support...
As software systems evolve, they become more complex and harder to understand and maintain. Certain reverse engineering techniques attempt to reconstruct software models from sour...