ActorFrame an introduction - PowerPoint PPT Presentation

1 / 29
About This Presentation
Title:

ActorFrame an introduction

Description:

enable the right class of service. Client-server ... Kari: UserAgent. Ola: UserAgent. Mp1: MeetingPlace. t1: TermAgent. t2: TermAgent. Mp2: MeetingPlace ... – PowerPoint PPT presentation

Number of Views:28
Avg rating:3.0/5.0
Slides: 30
Provided by: Infoavd
Category:

less

Transcript and Presenter's Notes

Title: ActorFrame an introduction


1
ActorFramean introduction
  • Rolv Bræk
  • NTNU
  • Department of Telematics

2
The challenge
How to supportRapid, Compositional, and Correct
development with Dynamic deployment of
Innovative Convergent Services?
3
First principle Serve the Application domain
4
Second principlemirror the environment!
ServiceFrame Agents serving the environment
5
Third principleenable the right class of service
  • Client-server (traditional O-O and IS)
  • One-way initiatives
  • A service as an interface
  • Synchronous communication
  • Restricted structure
  • Peer-to-peer (telecom and real-time)
  • Multi-way initiatives
  • A service as a collaboration
  • Asynchronous communication
  • General structure

... now meeting each other
We focus on P2P and consider CS a special case
6
Fourth principlesupport the cross-cutting
nature of services
  • a service is a collaboration between roles
    performed by agents
  • a role is the part an agent (or actor) plays in a
    service
  • agents may be involved in several services
  • horizontal and vertical role composition

7
Fifth principlecomponent based framework with
loose coupling- Actors and Agents
8
Sixth principleservices as collaborations
UserCall
inviteRoleRequest
requested
bCalled Agent
cCalling
requester
invoked
a
b
bBusy
b
a
aCaller
bCallee
b
a
uUnavailable
  • with
  • goal expressions for liveness
  • behaviour specified using MSC and state machines
  • features represented by collaboration uses
  • role behaviour designed as actor state machines

9
... and roles/actors bound to agents
FullCall
atTermCallee
auUserCaller
btTermCaller
buUserCallee
ucUserCall
oTermCall
tTermCall
collaborations
agents
btTermCallee
auUserCaller
atTermCaller
buUserCallee
ucUserCall
oTermCall
tTermCall
fcxFullCall
  • Actors as service components (provide roles)
  • Actors for separate services and sessions

10
Agent structure example reflecting the domain
and the environment
AmigosApplication
Plattformindenpendent
Mp1MeetingPlace
KariUserAgent
t1TermAgent
t2TermAgent
OlaUserAgent
Mp2MeetingPlace
11
Services as collaborations with roles
Chat service
ref
Chat interaction
designed as Actors with (Role) state machines
12
... bound to Agents
Platformindenpendent
AmigosApplication
Mp1MeetingPlace
KariUserAgent
t1TermAgent
t2TermAgent
OlaUserAgent
Mp2MeetingPlace
13
... with platform adaptors and edges
AmigosFramework
Mp1MeetingPlace
KariUserAgent
t1TermAgent
Platformindenpendent
t2TermAgent
OlaUserAgent
Mp2MeetingPlace
Service Platform Specific
ComputingPlatform Specific
14
Dynamic structure composition - horizontal
UserAgent
Caller
T
U
a
B
A
1
2
Callee
b
3
A
B
ubUserAgent
uaUserAgent
Tb TerminalAgent
Ta TerminalAgent
callee
Caller
POT
POT
2
2
1
1
1
1
3
3
  • Dynamic links imply that roles are dynamically
    assigned to actors.
  • This requires dynamic role management mechanisms
    for discovery, selection, adaptation and
    invocation.
  • A large class of services are triggered in
    response to dynamic link requests (at least
    communication control services).
  • There may be constraints on what actors are
    allowed to play given roles, e.g. B must be the
    individual identified by the called party
    identifier, B must have a given responsibility, B
    may be any object that can play the role.
  • The state of an actor may determine what roles
    the actor is able to play at any given time, e.g.
    busy, free.
  • Compatibility rules must be applied on dynamic
    liks to ensure goal and progress

15
Seventh principleSupport dynamic role binding
  • Dynamic role binding is central to many services,
    it entails
  • Agent identification, which aims at identifying
    an agent by consulting a name-server or
    performing a service discovery. (Note that some
    service features are related to the agent
    identification, e.g. aliasing, business domain
    restrictions or originating and terminating
    screening features in telephony.)
  • Role request, which aims at creating a dynamic
    link with a coordinated feature set. This means
    to request the identified agent (from phase 1) to
    play a role with a certain feature set. If the
    agent is able to play the requested
    role/features, it invokes it and a link is
    dynamically established between the requesting
    and the requested roles, so that they can
    collaborate. If not a substitute role may be
    negotiated, or the request may be queued.
  • Role release, which signals that a role is
    finished and has released whatever resources it
    had occupied.

16
Role request pattern
RoleRequest
requestedAgent
requester Actor
invoked Actor
  • All actors inherits this behaviour (from
    ltltActorgtgt)
  • The invoked role depends on the actor descriptor
    (content constraints) state and policy of the
    requested actor
  • Role negotiation may take place, by extending the
    standard pattern

17
Actor Default Behavior (enhanced composite
diagram)
18
The invoked role behaviour proceeds until
  • It needs to bring a new role into the
    collaboration (i.e. create another dynamic role
    biding).
  • In this case it first needs to identify the agent
    and then initiate a role request to this agent as
    explained.
  • It needs to check what feature or feature set to
    select at a certain point if this depend on agent
    policy (e.g. if mid-call telephony services are
    allowed)
  • It needs to signal to its own agent that it is
    available for additional linking, in response to
    an incoming role request (e.g. to perform a call
    waiting feature) or
  • It is finished and performs role release.

19
Eigth principleImplementation layering
Application

E.g AMIGOS
MyUserAgent, MyTerminalAgent,
MyCommunityAgent,. My Roles

ServiceFrame

Provides Application
UserAgents, TerminalAgents, CommunityAgents,
domain concepts

ApplicationActors, .

Provides Role modelling
ActorFrame

concepts

Actors, Roles, Plays, Patterns, .

Provides UML2.0
JavaFrame

concepts

CompositeObjects, StateMachines,
Mediators,
CompositeStates, Asynchronous communication,

Java VM

20
... with platform portability
Functionality using Actor model
PlM
Modeling
PSM
Implementation using Actor classes
Implementation using Actor classes
Implementation using Actor classes
ActorFrame
EJB ActorFrame
Midlet ActorFrame
Implementation
EJB simulator
EJB
JVM
Terminals, appliances
Application servers
21
... and distribution transparency
  • Freedom to deploy actors on small devices and
    servers
  • Global address space and transparent messaging
  • Simple configuration, but not yet self-configuring

22
Ninth principle dynamic system - open structure
with object and type dynamics
ApplicationSystem
compose
Application - PIM Adaptation - PIM
compose
Models
translate
translate
Java Frameworks
Application Implementation
dynamicallydeploy
compose
edge
Actor descriptor content and context
State machines SM and CS
edge
23
Actor (Deployment) Descriptor
24
OSGi Container
OSGi
Actors
ActorRouter
Actors
osgi
Actors
Forward table
Bundles
25
Creating an OSGi Bundle
  1. Deploy the Router
  2. Registrate the router in Service Registery
  3. Deploy the bundle
  4. Bundle finds the Router in the Service Registery
  5. The bundle connects itself to the Router via a
    Connector
  6. Messages to other bundles is send via the Router

Service Registery
26
Communication
OSGI container
OSGI container
OSGi
OSGi
OSGi
OSGI
ActorRouter
ActorRouter
TCP Session
TCP Session
J2SE
J2SE
Actors
Actors
UDP
UDP
Bluetooth
Service
SOAP
27
Tenth principle model driven service engineering
Collaborations with behaviour
Role behaviours
design synthesis
Service models
composition
composition
ApplicationSystem
composition
composition
Application models -PIM
Agents Actors
System
28
Towards Service Oriented Development
  • This is our research focus. You may participate!

29
... using the RAMSES tool set
RAMSES
Service models
PIM
Roles
Modelingusing UML2.0
PIM, PIM

Systems
Actors
Agents
PM
Systems
Actors
Agents
Implementingusing Javaframmeworks
ActorFrame
Write a Comment
User Comments (0)
About PowerShow.com