Download presentation
Presentation is loading. Please wait.
Published byCatherine Hopkins Modified over 9 years ago
1
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 1 ActorFrame an introduction Rolv Bræk NTNU Department of Telematics
2
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 2 The challenge How to support Rapid, Compositional, and Correct development with Dynamic deployment of Innovative Convergent Services?
3
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 3 First principle: Serve the Application domain
4
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 4 Second principle: mirror the environment! ServiceFrame: Agents serving the environment
5
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 5 Third principle: enable 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
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 6 Fourth principle: support 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 Service 1 Agent 1 Agent 2 Agent 3 Agent 4 Agent 5 Service 3 Service 2 Vertical composition (within an agent) Horizontal composition (within a service)
7
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 7 Fifth principle: component based framework with loose coupling - Actors and Agents Agent identity: credentials: profile:
8
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 8 Sixth principle: services as collaborations with: goal expressions for liveness behaviour specified using MSC and state machines features represented by collaboration uses role behaviour designed as actor state machines a:Callerb:Callee invite:Role Request c:Calling b:Busy u:Unavailable b:Called Agent requester requested invoked ab b b a a UserCall {goal: VoiceCnt(a,b) = a.VoiceCntTo(b) AND b.VoiceCntTo(a)}
9
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 9 FullCall at:Term Callee bt:Term Caller au:User Caller bu:User Callee uc:UserCall o:TermCall t:TermCall bt:Term Callee at:Term Caller au:User Caller bu:User Callee uc:UserCall o:TermCall t:TermCall fcx:FullCall at:Term Agent au:User Agent bu:User Agent bt:Term Agent collaborations agents... and roles/actors bound to agents Actors as service components (provide roles) Actors for separate services and sessions
10
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 10 Agent structure example: reflecting the domain and the environment AmigosApplication Kari: UserAgent Ola: UserAgent Mp1: MeetingPlace t1: TermAgent t2: TermAgent Mp2: MeetingPlace Plattform indenpendent
11
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 11 Services as collaborations with roles tchat uchat mpchat terminal tchat uchatmpchat Chat interaction designed as Actors with (Role) state machines Chat service Chat interaction ref
12
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 12... bound to Agents AmigosApplication Kari: UserAgent Ola: UserAgent Mp1: MeetingPlace t1: TermAgent t2: TermAgent Mp2: MeetingPlace tlogon ulogon tchat uchat mpchat mpcall tcall ucall Platform indenpendent
13
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 13... with platform adaptors and edges AmigosFramework Kari: UserAgent Ola: UserAgent Mp1: MeetingPlace t1: TermAgent t2: TermAgent Mp2: MeetingPlace tlogonulogontchat mpcalluchat mpchat tcall ucall OSA FW OSA CallC call Service Platform Specific Computing Platform Specific Platform indenpendent Edge
14
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 14 Dynamic structure composition - ”horizontal” 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 UserAgent Caller Call B A B A a b Terminal U T TerminalAgent POT 1 Terminal U T Ta: TerminalAgent Tb: TerminalAgent ua:UserAgent ub:UserAgent 3 2 1 1 1 2 3 2 3 1 1 POT Caller callee POT Callee
15
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 15 Seventh principle: Support dynamic role binding Dynamic role binding is central to many services, it entails: 1.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.) 2.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. 3.Role release, which signals that a role is finished and has released whatever resources it had occupied.
16
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 16 requester: Actor invoked: Actor requested: Agent RoleRequest Role request pattern All actors inherits this behaviour (from >) 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
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 17 Actor Default Behavior (enhanced composite diagram)
18
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 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
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 19 Eigth principle: Implementation layering Application: MyUserAgent, MyTerminalAgent, MyCommunityAgent,…. My Roles ServiceFrame: UserAgents, TerminalAgents, CommunityAgents, ApplicationActors, …. ActorFrame: Actors, Roles, Plays, Patterns, …. JavaFrame: CompositeObjects, StateMachines,Mediators, CompositeStates, Asynchronous communication, Java VM Provides Application domain concepts Provides Role modelling concepts Provides UML2.0 concepts E.g AMIGOS
20
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 20... with platform portability Modeling PSM Implementation PlM’ EJB simulator ActorFrame Implementation using Actor classes EJB EJB ActorFrame Implementation using Actor classes Functionality using Actor model JVM Midlet ActorFrame Implementation using Actor classes Terminals, appliances Application servers
21
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 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 Application Server edge Terminal/appliance edge Application Server edge Terminal/appliance edge
22
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 22 Application - PIM’ Adaptation - PIM’ > ApplicationSystem compose Application Implementation edge Java XML Java XML Java XML Java XML Java XML Java XML dynamically deploy translate Models Java Frameworks Ninth principle: dynamic system - open structure with object and type dynamics Actor descriptor: content and context State machines: SM and CS
23
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 23 Actor (Deployment) Descriptor
24
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 24 OSGi Container Bundles OSGi ActorRouter Actors Forward table Actors TCP Session osgi Bluetooth Session
25
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 25 Creating an OSGi Bundle Osiris Profile Extension UDP TCP SOAP NM Router /SR Service Registery bundle AM actor SE 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
26
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 26 OSGI container OSGi OSGI container OSGi Communication ActorRouter OSGi J2SE Actors TCP Session UDP Bluetooth ActorRouter J2SE OSGI Actors TCP Session UDP SOAP ActorRouter CLDC J2ME Actors Bluetooth Service
27
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 27 Application models - PIM Agents ActorsSystem Service models r2 r3 r1 Collaborations with behaviourRole behaviours design synthesis Role1SM Role2SM > ApplicationSystem Role1SM Role2SM composition Tenth principle: model driven service engineering
28
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 28 Towards Service Oriented Development This is our research focus. You may participate!
29
Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 29 RAMSES Actors Modeling using UML2.0 Implementing using Java frammeworks Agents ActorsAgents Service models Roles... using the RAMSES tool set Systems ActorFrame PIM, PIM’ PM+ PIM
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.