Upload
stash
View
53
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Plug and Play (PaP) for Network and Tele-Services Documentation Survey, Top Level. Page 2. Page 44. Page 62. Start of “PaP Support” documentation. PaP Support System Documentation Survey (1 of 5), Overview. Page 8. Page 19. Page 31. Page 43. - PowerPoint PPT Presentation
Citation preview
04/22/23 Plug and Play (PaP) for Network and Tele-Services
1
Plug and Play (PaP) for Network and Tele-ServicesDocumentation Survey, Top Level
Concepts and A rchitecture
Java Im plem entation M ode l
User's guide on how to us e
T opics for further work
PaP S upport System
"T ele-School", a Tele based learning centre
"W atcher" , a PaP Support Activity M onitor
"PaP Support Tests" , a tool for autom atic testing of the PaP Support
Applic ation s
F lexibility in use of the distribu ted architecture
Different vers ions of P lay s
Dynam ic change of behav iour fo r existing ac tors
Use of acto r capabilit ie s
Dem onstration Exam ple s
P lug and P lay (P aP) for Network a nd T ele-Service s
Page 44
Page 2
Page 62
04/22/23 Plug and Play (PaP) for Network and Tele-Services
2
Start of “PaP Support” documentation
04/22/23 Plug and Play (PaP) for Network and Tele-Services
3
PaP Support SystemDocumentation Survey (1 of 5), Overview
C o n ce p ts a nd A rch itec tu re
Ja va Im p le m e n ta tion M o d e l
U se r's g u id e o n ho w to u se
T o p ics fo r fu rthe r w o rk
P a P S up p ort S ys tem
Page 8
Page 19
Page 31
Page 43
04/22/23 Plug and Play (PaP) for Network and Tele-Services
4
PaP Support System Documentation Survey (2 of 5), Concepts and Architecture
T h e Th e atre M o d e l
P a P S up p ort Fu n ctio ns
T h e laye red D e sig n M o d e l
C o n ce p ts a nd A rch itec tu re
04/22/23 Plug and Play (PaP) for Network and Tele-Services
5
PaP Support System Documentation Survey (3 of 5), Java Implementation Model
Java Term s used in P aP im plem entatio n
The S ynchronous co m m unication m ode l
Address ing and rou ting value s
Entity registry
Installat ion, sta rt-up and exe cution scenario
T he D istribute d PaP Solution
Java C lasses in re lation to the Layered M ode l
Java In terfaces in relation to the Layered M ode l
Java O bjects in relat ion to the Layered M ode l
Java T hreads/VM s in relation to th e Layered M ode l
Im plem entation of the Layered M ode l
Java Im plem entation M ode l
04/22/23 Plug and Play (PaP) for Network and Tele-Services
6
PaP Support System Documentation Survey (4 of 5), User’s guide on how to use
F ile ca ta lo g u e s truc tu re a n d files
T h e c o n te n t o f a ro le d e f in it io n c la ss file
T h e co nte n t o f th e op tion a l ro le s u pp o rt c la ss file
D e ve lo pm e nt o f P a P a p p lic a tio ns
O ve rv iew
P a P C on fig ura t io n a t P a P S e rve r no d es
S ta rt-u p o f a pp lica t io ns
A c om p le te e xam p le
In s ta lla tio n , con f igu ra tio n a n d e xe c utio n o f ap p lic a tio ns
D e b u g S erve r a n d D e bu g C lie n ts
D e b ug O p e ra to r co m m a nd s fo r d iffe re n t e n tity typ es
T h e P a P S u p p o rt s yste m d e bu g an d tra ce fa cilit ies
U se r's g u id e o n ho w to u se
04/22/23 Plug and Play (PaP) for Network and Tele-Services
7
PaP Support System Documentation Survey (5 of 5), Topics for further work
A p p lic a tio n de v e lo pm e nt "m e th od o lo g y"
In c lu s ion o f re lia b ility a n d se c u rity
A s ync h ro u no u s P a P S up p ort m o d e l
S p e cific im p lem e n ta tio n p rob le m s to so lve
T o p ics fo r fu rthe r w o rk
04/22/23 Plug and Play (PaP) for Network and Tele-Services
8
Concepts and ArchitectureThe Theatre Model
Play
Repertoire
Actor
Director
Actors
Manuscript
Theatre
Role session
Supervise
Role
Repertoire: Total set of ‘Plays’ available.
Play: A defined “autonomous” functionality.
Role: Partial behaviour of a ‘Play’.
Actor: “Generic” performing active entity. Behaves according to its assigned ‘Role’. Has ‘Capabilities’.
Manuscript: The implementation of a ‘Role’ behaviour assigned to an ‘Actor’ when defining its behaviour.
Capability: Inherent properties of an actor.
Role session: Projection of behaviour of an ‘Actor’, in relation to one of its interacting actors.
Director: ‘Repertoire’ and ‘Actor’ manager. A guide to actors in plug-in/plug-out phases.
Capabilities
04/22/23 Plug and Play (PaP) for Network and Tele-Services
9
Concepts and ArchitecturePaP Support Functions (1 of 6)
The set of PaP specific operation types that may be used by the active entities (i.e. the actors) within the PaP context. The operation types are grouped according to:– Managing the availability of application functionality (i.e. the
plays)– Managing the existence of active entities in operational systems
(i.e. the actors)– Dynamic redefinition of actor behaviour (i.e. roles)– Interactions between actors, actors capability change, and
monitoring PaP activities
Detailed description of functions and parameters is given in the implementation
04/22/23 Plug and Play (PaP) for Network and Tele-Services
10
Concepts and ArchitecturePaP Support Functions (2 of 6)
Managing the availability of application functionality• PlayPlugIn(PlayId, PlayVer, PlayLoc)
Play definition with specified identifier (PlayId) and version (PlayVer) to be installed at a Director, and to become known to actors. The play definition exists at the specified web-location (PlayLoc). The Director to install at is defined by the “HomeInterface” for the actor performing the request.
• PlayChangesPlugIn(PlayId, PlayVer, PlayLoc)Replace the existing play version with a new version. The location where the play definition is found may be another location than where the original version was located.
• PlayPlugOut(PlayId, PlayVer)Remove from director specified play definition, or a specified version of the play.
04/22/23 Plug and Play (PaP) for Network and Tele-Services
11
Concepts and ArchitecturePaP Support Functions (3 of 6)
Managing the existence of active entities in operational systems• ActorPlugIn(Location, RoleName, RoleSessionName,
RequiredCapabilities, RequestedCapabilities, RequiredQoS, RequestedQoS, Visibility, SelectStrategy)
(NOTE: Parameters RoleSessionName, RequestedCapabilities, RequiredQoS, RequestedQoS, Visibility and SelectStrategy are not implemented)
Request the establishment of a role session to another actor according to the conditions specified by all parameters. The request may result in the creation of a new actor if no existing actor is able to satisfy the required conditions.
• ActorPlugOut(RoleSessionId)Request to remove an already existing role session. Internal conditions related to the involved actors may cause the termination of one or both of them.
• ActorPlay() (NOTE: Not implemented, assumed implicit at ActorPlugIn)
Start behaving according to assigned manuscript.
04/22/23 Plug and Play (PaP) for Network and Tele-Services
12
Concepts and ArchitecturePaP Support Functions (4 of 6)
Dynamic redefinition of actor behaviour• ActorBehaviourPlugIn(RoleName)
Define behaviour for an existing actor which only has a generic PaP behaviour assigned.
• ActorChangeBehaviour(NewRoleName)Request the change of behaviour for an existing actor. The actor may retain some or all of its existing internal and external state information, depending on defined relations between the previous role played and the new role to be played.
• ActorBehaviourPlugOut()Remove the defined behaviour for an actor. The generic PaP behaviour remains.
04/22/23 Plug and Play (PaP) for Network and Tele-Services
13
Concepts and ArchitecturePaP Support Functions (5 of 6)
Interactions between actors, actors capability change, and monitoring PaP activities
• RoleSessionAction(RoleSessionId, MsgType, MsgParameters)Communicate specified message and additional parameters on the specified role session.
• ChangeActorCapabilities(ChangeType, CapabilitySet)Specify change (Set, Add or Remove) of the current capability set for actor. Each actor controls its own capabilities from its performing manuscript.
• SubscribeRequest(EventType, Scope, ApplicationTypes, WhenReport)Subscribe for specified event types to occur. EventType is related to PaP support or user defined functions to include, Scope specifies the set of actors to include, ApplicationTypes specified set of entity types to include, and WhenReport specified when or how often to report. ‘SubscribeCancel’ cancels a request, and ‘SubscribeReport’ is the reporting of occurred events sent to subscribing actor.
04/22/23 Plug and Play (PaP) for Network and Tele-Services
14
Concepts and ArchitecturePaP Support Functions (6 of 6)
Example scenario
Node 1 Web-server
Network
Node 2 Web-server
Node 5 PaP-server
Node 4 PaP-server
Node 3 PaP-server
Plays
Generic platform
Director
Actors
Actors
‘Plug-in’ of ‘Plays’ and ‘Actors’ when and where they are needed.
1. ‘PlayPlugIn(playId, loc)’ to make plays available for ‘Director’.1a) Initiate request to Director, 1b) Load Director SW if needed, 1c) Load Play to Dir.
2. ‘ActorPlugIn([location], role, [capabilities]) to allocate active entity to perform functionality.2a) Initiate request to Director, 2b) Initiate actor to plug in, 2c) Load actor SW if needed.
3. ‘RoleSessionAction(actor, message) to make actors able to co-operate.3) RoleSessionAction requests between actors.
1c
1a2a
2b
31b
2c
04/22/23 Plug and Play (PaP) for Network and Tele-Services
15
Concepts and ArchitectureThe Layered Design model - Architecture (1 of 4)
PaP Director(actors)
PaP Node Communication Infrastructure (PNCI)
PaP applications(actors)
Non PaP applications
PaP ExtendedManagement (PXM)
PaP Actor Support (PAS)
Node InfrastructureLayer
Non PaP applicationsinterfaced to PaP appl.
PaP specificapplications
PaP Extensions
PaP BasicSupport
PaP
spec
ific
Laye
rs
App
licat
ions
PaP ExtendedSupport (PXS)
PaP Node Execution Support (PNES)
04/22/23 Plug and Play (PaP) for Network and Tele-Services
16
Concepts and ArchitectureThe Layered Design model - Module description (2 of 4)
• PaP Node Communication Infrastructure (PNCI)Using Java/RMI and ‘rmiregistry’ for communication between nodes.
• PaP Node Execution Support (PNES)Makes it possible to run PaP at a node. Routing to/from other nodes and PASs.
• PaP Actor Support (PAS)Makes it possible to create and execute actors within the context of an operating system process. Additional functionality is routing between actors and PNES. Each PAS instance is a separate Java Virtual Machine (JVM) instance.
• PaP DirectorResponsible for management of plays, manuscripts and actors for its own PaP domain. Interacts with application actors.
04/22/23 Plug and Play (PaP) for Network and Tele-Services
17
Concepts and ArchitectureThe Layered Design model - Module description (3 of 4)
• PaP Extended Management (PXM) (NOTE: Neither specified, nor implemented)
Support of extended services not required for PaP support functionality, but to satisfy specified operational properties and requirements.
• PaP Extended Support (PXS) (NOTE: Neither specified, nor implemented) Required for the applications ability to utilise PXM functionality.
• PaP ApplicationsThe collection of application actors. Instances created/removed by using ActorPlugIn/ActorPlugOut support functions. Interfaces to PAS.
• Non PaP applicationsFunctionality not defined according to Application actor requirements, but are allowed to communicate with actors, and to utilise the PaP Support functionality.
04/22/23 Plug and Play (PaP) for Network and Tele-Services
18
Concepts and ArchitectureThe Layered Design model - Operating PaP System Example (4 of 4)
Node 1 (PaP Server) Node 4 (PaP Server)
pas1 pas1
Node 3 (Web-server)Node 2 (PaP Server)
pas1pas2
a1 a2
PAS
a3
PAS
PNESOpsys/network (PNCI)
d1
PAS
PNESOpsys/network (PNCI)
pas2
a4
PAS
d2
PAS
PNESOpsys/network (PNCI)
web-serverOpsys/network
Communication networkLegend:a1 - a4: actor1 - actor4d1, d2: director1, director2B: PaP "bootstrap"
Genericsupport
Plays
B B B
Legend:Static available
Dynamic available
04/22/23 Plug and Play (PaP) for Network and Tele-Services
19
The Java Implementation ModelJava Terms used in PaP implementation
• ClassesUsed for implementation of all functionality, and also used for grouping of logically related information. Inheritance (‘extent’) is used for specialisation of generalised classes.
• InterfacesUsed to gain access to same object instances from different objects. Defines the interfaces between objects and their environments.
• ObjectsObjects are the instances of classes that defines the executable system.
• ThreadsUsed to separate different activities operating either independent of each other, or activities loosely couplet to each other.
• Java RMIUsed as a common basis for communication between objects located within different Java Virtual Machines (JVM). The ‘rmiregistry’ is used for registration and identification of adressable entities of types PNES and PAS.
04/22/23 Plug and Play (PaP) for Network and Tele-Services
20
The Distributed PaP SolutionThe Synchronous communication model
PAS and Actor(s)
PNES
PAS and Director(s)and Actor(s)
PNES
PAS and Actor(s)
Act
PAS
PNES
PNES
PAS
Act
Legend:Single node
Java Virtual Machine
Java Object instance (JO)
JO communication using “local method” calls
JO communication using “remote method” calls
Queing of “RoleSessionAction” and “SubscribeReport” type requests. All other request types are synchronous.
Node 1
Node 2
PAS
Act Act
04/22/23 Plug and Play (PaP) for Network and Tele-Services
21
The Distributed PaP SolutionAddressing and routing values
- Local role session identifier- Local Actor instance identifier- Local PAS instance identifier- PNES instance identifier- Entity type spec.
Act1
pnes1
pas1
Act2
pas1pnes1 Dir1 <number>
pas1pnes1 Act2
pas1pnes1
pnes1
Dir1RS
Actor
PAS
PNES
The Global Actor Identifier (GAI)
04/22/23 Plug and Play (PaP) for Network and Tele-Services
22
The Distributed PaP SolutionEntity registry
PAS and Actor(s)
PNES
PAS and Director(s)and Actor(s)
PNES
PAS and Actor(s)
act1
Legend:Single node
Java Virtual Machine
Java Object instance (JO)
Local registry for individual actors within a PAS (Java Hahtable)
Registry for all PASs and the PNES instances at a node(The Java RMI registry)
pas1
pnes2
pnes1
pas1
act1
act1act2 act1
Node 1
Node 2
act1
pas2
act1act2
pas1pnes1
pas1pas2pnes2
04/22/23 Plug and Play (PaP) for Network and Tele-Services
23
Node 1 Web-server
Network
Node 2 Web-server
Node 5 PaP-server
Node 4 PaP-server
Node 3 PaP-server
The Distributed PaP SolutionInstallation, start-up and execution scenario (1 of 4), Initial installed system
PaP Plays
PaP Support
PaP boot
PaP boot
PaP boot
04/22/23 Plug and Play (PaP) for Network and Tele-Services
24
The Distributed PaP Solution Installation, start-up and execution scenario (2 of 4), Start-up of PaP Support
Node 1 Web-server
Network
Node 2 Web-server
Node 5 PaP-server
Node 4 PaP-server
Node 3 PaP-server
PaP Plays
PaP Support
PaP boot
PaP boot
PaP boot
PaPbootPNES
PNES
PNES
PaPboot
PaPboot
04/22/23 Plug and Play (PaP) for Network and Tele-Services
25
The Distributed PaP Solution Installation, start-up and execution scenario (3 of 4), Plug-in of “first” play
Node 1 Web-server
Network
Node 2 Web-server
Node 5 PaP-server
Node 4 PaP-server
Node 3 PaP-server
PaP Plays
PaP Support
PNES
PNES
PNESNonPaP(PlayPlugIn, PlayXX, VerYY, http_loc_node1)
PAS
Director
ActionsStart Non PaP application to do play plug-in‘PlayPlugIn’ sent to own director.PAS Part of PaP Support is loadedDirector created when non existing (PAS and Director)Play is installed at Director from Node 1
NonPaP
5
44321
2
1
3
5
04/22/23 Plug and Play (PaP) for Network and Tele-Services
26
The Distributed PaP Solution Installation, start-up and execution scenario (4 of 4), Plug-in of “first” actor
Node 1 Web-server
Network
Node 2 Web-server
Node 5 PaP-server
Node 4 PaP-server
Node 3 PaP-server
PaP Plays
PaP Support
PNES
PNES
PNESNonPaP(ActorPlugIn, Location, Role, Capabilities)
PAS
Director
NonPaP
5
4
4321
2
1
3
5
ActionsStart Non PaP application to do plug in‘ActorPlugIn’ sent to own director.Director requests plug in at LocationPAS Support is loadedActor is installed at Node 5 (Note: Only web references to plays is kept in Director)
Actor
PAS
04/22/23 Plug and Play (PaP) for Network and Tele-Services
27
Implementation of the Layered ModelJava Classes in relation to the Layered Model
Director
PPCI
Actors
NonPaP apps
PXM
PAS
PXS
PNES
PNES, RMIServer, boot, BaseFrame, Debug, Util
PAS, ActorFactory, ActorManager, PlayingBase, RMIServer, boot, BaseFrame, Debug, Util
DirectorActor, Director1, Manuscripts, RepertoireBase, CapabilitySet, SubscribeCollection, SubscribeRequestServer, RoleSession, BaseFrame, Debug, Util
Actor, ApplicationActor, ApplicationActorType1, ActorPlugInReq, ActorContext, CapabilitySet, RoleSession, BaseFrame, Debug, Util
NonPaP, boot
ApplicationMessage, GAI, Play, RequestPars, RequestResult, Role, SubscribeRequest
Legend:Classes primary used for realisation of functionality.
Classes primarily used for transport of information.
Note: Each named class in the figure maps to a Java source file with the same name as the class, and the extension ‘.java’. Consult java documentation for details.
04/22/23 Plug and Play (PaP) for Network and Tele-Services
28
Implementation of the Layered Model Java Interfaces in relation to the Layered Model
Director
PPCI
Actors
NonPaP apps
PXM
PAS
PXS
PNES
PASInterfacePI
NI
NI
AI
PNESIInterfaceNI
ActorInterfaceAI
ControlInterface(to all entities)
CIPI
PI
NI
PI AI
CI
Note: Each named interface in the figure maps to a Java source file with the same name as the class, and the extension ‘.java’. Consult java documentation for details.
04/22/23 Plug and Play (PaP) for Network and Tele-Services
29
Implementation of the Layered Model Java Objects in relation to the Layered Model
Director
PPCI
Actors
NonPaP apps
PXM
PAS
PXS
PNESPNES
PAS
Act...
Dir...
Actors are instances of some application specific class, and that class must be some extension of the PaP Support class ‘ApplicationActor’. Created by own PAS inst.
Director is an instance of the PaP specific class ‘Director1’, which is an extension of the class ‘ApplicationActor’. One instance will exist for each director instance. Created by own PAS instance.
Instance of class ‘PAS’. One instance for each PAS instance. Created by owner PNES.
Instance of class ‘PNES’. One instance for each PNES instance. Created by execution of the ‘PaPBoot’ at the node.
04/22/23 Plug and Play (PaP) for Network and Tele-Services
30
Implementation of the Layered Model Java Threads/VMs in relation to the Layered Model
Director
PPCI
Actors
NonPaP apps
PXM
PAS
PXS
PNES
TT2: Thread type that is a common server for queued requests delivered to actors belonging to a specific PAS instance. The thread is activated any time a new request occur in the queue, and serves all request until the queue is empty.
TT2
TT1: Application determined threads. Zero or more such type threads may exists for an actor instance (e.g. a user interface window). Such type threads are allowed to use the defined PaP Support services.
TT3 TT1
TT3
TT3
TT3
TT3: Thread type that is associated with any PaP debug interface. One instance exists for each of the addressable PaP entity types PNES, PAS and Actor.
NonPaP JVM
PAS JVM
PNES JVM
04/22/23 Plug and Play (PaP) for Network and Tele-Services
31
Development of PaP applications The PaP application file catalogue structure and files
ApplicationsRoot
Play_A
RoleSupport_B
Version_1_1
Role_A
Version_1_2
Role_B
RoleSupport_A
Play_B
PaPSupport_API
Java class file that is used by the role class files and/or other role support files. Such files are not mandatory.
Location of the PaP Support classes that is referenced by the applications
A file catalog that defines the play named “Play_A”
A file catalog that defines version “Version_1_1” of the play
Java class file that defines the role “Role_A” in the play “Play_A”.At least one role must be defined for each play.
04/22/23 Plug and Play (PaP) for Network and Tele-Services
32
package Play_A.Version_1_1;import PaP.*;
public class Role_A extends ApplicationActor {// The entry point for all types of requests to this actorpublic RequestResult applicationActorEntry(RequestPars rp) throws Exception {
//Serve the requestif (rp.requestType == rp.ActorPlugIn) { // Serve the actor plug in request ...} else if (rp.requestType == rp.ActorPlugOut) { // Serve the actor plug out request ...} else if (rp.requestType == rp.RoleSessionAction) { // Serve receiption of a signal from another actor ...} // else serve other request types....
}
// Optional overloaded method. Used if the “Subscribe” functionality is appliedpublic RequestResult subscribeReport(String[] subscribeReport) throws Exception {
// Use the reported information}
}
Development of PaP applications The content of a role definition class file
The play name and version
Reference to the PaP Support API
The play role this class implements
File: Role_A.java
The class must be some extension of ‘ApplicationActor’
Must implement this method
04/22/23 Plug and Play (PaP) for Network and Tele-Services
33
Development of PaP applications The content of the optional role support class file
package Play_A.Version_1_1;
public class RoleSupport_A {// May be anything to support other role and role support classes// However, the functionality must not conflict with the PaP functionality responsibility...
}
File: Rolesupport_A.java
04/22/23 Plug and Play (PaP) for Network and Tele-Services
34
Development of PaP applicationsThe Basic Application Programming Interface (bAPI) for PaP Applications
Class: Actor;BaseFrame bf;FaultHandler fh;ActorContext context;getGAI();
Class: ApplicationActor extends Actor;playPlugIn(..);playPlugOut();playChangesPlugIn();actorPlugIn();actorPlay();actorPlugOut();actorBehaviourPlugIn();actorChangeBehaviour();actorBehaviourPlugOut();actorCapabilities();RoleSessionAction();subscribeRequest();subscribeCancel();
Class: <applicationActorClass> extends ApplicationActor;
actorEntry()
subscribeReport()applicationActorEntry()
The PaP Applications programmed by you.
The set of method calls that may be used by your application.
A set of actor local data and method calls that may be used by your application.
Java method call interfaces.
NOTE: The detailed description of class definitions, data and method calls are found in the “javadoc” generated documentation for PaP Support System. Class, method and data names in the figure maps directly to documentation.
04/22/23 Plug and Play (PaP) for Network and Tele-Services
35
Development of PaP applicationsAn Extended Application Programming Interface (eAPI) for PaP Applications
Class: <applicationActorClass> extends ApplicationActorType1;entryActorPlugIn();entryActorPlugOut();entryRoleSessionPlugIn();entryRoleSessionPlugOut();entryRoleSessionAction();
Class: ApplicationActor extends Actor;<as described for ApplicationActor>
Class: Actor;<as described for Actor>
Class: ApplicationActorType1 extends ApplicationActor;RoleSessionAction();multicastRoleSessionAction();roleSessionRelate();roleSessionGet();roleSessionsGet();roleSessionRemove();boolean initialRequest;boolean persistent;RoleSession initialRoleSession;RoleSession currentRoleSession;
applicationActorEntry()
The PaP Applications programmed by you.
NOTE: The detailed description of class definitions, data and method calls are found in the “javadoc” generated documentation for PaP Support System.
The set of method calls and local data that may be used by your application in addition to what is defined in classes “ApplicationActor” and “Actor”.
Java method call interfaces.
NOTE: The “ApplicationActorType1” class gives additional functionality for the applications in addition to what is defined in “ApplicationActor” class.
04/22/23 Plug and Play (PaP) for Network and Tele-Services
36
Installation, configuration and execution of applications Overview
Node 1 Web-server
Network
Node 2 Web-server
Node 5 PaP-server
Node 4 PaP-server
Node 3 PaP-server
PaP Plays
PaP Support
PaP boot
PaP boot
PaP boot
Config
Config
Config
1. The PaP Support Server software(Copy files to an available Web-location)
3. The applications to be used(Copy files to an available Web-location)
2. The PaP Support Client software(Copy files to a file catalogue location)
4. PaP Configuration at the PaP server nodes
5. Start-up of applications
04/22/23 Plug and Play (PaP) for Network and Tele-Services
37
Installation, configuration and execution of applicationsPaP Configuration at PaP Server nodes
File: pap.cnf
codebase = http://www.informatics.sintef.no/projects/PaP/
policy = http://www.informatics.sintef.no/projects/PaP/policy
homeinterface = Actor://localhost/pas1/PaP.Director1
debugserver = localhost
nodeprofile = profDefault
Default file name used by the “boot” program
The Web-address from where to load the PaP Support software
The Web location and file where the Java policy is defined
The address of the “Director” to serve as the default director for actors located at this Node.
The Node where the debug server to attach to is located.
PaP Server nodes may either be “configured” as arguments to start-up command when the PaP Node Execution Support is started, or as defined in a separate configuration file. The content of a separate configuration file is described here.
04/22/23 Plug and Play (PaP) for Network and Tele-Services
38
Installation, configuration and execution of applications Start-up of applications
Start-up of PaP Node Execution Support (PNES) If you want to keep a start-up window displaying debug and error listing, use the “startPaP” booter, else use “boot” booter.The use description for both these booters are:
java PaP.startPaP <options> PaP.PNES or java PaP.boot [<options>] PaP.PNESThe optional set of options are:
configfile=<configuration definition file> (default: “pap.cnf”) (must be first if more than one option)codebase=<web-location where PaP Support software exists> (no default)policy=<web-location, including file name, for the Java policy definition file> (no default)homeinterface=<Director identifier for the default director for all actors controlled by this PNES> (no default)debugserver=<the node identifier for the debug server to attach to> (no default)
Conditions that must be satisfied prior to running PaP applications:• Java Run-time environments must be present at the node where applications shall execute.
Can be done by downloading from internet and installed.• The PaP Support System software must be available at a web-address.
Done by copying the set of files representing PaP Support System to a web-address.• The PaP applications (i.e. Plays) must be available at a web-address.
Done by copying the set of files representing the PaP applications to a web-address.• The PaP “boot” software must be present at any node where PaP applications shall execute.
Done by copying the set of files representing PaP “boot” software to a directory available at the local node.• A PaP Node Execution Support (PNES) instance must be started at all nodes involved in executing the PaP application.
Done by executing the procedure described below.
04/22/23 Plug and Play (PaP) for Network and Tele-Services
39
Installation, configuration and execution of applications A complete example (1 of 2)
Locations of software used in the example• Java Run-time environments can be installed from: “http://java.sun.com/products/”• The PaP Support System software exists at location: “http://www.informatics.sintef.no/projects/PaP/”
The Java policy file to be used is located at: “http://www.informatics.sintef.no/projects/PaP/policy”• The PaP application:
- “School” is located at: “http://www.informatics.sintef.no/projects/PaP/School” - “Watcher” is located at: “http://www.informatics.sintef.no/projects/PaP/Watcher” - “TestPaP” is located at: “http://www.informatics.sintef.no/projects/PaP/TestPaP”. “TestPaP” uses otherplays located at: “http://www.informatics.sintef.no/projects/PaP/TestPlay”
• The PaP “boot” software is located at: “http://www.informatics.sintef.no/projects/PaP/StartClient”The zip-ed file located here must be unpacked to a directory available from the nodes to run PaP applications.
Preparing the node for running the example software• Install Java Runtime Environments if necessary.• Install and adapt the “boot” software at your node if not already done:
- Unpack the file “PaPBoot.zip” located in “http://www.informatics.sintef.no/projects/PaP/StartClient” in available directory (called “<PaP boot directory>” below).- Edit the file “pap.cnf” located in “<PaP boot directory>” to adapt to your needs
• Start the PaP Node Execution Support (PNES) instance by e.g. executing the command:java PaP.startPaP PaP.PNES
from the <PaP boot directory>. The PNES instance should appear with a separate command/trace window. Must be started at all nodes where PaP shall operate.
04/22/23 Plug and Play (PaP) for Network and Tele-Services
40
Installation, configuration and execution of applications A complete example (2 of 2)
Starting applicationsApplication can either be started from other PaP application, from a NonPaP application, or from the PNES debug command
window. In this example we will use the PNES debug command window.
Starting the “Watcher” application (Separate documentation of Watcher exists)• If not already done Plug in the “Watcher” play by the command:
“PlayPlugIn Watcher v1_1 http://www.informatics.sintef.no/projects/PaP/”• Plug in an actor instance playing the WatchServer role by the command:
ActorPlugIn Actor://<nodeName>/pas1/WS1 WatchServer The actor instance should now appear both through its separate debug command/trace window, and its graphical window for presentation of monitored information.
Starting and using the “School” application (Separate documentation of School exists)• If not already done Plug in the “School” play by the command:
“PlayPlugIn School v1_1 http://www.informatics.sintef.no/projects/PaP/”• Plug in two actor instances playing the SchoolClient role by the commands:
ActorPlugIn Actor://<nodeName>/pas1/SC1 SchoolClient ActorPlugIn Actor://<nodeName>/pas1/SC2 SchoolClient The actor instances should now appear both through its separate debug command/trace window, and its graphical window representing the initial Operator Interface window.
• Use the Operator Interface for using the two started School Clients. All PaP related activities is shown in the Watcher presentation window.
04/22/23 Plug and Play (PaP) for Network and Tele-Services
41
The PaP Support system debug and trace facilitiesDebugServer and DebugClients
Node 1 Web-server
Network
Node 2 Web-server
Node 5 PaP-server
Node 4 PaP-server
Node 3 PaP-server
Plays
PaP Support
PNES
PAS
PNES
PAS
DebugServer One or more ‘DebugServer’ instances may exists within a PaP Domain.
dcdc
dc
Actor
Actor
dc
dc
PaP entities at ‘Node 3’ and ‘Node 4 both use ‘Node 5’ as debug server instance. Debug info from DebugClients are presented at DebugServer.
‘DebugClient’ instances will exist at any PaP entity of type PNES, PAS or Actor.
A DebugClient may, but do not need to be related to a DebugServer.
A DebugServer presents debug information from all related DebugClients.
dc
04/22/23 Plug and Play (PaP) for Network and Tele-Services
42
The PaP Support system debug and trace facilitiesDebug Operator commands for different entity types
Operator commanttype
Actor Director
PAS PNES DebugServer
Comments
ActorPlugIn X X Request for ActorPlugIn at actorActorChangeBehaviour X Request for ActorChangeBehaviour at actor.ActorBehaviourPlugOut X Request for ActorBehaviourplugOut at actorActorPlugOut X X Request ActorPlugOut at actorPlayPlugIn X X Request PlayPlugIn at directorPlayPlugOut X XPlayChangesPlugIn X X Request PlayChangesPlugIn at directorRoleSessionAction X X Perform RoleSessionAction at actorListRoleSessions X X List all role sessions for actorStatus X X X X Show status information for the entityListActors X X X 1) List all actors that belongs to the entityListPlays XUnbind X X Unbind (i.e. discard) own entityDirector Status X 2) Show status for directorDirector ListActors X 2) Show all actors managed by directorDirector ListPlays X 2) List all plays managed by directorDirectorListRoleSessions
X 2) List all role sessions managed by director
CreatePAS X Create a PAS instance at this nodeGetKeywords X X X X X Display trace conditionsSetKeywords X X X X X Set trace conditionsRun X Continue execution a specific number of stepsStep X Step mode
X Command is defined1) Listed in PAS debug window2) Listed in Director debug window
04/22/23 Plug and Play (PaP) for Network and Tele-Services
43
PaP Support SystemTopics for further work
• Application development “methodology”There is a need for a guide on how to write PaP Applications.
• Inclusion of reliability and securityA strategy about how to include the reliability and security aspects in the implementation.
• Asynchronous PaP Support modelA Synchronous implementation model exists. How can an asynchronous PaP Support model be included in addition to the synchronous model.
• Specific implementation problems to solveDuring the implementation of the PaP Support some practical and/or logical problems have been noticed. None of them are blocking problems, but solving them will contribute to increase the quality of the PaP Support system and to ease the use of it. Main problems are: 1) Long start-up time of JVMs, 2) Possible to use common libraries for multiple plays.
04/22/23 Plug and Play (PaP) for Network and Tele-Services
44
Start of “Tele-School” application documentation
04/22/23 Plug and Play (PaP) for Network and Tele-Services
45
“Tele-School”, a Tele based learning centre Documentation Survey
D e scrip t ion o f th e fun c t ion a lity
D e scrip tio n o f the im p le m e n ta tion
U se r's g u id e o n ho w to u se
"T e le -S cho o l" , a T e le b as e d le a rn in g ce n tre
Notes:•The requirements and functionality is defined in a separate report “Demonstrator - Requirements and functional description” (Dec. 1999)•For detailed documentation, consult ‘javadoc’ generated information from source code.
04/22/23 Plug and Play (PaP) for Network and Tele-Services
46
“Tele-School”, a Tele based learning centreDescription of the functionality
• A Network based learning application• Main functional terms are:
– Teacher, Student, School, Course, Lecture
• Main implementation terms are:– Distributed solution, Mobility, Multimedia, Chat, Mail, News.
• Main functions are:– Real-time interactive lecture session (partly implemented) – Off-line learning session (not implemented) – Off-line teacher support to students (not implemented)
04/22/23 Plug and Play (PaP) for Network and Tele-Services
47
“Tele-School”, a Tele based learning centreDescription of the Implementation - Modelling
School Server (SS)
Graphical UserInterface (GUI)
School Client (SC)
School User Interface
(SUI)School User
Interface (SUI)
School Client (SC)
School Server (SS)
School Session Server (SSS)
Lecture Session Server (LSS)
Play: SchoolRoles: SUI, SC, SS, LSS
Graphical User Interface (GUI)
Legend:
Role specification
Role Session
Non PaP application
1
n
1
1
1n
1
n
11
04/22/23 Plug and Play (PaP) for Network and Tele-Services
48
“Tele-School”, a Tele based learning centreDescription of the Implementation - Files catalogues and files
http://www.informatics.sintef.no/projects/PaP/
Schoolv1_1
<roles>
s
<role support>
<school data>Role support files are:- ApplicationActorType1.class- RoleManagement.class- RolesObjectInterface.class- SchoolUtil.class- SchoolConfiguration.class- SchoolData.class- SchoolGraphicsInterface$(1-4) .class- SchoolRoleSession1.class
School ‘data base’:- courses.txt- CoursesAnnUsers.txt- lectures.txt- users.txt
A file catalog that defines the ‘School’ play.
A file catalog that defines version “v1_1” of the play
Roles files are:- SchoolUserInterface.class- SchoolClient.class- SchoolServer.class- SchoolRTLServer.class
A file catalog that defines ‘configuration’ data for the school instance named ‘s’
04/22/23 Plug and Play (PaP) for Network and Tele-Services
49
“Tele-School”, a Tele based learning centreUser’s guide on how to use
• Install PaP Support software and the School applicationBoth must have been installed according to generally defined directives as defined in the PaP Support documentation.
• Configuration of School ‘configuration’ dataDefinition of students, teachers, courses and lectures must be done manually - before students/teachers are able to log-on and use the system.
• Using the School application– Student/Teacher log-on
By starting an actor playing ‘SchoolClient’ role, either from a Non PaP application, or from another PaP application.
– Student/Teacher use of School servicesBy using the defined graphical user interface.
– Student/Teacher log-offFrom the graphical user interface
04/22/23 Plug and Play (PaP) for Network and Tele-Services
50
Start of “Watcher” application documentation
04/22/23 Plug and Play (PaP) for Network and Tele-Services
51
“Watcher”, a Tele based learning centre Documentation Survey
D e scrip t ion o f th e fun c tion a lity
D e scrip tio n o f the im p le m e n ta tion
U se r's g u id e o n ho w to u se
"W a tch e r", a P aP S up p o rt A c tivity M o n ito r
Note:•For detailed documentation, consult ‘javadoc’ generated information from source code.
04/22/23 Plug and Play (PaP) for Network and Tele-Services
52
“Watcher”, a PaP Support Activity Monitor Description of the functionality
• Display ongoing PaP specific activityFor a specific Director instance, display information about existence of actors and role session, and a log of all PaP type requests to the Director for the PaP domain. Multiple Watcher instances may be started to serve multiple Directors.
• Demonstrate ‘PlayChangesPlugIn’Plug-in of two different version of the Watcher play, and run actor instances performing from different play versions.
• Demonstrate ‘ActorChangeBehaviour’On request, change the performing role for an existing Watcher actor instance to another role.
• Demonstrate alternative use of the ‘Subscribe’ functionalityInstead of continuously update of Subscribe information, do update only at 30 seconds intervals.
04/22/23 Plug and Play (PaP) for Network and Tele-Services
53
“Watcher”, a PaP Support Activity Monitor Description of the Implementation - Modelling
Watch Server (WS)
Graphical UserInterface (GUI)
Legend:
Role
Non PaP application
1 1
Play: WatcherRoles: WS
04/22/23 Plug and Play (PaP) for Network and Tele-Services
54
“Watcher”, a PaP Support Activity Monitor Description of the Implementation - Files catalogues and files
http://www.informatics.sintef.no/projects/PaP/
Watcherv1_1
<roles>
v1_2
<role support>
<roles>
Role support files are:- WatcherGrapgicsInterface.class- WatcherGrapgicsInterface$1.class
Roles files are:- WatchServer.class
A file catalog that defines the ‘Watcher’ play.
A file catalog that defines version “v1_1” of the play
Roles files are:- WatchServer.class- WatchServerNew.class
A file catalog that defines an alternative version of Watcher
04/22/23 Plug and Play (PaP) for Network and Tele-Services
55
“Watcher”, a PaP Support Activity Monitor User’s guide on how to use
• Install PaP Support software and the Watcher applicationBoth must have been installed according to generally defined directives as defined in the PaP Support documentation.
• Using the Watcher application– Starting the Watcher application
By starting an actor playing the ‘WatchServer’ role, either from a Non PaP application, or from another PaP application.
– Demonstrate ‘PlayChangesPlugIn’Perform a PlayChangesPlugIn of version v1_1 and start a new Watcher instance.
– Demonstrate ‘ActorChangeBehaviour’Send signal ‘UpgradeBehaviour’ to a Watcher instance.
– Change registration info. update from continuous to every 30. Sec.Send signals ‘SubscribeCancel’ and then ‘SubscribeRequestType2’ to a Watcher instance.
04/22/23 Plug and Play (PaP) for Network and Tele-Services
56
Start of “TestPaP” application documentation
04/22/23 Plug and Play (PaP) for Network and Tele-Services
57
“TestPaP”, a Tele based learning centre Documentation Survey
D e scrip tion o f th e fun c tion a lity
D e scrip tio n o f the im p le m e n ta tion
U se r's g u id e o n ho w to u se
"T e stP aP ", a too l fo r a u to m a tic te stin g o f P a P S u pp o rt
Note:•For detailed documentation, consult ‘javadoc’ generated information from source code.
04/22/23 Plug and Play (PaP) for Network and Tele-Services
58
“TestPaP”, a tool for automatic testing of PaP SupportDescription of the functionality
• Automatic testing of PaP Support functionalityMore or less any of the defined PaP Support functions are tested repeatedly under different conditions. Different conditions include e.g. sequence, time intervals, context.
• Reporting of what tests are performed, the number of times repeated, and the number of failures detectedFor each test performed the number of repetitions and number of failures is reported. In addition a test execution log indicating the sequence of execution and the time when executed is shown.
• Operator reconfiguration of how testing shall be doneAn operator may change test set-up configuration through an operator interface. Time intervals between test may be set, and also whether or not to use multiple nodes.
04/22/23 Plug and Play (PaP) for Network and Tele-Services
59
TestClient_v1_1
“TestPaP”, a tool for automatic testing of PaP Support Description of the Implementation - Modelling
CommandInterface
(CI) TestManager (TM) TestClient_v1_1
Play: TestPaP, v1_1Roles: TestManager
Watcher Graphics Interface (WGI)
Legend:
Role specification
Role Session
Non PaP application
1
1 111
Play: TestPlay, v1_1Roles: TestClient
11
11
1
1
TestClient_v1_2
Play: TestPlay, v1_2Roles: TestClient
TestClient2_v1_1
Play: TestPlay2, v1_1Roles: TestClient
1
1
1
1
04/22/23 Plug and Play (PaP) for Network and Tele-Services
60
“TestPaP”, a tool for automatic testing of PaP Support Description of the Implementation - Files catalogues and files
http://www.informatics.sintef.no/projects/PaP/
TestPaPv1_1
<roles>
v1_1
<role support>
<roles>
Role support files are:- ApplicationActorType1.class- RolesManagement.classRolesObjectInterface.classSchoolUtil.class- CommandInterface.class- CommandInterface$1.class- WatcherGrapgicsInterface.class- WatcherGrapgicsInterface$1.class
Roles files are:- TestClient_v1_1.class
A file catalog that defines the ‘Watcher’ play.
A file catalog that defines version “v1_1” of the play
Roles files are:- TestManager.class
TestPlay
v1_2<roles>
TestPlay
v1_1<roles>
Roles files are:- TestClient_v1_2.class
Roles files are:- TestClient2_v1_1.class
04/22/23 Plug and Play (PaP) for Network and Tele-Services
61
“TestPaP”, a tool for automatic testing of PaP Support User’s guide on how to use
• Install PaP Support software and the TestPaP applicationBoth must have been installed according to generally defined directives as defined in the PaP Support documentation.
• Using the TestPaP application– Starting the TestPaP application
By starting an actor playing the ‘TestManager’ role, either from a Non PaP application, or from another PaP application, a user dialogue window will appear, and further actions are taken from that window.
– Setting Configuration parametersIncludes: Selection of test set, test level, test intervals, max. no. of errors before stop testing, one or multiple nodes included in the testing, and what types of trace to show.
– Command actionsIncludes: Start, Stop (with later possibility to continue), Restart from beginning, and Terminate.
04/22/23 Plug and Play (PaP) for Network and Tele-Services
62
Start of “Demonstration examples” documentation
04/22/23 Plug and Play (PaP) for Network and Tele-Services
63
Demonstration examplesDocumentation Survey, Overview
P re pa ra tio ns fo r ru nn ing D em os (to b e d o ne on ce)
F le x ib ility in th e u se o f d istrib u te d a rch itec tu re
D iffe re n t ve rs ion s o f p la ys
D yn am ic ch an g e o f be h a vio u r fo r e x is tin g ac to r
U se o f a c tor c a p ab ilit ies
S e lec ting an d ru n n in g a D e m o
W ha t to b e d on e a fte r De m o s (to be do n e o nce)
D e m on s tra t io n e x a m p les
04/22/23 Plug and Play (PaP) for Network and Tele-Services
64
Preparations for any demo (done once)
Node 1 Web-server
Network
Node 2 Web-server
Node 5 PaP-server
Node 4 PaP-server
Node 3 PaP-server
Node3: Network connected PC running Windows NT4Software:- Java Runtime Environments- PaP boot
Node4: Same configuration as Node3
Node1: Any web-server that can be accessed from the other nodes.Accessible from web:- PaP Support software- Software for the applications involved in the Demo to run
JREPaP boot
JREPaP boot
PaP Supp.<appls>
NOTES:- Node 4 is optional, however if not used the effect of the
demonstrations are reduced.- Node 3 may replace Node1 if it is a web-server.
04/22/23 Plug and Play (PaP) for Network and Tele-Services
65
Demonstration examplePrep1: Preparations for PaP demonstrations
• Determine web-server nodes and PaP server nodes to use• Installation/preparation of web-server nodes• Installation/preparation of PaP server nodes• Start a PaP server at a node• Run a demo• Stop a PaP server
Detailed descriptions is specified in a separate document
04/22/23 Plug and Play (PaP) for Network and Tele-Services
66
Demonstration exampleDemo1: Flexibility in use of the distributed architecture
• To demonstrate: Flexibility in where applications executes, where started from, and distribution of parts of an application.
• Used applications: “Watcher” and “School”.The Watcher application is included for the purpose to observe where different parts of the School application executes.
• Demonstrate the following aspects of flexibility– To control where applications executes– Applications on different nodes attached to the same Director instance– Configuration of School application determines the distribution
Detailed descriptions is specified in a separate document
04/22/23 Plug and Play (PaP) for Network and Tele-Services
67
Demonstration exampleDemo2: Different versions of the same play
• To demonstrate: Plug in/out different play versions, and plug in/out actors performing roles for that play.
• Used application: Watcher has defined two versions of the same play - versions “v1_1” and “v1_2”.
Detailed descriptions is specified in a separate document
04/22/23 Plug and Play (PaP) for Network and Tele-Services
68
• To demonstrate: Change of behaviour for an performing actor by redefining its role behaviour
• Used application: The application “Watcher” has implemented an alternative role (‘WatchServerNew’) that can be used for ‘ActorChangeBehaviour’ from role ‘WatchServer’.
Detailed descriptions is specified in a separate document
Demonstration exampleDemo 3: Dynamic change of behaviour for existing actors
04/22/23 Plug and Play (PaP) for Network and Tele-Services
69
• To demonstrate: actors use of capabilities
• Used application: The “School” application make use of capabilities when selecting common server actors for the clients. This can be verified by using debug and trace facilities in the PaP support.
• Detailed descriptions is specified in a separate document
Demonstration exampleDemo 4: Use of actor capabilities