A Model-based Design Environment for Executing Self-* Software Components