communication virtual machine feature analysis

26
1 Paola Boettner Mansi Gupta Wellesley College Bryn Mawr College Communication Virtual Machine Feature Analysis & Policy Definitions Advisor: Dr. Peter J Clarke PhD Students Andrew Allen & Yali Wu

Upload: peterbuck

Post on 20-Jun-2015

207 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Communication Virtual Machine Feature Analysis

1

Paola Boettner Mansi Gupta

Wellesley College Bryn Mawr College

Communication Virtual Machine

Feature Analysis & Policy Definitions

Advisor: Dr. Peter J Clarke

PhD StudentsAndrew Allen & Yali Wu

Page 2: Communication Virtual Machine Feature Analysis

2

Motivation

Collaborative Communication Applications should take into consideration: Rich functionality User priorities User preferences

Page 3: Communication Virtual Machine Feature Analysis

3

What is CVM?

CVM is a new paradigm for developing collaborative communication applications.[1]

CVMUCI

SE

UCM

NCB

JML

Bridge

Communication Service Manager

Google Talk Skype

Bridge Bridge NCB (Native Code)

Page 4: Communication Virtual Machine Feature Analysis

4

Problem Description

Explore communication frameworks and analyze user needs to form policy structures for CVM

To extend the autonomic behavior of CVM

Tasks:1) Literature Review and Feature Analysis

2) Policy Definitions

Page 5: Communication Virtual Machine Feature Analysis

5

Feature Analysis[2]

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.

Page 6: Communication Virtual Machine Feature Analysis

6

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

Page 7: Communication Virtual Machine Feature Analysis

7

Feature Table[4-11]

Core FeaturesNCB Native Skype JML gTalk Android Yahoo! Windows Live Messenger Blackberry OS AOL Palm OS (TREO 755p)

Chat (one to one) 1 1 1 1 1 1 1 1 1 1Chat (conference) 1 1 1 1 1 1 1 1 1 1Audio (one to one) 1 1 1 1 1 1 1 1 1 1Audio (conference) 1 1* 0 0 0 1 1 1 0 upto 3 peopleVideo (one to one) 1 1 0 0 1 1 1 1 1 0Video (conference) 1 0 0 0 0 1 1 0 0 0File Transfer 1 1 0 1 1 1 1 1 1 1Contact List 1 1 1 1 1 1 1 1 1 1API Java Java Java C++ Java JavaScript/ C++ JavaScript (HTTP Based) Java Java, C/C++ HTML

Additional Features

Emoticons 1 1 1 1 0 1 1 1 1 1Online Status 1 1 1 1 1 1 1 1 1 1Avatar Images 0 1 1 1 1 1 1 1 1 1Voicemail 1 1 0 0 0 1 1 1 0 1PC to Phone ? Bills 1 1 0 Bills Bills 0 1 1Phone to PC ? 0 0 0 0 Bills 0 Bills 1 0Message Archive 0 1 0 1 1 1 1 1 0 1Plug-Ins 0 1 1 1 1 1 1 1 1 1Importing friend lists 0 1 0 1 1 1 1 1 1 1IM forwarding to cellphones 0 1 0 0 0 1 1 1 1 1Radio 0 1 0 0 0 1 0 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

Page 8: Communication Virtual Machine Feature Analysis

8

Feature Diagram

Page 9: Communication Virtual Machine Feature Analysis

9

Policies[3]

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

Page 10: Communication Virtual Machine Feature Analysis

10

Policy Design[3]

Scope: What is or is not the subject of the policy Service Operation Active

Condition: When the policy is to be applied 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

Page 11: Communication Virtual Machine Feature Analysis

11

Policy Example[1]

Page 12: Communication Virtual Machine Feature Analysis

12

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)

Page 13: Communication Virtual Machine Feature Analysis

13

Design

Page 14: Communication Virtual Machine Feature Analysis

14

Design

Page 15: Communication Virtual Machine Feature Analysis

15

Interface Implementation Scenario:

Chat: Optional Emoticons: Required Message Archive: Optional

Audio: Required File Transfer: Required

Page 16: Communication Virtual Machine Feature Analysis

16

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>

Page 17: Communication Virtual Machine Feature Analysis

17

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>

Page 18: Communication Virtual Machine Feature Analysis

18

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>

Page 19: Communication Virtual Machine Feature Analysis

19

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>

Page 20: Communication Virtual Machine Feature Analysis

20

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>

Page 21: Communication Virtual Machine Feature Analysis

21

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

Page 22: Communication Virtual Machine Feature Analysis

22

Selected Frameworks

1) Skype, Google Talk, Yahoo! Messenger, Windows Live Messenger, Blackberry OS, Palm OS

2) NCB Native, AOL Instant Messenger

User should be able to select framework according to their preference based on the ranked list

Page 23: Communication Virtual Machine Feature Analysis

23

Acknowledgements

National Science Foundation Florida International University Dr. Milani Dr. Peter J Clarke PhD Students:

Andrew Allen Yali Wu

Page 24: Communication Virtual Machine Feature Analysis

24

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. Self-Configuring 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>

Page 25: Communication Virtual Machine Feature Analysis

25

References

[7]<http://help.channels.aol.com/kjump.adp?articleId=222487>

[8] <http://na.blackberry.com/eng/devices/features/>

[9]<http://www.palm.com/us/product/smartphone/tro755/index.html>

[10] Skype Limited. Skype developer zone, Feb 2007 https://developer.skype.com/

[11] Google. Googletalk, Sept. 2007. http://www.google.com/talk/.

Page 26: Communication Virtual Machine Feature Analysis

26

Questions?