UML-Spaces: A UML Profile for Distributed Systems Coordinated via Tuple Spaces