analysis of software architectures