Interactive and Descriptor-based Deployment of Object-Oriented Grid Applications Franc ¸oise Baude, Denis Caromel, Fabrice Huet, Lionel Mestre, Julien Vayssi` ere INRIA Sophia Antipolis, CNRS - I3S - Univ. Nice Sophia Antipolis, BP 93, 06902 Sophia Antipolis Cedex - France First.Last@inria.fr Abstract Increasing complexity of distributed applications and commodity of resources through grids are making the tasks of deploying those applications harder. There is a clear need for standard tools allowing versatile deployment and analysis of distributed applications. We present here a solution for the deployment and mon- itoring of applications written using ProActive, an experi- mental Java-based library for concurrent, distributed and mobile computing. We describe the use of XML-based de- scriptor for the deployment part of a distributed application and the use of IC2D (Interactive Control and Debugging of Distribution), for the monitoring and steering of the run- ning application. Those ideas, concepts, and experiments are a contribu- tion towards the construction of integrated environments for component-based grid programming. 1 Introduction 1.1 Presentationoftheproblem If libraries for parallel and distributed application devel- opmentexist (RMI in Java, jmpi [6] for MPI programming, etc.) there is no standard yet for the deployment of such applications. The deployment is commonly done manually through the use of remote shells for launching the various virtual machines or daemons on remote computers, clusters or grids. The commoditization of resources through grids and the increasing complexity of applications are making the task of deploying central and harder to perform. Questions such as “are the distributed entities correctly created?”, “do the communications among such entities ex- ecute correctly?”, “where a given mobile entity is actually located?”, etc. are usually left unanswered. Moreover,there isusuallynomeantodynamicallymodifytheexecutionen- vironment once the application is started. Clearly said, the management of the mapping of pro- cesses (such as JVMs, PVM or MPI daemons) onto hosts, the deployment of activities onto those processes have generally to be explicitly taken into account, in a static way, sometimes inside the application, sometimes through scripts. The application cannot be seamlessly deployed on differentruntime environments. To solve those critical problems, classical and somehow ideal solutions follow 3 steps: 1. abstract away from the hardware and software runtime configuration by introducing and manipulating in the program virtual processes where the activities of the application will be subsequently deployed, 2. provide external information regarding all real pro- cessesthatmustbelaunchedandthewaytodoit(itcan be through remote shells or job submission to clusters or grids), and define the mapping of virtual processes onto real processes, 3. provide a mean to visualize, complete or modify the deployment once the application has started. 1.2 Contribution Taking into consideration this 3-steps approach, this paper presents an integrated solution targeted to dis- tributed object-oriented applications written using object- oriented libraries and more specifically, using the ProAc- tive library [5] (www.inria.fr/oasis/ProActive), a Java based solution for seamless parallel and distributed programming. The solution we have experimentedis appli- cable to other object-oriented programmingenvironments. We solve the two first steps by introducing XML-based descriptors able to describe activities and their mapping onto processes. We solve the third step by having a mon- itoring application: IC2D . It is a graphical environment for