ProActive

ProActive Parallel Suite is an open-source software for enterprise workload orchestration, part of the OW2 community.

The model was created by Denis Caromel, professor at University of Nice Sophia Antipolis.

With ProActive, the programmer does not have to explicitly manipulate Thread objects, unlike in standard Java.

The thread of an active object then chooses a method in the queue of pending requests and executes it.

No parallelism is provided inside an active object; this is an important decision in ProActive's design, enabling the use of "pre-post" conditions and class invariants.

ProActive is a library designed for developing applications in the model introduced by Eiffel//, a parallel extension of the Eiffel programming language.

Thanks to the concepts of asynchronous calls, futures, and no data sharing, an application written with ProActive doesn't need any structural change—actually, hardly any change at all—whether it runs in a sequential, multi-threaded, or distributed environment.

As a consequence, the calling thread can go on with executing its code, as long as it doesn't need to invoke methods on the returned object.

Similarly, when bar is called on a, it returns immediately but the result v can't be computed yet.

The role of the future mechanism is to block the caller thread when the gee method is called on v and the result has not yet been set : this inter-object synchronization policy is known as wait-by-necessity.

The model: Sequential, multithreaded, distributed