objects to distributed components (1)

34
1

Upload: manning

Post on 08-Jan-2016

27 views

Category:

Documents


1 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Objects to Distributed Components (1)

1

Page 2: Objects to Distributed Components (1)

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

AExample of

component

instance

JVM

Truly

Distributed

Components

Page 3: Objects to Distributed Components (1)

3

getA()

getB()

getAandB()

Functionalities : Without First Class Futures

Or in the case of Synchronous method calls

getA()

getB()

getAandB()

getB()

getA()getAandB()

Page 4: Objects to Distributed Components (1)

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

Page 5: Objects to Distributed Components (1)

5

IC2DInteractive Control & Debug for Distribution

GUI for Distribution

Page 6: Objects to Distributed Components (1)

6

IC2D: Interactive Control and Debugging of Distribution

With any ProActive applicationFeatures:

Graphical and Textual visualization Monitoring and Control

Page 7: Objects to Distributed Components (1)

7

Monitoring of RMI, Globus, Jini, LSF cluster Nice -- Baltimore

ProActive IC2D:

Width of links

proportional

to the number

of com-

munications

Page 8: Objects to Distributed Components (1)

8

IC2D: Dynamic change of DeploymentDrag-n-Drop Migration

Drag-n-Drop

tasks

around the

world

Page 9: Objects to Distributed Components (1)

9

On-going work : GUI for Components

Page 10: Objects to Distributed Components (1)

10

Exampleof

Applications

Page 11: Objects to Distributed Components (1)

11

Jem3D

Page 12: Objects to Distributed Components (1)

12

JECS : A Generic Version of Jem3D

Page 13: Objects to Distributed Components (1)

13

JECS : A Generic Version of Jem3D

Page 14: Objects to Distributed Components (1)

JEM3D Components

Page 15: Objects to Distributed Components (1)

15

Code Coupling : Vibro Acoustic (courtesy of EADS)

Page 16: Objects to Distributed Components (1)

16

5. Model Checking:

VercorsBehavioral Specification

andModel Checking

Page 17: Objects to Distributed Components (1)

17

Formal verification and model checking

Principles of the VERCORS platform

Behaviour ofPrimitive

Components

Specification of the

Architecture

Par

amet

eriz

ed

Mod

el

Treeof

FiniteLTSs

ParameterizedLTS

Synchronisation networks + controllers

ModelChecking

Finite Abstraction of

parameter domains

Page 18: Objects to Distributed Components (1)

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

Page 19: Objects to Distributed Components (1)

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+

Page 20: Objects to Distributed Components (1)

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)

Page 21: Objects to Distributed Components (1)

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

Page 22: Objects to Distributed Components (1)

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

Page 23: Objects to Distributed Components (1)

b. Adding Subcomponents

Page 24: Objects to Distributed Components (1)

c. Binding components through Interfaces

Page 25: Objects to Distributed Components (1)

d. Adding a new client (consumer)

Page 26: Objects to Distributed Components (1)

e. Defining behavior using State Machine Diagrams

Page 27: Objects to Distributed Components (1)

27

CONCLUSIONS

Page 28: Objects to Distributed Components (1)

28

Conclusion: Why does it scale?

Thanks to a few key features:

• Asynchrony: Connection-less,

• Messages rather than long-living interactions

RMI+JMS unified

Page 29: Objects to Distributed Components (1)

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

Page 30: Objects to Distributed Components (1)

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)

Page 31: Objects to Distributed Components (1)

31

Perspectives

Page 32: Objects to Distributed Components (1)

32

Perspective for Components GUI Graphical Composition, Monitoring, Migration

Page 33: Objects to Distributed Components (1)

33

Perspective for Components - PSE Graphical Composition, Monitoring, Migration

Page 34: Objects to Distributed Components (1)

34

PerspectivesPutting 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