1 / 70

Artemis

Artemis. Toward a unified supporting system for Internetware 马晓星 南京大学计算机软件研究所. Outline. Motivation and approach Explicit and programmable coordination “Smart” component wires Configurable multi-mode interactions Dynamic software architectures Conclusion and future work. Motivation.

mahsa
Télécharger la présentation

Artemis

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Artemis Toward a unified supporting system for Internetware 马晓星 南京大学计算机软件研究所

  2. Outline • Motivation and approach • Explicit and programmable coordination • “Smart” component wires • Configurable multi-mode interactions • Dynamic software architectures • Conclusion and future work

  3. Motivation • New Internet applications are booming. • New software supporting technology is demanded.

  4. Motivation • Basic assumptions of trad. devlp. tech. • Developers take full control (Closed world) • Structure before constituents • Structured technology centralized structure for well-defined function • Object-oriented technology decentralized structure for “adjustable” function • Even for component technology components are modified, customized, and wrapped to fit defined structure • Structures are expected to be stable

  5. Motivation • Computation-centric • Interaction mechanism are built in the programming language and/or the Middleware. • Application-specific coordination logic are hard coded in the components, tightly coupled with computation logic.

  6. Motivation • But for Internet applications • Resources are not owned by current application, and services are provided “AS IS” • Coordination-centric • Structure after constituents • Assembling after deployment • Structure are more dynamic • Requirement, environment, (trust)

  7. Approach • Make the coordination logic • Separated • Explicit • Programmable • Dynamically reconfigurable • Moveable • Best adapted to the distributed of the resources

  8. Approach User agent for coordination • Basic framework Application-specific coordination logic programmed with cooperating agents

  9. Approach • Address specific aspects of the challenge: • Stubborn component binding • Configurable middleware • Architecture reconfiguration • Develop our solutions based on the basic framework

  10. “Smart” wire • The deficiency in the RPC/ORB style of component wires: • One to one mapping • Fixed interaction mechanism implied. • Only information exchanged. • Work-around • develop extra adapter components

  11. The deficiency o.m(...) ORPC

  12. Work-around o.m(...) o1.m1() o2.m2() o3.m3()

  13. o1.m1() o2.m2() o3.m3() Work-around o.m(...) Adapter

  14. Smart wire • Our approach • Enriched component wires based on mobile agent technology • Wiring logic • Group Table: Combination of available components. • Location Table: Locations of the components in the GT. • The GT and LT are translated into a mobile agent. • The components are wired up by the agent.

  15. Group Table Location Table Our approach o.m(...)

  16. Host1 Host0 Host3 Host2 Extraction of coord. logic M0 M1 M2

  17. M1 M2 M3 Host1 Host0 Host3 Host2 Extraction of coord. logic

  18. Host2 Host1 On-the-spot interaction P0 M0 P1 M1 P2 M2 P3

  19. Host2 Host1 On-the-spot interaction P0 M0 P1 M1 P2 M2 P3

  20. M1 M2 M2 M5 M4 M3 M1 M3 M5 M4 Host3 Host2 Host1 Host4 Host5 Client Flexible assembling

  21. M1 Host1 M2 M3 Host0 Host3 Host2 Flexible assembling

  22. M1 Host1 M2 M3 Host0 Host3 Host2 Flexible assembling

  23. Interface C Body Agent Manager Agent Class file for Agent Manager xxx.so file Marshaller class file for Agent Client C++ server Group Table Location Table Group & Location Table compiler GNU C compiler idl2C++ compiler idl2java compiler C++ Skeleton Java Stub xxx.o file GNU C compiler GNU linker GNU C++ compiler javac compiler javac compiler server appl. client appl. • Cogent development process Smart wire • Application development process

  24. Agent Body Marshaller ... Manager Mobile Agent Server Agent Agent Agent Client Side Comp. Server Side Component Repository ORB Name Server Mobile Agent Server ORB • Runtime interactions between components Smart wire • Implementation (based on Mogent and MICO)

  25. Multi-mode interaction • The need for configurable middleware • Gordon Blair: • Configurable, dynamic reconfigurable, evolvable • Related work • OpenORB, DynamicTAO, Mars,PKUAS ... • Enhance flexibility of well-known ORBs/Coordination Models/ASs

  26. Interface Coordination Media Meta-Interface Interface Meta-rep. Interface Coordination Media Inteface Flexible software interaction • Reflection mechanism • Controlled • Balanced Coordination Entity Coordination Entity

  27. Flexible software interaction • Our approach 1 • Remote reflective behavior via mobile agents Local reflective behavior Coord. entity Meta-Interface Meta-Interface Coord. entity Meta. Rep. Meta. Rep. Interface Interface Local Imp. of the coord. media Local Imp. of the coord. media

  28. Multi-mode interaction • Our approach 2 • “Factorize” the Interaction modes into basic interaction “factors” • “Synthesize” the factors to form different interaction modes

  29. Interaction factors Temporal Future Now Trust Spatial One-way Managed Peer Composite Mediator Unmanaged No Yes Service tailoring Initiator’s configurations

  30. Interaction factors Channel encryption Cipher Coordination laws Plain msg. Content match Control by agent Information flow manipulation Coordination media’s configurations

  31. Interaction factors Trust Managed Service driven mode Unmanaged Unconditional No Conditional Service tailoring Yes Responder’s configurations

  32. Multi-mode interaction • Interaction mode synthesis: • Remote Procedure Call • Initiator’s configuration: • Spatial: Peer, Temporal: Now, Tailoring: None, Trust: Unmanaged; • Media’s configuration: • Encryption: Plain, CoordinationLaws: Information flow; • Responder’s configuration: • DrivenMode: Unconditional, Trust: Unmanaged, Tailoring: None

  33. Multi-mode interaction • Interaction mode synthesis: • “Smart ” wire • Initiator’s configuration: • Spatial: Composite, Temporal: Now, Tailoring: None, Trust: Unmanaged; • Media’s configuration: • Encryption: Plain, CoordinationLaws: Control by agent; • Responder’s configuration: • DrivenMode: Unconditional, Trust: Unmanaged, Tailoring: None

  34. Multi-mode interaction • Interaction mode synthesis: • A trusted and timed interaction mode with tailored service (to be used in pervasive computing scenarios) • Initiator’s configuration: • Spatial: Mediator, Temporal: Future(10s), Tailoring: P, Trust: Managed(T1); • Media’s configuration: • Encryption: Plain, CoordinationLaws: Content Match(M); • Responder’s configuration: • DrivenMode: Conditional(G), Trust: Managed(T2), Tailoring: None

  35. Multi-mode interaction • Interaction mode synthesis: • A trusted and timed interaction mode with tailored service (to be used in pervasive computing scenarios) ttl = 10s T1: Trust policies T2: trust policies T1 T2 G P Mediator Initiator Plan message M: match rules

  36. Multi-mode interaction • Implementation

  37. SCAR SCAI Initiator Responder C B PCM PCM A SOAP/Agent D Agent-based runtime support • Software Coordination Agents: • Carry application-specific coordination logic, migrate to the spot, register the logic in the PCM

  38. SCA … …… …… …… Agent-based runtime support • SCA and PCM Entity PCM Host

  39. Interceptor chain for result Interceptor chain for exception Interceptor chain for request Spatial Interceptor Temporal Interceptor Trust managemetn Interceptor Initiator Responder

  40. ReqIssued onRequest COA SOAP Ser./Deser. …… RespReady Exception …… onException …… onResponse Agent-based runtime support Interceptors SCAC Initiator PCM

  41. Artemis-M3C • Artemis-M3C system: • Software service integration and interaction mode configuration • Runtime support for multi-mode interaction

  42. Artemis-M3C integrated development environment

  43. Artemis-M3C Runtime: Initiator’s side

  44. Artemis-M3C Runtime: Responder’s side

  45. Dynamic architecture • The need for dynamic architecture support • The world is dynamic changing • The system evolution should be specified and managed at the architectural level • Related work • ADLs, Configuration Languages • C2, Darwin, Rapide, Weaves, ... • Reconfiguration spec. interpreted by a “configuration manger”

More Related