1. Introduction
Over the past years, Component-based Software Engineering (CBSE) has become a well-established paradigm of software development. Via separation of software into reusable building blocks with well-defined interfaces, it facilitates development, deployment, and maintenance of software. Although the idea of constructing new applications solely from the third party off-the-shelf components is still a song of the future, much research and industry effort goes that way.