Describir: A Technique to Support Incremental Construction and Verification in Component-Based Software Development