700 likes | 892 Vues
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.
E N D
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 • New Internet applications are booming. • New software supporting technology is demanded.
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
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.
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)
Approach • Make the coordination logic • Separated • Explicit • Programmable • Dynamically reconfigurable • Moveable • Best adapted to the distributed of the resources
Approach User agent for coordination • Basic framework Application-specific coordination logic programmed with cooperating agents
Approach • Address specific aspects of the challenge: • Stubborn component binding • Configurable middleware • Architecture reconfiguration • Develop our solutions based on the basic framework
“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
The deficiency o.m(...) ORPC
Work-around o.m(...) o1.m1() o2.m2() o3.m3()
o1.m1() o2.m2() o3.m3() Work-around o.m(...) Adapter
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.
Group Table Location Table Our approach o.m(...)
Host1 Host0 Host3 Host2 Extraction of coord. logic M0 M1 M2
M1 M2 M3 Host1 Host0 Host3 Host2 Extraction of coord. logic
Host2 Host1 On-the-spot interaction P0 M0 P1 M1 P2 M2 P3
Host2 Host1 On-the-spot interaction P0 M0 P1 M1 P2 M2 P3
M1 M2 M2 M5 M4 M3 M1 M3 M5 M4 Host3 Host2 Host1 Host4 Host5 Client Flexible assembling
M1 Host1 M2 M3 Host0 Host3 Host2 Flexible assembling
M1 Host1 M2 M3 Host0 Host3 Host2 Flexible assembling
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
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)
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
Interface Coordination Media Meta-Interface Interface Meta-rep. Interface Coordination Media Inteface Flexible software interaction • Reflection mechanism • Controlled • Balanced Coordination Entity Coordination Entity
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
Multi-mode interaction • Our approach 2 • “Factorize” the Interaction modes into basic interaction “factors” • “Synthesize” the factors to form different interaction modes
Interaction factors Temporal Future Now Trust Spatial One-way Managed Peer Composite Mediator Unmanaged No Yes Service tailoring Initiator’s configurations
Interaction factors Channel encryption Cipher Coordination laws Plain msg. Content match Control by agent Information flow manipulation Coordination media’s configurations
Interaction factors Trust Managed Service driven mode Unmanaged Unconditional No Conditional Service tailoring Yes Responder’s configurations
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
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
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
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
Multi-mode interaction • Implementation
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
SCA … …… …… …… Agent-based runtime support • SCA and PCM Entity PCM Host
Interceptor chain for result Interceptor chain for exception Interceptor chain for request Spatial Interceptor Temporal Interceptor Trust managemetn Interceptor Initiator Responder
ReqIssued onRequest COA SOAP Ser./Deser. …… RespReady Exception …… onException …… onResponse Agent-based runtime support Interceptors SCAC Initiator PCM
Artemis-M3C • Artemis-M3C system: • Software service integration and interaction mode configuration • Runtime support for multi-mode interaction
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”