22ff4dbe372ccba5e70a268a1de10d52.ppt
- Количество слайдов: 16
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
Dynamic Adaptation (DA): Definition • 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 Qo. S of mission-critical systems – recover from and prevent faults – upgrade seamlessly
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 predeployment 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
Process- and agent-based DA How? Why? • DA process codifies formalized knowledge about the target – increasing process automation system within process info and distribution in PCEs • Dispatches mobile agents to – increasing autonomy of SW target system components to agent technologies perform DA tasks • DA requires orchestration of • Coordinates actions of agents interdependent actions: via process enactment • Exploit convergence between: – – performed by multiple actors in different locations in a timely way This is a job for a decentralized process enactment engine. • Addresses at runtime some concerns normally dealt with only at development time – – component integration configuration management verification and validation deployment and evolution
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
Worklet flow H O S T 2 A D A P T O R 1 WVM H O S T 1 A D A P T O R 2 A D A P T O R WVM
d a p t o r WVM Worklet Transport WVM Junctions Catalogue or. P A T A R G E T Process Repository
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 e. Xtreme - 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 Workflakes – Actuators for runtime reconfiguration and repair
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 Component Resident WVM Task Junctions Process definition Junctions Cougaar Node Worklet Factory WVM KX Info Bus
Latest directions: • Survivor NG (Next Generation): survivability for multilevel 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 • AI 2 TV (Adaptive Interactive Internet Team Video) • synchronized multimedia for varying-bandwidth group viewing • Download Worklets – http: //www. psl. cs. columbia. edu/software/download/
22ff4dbe372ccba5e70a268a1de10d52.ppt