To allow efficient and user-friendly development of a component-based application, component systems have to provide a rather complex development infrastructure, including a tool for component composition, component repository, and a runtime infrastructure. In this paper, we present and evaluate benefits of using meta-modeling during the process of defining a component system and also during creation of the development and runtime infrastructures.
Most of the presented arguments are based on a broad practical experience with designing the component systems SOFA and SOFA 2; the former designed in a classical ad hoc "manual" way, while the latter with the help of meta-modeling.