Connecting open systems of communicating finite state machines