a mobile agent approach to process based dynamic adaptation of complex software systems l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems PowerPoint Presentation
Download Presentation
A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems

Loading in 2 Seconds...

play fullscreen
1 / 23

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


  • 150 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'A Mobile Agent Approach to Process-based Dynamic Adaptation of Complex Software Systems' - ulric


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
a mobile agent approach to process based dynamic adaptation of complex software systems

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

Gail Kaiser

Columbia University

dynamic adaptation
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.
our approach
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
prerequisite infrastructure
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)
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
kinesthetics extreme kx7
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)
worklets
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
worklet virtual machine wvm
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.
work let flow
Work[let] 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

workflakes managing micro and macro workflow
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)
separation of concerns
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
slide13

A

D

A

P

T

O

R

WVM

WorkletFactory

Process Engine

Process

Repository

Probe

T

A

R

GET

Process

Fragment

J

A

C

K

E

T

Worklet Transport

WVM

Junctions

Catalogue

example application adaptive interactive internet team video
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
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
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
slide18

AI2TV Infrastructure

Team 1

Team 2

KX

Controls

Controls

Controls

Controls

Controls

Controls

Controls

Controls

worklets 2 0
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/software/download/
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
survivor ng ideas
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
next steps
Next Steps
  • That’s what we’re here to discuss