Software Architectures and Coordination models