A parallel object-oriented language: design and semantic foundations