artemis n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Artemis PowerPoint Presentation
Download Presentation
Artemis

Loading in 2 Seconds...

play fullscreen
1 / 70

Artemis - PowerPoint PPT Presentation


  • 113 Views
  • Uploaded on

Artemis. Toward a unified supporting system for Internetware 马晓星 南京大学计算机软件研究所. Outline. Motivation and approach Explicit and programmable coordination “Smart” component wires Configurable multi-mode interactions Dynamic software architectures Conclusion and future work. Motivation.

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 'Artemis' - mahsa


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
artemis

Artemis

Toward a unified supporting system for Internetware

马晓星

南京大学计算机软件研究所

outline
Outline
  • Motivation and approach
  • Explicit and programmable coordination
    • “Smart” component wires
    • Configurable multi-mode interactions
    • Dynamic software architectures
  • Conclusion and future work
motivation
Motivation
  • New Internet applications are booming.
  • New software supporting technology is demanded.
motivation1
Motivation
  • Basic assumptions of trad. devlp. tech.
    • Developers take full control (Closed world)
    • Structure before constituents
      • Structured technology centralized structure for well-defined function
      • Object-oriented technology decentralized structure for “adjustable” function
      • Even for component technology components are modified, customized, and wrapped to fit defined structure
    • Structures are expected to be stable
motivation2
Motivation
  • Computation-centric
    • Interaction mechanism are built in the programming language and/or the Middleware.
    • Application-specific coordination logic are hard coded in the components, tightly coupled with computation logic.
motivation3
Motivation
  • But for Internet applications
    • Resources are not owned by current application, and services are provided “AS IS”
    • Coordination-centric
    • Structure after constituents
    • Assembling after deployment
    • Structure are more dynamic
      • Requirement, environment, (trust)
approach
Approach
  • Make the coordination logic
    • Separated
    • Explicit
    • Programmable
      • Dynamically reconfigurable
    • Moveable
      • Best adapted to the distributed of the resources
approach1
Approach

User agent for coordination

  • Basic framework

Application-specific coordination logic programmed with cooperating agents

approach2
Approach
  • Address specific aspects of the challenge:
    • Stubborn component binding
    • Configurable middleware
    • Architecture reconfiguration
  • Develop our solutions based on the basic framework
smart wire
“Smart” wire
  • The deficiency in the RPC/ORB style of component wires:
    • One to one mapping
    • Fixed interaction mechanism implied.
    • Only information exchanged.
  • Work-around
    • develop extra adapter components
the deficiency
The deficiency

o.m(...)

ORPC

work around
Work-around

o.m(...)

o1.m1()

o2.m2()

o3.m3()

work around1

o1.m1()

o2.m2()

o3.m3()

Work-around

o.m(...)

Adapter

smart wire1
Smart wire
  • Our approach
    • Enriched component wires based on mobile agent technology
    • Wiring logic
      • Group Table: Combination of available components.
      • Location Table: Locations of the components in the GT.
    • The GT and LT are translated into a mobile agent.
    • The components are wired up by the agent.
our approach

Group Table

Location Table

Our approach

o.m(...)

slide18

Host1

Host0

Host3

Host2

Extraction of coord. logic

M0

M1

M2

slide19

M1

M2

M3

Host1

Host0

Host3

Host2

Extraction of coord. logic

slide20

Host2

Host1

On-the-spot interaction

P0

M0

P1

M1

P2

M2

P3

slide21

Host2

Host1

On-the-spot interaction

P0

M0

P1

M1

P2

M2

P3

slide22

M1

M2

M2

M5

M4

M3

M1

M3

M5

M4

Host3

Host2

Host1

Host4

Host5

Client

Flexible assembling

slide23

M1

Host1

M2

M3

Host0

Host3

Host2

Flexible assembling

slide24

M1

Host1

M2

M3

Host0

Host3

Host2

Flexible assembling

smart wire2

Interface

C Body

Agent

Manager

Agent

Class file for

Agent Manager

xxx.so file

Marshaller

class file

for Agent

Client

C++ server

Group

Table

Location

Table

Group & Location

Table compiler

GNU C

compiler

idl2C++ compiler

idl2java compiler

C++

Skeleton

Java

Stub

xxx.o file

GNU C compiler

GNU

linker

GNU C++

compiler

javac compiler

javac compiler

server appl.

client appl.

  • Cogent development process
Smart wire
  • Application development process
smart wire3

Agent

Body

Marshaller

...

Manager

Mobile Agent Server

Agent

Agent

Agent

Client Side

Comp.

Server Side

Component Repository

ORB

Name Server

Mobile Agent Server

ORB

  • Runtime interactions between components
Smart wire
  • Implementation (based on Mogent and MICO)
multi mode interaction
Multi-mode interaction
  • The need for configurable middleware
    • Gordon Blair:
      • Configurable, dynamic reconfigurable, evolvable
  • Related work
    • OpenORB, DynamicTAO, Mars,PKUAS ...
    • Enhance flexibility of well-known ORBs/Coordination Models/ASs
flexible software interaction

Interface

Coordination

Media

Meta-Interface

Interface

Meta-rep.

Interface

Coordination

Media

Inteface

Flexible software interaction
  • Reflection mechanism
    • Controlled
    • Balanced

Coordination

Entity

Coordination

Entity

flexible software interaction1
Flexible software interaction
  • Our approach 1
    • Remote reflective behavior via mobile agents

Local reflective behavior

Coord.

entity

Meta-Interface

Meta-Interface

Coord.

entity

Meta. Rep.

Meta. Rep.

Interface

Interface

Local Imp. of the coord. media

Local Imp. of the coord. media

multi mode interaction1
Multi-mode interaction
  • Our approach 2
    • “Factorize” the Interaction modes into basic interaction “factors”
    • “Synthesize” the factors to form different interaction modes
interaction factors
Interaction factors

Temporal

Future

Now

Trust

Spatial

One-way

Managed

Peer

Composite

Mediator

Unmanaged

No

Yes

Service tailoring

Initiator’s configurations

interaction factors1
Interaction factors

Channel encryption

Cipher

Coordination laws

Plain msg.

Content match

Control by agent

Information flow manipulation

Coordination media’s configurations

interaction factors2
Interaction factors

Trust

Managed

Service driven mode

Unmanaged

Unconditional

No

Conditional

Service tailoring

Yes

Responder’s configurations

multi mode interaction2
Multi-mode interaction
  • Interaction mode synthesis:
    • Remote Procedure Call
      • Initiator’s configuration:
        • Spatial: Peer, Temporal: Now, Tailoring: None, Trust: Unmanaged;
      • Media’s configuration:
        • Encryption: Plain, CoordinationLaws: Information flow;
      • Responder’s configuration:
        • DrivenMode: Unconditional, Trust: Unmanaged, Tailoring: None
multi mode interaction3
Multi-mode interaction
  • Interaction mode synthesis:
    • “Smart ” wire
      • Initiator’s configuration:
        • Spatial: Composite, Temporal: Now, Tailoring: None, Trust: Unmanaged;
      • Media’s configuration:
        • Encryption: Plain, CoordinationLaws: Control by agent;
      • Responder’s configuration:
        • DrivenMode: Unconditional, Trust: Unmanaged, Tailoring: None
multi mode interaction4
Multi-mode interaction
  • Interaction mode synthesis:
    • A trusted and timed interaction mode with tailored service (to be used in pervasive computing scenarios)
      • Initiator’s configuration:
        • Spatial: Mediator, Temporal: Future(10s), Tailoring: P, Trust: Managed(T1);
      • Media’s configuration:
        • Encryption: Plain, CoordinationLaws: Content Match(M);
      • Responder’s configuration:
        • DrivenMode: Conditional(G), Trust: Managed(T2), Tailoring: None
multi mode interaction5
Multi-mode interaction
  • Interaction mode synthesis:
    • A trusted and timed interaction mode with tailored service (to be used in pervasive computing scenarios)

ttl = 10s

T1: Trust policies

T2: trust policies

T1

T2

G

P

Mediator

Initiator

Plan message

M: match rules

agent based runtime support

SCAR

SCAI

Initiator

Responder

C

B

PCM

PCM

A

SOAP/Agent

D

Agent-based runtime support
  • Software Coordination Agents:
    • Carry application-specific coordination logic, migrate to the spot, register the logic in the PCM
agent based runtime support1

SCA

……

……

……

Agent-based runtime support
  • SCA and PCM

Entity

PCM

Host

slide43

Interceptor chain for result

Interceptor chain for exception

Interceptor chain for request

Spatial

Interceptor

Temporal

Interceptor

Trust managemetn

Interceptor

Initiator

Responder

agent based runtime support2

ReqIssued

onRequest

COA

SOAP Ser./Deser.

……

RespReady

Exception

……

onException

……

onResponse

Agent-based runtime support

Interceptors

SCAC

Initiator

PCM

artemis m 3 c
Artemis-M3C
  • Artemis-M3C system:
    • Software service integration and interaction mode configuration
    • Runtime support for multi-mode interaction
dynamic architecture
Dynamic architecture
  • The need for dynamic architecture support
    • The world is dynamic changing
    • The system evolution should be specified and managed at the architectural level
  • Related work
    • ADLs, Configuration Languages
      • C2, Darwin, Rapide, Weaves, ...
      • Reconfiguration spec. interpreted by a “configuration manger”
dynamic architecture1

Reconfiguration

Instantiation

Introspection

Intercession

Evolution

Adaptation

Dynamic architecture
  • The problem
dynamic architecture2

A

A

D

C

C

B

B

Dynamic architecture
  • Solution
    • Reify the architecture as an tangible object

Reification

Reflection

dynamic architecture3
Dynamic architecture
  • Program the architecture as an distributed shared object.
  • Express the architectural style with the type of the object;
  • Constrain the architectural evolution with the type and inheritance mechanism of OOPL.
dynamic architecture4
Dynamic architecture
  • Support the dynamic reconfiguration
    • With programmed behavior of the architecture object --- Planned
    • With polymorphic replacement of the architecture object --- Unplanned
  • But how does the architecture object define the system architecture?
the causal connection
The causal connection

O.m(...)

Reinterpreted with the multi-mode interaction mechanism

Reinterpreted in the architectural context

the causal connection1
The causal connection
  • This object provide an architectural context for the components
  • Interaction mediated bye the architecture object
dynamic architecture5
Dynamic architecture
  • User’s programming model
    • System = Component instances + Architecture object
    • Architecture object = Architectural topology + Multi-mode interaction + architectural behavior
deployment view
Deployment View

Internal Structure of Coordination Agent

coordination agent
Coordination Agent

Dynamic

Reconfiguration

as architectural

Behavior

Auto Proxies

Context sensors

Architecture

Based

Reference

Interpretation

Method Call

Interpretation

Multi-Mode

Coordination

Local Implementation of Distributed

Shared Architecture Object

advantages
Advantages
  • Decoupling of components
  • Explicit and accurate architecture information, abstract reconfiguration
  • Limited scope of changes (architecture object)
  • Inheritance and polymorphism applied to architectural objects.
  • Support both planned and unplanned dynamic reconfiguration.
dynamic architecture6
Dynamic architecture
  • Implementation
    • Prototype 1: WebGOP
    • Prototype 2: Artemis-ARC
      • Based on JBoss and Axis
      • Compatible to EJB components and Web Services
      • An Eclipse-base IDE
under working
Under working
  • Self-adaptation
  • Trust
work done
Work done

Unified supporting system

for Internetware

Challenge of

Internet application

development

Dynamic architecture

Architecture

reconfiguration

Multi-Mode interaction

Configurable

middleware

Smart wire

Stubborn

Comp. binding

Coordination with

(mobile) agents

future work
Future work
  • Killer application?
  • Unified supporting system
  • Well-defined constructs and corresponding formal models