Denis Caromel1 Quatrième partie Cours EJC 2003, AUSSOIS, www.inria.fr/oasis/ProActive Denis Caromel OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis.

Slides:



Advertisements
Similar presentations
Elton Mathias and Jean Michael Legait 1 Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis,
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
26 Mai 2004 Séminaire Croisé : Sécurité Informatique Ubiquitaire1 Security Architecture for GRID Applications Séminaire Croisé Sécurité Informatique Ubiquitaire.
The road to reliable, autonomous distributed systems
I.1 Distributed Systems Prof. Dr. Alexander Schill Dresden Technical University Computer Networks Dept.
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
Denis Caromel, Arnaud Contes OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis 1. Introduction to the GRID.
An architecture for webb applications, J2EE
Component-based Software Engineering Marcello Bonsangue LIACS – Leiden University Fall 2005 Component Model Comparison.
Denis Caromel1 Institut Universitaire de France (IUF) OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis ECCOMAS, July 2004 ProActive: Components.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
Session 2: task 3.2 GCM, Kracow, June l Current status of GCM Denis Caromel (10 mn each talk) l Wrapping CCA Components as GCM Components Maciej.
Component Models and Technology Component-based Software Engineering
Introduction to Enterprise JavaBeans. Integrating Software Development Server-side Component Model Distributed Object Architecture –CORBA –DCOM –Java.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
Denis Caromel1 Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF 3 rd ProActive User Group, Nov Model.
Communication in Distributed Systems –Part 2
July 23 th, 2005 Software Architecture in Practice RiSE’s Seminars Bass’s et al. Book :: Chapter 16 Fred Durão.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
OpenCCM: The Open CORBA Components Platform OSMOSE WP3 CCM Meeting 14th November 2003, LIFL, Lille, France Philippe Merle Jacquard Project.
Course Instructor: Aisha Azeem
Denis Caromel1 Institut universitaire de France (IUF) OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis REUNA, Santiago, May 2004 GRID.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
1 Secure Distributed Objects for Grid Applications Laurent Baduel, Arnaud Contes, Denis Caromel OASIS team ProActive
Chapter 3: Objects, Components, and the Web Textbook IT Architectures and Middleware, Second Edition Chris Britton and Peter Bye AIT 600 Jeff Schmitt September.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
Introduction to J2EE Architecture Portions by Kunal Mehta.
第十四章 J2EE 入门 Introduction What is J2EE ?
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
J2EE Structure & Definitions Catie Welsh CSE 432
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
The Grid Component Model: an Overview “Proposal for a Grid Component Model” DPM02 “Basic Features of the Grid Component Model (assessed)” -- DPM04 CoreGrid.
Architecting Web Services Unit – II – PART - III.
JavaBeans Components. To understand JavaBeans…  Proficient experience with the Java language required  Knowledge of classes and interfaces  Object-Oriented.
The Grid Component Model and its Implementation in ProActive CoreGrid Network of Excellence, Institute on Programming Models D.PM02 “Proposal for a Grid.
Component frameworks Roy Kensmil. Historical trens in software development. ABSTRACT INTERACTIONS COMPONENT BUS COMPONENT GLUE THIRD-PARTY BINDING.
Denis Caromel1 Troisieme partie Cours EJC 2003, AUSSOIS, Denis Caromel OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis.
Grid Computing Research Lab SUNY Binghamton 1 XCAT-C++: A High Performance Distributed CCA Framework Madhu Govindaraju.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
OpenCCM MdC Philippe Merle LIFL - INRIA (soon)
Extreme! Computing Lab, Dept. of Computer Science, Indiana University 1 Programming the Grid with Components Madhu Govindaraju Aleksander Slominski Dennis.
1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid.
Denis Caromel1 Denis Caromel, Romain Quilici OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis Albufeira,
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
1. 2 Objects to Distributed Components (1) Typed Group Java or Active Object ComponentIdentity Cpt = newActiveComponent (params); A a = Cpt ….getFcInterface.
Kemal Baykal Rasim Ismayilov
ProActive components and legacy code Matthieu MOREL.
ASP.NET Web Services.  A unit of managed code installed under IIS that can be remotely invoked using HTTP.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Chapter 14 Advanced Architectural Styles. Objectives Describe the characteristics of a distributed system Explain how middleware supports distributed.
Overview of Grid Webservices in Distributed Scientific Applications Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab.
Introduction to EJB. What is an EJB ?  An enterprise java bean is a server-side component that encapsulates the business logic of an application. By.
1 ProActive GCM – CCA Interoperability Maciej Malawski, Ludovic Henrio, Matthieu Morel, Francoise Baude, Denis Caromel, Marian Bubak Institute of Computer.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
.NET Mobile Application Development XML Web Services.
©NIIT Introducing Enterprise JavaBeans (EJB) Lesson 1A / Slide 1 of 43J2EE Server Components Objectives In this lesson, you will learn about: The features.
1 Romain Quilici OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF July 2nd 2003 ProActive Architecture.
Denis Caromel1 Institut universitaire de France (IUF) OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis JAOO, Cannes, May 2004 Programming,
Denis Caromel1 OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis -- IUF IPDPS 2003 Nice Sophia Antipolis, April Overview: 1. What.
A service Oriented Architecture & Web Service Technology.
Distribution and components
Inventory of Distributed Computing Concepts and Web services
Understanding and Designing with EJB
Inventory of Distributed Computing Concepts
CS590L Distributed Component Architecture References: - Objects, components, and framenworks with UML, Ch A Component Based Services Architecture.
Understanding and Designing with EJB
Common Component Architecture (CCA)
Presentation transcript:

Denis Caromel1 Quatrième partie Cours EJC 2003, AUSSOIS, Denis Caromel OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis -- IUF Business Components: Component Basics Examples: JavaBeans, EJB, Corba 3,.Net Grid Components: CCA architecture and tools: CCAT, XCAT ProActive components, Demo: C3D and IC2D Software Components: from Business to GRID

Denis Caromel2 Objectives of this Part The main principles of component technology Object-oriented middleware for parallel and distributed programming on the Grid State the main principles of Grid components Provide comprehensive examples with Java

Denis Caromel3 Table of Contents (1) 1. Principles and Definition of Software Components 1.1 Basics ideas 1.2 JavaBeans 1.3 EJB 1.4.Net 1.5 Corba 3 CCM 1.6 Hierarchical components 1.7 Summary and classification

Denis Caromel4 Table of Contents (2) 2. Parallel Objects, Java, and Components 2.1 Some academic research on GRID components 2.2 Programming vs. Composing 2.3 The Java ProActive middleware 2.4 ProActive components 2.5 Tools, and Demonstration 3. Conclusion

Denis Caromel5 1. Basic Ideas and Definition - What is it ? A Component = a unit of Composition and Deployment From Objects (Classes) to Components: Objects: è Programming in the small è Composition by programming (Inheritance, Instantiation/Aggregation ) Components: è Building software in the large è Tools for assembling and configuring the execution Component = a module (80s!) but subject to: ê Configuration (variation on Non Functional Properties) ê Instantiation, life Cycle management To be deployed on various platforms (some portability)

Denis Caromel6 Characteristics -- How ? How it works --- Common characteristics A standardized way to describe a component: è a specification of what a component does: ê Provide (Interfaces, Properties to be configured) ê Require (services, etc.) ê Accept as parameterization Usually dynamic discovery and use of components: è Auto-description (Explicit information: text or XML, reflection, etc.) Usually components come to life through several classes, objects Legacy code: OO code wrapper to build components from C, Fortran, etc.

Denis Caromel7 My Definition of Software Components A component in a given infrastructure is: a software module, with a standardized description of what it needs and provides, to be manipulated by tools for Composition and Deployment

Denis Caromel8 1.2 A typical example: JavaBeans Graphical components in Java Quite simple : a Java class (or several) a naming convention to identify properties:  method: public T getX ()  method: public void setX ()  an attribute: private T X = ; a communication pattern: Events, Source, Listeners and … a class is turned into a graphical component ! The Java introspection allows to discover dynamically the properties, and to configure them, assemble JB interactively

Denis Caromel9 JavaBeans (2) Nothing very new (cf. NeXTStep Interface Builder), but life made a bit easier with byte code and introspection The BeanBox So for JavaBeans: Software module = Java Class Standardized description = getX, setX, X, listeners Tools: Composition = BeanBox Deployment = JVM

Denis Caromel10 Deploying and Executing Components Components have to be configured on their Non-Functional Properties: Functional Properties, Calls (Def.): è Application level services a component provides (e.g. Balance, Saxpy) Non-Functional Properties, Calls (Def.): è The rest, mainly infrastructure services: ê Transaction, Security, Persistence, Remote/Asynchronous Com., Migration, … ê Start, Stop, Reconfiguration (location, bindings), etc. so, Typical Infrastructure : Container for Isolation Allows to manage and implement: the non-functional properties Life cycle of components Container Server Client

Denis Caromel Example: Enterprise Java Beans A 3 tiers architecture (Interface, Treatment, DB), in Java è Objectives: ease development + deployment + execution è Java portability A few concepts and definitions: EJB Home object: è management of life cycle: creation, lookup, destruction, etc. EJB Remote object: è Client view and remote reference EJB object (or Bean): è the component itself (Session Stateless or Statefull, Entity Bean) Functional Properties = Business Methods

Denis Caromel12 Summary: Enterprise Java Beans So for EJB: Software module = Java Classes and Interfaces (Home, Remote, Beans, …) Only Provides (server), no Uses Standardized description = a file with a standard format Tools: Composition = ? EJBrew ? Deployment = JVM + RMI, JTS, + Generators + EJB Servers From G. S. Raj article

Denis Caromel Components in Windows.Net.Net basics: A VM designed for several languages (C, C++, VB, + others) è CLR (Common Language Runtime) è CIL (Common Intermediate Language, MSIL) wider than ByteCode ê Boxing/Unboxing (value type object), etc. A new language: C# An interactive tool (Visual Studio) to manipulate the “components” A key choice: Extraction of description from program code è C# introduces language constructions for component information: ê Properties ê Attributes ê XML tags in source code (in Attributes)

Denis Caromel14 Components in Windows.Net (2) Example of Attributes, and Properties in C#: [HelpUrl (‘’ class SomeClass { private string caption; public string Caption { get { return caption; } set { caption = value; Repaint (); } } Components for Web program. : WSDL (Web Services Description Lang.) WSDL (Def. of Web callable methods) + Directories + SOAP as wire format + Classes with Attributes and properties, An attribute: HelpUrl It is actually a user define class (derive from Syst.Att.) Attribute exists at RT. A Property: Caption JavaBeans in a language Also: Indexed properties

Denis Caromel15 Components in Windows.Net Components characteristics: Software module = Classes and Interfaces in various languages, but focus on C# Standardized description = Still the COM, DCOM interfaces Extraction of Attributes, Properties from source code! WSDL Tools: Composition = Visual Studio, etc. Deployment = Windows,.NET CLR A Web Service: the instance of a component, … running...

Denis Caromel Assembly of Components Corba 3 and CCM CCM: Corba Components Model = EJB + a few things : è More types of Beans defined: ê Service, Session, Process, Entity,... è Not bound to Java (Corba IDL) è Provides but also Uses : ê Specification of the component needs, dependencies ê “Client Interfaces’’ è A deployment model (ongoing at OMG)

Denis Caromel17 A CORBA Component My Business Component Component interface Facets Event sources Event sinks Attributes Receptacles OFFERED REQUIRED Courtesy of Philippe Merle, Lille, OpenCCM platform

Denis Caromel18 Building CCM Applications = Assembling CORBA Component Instances Provide+Use, but flat assembly

Denis Caromel Hierarchical Component Fractal model Defined by E. Bruneton, T. Coupaye, J.B. Stefani, INRIA & FT

Denis Caromel20 A B C ABCC D A A B C Composite Components Composition of components to build new component: Composite (vs. Primitif) Cp. Inside Cp. Composite components: - Internal interfaces - Internal Bindings - Imbrication - IN/OUT operations - Controllers - Life cycle Mng. --> Reconfiguration C

Denis Caromel Conclusion on the basics: Component Orientedness Level 1: Instantiate - Deploy - Configure Simple Pattern Meta-information (file, XML, etc.)JavaBeans, EJB Level 2: Assembly (flat) Use and client interfacesCCM Level 3: Hierarchic CompositeFractal Level 4: Reconfiguration Binding, Inclusion, Location On going work … Interactions / Communications: Functional Calls: service, event, stream Non-Functional: instantiate, deploy, start/stop, inner/outer, re-bind

Denis Caromel22 A B C A A A A D A A B C Towards GRID Components Collections are essential: --> Group Communications --> Collective Interfaces Parallel component vs. Distributed: A given component instance can be distributed over machines Reconfigurations: bindings, in/out

Denis Caromel23 Towards GRID Components Plus specificity : High performance Communication : è Important Bandwidth è Very High Latency Deployment complexity: --> Abstractions è Various remote execution tools (rsh, ssh, Globus, Web Services) è Various registry and lookup protocols (LDAP, RMI, WS, etc.) è Large variations in nodes being used (1 to 5000, … ) Debugging, Monitoring, and Reconfiguring è Across the world ?? High-Performance a specificity ? Not sure: an EJB component handling of requests already needs High-Performance! Networks grow faster than ProcsTechniques for hiding it Parallel and Distributed: --> Group Communications

Denis Caromel24 2. Java Parallel Objects and Components

Denis Caromel Some Academic Research on GRID Components SciRun from Utah scalable parallel applications and visualization Webflow from Syracuse graphical composition palette CCA: CCAT and XCAT from Indiana University Ccaffeine from Sandia Nat. Lab. in Livermore

Denis Caromel26 A quick look at CCA The U.S. Dept of Energy DOE2000 project The Common Component Architecture: CCA è Lawrence Livermore National Lab è Sandia Labs è Argonne National Labs è Los Alamos National Labs è Universities: Utah, NCSA, Indiana Initiative to define minimal specification for scientific components Targeting Parallel and distributed Draws ideas from CCM and other models Provide/Use ports, Calls/Events/Streams, Scientific IDL

Denis Caromel27 CCAT and XCAT : Common Component Architecture D. Gannon et al. CCAT: Common Component Architecture Toolkit D. Gannon’s team implementation of CCA Based on : è HPC++ è Globus, SSH è Java for GUI, JPython, Matlab interface A focus on : Composition Novel MxN work at MPI-I/O level Java and C++ components

Denis Caromel28 CCAT Components Main principles: CCA framework Core Services are components è Flexibility, Higher-level services from core GUI for composition is a component è connected to Provides-Port of core service components Standard services: è Directory, Registry, Creation, Connection, Events XML description of components

Denis Caromel29 Component Communication How do components communicate? Use Remote Procedure Call (RPC) Mechanism è XCAT uses SOAP 1.1 è XCAT ports can serve as web services Events/Messages è Objects encoded as XML documents

Denis Caromel30 CCAT session with Java GUI: Composition Composition Tool: Select Connect But also: Test and Execute Level 2 Provide/Use model Courtesy of D. Gannon et al.

Denis Caromel31 CCAT Gui image

Denis Caromel32 XCAT : D. Gannon et al. current project A Java-based web server (Tomcat) on the client: è Java Servlets A Browser on the client as well è Script Editing Scripts in JPython Web Services: SOAP communications è XML wire format Notebook Browsing Controls Notebook Scripts can be “parameterized” by web forms Script Editing Courtesy of D. Gannon et al.

Denis Caromel33 XCAT Services Architecture Default services for all components XCAT services Directory è locate components based on port types and other attributes Registry è locate running instances of components Creation è create running instance of a component Connection è connect ports of two running instances Events è publish/subscribe framework for messages

Denis Caromel34 Ccaffeine Mainly from HPC Research Div. At Sandia Nat. Lab. in Livermore SPMD GUI and Scripted Interface Interactive or Batch Serial or Parallel Components written in C++

Denis Caromel35 Ccaffeine

Denis Caromel36 CCA Characteristics XCAT, CCAT, Ccaffeine,... So for CCA, etc.: Software module = Any Code + wrappers Standardized description = XML Interfaces (Provide+Use) Tools: Composition = GUI (Java) Deployment = some CCAT Container: User and Service Components Service Components are mainly wrappers for external services (factory,registry,...) From D. Gannon et al. article But: CCA not specific to any underlying distributed object model Level 2 Provide/Use model

Denis Caromel Programming vs. Composing A model of computation is still needed

Denis Caromel38 Programming vs. Composing The underlying model of parallel and distributed computing being used is FUNDAMENTAL. How to build components that actually compose: semantics, correctness, efficiency, predictability of performance,... without a clearly defined programming model ? For 50 years, Computer Science have been looking for abstractions that compose: functions, modules, classes, objects, … The semantics of a composite is solely and well defined from the semantics of inner components. The quest is not over !

Denis Caromel39 Techniques for Components Interactions Interactions / Communications: Functional Calls: service, event, stream Non-Functional: instantiate, deploy, start/stop, inner/outer, re-bind Alternative: A unique infrastructure and model, e.g.: ---> 2.2 ProActive è RMI for functional and parallel calls è RMI for component management 2 different infrastructures: ---> GridCCM è MPI, openMP, … for functional and parallel calls è Corba, WebServices (SOAP), … for non-functional

Denis Caromel The ProActive middleware A programming model for the Grid: Asynchronous and typed communications Data-driven synchronization: Wait-By-Necessity Group communications Migration ProActive Components: Parallel and distributed Abstractions of deployment: Virtual Nodes Composition: composite components Interactive deployment and monitoring Demonstration: IC2D GUI

Denis Caromel ProActive Components - Principles for Distributed Components - Abstract Deployment model - Composing Virtual Nodes - Descriptors: Primitive and Composite

Denis Caromel42 Towards Distributed Components Typed Group Java or Active Object A ag = newActiveGroup (…) V v = ag.foo(param); v.bar(); V A Example of component instance Compose Deploy Monitor- Control at the component level

Denis Caromel43 ProActive Component Definition A component is: Formed from one (or several) Active Object Executing on one (or several) JVM Provides a set of server ports (Java Interfaces) Uses a set of client ports (Java Attributes) Point-to-point or Group communication between components Hierarchical: Primitive component: define with Java code and a descriptor Composite component: composition of primitive components Descriptor: XML definition of primitive and composite Virtual node captures the deployment capacities and needs Virtual Node is a very important abstraction for GRID components

Denis Caromel44 Components vs. Activity and JVMs Cp. are rather orthogonal to activities and JVMs: contain activities, span across several JVMs Here, co-allocation of two components, within a composite one, with a collective port using group com. Activity JVM Component A B C Components are a way to globally manipulate distributed, and running activities

Denis Caromel45 Abstract Deployment Model Objectives Problem: Difficulties and lack of flexibility in deployment Avoid scripting for: configuration, getting nodes, connecting, etc. A key principle: Abstract Away from source code: è Machines è Creation Protocols è Lookup and Registry Protocols Context: Distributed Objects, Java Not legacy-code driven, but adaptable to it

Denis Caromel46 Descriptors: based on Virtual Nodes Virtual Node (VN): è Identified as a string name è Used in program source è Configured (mapped) in an XML descriptor file --> Nodes Operations specified in descriptors: è Mapping of VN to JVMs (leads to Node in a JVM on Host) è Register or Lookup VNs è Create or Acquire JVMs Program Source Descriptor (RunTime) | | | | Activities (AO) --> VN VN --> JVMs --> Hosts Runtime structured entities: 1 VN --> n Nodes in n JVMs

Denis Caromel47 Descriptors: Mapping Virtual Nodes Component Dependencies: Provides: … Uses:... VirtualNodes: Dispatcher RendererSet Mapping: Dispatcher --> DispatcherJVM RendererSet --> JVMset JVMs: DispatcherJVM = Current // (the current JVM) JVMset=//ClusterSophia.inria.fr/... Example of an XML file descriptor:

Denis Caromel48 Composing Virtual Nodes When composing A and B to form C VNa, VNb --> 2 VNs : Distributed mapping VNa, VNb --> VNa+b : Co-allocation Activity JVM Component A B C Composition can control distribution of composite VNa VNb VNa+b Co-allocation in a composite

Denis Caromel49 Component Descriptors Defining Provide and Use ports (Server, Client) Defining Composite Using the Fractal component model, and ADL: Architecture Description Language [ObjectWeb, Bruneton-Coupaye-Stefani ] XML descriptors Integration with Virtual Nodes

Denis Caromel50 Descriptor Example: Primitive Component <primitive-component implementation="test.component.car.MotorImpl” name="motor_1" virtualNode="Node2">

Denis Caromel51 Descriptor Example: Composite Component <interface-type name="controlComposite2" signature="test.component.car.Motor" /> <interface-type name="controlComposite1” signature="test.component.car.Motor" /> <primitive-component ….. Not to be written nor read by humans !! TOOLS

Denis Caromel Tools for Distributed Objects and Components - GUI: IC2D: Interactive Control and Debugging of Distribution graphical visualization and control - Component Tools: Composing, Deploying - Screenshots or Demo

Denis Caromel53 IC2D: Interactive Control and Debugging of Distribution Main Features: - Hosts, JVM, - Nodes - Active Objects - Topology - Migration - Logical Clock

Denis Caromel54 DEMO: Components with the IC2D monitor è A simple Motors and Wheels demo case è Parallel: ê several instances of components with collective interface è Composite: ê 3 levels of imbrication è Level 3 component orientedness: ê life cycle management, rebinding, in and out

Denis Caromel55 WP1WP2WP3 M1 M2 Motors and Wheels demo case WP4 WP5 W1 W2 composite2 composite1 WP6 parallel2 parallel1

Denis Caromel56 Component Manipulation Selecting: component and deployment descriptors DEPLOY Managing: life cycle, rebinding, in and out

Denis Caromel57 Component Interface with IC2D

Denis Caromel58 ProActive Components: Characteristics Components characteristics: Software module = Java Classes and Interfaces + threads: forming Active Objects Standardized description = In source: Virtual Nodes, newActive API.ProActiveDescriptor : an XML file per component Tools: Composition = working on: IC2D--Compose Deployment = Java VM, and IC2D (Deploy + Monitor)

Denis Caromel59 Next steps Interactively compose components with the component view Maintain component view at execution Formal Semantics of mixing: Functional, with Non Functional calls (start/stop, rebind, in/out, …)

Denis Caromel60 3. Conclusion

Denis Caromel61 Conclusion -- Perspectives Not all models are equivalent: Component Orientedness Level 1: Configuration 2: Assembly 3: Hierarchic 4:Reconfiguration Specificity for GRID Components: Parallel (HPC), Distributed, Collective Op., Deployment, …Reconfiguration Can programming models be independent of (Grid) Components ? Do not target the same objectives But can components … compose, reconfigure … without a clear model ? Reconfiguration is the next big issue: Life cycle management, but with direct communications as much as possible For the sake of reliability and fault tolerance ---> GRID ê Error, Exception handling across components ê Checkpointing: independent, coordinated, memory channel,... Other pending issues: Peer-to-peer (even more volatile … reconfiguration is a must), Security,...

Denis Caromel62 Adaptive GRID The need for adaptive middleware is now acknowledged, with dynamic strategies at various points in containers, proxies, etc. Can we afford adaptive GRID ? with dynamic strategies at various points (communications, checkpointing, reconfiguration, …) for various conditions (LAN, WAN, network, P2P,...) HPC vs. HPC High Performance Components vs. High Productivity Components