330 likes | 455 Vues
This research covers the principles and properties of the Asynchronous Sequential Processes (ASP) calculus, focusing on confluence and determinacy, fault tolerance, security, and static analysis. The study also delves into behavioral specifications, verification of component composition for grid computing, and proving distributed programs' correctness for the grid. The Asynchronous and Deterministic Objects framework emphasizes ASP, distributed objects, asynchronous method calls, futures, and determinism properties. The principles and syntax of ASP, along with its structure and semantics, are explored in depth. The conclusion highlights the data-driven synchronization and structured communications with futures, affirming ASP's confluence and determinacy features. ProActive components and their perspectives in grid computing are detailed, emphasizing parallel, distributed, and mobile activities with asynchronous communications. The model comprises remote mobile objects, automatic futures for communication, group communications, and various deployment protocols. The perspectives section discusses deterministic components' composition, verifying components' behavior for grid computing, model checking, and the importance of structured and typed components for fault tolerance and group communication in grid systems.
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)