Stream Programming for Distributed Systems