23
A Mobile Agent Approach to A Mobile Agent Approach to Process-based Dynamic Process-based Dynamic Adaptation Adaptation of Complex Software Systems of Complex Software Systems Gail Kaiser Columbia University

A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems Gail Kaiser Columbia University

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems Gail Kaiser Columbia University

A Mobile Agent Approach to A Mobile Agent Approach to Process-based Dynamic Adaptation Process-based Dynamic Adaptation

of Complex Software Systemsof Complex Software Systems

Gail KaiserColumbia University

Page 2: A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems Gail Kaiser Columbia University

Dynamic AdaptationDynamic Adaptation Modifications in structure and behavior that can be

made to individual components, as well as sets thereof, or to the overall target system configuration, such as adding, removing or substituting components, while the system is running and without bringing it down.

Goals:– Supporting run-time software composition,– Enforcing adherence to requirements,– Ensuring uptime and quality of service of mission-

critical systems, – Recovering from and preventing faults,– Seamless system upgrading, etc.

Page 3: A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems Gail Kaiser Columbia University

Our ApproachOur Approach

Dispatch mobile agents to components to perform dynamic adaptation tasks

Coordinate concerted action of multiple agents on multiple components via decentralized workflow

Dynamic adaptation workflow process incorporates knowledge about the specifications and architecture of the target software system

Allows to address at runtime configuration management, deployment, validation and evolution concerns normally dealt with only at development time

Page 4: A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems Gail Kaiser Columbia University

Prerequisite InfrastructurePrerequisite Infrastructure

Superimpose a minimally intrusive monitoring meta-architecture on top of the target system

Introduce an adaptation feedback and feedforward control loop onto the target system, detecting and responding to the occurrence of certain conditions at and among components and connectors

Contrasted to fine-grained internal diagnostics and remedies performed in isolation by a self-assured, fault-tolerant component, aims to handle more global situations, perhaps involving heterogeneous components obtained from multiple sources (COTS, open source)

Page 5: A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems Gail Kaiser Columbia University
Page 6: A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems Gail Kaiser Columbia University

Kinesthetics eXtreme (KX)Kinesthetics eXtreme (KX)

Probes register and report low-level events indicating the behaviors/activities (or lack thereof) of the target system (via active interfaces, probelets, instrumented connectors, others)

Distributed asynchronous event bus receives probed events and propagates them (publish/subscribe) through packaging, filtering and notification facilities

Gauges describe/measure the progress of the target system, rendered as visual or textual portal panels or as data feeds into decision support

Page 7: A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems Gail Kaiser Columbia University

Kinesthetics eXtreme (KX)Kinesthetics eXtreme (KX)

Decision agents (human or automated) respond to gauged conditions by determining appropriate target system adaptations

Workflow engine

Actuation facilities deliver and execute any adaptation procedures

Worklets (aka Gaugents)

Page 8: A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems Gail Kaiser Columbia University

WorkletsWorklets

Mobile software agents support micro-workflow

Contain one or more mobile code units – worklet junctions

Worklet transparently travels from host to host, dropping off and picking up junctions

Optional origin junction returns the worklet to originating host

Page 9: A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems Gail Kaiser Columbia University

Worklet Virtual Machine Worklet Virtual Machine (WVM)(WVM)

Generic worklet execution platform Middleware interfaces to each host

through host-specific adaptor Tradeoff between adaptor complexity

and worklet specialization– 1st: JPython scripted worklets, heavyweight

adaptor implemented std API– 2nd: Java coded worklets, lightweight adaptor

specialized to domain/application/etc.

Page 10: A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems Gail Kaiser Columbia University

WorkWork[[letlet] flow] flow

HOST1

ADAPTOR1

WVM

HOST2 WVM

ADAPTOR2

ADAPTOR

WVM

Page 11: A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems Gail Kaiser Columbia University

Workflakes: Managing Workflakes: Managing Micro- and Macro-WorkflowMicro- and Macro-Workflow Worklets deliver junctions wrapped in

worklet jackets - scripted triggers, pre-conditions and timing for activation and repetition, exit conditions, directives to supersede, suspend, and reactivate a junction upon delivery of another, etc. (micro-workflow)

Workflakes decentralized workflow engine emits and coordinates multiple (jacketed) worklets collectively realizing the dynamic adaptation process (macro-workflow)

Page 12: A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems Gail Kaiser Columbia University

Separation of ConcernsSeparation of Concerns

Worklet junctions define and execute computations

Workflow modeling language defines and decentralized workflow engine enacts coordination– Specify (conditional) worklet trajectory– Generate worklet jackets– Select and instantiate worklet junctions

from worklet factory

Page 13: A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems Gail Kaiser Columbia University

ProcessRepository

JunctionsCatalogue

TARGET

ADAPTOR

WVM

WorkletFactory

Process Engine

Worklet Transport WVM

Probe

JACKET

Page 14: A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems Gail Kaiser Columbia University
Page 15: A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems Gail Kaiser Columbia University

Example Application: Example Application: Adaptive Interactive Adaptive Interactive Internet Team VideoInternet Team Video

Multimedia-enhanced group distance learning and collaborative work

Dispersed teams of students– Review recorded lecture videos together– Interactively carry out course assignments

Different teams members have different computing and networking capabilities– But need to view the semantically same

thing at physically same time

Page 16: A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems Gail Kaiser Columbia University

AI2TV Approach AI2TV Approach

Semantics-based video segmentation, indexing and compression (Prof. Kender)

Specialized mpeg encoder/decoder adapts to resource availability (Prof. Nieh)

KX monitors multimedia synchronization and continually updates gauges

Workflakes directs dynamic adaptation performed by worklets

Workflow model also guides predictive video segment caching (prefetching) based on team agendas

Page 17: A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems Gail Kaiser Columbia University

Multiple Workflow Levels Multiple Workflow Levels

Application-level– Coordination of group work (traditional)– Multimedia provision follows team agendas

Control-level– Process-aware components (via WVM adaptors)– Adapts behavior of the infrastructure (caching,

streaming, resource management, etc.) Reflective

– Dynamically adapt KX continual validation– “Smart Event” vocabulary, complex event

patterns, event matching and processing

Page 18: A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems Gail Kaiser Columbia University

Team 2

ControlsControlsControlsControlsControlsControls

KX

ControlsControls

AI2TV Infrastructure

Team 1

Page 19: A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems Gail Kaiser Columbia University

Worklets 2.0Worklets 2.0

Java 1.3Can push (payload) or pull (RMI or URL

ClassLoader) mobile codeDownload from

http://www.psl.cs.columbia.edu/software/download/

Page 20: A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems Gail Kaiser Columbia University

Workflakes 0.5?Workflakes 0.5? Initial experiment with Little-JIL/Juliette (UMass)

– Little-JIL workflow modeling notation Hierarchical workflow breakdown with coordination

relationships and qualifiers among tasks Sub-hierarchies assigned to decentralized processors (Juliette

agents) – Juliette decentralized workflow enactment

Mockup of Juliette AutomatedAgent Manages agenda and sends worklets to execute leaf tasks

Cougaar-based implementation (DARPA) under way– Logistics workflow (worklet dispatch treated as a logistics

problem)– Adaptable to other workflow paradigms– “Shell” generic Cougaar task processor is filled on request

with coordination and computational semantics by worklets– Ideal environment for integration with jacket micro-

workflow

Page 21: A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems Gail Kaiser Columbia University

Survivor NG IdeasSurvivor NG Ideas Need widely distributed workflow repository

– Both definition and in-process state Cougaar-based implementation relies on a

distributed blackboard/tuple space– Any task processor may be enabled to acquire

any part of the overall process– Configurable Cougaar communities

Worklets add dynamism, re-configurability, mobility to Cougaar communities– To handle contingencies and overcome faults– Need to add explicit fault-tolerance and security

policies to Workflakes enactment mechanisms

Page 22: A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems Gail Kaiser Columbia University

Next StepsNext Steps

That’s what we’re here to discuss

Page 23: A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems Gail Kaiser Columbia University