Charmy: A Framework for Designing and Validating Architectural Specifications