A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems PowerPoint PPT Presentation

presentation player overlay
1 / 23
About This Presentation
Transcript and Presenter's Notes

Title: A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems


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

2
Dynamic 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.

3
Our 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

4
Prerequisite 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)

5
(No Transcript)
6
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

7
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)

8
Worklets
  • 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

9
Worklet Virtual Machine (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.

10
Worklet flow
A D A P T O R
A D A P T O R1
A D A P T O R2
H O S T1
H O S T2
WVM
WVM
WVM
11
Workflakes Managing Micro- 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)

12
Separation 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

13
Process Repository
Probe
T A R GET
  • Process
  • Fragment

J A C K E T
Worklet Transport
WVM
Junctions Catalogue
14
(No Transcript)
15
Example Application Adaptive Interactive
Internet 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

16
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

17
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

18
KX
Controls
Controls
Controls
Controls
Controls
Controls
Controls
Controls
19
Worklets 2.0
  • Java 1.3
  • Can push (payload) or pull (RMI or URL
    ClassLoader) mobile code
  • Download from http//www.psl.cs.columbia.edu/softw
    are/download/

20
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

21
Survivor 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

22
Next Steps
  • Thats what were here to discuss

23
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com