a mobile agent approach to process based dynamic adaptation of complex software systems n.
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 / 16

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


  • 91 Views
  • Uploaded on

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

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' - zamora


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

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 QoS of mission-critical systems

recover from and prevent faults

upgrade seamlessly

Dynamic Adaptation (DA): Definition
scope of dynamic adaptation
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
process and agent based da
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
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
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
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
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

slide9

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

Target system

Resident

WVM

Task Junctions

Process definition Junctions

Component

Component

Resident

WVM

Cougaar Node

Worklet Factory

WVM

KX Info Bus

slide15

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/