Describir: Formal aspects of component software