PARELEC 2011 Keynote Speakers

The POP-C++ and POP-Java programming languages are implementations, as extensions of the programming languages C++ respectively Java, of the Parallel Object Oriented model. The POP model is based on the very simple idea that objects are suitable structures to distribute data and executable codes over heterogeneous distributed hardware and to make them interact between each other. The object oriented paradigm has unified the concept of module and type to create the new concept of class. The next step introduced by the POP model is to unify the concept of class with the concept of task (or process) to create a kind of class: the parallel class. By instantiating parallel classes we are able to create a new category of objects we will call parallel objects. Parallel objects are objects that can be remotely executed. They coexist and cooperate with traditional sequential objects during the application execution. New and different tasks, i.e. new parallel objects, can be dynamically created or destroyed during execution. As a consequence, the POP programming model is well adapted to heterogeneous and dynamic computing environments such as GRIDs, P2P or Clouds.