Charmy: A framework for Software Architecture Specification and Analysis