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...
In the context of software maintenance, legacy software systems are continuously re-engineered in order to correct errors, provide new functionality, or port them into modern plat...
This paper1 is based on and advocates the trend in software engineering of extending the use of software patterns as means of structuring solutions to software development problems...
Novel functionality, configurability and higher efficiency in automotive systems require sophisticated embedded software, as well as distributed software development between man...
In modern software engineering, researchers regard a software system as an organic life form that must continue to evolve to remain successful. Unfortunately, little is known abou...