Formal Aspects of Component Software