330 likes | 432 Views
Ludovic HENRIO. OASIS - INRIA - Sophia Antipolis. Research interests and objectives ASP calculus Principles Properties (confluence and determinacy) ProActive Components and perspectives. I3S - INRIA - University of Nice Sophia-Antipolis. Current Research Interests.
E N D
Ludovic HENRIO OASIS - INRIA - Sophia Antipolis Research interests and objectives ASP calculus Principles Properties (confluence and determinacy) ProActive Components and perspectives I3S - INRIA - University of Nice Sophia-Antipolis
Current Research Interests • Languages theory: objects, calculi, determinacy • Calculus ASP [POPL’04], [book Springer-Verlag], [pattent], [submitted to TCS] • Fault tolerance [submitted to SRDS] • Security • Static analysis • Security for JavaCard [e-Smart’01] • Java ByteCode verifier [JFLA’03] • Study of a static analysis : 0-CFA [JFLA’04] Interests and objectives
Research plans • Distributed objects theory • Fault tolerance • Grid computing • Distributed components • Behavioral specification • Verification of component composition for the grid • Objective : proving distributed programs for the grid. Interests and objectives
ASYNCHRONOUS AND DETERMINISTIC OBJECTS • ASP: Asynchronous Sequential Processes • Distributed objects • Asynchronous method calls • Futures and Wait-by-necessity • Determinism properties ASP
a b foo f2 f1 foo g d f3 Structure Active(a) 1- ASP Principles
Sending Requests ( REQUEST ) a b beta.foo(b) foo result=beta.foo(b) 1- ASP Principles
result Sending Requests ( REQUEST ) a b beta.foo(b) foo result=beta.foo(b) 1- ASP Principles
result Serving Requests ( SERVE ) a b Serve(foo);... beta.foo(b) bar foo Serve(foo);... 1- ASP Principles
result foo ... foo Serving Requests ( SERVE ) a b Serve(foo) beta.foo(b) bar Serve(foo);... 1- ASP Principles
End of Service ( ENDSERVICE ) a b value ... foo 1- ASP Principles
End of Service ( ENDSERVICE ) a b ... foo 1- ASP Principles
Sending Results ( REPLY ) a b foo 1- ASP Principles
Sending Results ( REPLY ) a b foo 1- ASP Principles
Wait by Necessity a b delta.send(result) d 1- ASP Principles
result.bar() Wait by Necessity a b delta.send(result) result.bar() d 1- ASP Principles
result.bar() Wait by Necessity a b delta.send(result) result.bar() d 1- ASP Principles
Wait by Necessity a b Futures updates can occur at any time result.bar() d 1- ASP Principles
ASP Syntax : source terms • Imperative V-calculus • ASP parallelism primitives 2- Syntax and Semantics
Service Local Creating Activity Sending request Receiving replies 2- Syntax and Semantics
a f1 b g f2 Equivalence Modulo Futures Updates a f1 b g f2 f3 3- Confluence and Determinacy
f1 f1 Equivalence Modulo Futures Updates a a f2 f1 b g b g f2 f3 3- Confluence and Determinacy
g b a delta.foo() Compatibility Serves the oldest request on foo OR bar bar d …. Serve(foo,bar) … Serve(foo,gee) foo gee 3- Confluence and Determinacy
P0 P Q R • RSL definition: • Configuration Compatibility: Confluence • Potential services: Execution characterized by the order of Request Senders Compatibility Confluence 3- Confluence and Determinacy
delta.gee(a) bar delta.bar(a) gee DON(P): Deterministic Object Networks g b DON terms behave deterministically d {foo,bar} , {foo,gee} {bar,gee} , {foo} gee bar bar gee 3- Confluence and Determinacy
g {gee}, {f,g} Static DON a d f {foo,bar} , {gee} {gee}, {f,g} {foo,bar} , {gee} {f,g} g g g foo f {foo}, {bar} {foo,bar} , {gee} bar f e b {gee}, {f,g} {bar} , {gee} {gee}, {f,g} gee 3- Confluence and Determinacy
Conclusion • An Asynchronous Object Calculus : • Structured asynchronous activities • Structured communications with futures • Data-driven synchronization • ASP Confluence and Determinacy • Future updates can occur at any time • Execution characterized by the order of request senders • Determinacy of programs communicating over trees, … 4- Conclusion
SMP LAN Clusters ProActive:A Java API + Tools for the GRID Parallel, Distributed, Mobile, Activities, across the world ! Desktop • Model: • Remote Mobile Objects • Asynchronous Communications with automatic Futures • Group Communications, Migration, NF Exceptions • Environment: • XML Deployment, dynamic class-loading • Various protocols: rsh,ssh,LSF,Globus, BPS,… • Graphical Visualization and monitoring: IC2D ProActive
A V Creating AO and Groups A ag = newActiveGroup (“A”, […], VirtualNode) V v = ag.foo(param); ... v.bar(); //Wait-by-necessity Group, Type, and Asynchrony are crucial for Components. and GRID Typed Group ProActive
Components in ASP • Client Interface = reference to an active object • Server Interface = potential service of an active object Components
A Deterministic Component • Com position of deterministic (primitive) components • One-to-one mapping from Server to client interface Components
Perspectives • Specifying components for grid-computing • A distributed component model • Grid components: fault tolerance, group comunication … • Structured and typed components • Verifying components composition and behavior • Model checking • Identical and/or deterministic components Thank You Any Question? Perspectives
Context • V-calculus • Objects, not concurrent • Some concurrent extensions, notour way to determinism • -calculus • Communications, channel based, not object structured • Linear(ized) channels(pobl), no implicit synchronization • Process Networks • Processes, channel based, not object oriented • Determinism, no implicit synchronization Context
g newact Activity Creation ( NEWACT ) a Active(a) b newact=Active(a)