Modeling software architectures in the Unified Modeling Language
Foundations for the study of software architecture