Communication Virtual Machine Feature Analysis & Policy Definitions

Download Report

Transcript Communication Virtual Machine Feature Analysis & Policy Definitions

Communication Virtual Machine
Feature Analysis & Policy Definitions
Paola Boettner
Wellesley College
Mansi Gupta
Bryn Mawr College
Advisor: Dr. Peter J Clarke
PhD Students
Andrew Allen & Yali Wu
1
Motivation

Collaborative Communication Applications
should take into consideration:



Rich functionality
User priorities
User preferences
2
What is CVM?
CVM is a new paradigm for
developing collaborative
communication
applications.[1]
CVM
UCI
SE
UCM
NCB
Communication Service Manager
Bridge
Bridge
Bridge
JML
Google
Talk
Skype
NCB
(Native
Code)
3
Problem Description
Explore communication frameworks and
analyze user needs to form policy structures
for CVM


To extend the autonomic behavior of CVM
Tasks:
1)
2)
Literature Review and Feature Analysis
Policy Definitions
4
Feature
[2]
Analysis

The process of identifying, collecting,
organizing and representing information in a
domain based on the study of existing
systems and development histories.

Take into account the ways in which the
systems are alike (core features) and how
they differ (additional features) in order to
allow successful software re-use.
5
Literature Review


Identifying various communication frameworks
Exploring each framework:





Core Features
Additional Features
API
Scan developer websites, follow links, experiment
with features
Compile findings and analyze them using domain
analysis
6
Feature
[4-11]
Table
Core Features
Chat (one to one)
Chat (conference)
Audio (one to one)
Audio (conference)
Video (one to one)
Video (conference)
File Transfer
Contact List
API
NCB Native Skype JML gTalk Android
Yahoo!
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1*
0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
Java
Java Java C++
Java
JavaScript/ C++
Windows Live Messenger
1
1
1
1
1
1
1
1
JavaScript (HTTP Based)
Blackberry OS
AOL
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
Java
Java, C/C++
Palm OS (TREO 755p)
1
1
1
upto 3 people
0
0
1
1
HTML
Additional Features
Emoticons
Online Status
Avatar Images
Voicemail
PC to Phone
Phone to PC
Message Archive
Plug-Ins
Importing friend lists
IM forwarding to cellphones
Radio
1
1
0
1
?
?
0
0
0
0
0
1
1
1
1
Bills
0
1
1
1
1
1
1
1
1
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
1
1
Bills
Bills
1
1
1
1
1
1
1
1
1
Bills
0
1
1
1
1
0
1
1
1
1
0
Bills
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
Comments:
*Audio conferencing in Skype depends on Hardware
Single Core Processors- a maximum of 4 people allowed
Dual Core Processors- more than 4 people allowed
7
Feature Diagram
8
[3]
Policies



A policy is a set of considerations designed to
guide decisions on courses of action.
They are rules that define the choices in the
behavior of a system.
Identify policy structures:



Use comparative study of features
Identify user needs by creating common scenarios
Create a GUI for users to create their policies
9
Policy

Scope: What is or is not the subject of the policy




Service
Operation
Active
Condition: When the policy is to be applied



[3]
Design
Medium
Operation
Business Value: labels relative priority allowing to make economic
trade-offs



Business Group
Value
Decision: describes desired outcome of a policy





Medium Attribute
ConnectionID
minVal
maxVal
boolVal
10
Policy
[1]
Example
11
User Interface

Goals:




Outline the communication framework features for
the user
Allow user to make choices based on
preferences: features can be required or optional
Generate policies in XML to be read by the CVM
Present user with an ranked list of relevant
frameworks


Eliminate frameworks if they do not support one or more
of the required features.
Rank remaining frameworks according to the number of
optional features they support (business value)
12
Design
13
Design
14
Interface Implementation

Scenario:

Chat: Optional




Emoticons: Required
Message Archive: Optional
Audio: Required
File Transfer: Required
15
Results: Chat Policy
<csmPolicy>
<scope>
<service>”Communication Object”</service>
<operation>”selection”</operation>
<active>”true”</active>
</scope>
<condition>
<medium>”chat”</medium>
<operation>”request”</operation>
</condition>
<businessValue>
<businessGroup>”general”</businessGroup>
<value>50</value>
</businessValue>
<decision>
<mediumAttribute>”num_users”</mediumAttribute>
<connectionID>”connectionID”</connectionID>
<minVal>”connectionID.users”</minVal>
</decision>
</csmPolicy>
16
Results: Emoticons Policy
<csmPolicy>
<scope>
<service>”Communication Object”</service>
<operation>”selection”</operation>
<active>”true”</active>
</scope>
<condition>
<medium>”chat”</medium>
<operation>”request”</operation>
</condition>
<businessValue>
<businessGroup>”general”</businessGroup>
<value>50</value>
</businessValue>
<decision>
<mediumAttribute>”Emoticons”</mediumAttribute>
<connectionID>”connectionID”</connectionID>
<minVal>”connectionID.emot”</minVal>
</decision>
</csmPolicy>
17
Results: Message Archive Policy
<csmPolicy>
<scope>
<service>”Communication Object”</service>
<operation>”selection”</operation>
<active>”true”</active>
</scope>
<condition>
<medium>”chat”</medium>
<operation>”request”</operation>
</condition>
<businessValue>
<businessGroup>”general”</businessGroup>
<value>25</value>
</businessValue>
<decision>
<mediumAttribute>”msgArch”</mediumAttribute>
<connectionID>”connectionID”</connectionID>
<minVal>”connectionID.msgArch”</minVal>
</decision>
</csmPolicy>
18
Results: Audio Policy
<csmPolicy>
<scope>
<service>”Communication Object”</service>
<operation>”selection”</operation>
<active>”true”</active>
</scope>
<condition>
<medium>”audio”</medium>
<operation>”request”</operation>
</condition>
<businessValue>
<businessGroup>”general”</businessGroup>
<value>100</value>
</businessValue>
<decision>
<mediumAttribute>”num_users”</mediumAttribute>
<connectionID>”connectionID”</connectionID>
<minVal>”connectionID.users”</minVal>
</decision>
</csmPolicy>
19
Results: File Transfer Policy
<csmPolicy>
<scope>
<service>”Communication Object”</service>
<operation>”selection”</operation>
<active>”true”</active>
</scope>
<condition>
<medium>”fileTransfer”</medium>
<operation>”request”</operation>
</condition>
<businessValue>
<businessGroup>”general”</businessGroup>
<value>100</value>
</businessValue>
<decision>
<mediumAttribute>”num_users”</mediumAttribute>
<connectionID>”connectionID”</connectionID>
<minVal>”connectionID.users”</minVal>
</decision>
</csmPolicy>
20
Selection Process



Chat: Supported by all frameworks
Emoticon: Android is eliminated from the set
Message Archive: Since it is optional, no
frameworks are eliminated; however, the following
frameworks are given a lesser business value:




NCB Native
AOL Instant Messenger
Audio: Supported by all frameworks
File Transfer: JML is eliminated
21
Selected Frameworks
1)
2)
Skype, Google Talk, Yahoo! Messenger,
Windows Live Messenger, Blackberry OS,
Palm OS
NCB Native, AOL Instant Messenger
User should be able to select framework
according to their preference based on the
ranked list
22
Acknowledgements





National Science Foundation
Florida International University
Dr. Milani
Dr. Peter J Clarke
PhD Students:


Andrew Allen
Yali Wu
23
References






[1] Deng, Y., Sadjadi, S.M., Clarke, P.J., Hristidis, V., Rangaswami,
R., Wang, Y.:CVM - A Communication Virtual Machine. Journal of
Systems and Software (2008)(in press)
[2] Krut Robert, Zalman Nathan. Domain Analysis Workshop Report
for the Automated Prompt Response System Domain, May 1996.
[3] Allen Andrew. A, Leslie Sean, Wu Yali, Clarke Peter. J. SelfConfiguring User-Centric Communication Services. ICONS 08
[4] <http://code.google.com/android/documentation.html>
[5] <http://messenger.yahoo.com/features/>
[6] <http://get.live.com/messenger/features>
24
References
[7]<http://help.channels.aol.com/kjump.adp?articleId=2224
87>
[8] <http://na.blackberry.com/eng/devices/features/>
[9]<http://www.palm.com/us/product/smartphone/tro755/ind
ex.html>
[10] Skype Limited. Skype developer zone, Feb 2007
https://developer.skype.com/
[11] Google. Googletalk, Sept. 2007.
http://www.google.com/talk/.
25
Questions?
26