160 likes | 237 Views
A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems. G . Valetto, G . Kaiser, and G . S. Kc Columbia University - TILab {valetto, kaiser, gskc}@cs.columbia.edu June 18, 2001. Modifying on the fly the ABC of distributed applications A rchitecture
E N D
A Mobile Agent Approach to Process-based DynamicAdaptation of Complex Software Systems G. Valetto, G. Kaiser, and G. S. Kc Columbia University - TILab {valetto, kaiser, gskc}@cs.columbia.edu June 18, 2001
Modifying on the fly the ABC of distributed applications Architecture Behavior Configuration At run time = no interruption of service Many objectives: support run-time software assembly enforce adherence to requirements and SLA ensure QoS of mission-critical systems recover from and prevent faults upgrade seamlessly Dynamic Adaptation (DA): Definition
Scope of Dynamic Adaptation • Alleviate some difficulties of modern software development via integration/composition • Heterogeneity: “systems of systems” • Maintenance complexity • Shrinking time-to-market abbreviates pre-deployment quality assurance • Complementary approach to best development SE practices • Addresses some of the same concerns but carries them over to the post-development cycle (run time) • Not as comprehensive as re-engineering but … • … may avoid some spiral iterations
Why? Exploit convergence between: increasing process automation and distribution in PCEs increasing autonomy of SW agent technologies DA requires orchestration of interdependent actions: performed by multiple actors in different locations in a timely way This is a job for a decentralized process enactment engine. How? DA process codifies formalized knowledge about the target system within process info Dispatches mobile agents to target system components to perform DA tasks Coordinates actions of agents via process enactment Addresses at runtime some concerns normally dealt with only at development time component integration configuration management verification and validation deployment and evolution Process- and agent-based DA
Separation of concerns Process- and agent-based DA allows to separate the concerns of coordination and computation • Process: • provides coordination “glue” to build, operate computational systems composed of many small parts • expresses DA directives and constraints in an explicit and separate formalism • Process engine: • enables the automation of coordination “program” • Semi-autonomous software agents: • actuate DA directives by taking computational actions upon and in the individualized context of target system components
Our approach: Workflakes • Marrying Micro- and Macro-Workflow • Worklets: • Developed at Columbia • Mobile agents deliver code snippets (junctions) to hosts along a programmable route • Carry onboard process directives (jackets) “local” to their route and to junction execution • e.g. entry and exit conditions, repetition, timing, etc. • Decentralized process engine: • Little-JIL/Juliette (UMass), Cougaar (BBN), … • Enacts global DA process • Directs instantiation, assembling and dispatching of worklets • Monitors their progress and handles exceptions
Roles in Workflakes • Good match to the separation of concerns • Worklet junctions define and execute computations • Process modeling language defines coordination … • Specification of (conditional) worklet trajectory • Selection and instantiation of worklet junctions from worklet factory • Generation of worklet jackets • … and decentralized process engine enacts it
Workletflow A D A P T O R A D A P T O R1 A D A P T O R2 H O S T2 H O S T1 WVM WVM WVM
Process Fragment J A C K E T WVM Junctions Catalogue Workflakes in action Process Repository T A R GET A daptor Process Engine WVM Worklet Transport Worklet Factory
Prerequisite infrastructure • DA process must feed upon reports of occurrence of certain conditions at and among components and connectors of the target system • A minimally intrusive monitoring meta-architecture on top of the target system is needed • In this respect, process component is completely reactive • DA introduces an automatic closed control loop onto the target system • Detect-and-respond (feedback) • Detect-and-anticipate (feed forward) • Aims to handle situations spanning throughout the target architecture • involving heterogeneous components from multiple sources (COTS, open source, proprietary)
Kinesthetics eXtreme - KX • Workflakes are integrated as a component of KX infrastructure • Under development at Columbia and WPI • for the DARPA DASADA program • KX aims at Continual Validation of software systems • Main conceptual roles in KX: • Probes for reporting low-level conditions • Distributed event bus for probe data dissemination, filtering, aggregation, … • Gauges for measuring conditions inferred through recognizing complex event patterns • Portal console for presentation/analysis/human support • Automated support for DA decisions • Actuators for runtime reconfiguration and repair Workflakes
Workflakes details • Cougaar-based implementation relies on Cougaar’s distributed blackboard/tuple space • Any task processor enabled to acquire any process fragment • Configurable Cougaar communities: we implemented generic “shell” task processors • These “shell” task processors are filled on request with coordination as well as computational semantics by worklets from a Worklet Factory • Worklets add dynamism, re-configurability, mobility to the process environment • At minimal cost • Adaptable to local context • Allow handling of contingencies and overcoming of faults
Target system Resident WVM Task Junctions Process definition Junctions Component Component Resident WVM Cougaar Node Worklet Factory WVM KX Info Bus
Latest directions: • Survivor NG (Next Generation): survivability for multi-level secure enterprise application systems • Worklets will be aware of multiple levels of security into the target system • Workflakes will implement the mechanics of multi-level security to be incorporated into applications with MLS requirements • Workflakes will recruit replacement task processors, install previously-in-progress state, upgrade security clearance, etc. to ensure survivability • AI2TV (Adaptive Interactive Internet Team Video) • synchronized multimedia for varying-bandwidth group viewing • Download Worklets • http://www.psl.cs.columbia.edu/software/download/