340 likes | 500 Views
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().
E N D
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() getA() getB() Functionalities : Without First Class Futures • Or in the case of Synchronous method calls getAandB() getAandB() getA() getA() getB() getB()
value of A getAandB() getA() getB() value of B Functionalities : With First Class Futures Non-blocking method calls • Example 2 : Asynchronous method calls with full-fledge Wait-By-Necessity getAandB() getAandB() getA() getA() getB() getB() Assemblage are not blocked with Asynchrony + WbN
IC2D Interactive Control & Debug for Distribution GUI for Distribution
IC2D: Interactive Control and Debugging of Distribution With any ProActive applicationFeatures: Graphical and Textual visualization Monitoring and Control
Monitoring of RMI, Globus, Jini, LSF cluster Nice -- Baltimore ProActive IC2D: Width of links proportional to the number of com- munications
IC2D: Dynamic change of DeploymentDrag-n-Drop Migration • Drag-n-Drop • tasks • around the • world
5. Model Checking: Vercors Behavioral Specification andModel Checking
Tree of Finite LTSs Parameterized LTS Behaviour of Primitive Components Model Checking Parameterized Model Synchronisation networks + controllers Specification of the Architecture Finite Abstraction of parameter domains Formal verification and model checkingPrinciples of the VERCORS platform
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
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+
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)
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
Producer-Consumer System in TTool+ :a. First Level Component Design
Conclusion: Why does it scale? • Thanks to a few key features: • Asynchrony: Connection-less, • Messages rather than long-livinginteractions RMI+JMS unified
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
Very Last Conclusion: Key Aspects • DistributedObjects: 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)
Perspective for Components GUI Graphical Composition, Monitoring, Migration
Perspective for Components - PSE Graphical Composition, Monitoring, Migration
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