Design and implementation of communication patterns using parallel objects. (2017)