communication virtual machine feature analysis
TRANSCRIPT
1
Communication Virtual Machine
Feature Analysis & Policy Definitions
Paola Boettner
Mansi GuptaPhD Students
Andrew Allen & Yali Wu
2
Motivation
Provide users with a Communication Paradigm takes into consideration: Rich functionality User priorities User preferences
CVM is the solution
3
What is CVM?
CVM is a new paradigm for developing collaborative communication applications.[1]
4
Project Description
Explore communication frameworks and analyze user needs to form policy structures for CVM
Tasks:
1) Literature Review and Feature Analysis
2) Policy Definitions
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
Domain Analysis[12]
Domain analysis is the process of analyzing related software systems in a domain to find their common and variable parts.
It is a key method for realizing systematic software reuse.
Several methods for domain analysis have been proposed, producing models such as feature tables and feature diagrams.
7
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.
8
Importance of Feature Analysis
Provides a generic description of the requirements of systems.
Provides a basis for understanding the problem space addressed by software in the domain.
Proposes a set of approaches for the implementation of new systems.
9
Yahoo! Messenger[5]
Chat & Email PC-to-PC, PC-to-Phone, Phone-to-PC
(Conferencing Available) File transfer Video Chat (Conferencing Available) Text Messaging Voicemail JavaScript/C++ API
<http://messenger.yahoo.com/features/>
10
AOL Instant Messenger (AIM)[7]
Chat & Email PC-to-PC, PC-to-Phone, Phone-to-PC Video Chat File Transfer Text Messaging Java, C/C++ API
<http://help.channels.aol.com/kjump.adp?articleId=222487>
11
Android[4]
Chat PC-to-PC Video Chat File Transfer Java API
<http://code.google.com/android/documentation.html>
12
Other Frameworks
Skype[10]
JML GoogleTalk[11]
Windows Live Messenger[6]
Blackberry OS[8]
Palm OS[9]
NCB Native
13
Feature TableCore Features
NCB 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
14
Feature Diagrams: Syntax
Paradigm titleColored-in Circle: Required Feature
Open Circle: Optional Feature
Empty Arc:Either/Or Features
Filled Arc:And/Or Features
15
Feature Diagram
16
Next Steps
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
17
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>
18
References cont
[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/.
[12] Domain analysis." Wikipedia, The Free Encyclopedia. 24 Jun 2008, 11:23 UTC. Wikimedia Foundation, Inc. 13 Jul 2008 <http://en.wikipedia.org/w/index.php?title=Domain_analysis&old=410133>.
19
Questions?