Documenting software architectures : views and beyond - Clements, Paul (Addison-Wesley, 2003)