A component-based development framework for supporting functional and non-functional analysis in control system design