Presentation is loading. Please wait.

Presentation is loading. Please wait.

1. 2 Objects to Distributed Components (1) Typed Group Java or Active Object ComponentIdentity Cpt = newActiveComponent (params); A a = Cpt ….getFcInterface.

Similar presentations


Presentation on theme: "1. 2 Objects to Distributed Components (1) Typed Group Java or Active Object ComponentIdentity Cpt = newActiveComponent (params); A a = Cpt ….getFcInterface."— Presentation transcript:

1 1

2 2 Objects to Distributed Components (1) Typed Group Java or Active Object ComponentIdentity Cpt = newActiveComponent (params); A a = Cpt ….getFcInterface ("interfaceName"); V v = a.foo(param); V A Example of component instance JVM Truly Distributed Components

3 3 getA() getB() getAandB() Functionalities : Without First Class Futures Or in the case of Synchronous method calls getA() getB() getAandB() getB() getA()getAandB()

4 4 getA() getB() getAandB()getA() getB() getAandB() getB() getA()getAandB() Functionalities : With First Class Futures Example 2 : Asynchronous method calls with full-fledge Wait-By-Necessity Non-blocking method calls value of A value of B Assemblage are not blocked with Asynchrony + WbN

5 5 IC2D Interactive Control & Debug for Distribution GUI for Distribution

6 6 IC2D: Interactive Control and Debugging of Distribution With any ProActive application Features: Graphical and Textual visualization Monitoring and Control

7 7 Monitoring of RMI, Globus, Jini, LSF cluster Nice -- Baltimore ProActive IC2D: Width of links proportional to the number of com- munications

8 8 IC2D: Dynamic change of Deployment Drag-n-Drop Migration Drag-n-Drop tasks around the world

9 9 On-going work : GUI for Components

10 10 Example of Applications

11 11 Jem3D

12 12 JECS : A Generic Version of Jem3D

13 13 JECS : A Generic Version of Jem3D

14 JEM3D Components

15 15 Code Coupling : Vibro Acoustic (courtesy of EADS)

16 16 5. Model Checking: Vercors Behavioral Specification and Model Checking

17 17 Formal verification and model checking Principles of the VERCORS platform Behaviour of Primitive Components Specification of the Architecture Parameterized Model Tree of Finite LTSs Parameterized LTS Synchronisation networks + controllers Model Checking Finite Abstraction of parameter domains

18 18 Behaviour of Primitives Functional behaviour Given by the user Static source code analysis (with ProActive primitives) Currently supported languages: FC2 and LOTOS Usage Parameterized LTS encoding the behaviour specification

19 19 Vercors Status and Relation to GCM-ProActive Current state of tools Functional behaviour: Ready and available (ADL2N) NF controllers and ProActive's semantics To be released in ADL2N v1 Current state of model Functional and Non-Functional distributed components Extensions still needed: Exception handling is mandatory Collective interfaces A few other features of ProActive Future Work Modeling and Specification Language for ProActive community: TTools+

20 TTool+ for ProActive Design model of hierarchical components for ProActive: High Level Design Tool mapped on a formal semantics, Easy to understand, easy to use TTool+ : An extension of TTool (Developed by Ludovic Apvrille, ENST, LabSoC)

21 TTool+ for ProActive Alpha Version Provides: User design of distributed components with asynchronous calls Interactions between distributed components: build behavior models (  use model checkers) Future work: High Level Design of ProActive components: automatic generation of controllers of component management GCM: Generation of multiple instances of components and managing Group Communications Generation of ADL files, ProActive Template Code

22 Producer-Consumer System in TTool+ : a. First Level Component Design

23 b. Adding Subcomponents

24 c. Binding components through Interfaces

25 d. Adding a new client (consumer)

26 e. Defining behavior using State Machine Diagrams

27 27 CONCLUSIONS

28 28 Conclusion: Why does it scale? Thanks to a few key features: Asynchrony: Connection-less, Messages rather than long-living interactions RMI+JMS unified

29 29 Conclusion: Why does it Compose? Thanks to a few key features: Because it Scales: asynchrony ! Because it is Typed: RMI with interfaces ! No unstructured Call Backs and Ports

30 30 Very Last Conclusion: Key Aspects Distributed Objects : Active Objects Asynchronous Method Calls First-Class Futures Calculus: ASP Confluence (very General and Dynamic) Determinism only based on Request-Sender Reception Order Dist. Component Specification: GCM Hierarchical and Runtime (Fractal) Distributed (VN, …), Multicast, Gathercast Middleware: ProActive Programming, Composing, Deploying + GUI Model Checking: Vercors Hierarchical, Parameterized, Practical (Multi. Source for Information, Checking vs. Telling)

31 31 Perspectives

32 32 Perspective for Components GUI Graphical Composition, Monitoring, Migration

33 33 Perspective for Components - PSE Graphical Composition, Monitoring, Migration

34 34 Perspectives Putting everything together (ASP, ProActive, Vercors): Still a lot of work ! Collaborations Welcome! Behavioral specification of component composition (ongoing) Specify and Study Non-Functional Aspects More Specifically: Life-Cycle, Reconfiguration in distributed environments ProActive.ObjectWeb.org inria.fr/oasis/Vercors Vercors


Download ppt "1. 2 Objects to Distributed Components (1) Typed Group Java or Active Object ComponentIdentity Cpt = newActiveComponent (params); A a = Cpt ….getFcInterface."

Similar presentations


Ads by Google