Science and Technology Norwegian University of NTNU Rolv Bræk, January 2008 1 ActorFrame an introduction Rolv Bræk NTNU Department of Telematics.

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

SelfCon Foil no 1 Dynamic component systems 1. SelfCon Foil no 2 Pre-structured systems vs. dynamic component systems Pre-structured – emphasis on content.
A component- and message-based architectural style for GUI software
Software Frame Simulator (SFS) Technion CS Computer Communications Lab (236340) in cooperation with ECI telecom Uri Ferri & Ynon Cohen January 2007.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
An Associative Broadcast Based Coordination Model for Distributed Processes James C. Browne Kevin Kane Hongxia Tian Department of Computer Sciences The.
Service Oriented Architecture Concepts March 27, 2006 Chris Armstrong
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
HAS. Patterns The use of patterns is essentially the reuse of well established good ideas. A pattern is a named well understood good solution to a common.
Communication in Distributed Systems –Part 2
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
The chapter will address the following questions:
DESIGN OF A PLATFORM OF VIRTUAL SERVICE CONTAINERS FOR SERVICE ORIENTED CLOUD COMPUTING Carlos de Alfonso Andrés García Vicente Hernández.
THE NEXT STEP IN WEB SERVICES By Francisco Curbera,… Memtimin MAHMUT 2012.
Objectives Configure routing in Windows Server 2008 Configure Routing and Remote Access Services in Windows Server 2008 Network Address Translation 1.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
The Grid Component Model: an Overview “Proposal for a Grid Component Model” DPM02 “Basic Features of the Grid Component Model (assessed)” -- DPM04 CoreGrid.
International Telecommunication Union Geneva, 9(pm)-10 February 2009 ITU-T Security Standardization on Mobile Web Services Lee, Jae Seung Special Fellow,
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
The Grid Component Model and its Implementation in ProActive CoreGrid Network of Excellence, Institute on Programming Models D.PM02 “Proposal for a Grid.
SelfCon Foil no 1 Self configuring systems - introduction II.
SelfCon Foil no 1 Self configurating systems - a starter Rolv Bræk, Item.
Margherita Forcolin (Insiel S.p.A.) Thessaloniki, 13 October 2011.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Science and Technology Norwegian University of NTNU Rolv Bræk, March Systems and Service Engineering Domain Modelling (textbook ch 3 ++) Rolv Bræk.
ActorFrame Visualisation. Background ActorFrame provides means to define services by instances of collaborating actors. Actors can have an internal structure.
Page 1 WWRF Briefing WG2-br2 · Kellerer/Arbanowski · · 03/2005 · WWRF13, Korea Stefan Arbanowski, Olaf Droegehorn, Wolfgang.
1 Multimedia Services Service provider Service client Service registry Publish Find/discovery Bind Multimedia Services Framework and architecture.
Illustrations and Answers for TDT4252 exam, June
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Telecom and Informatics 1 SDL Forum 2005 Grimstad, Norway Service Discovery and Component Reuse with Semantic Interfaces Richard T. Sanders (SINTEF, Trondheim,
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Science and Technology Norwegian University of NTNU Rolv Bræk, April Compositional and Model Driven Service Engineering using semantic interfaces.
1 UNIT –II Architecting Web Service. 2 Why SOA? – business point of view  Information Technology (IT) workers face many challenges, including: Limited.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Transparent Mobility of Distributed Objects using.NET Cristóbal Costa, Nour Ali, Carlos Millan, Jose A. Carsí 4th International Conference in Central Europe.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
A Component Platform for Experimenting with Autonomic Composition A component framework for supporting composition of autonomic services and bio-inspired.
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
SelfCon Foil no 1 Variability in Self-Adaptive Systems.
Science and Technology Norwegian University of NTNU Rolv Bræk, January Introduction to Systems Engineering by Rolv Bræk NTNU.
GYTE - Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Bölümü GYTE - Bilgisayar Mühendisliği Bölümü AN ARCHITECTURE FOR NEXT GENERATION MIDDLEWARE.
1 Getting Service Engineering Right Next Generation Service Engineering Making the most of service models Rolv Bræk, Norwegian University of Science and.
REST By: Vishwanath Vineet.
1 Grimstad, June th SDL Forum Synthesizing State-machine Behaviour from UML Collaborations and Use Case Maps Humberto Nicolás Castejón Dept. of.
E81 CSE 532S: Advanced Multi-Paradigm Software Development Venkita Subramonian, Christopher Gill, Ying Huang, Marc Sentany Department of Computer Science.
1 Middleware and future telecom ’platform’ By Lill Kristiansen, ntnu.
Science and Technology Norwegian University of NTNU Rolv Bræk, January Domain Modelling and requirement specifications by Rolv Bræk NTNU.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
IP Telephony (VoIP).
Building Distributed Educational Applications using P2P
Inventory of Distributed Computing Concepts and Web services
Chapter 20 Object-Oriented Analysis and Design
NTNU Dept of Telematics and SINTEF Telecom and Informatics, Norway
Appendix A Object-Oriented Analysis and Design
Design Yaodong Bi.
Appendix A Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Appendix 3 Object-Oriented Analysis and Design
PASSI (Process for Agent Societies Specification and Implementation)
The Grid Component Model and its Implementation in ProActive
Presentation transcript:

Science and Technology Norwegian University of NTNU Rolv Bræk, January ActorFrame an introduction Rolv Bræk NTNU Department of Telematics

Science and Technology Norwegian University of NTNU Rolv Bræk, January The challenge How to support Rapid, Compositional, and Correct development with Dynamic deployment of Innovative Convergent Services?

Science and Technology Norwegian University of NTNU Rolv Bræk, January First principle: Serve the Application domain

Science and Technology Norwegian University of NTNU Rolv Bræk, January Second principle: mirror the environment! ServiceFrame: Agents serving the environment

Science and Technology Norwegian University of NTNU Rolv Bræk, January 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

Science and Technology Norwegian University of NTNU Rolv Bræk, January 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)

Science and Technology Norwegian University of NTNU Rolv Bræk, January Fifth principle: component based framework with loose coupling - Actors and Agents Agent identity: credentials: profile:

Science and Technology Norwegian University of NTNU Rolv Bræk, January 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)}

Science and Technology Norwegian University of NTNU Rolv Bræk, January 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

Science and Technology Norwegian University of NTNU Rolv Bræk, January Agent structure example: reflecting the domain and the environment AmigosApplication Kari: UserAgent Ola: UserAgent Mp1: MeetingPlace t1: TermAgent t2: TermAgent Mp2: MeetingPlace Plattform indenpendent

Science and Technology Norwegian University of NTNU Rolv Bræk, January 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

Science and Technology Norwegian University of NTNU Rolv Bræk, January 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

Science and Technology Norwegian University of NTNU Rolv Bræk, January 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

Science and Technology Norwegian University of NTNU Rolv Bræk, January 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 POT Caller callee POT Callee

Science and Technology Norwegian University of NTNU Rolv Bræk, January 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.

Science and Technology Norwegian University of NTNU Rolv Bræk, January 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

Science and Technology Norwegian University of NTNU Rolv Bræk, January Actor Default Behavior (enhanced composite diagram)

Science and Technology Norwegian University of NTNU Rolv Bræk, January 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.

Science and Technology Norwegian University of NTNU Rolv Bræk, January 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

Science and Technology Norwegian University of NTNU Rolv Bræk, January 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

Science and Technology Norwegian University of NTNU Rolv Bræk, January 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

Science and Technology Norwegian University of NTNU Rolv Bræk, January 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

Science and Technology Norwegian University of NTNU Rolv Bræk, January Actor (Deployment) Descriptor

Science and Technology Norwegian University of NTNU Rolv Bræk, January OSGi Container Bundles OSGi ActorRouter Actors Forward table Actors TCP Session osgi Bluetooth Session

Science and Technology Norwegian University of NTNU Rolv Bræk, January 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

Science and Technology Norwegian University of NTNU Rolv Bræk, January 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

Science and Technology Norwegian University of NTNU Rolv Bræk, January 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

Science and Technology Norwegian University of NTNU Rolv Bræk, January Towards Service Oriented Development This is our research focus. You may participate!

Science and Technology Norwegian University of NTNU Rolv Bræk, January 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