The construction of a large class of distributed systems can be simplified by leveraging middleware, which is layered between network operating systems and application components....
Model-driven development of software-intensive systems aims at designing systems by stepwise model refinement. In order to create software product lines by model-driven development...
Early detection of problems within a code base can save much effort and associated cost as time progresses. One method of performing routine assessment of code with a view to pre-...
: From a maintenance perspective, only software that is well understood can evolve in a controlled and high-quality manner. Software evolution itself is a knowledge-driven process ...
: Architectural mismatches are a recognized obstacle to successful software reuse. An architectural mismatch occurs when two or more software components are connected to form a sys...