Hierarchical Components for Distributed Objects on the Grid

Building, Describing, Composing, Deploying, and Monitoring Distributed Objects

Ph.D. proposal


As distributed systems are becoming ubiquitous, component technology has been recognized as an effective way to describe, distribute, configure, and monitor software.
It seems natural to apply component principles to distributed objects, the main structuring concept for distributed systems.

At the same time, Grid computing is emerging as one of the major challenge for computer science: seamless access and use of computing resources, world-wide.
The word "Grid" is chosen by analogy with the electric power grid, which provides pervasive access to power and, like the computer and a small number of other advances, has had a dramatic impact on human capabilities and society. It is believed that by providing pervasive, dependable, consistent and inexpensive access to advanced computational capabilities, computational grids will have a similar transforming effect, allowing new classes of applications to emerge.
See The Anatomy of the Grid for a detailed description, and the Globus web page.


So far, there has been no largely acknowledged component model for Grid applications. This Doctorate proposes to tackle the following challenge:
INRIA work on the design of a standard component model for Grid applications (distributed and parallel components, with XML descriptors),
      A major achievement will be the capacity to handle hierarchical components, in order to master complexity, composability, and efficiency.
INRIA work on the integration with computing portals, providing interactive functionalities such as building, composing, deploying, and monitoring.

Eventually, the goal is to offer an integrated environment for the building, the deployment, and the monitoring of parallel and distributed components in a grid computing framework.
As formal foundations are available for the model of computation being used (Active objects, Asynchronous calls, wait-by-necessity, Migration, see for instance FMOODS 2000), the work can also include more theoretical aspects, especially regarding the capability to maintain properties upon hierarchical composition. (The amount of theoretical work will be driven by the preference of the Ph.D. student.)

Experiments will be achieved within the ProActive framework, a 100% Java and Open Source library offering crucial features for hierarchical components:
    o creation of remote active objects,
    o asynchronous calls with transparent futures, and wait-by-necessity,
    o mobility of active objects with automatic forwarding of request and reply.
Note that asynchronous communication is a decisive feature if we want components to actually compose; synchronous interactions would lead to overly coupled components, prone to frequent deadlocks. Wait-by-necessity (see a description here), will provide automatic and data-flow synchronization between the components being composed. Mobility will elegantly furnish a model and a mean for dynamic re-deployment of components on the Grid.
The ProActive library is itself extensible by the programmers, making the system open for adaptations and research experimentations. To get an idea of a graphical tool for monitoring and steering distributed and Grid applications, see the IC2D: Interactive Control and Debugging of Distribution environment.

ProActive is part of an open source software community created at the end of 1999: The ObjectWeb Consortium. Interaction with the activity of the consortium is expected (sharing of principles and code base, meeting at the European level, etc.).
This work will also contribute to a major international effort to define and develop a broadly based Integrated Grid Architecture: the Global Grid Forum (GGF).

To summarize, the general objective of this research will be to:
       propose, define and, experiment flexible and safe mechanisms
      to build and use hierarchical components for the Grid.

Defined within an active object framework, a component will be one or several active objects equipped with a standard description. Then, tools will allow to compose components in a hierarchical manner, and to deploy and monitor such a set of stuctured active objects on Grid environments.

Note that the proposed research is not without connections to a current hype: Web Services.
Indeed, a Web Services can just be:
    o the instantiation of
    o a grounded component (no dependencies to fill in),
    o from which a WSDL (Web Services Description Language) interface description is available.
So one indirect outcome might be the capability to automatically generate a Web Service (WSDL description + instantiation) from some of the components.


Ph.D. Advisor :    Denis Caromel     Françoise Baude
Phone : 04 92 38 76 31
Email : Denis.Caromel@inria.fr    Francoise.Baude@inria.fr
Team : INRIA Sophia Antipolis -- I3S-CNRS, Projet OASIS
 
Location: INRIA Sophia Antipolis, Nice, France,
 
Références:

     Towards Seamless Computing and Metacomputing in Java
     D. Caromel, W. Klauser, J. Vayssiere,
     pp. 1043--1061 in Concurrency Practice and Experience,
     September-November 1998, 10(11--13), Editor Geoffrey C. Fox, Published by Wiley & Sons.
    Available here

    ObjectWeb Consortium
    ObjectWeb is an open source software community created at the end of 1999.
    Its goal is to develop innovative middleware components available under an open source license.
    These components can be used to build distributed platforms that can be adapted to
    specific application requirements.

    Component Software: Beyond Object-Oriented Programming
    Clemens Szyperski
    " ... the technical foundations of this evolving technology and its importance in the software market place. ..."

    The Globus project
    The Globus Project is developing fundamental technologies needed to build computational grids.