Complex and long-lived software need to be upgraded at runtime. Replacing a software component with a newer version is the basic evolution operation that has to be supported. It i...
Crosscutting concerns are pervasive in embedded software, because of the various constraints imposed by the environment and the stringent QOS requirements on the system. This pape...
Thomas Cottenier, Aswin van den Berg, Tzilla Elrad
Architecture defines the components of a system and their dependencies. The knowledge about how the architecture is intended to be implemented is essential to keep the system str...
We wish to investigate how structural design principles are used in practice, in order to assess the utility and relevance of such principles to the maintenance of large, complex,...
Component recovery and remodularization is a means to get back control on large and complex legacy systems suffering from ad-hoc changes by recovering logical components and restr...