An approach to performance evaluation of software architectures