Second Presentation

gatecircleMobile - Wireless

Dec 10, 2013 (3 years and 7 months ago)

66 views

1

Communication
Virtual Machine

Feature Analysis & Policy Definitions

Paola Boettner

Mansi Gupta


PhD 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 Table

Core 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
1
Chat (conference)
1
1
1
1
1
1
1
1
1
1
Audio (one to one)
1
1
1
1
1
1
1
1
1
1
Audio (conference)
1
1*
0
0
0
1
1
1
0
upto 3 people
Video (one to one)
1
1
0
0
1
1
1
1
1
0
Video (conference)
1
0
0
0
0
1
1
0
0
0
File Transfer
1
1
0
1
1
1
1
1
1
1
Contact List
1
1
1
1
1
1
1
1
1
1
API
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
1
Online Status
1
1
1
1
1
1
1
1
1
1
Avatar Images
0
1
1
1
1
1
1
1
1
1
Voicemail
1
1
0
0
0
1
1
1
0
1
PC to Phone
?
Bills
1
1
0
Bills
Bills
0
1
1
Phone to PC
?
0
0
0
0
Bills
0
Bills
1
0
Message Archive
0
1
0
1
1
1
1
1
0
1
Plug-Ins
0
1
1
1
1
1
1
1
1
1
Importing friend lists
0
1
0
1
1
1
1
1
1
1
IM forwarding to cellphones
0
1
0
0
0
1
1
1
1
1
Radio
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 title

Colored
-
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]<ht
tp://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?