+ All Categories
Home > Documents > הקדמה

הקדמה

Date post: 09-Jan-2016
Category:
Upload: bessie
View: 26 times
Download: 2 times
Share this document with a friend
Description:
Flash Project Surfing analyzing for mobile devices. הקדמה. משחקים ומשחקי תכנות. ADD. משחקים כמבחן לבינה מלאכותית התמודדות מול שחקנים אנושיים התמודדות מול יריבים ממוחשבים משחקי תכנות (Programming Games) השחקן - אנושי או ממוחשב? מקרה מבחן מעניין Robocode. Flash Project. Background - PowerPoint PPT Presentation
Popular Tags:
74
ההההה ההההה תתתתתת תתתתת תתתתת תתתתתתתת תתתתתתתת תתת תתתתתת תתתתתתת תתתתתתתת תתת תתתתתת תתתתתתתת תתתתת תתתתת( Programming Games ) תתתתת תת תתתתתת?- תתתתת תתתת תתתת תתתתתתRobocode הההההה הההההה ההההה הההההה הההההה הההההFlash Project Flash Project Surfing analyzing for mobile devices Surfing analyzing for mobile devices ADD ADD
Transcript
Page 1: הקדמה

הקדמההקדמה

משחקים כמבחן לבינה מלאכותית

התמודדות מול שחקנים אנושיים•

התמודדות מול יריבים ממוחשבים•

משחקי תכנות(Programming Games)

השחקן - אנושי או ממוחשב?•

מקרה מבחן מעניין•

•Robocode

משחקים ומשחקי תכנותמשחקים ומשחקי תכנות

Flash ProjectFlash ProjectSurfing analyzing for mobile devicesSurfing analyzing for mobile devices

ADDADD

Page 2: הקדמה

Flash ProjectFlash Project

BackgroundBackground(Reminder)(Reminder)

Page 3: הקדמה

The CompanyThe Company

Flash Networks enables mobile operators to deliver

the best possible user experience for mobile data

over advanced cellular networks.

Flash Networks focuses on Quality of Experience

and Maximizes Profitability for Mobile Data Carriers

Company Site: www.flashnetworks.com

Flash NetworksFlash Networks

Page 4: הקדמה

ACCELERATING THE ADOPTION OF MOBILE DATA 4

proprietary & confidentialproprietary & confidentialproprietary & confidentialproprietary & confidential

NettGain

Mobile Carrier

Public Sites

Exchange Server

Intranet

VideoGames

Content Providers

Internet

Enterprise

File Server

NettGain™: QoE Enhancement

GGSN

(Gateway)

PDSN

GPRS/EDGE/UMTS/HSDPA

1xRTT/1xEVDO/EVDO rev A

GW

Page 5: הקדמה

BackgroundBackground

While processing internet data, NettGain causes irreversible changes to data before it reaches mobile device.

Those changes sometimes cause quality & reliability issues and deteriorate surfing experience instead of improving it.

The ProblemThe Problem

Therefore, there is a need for a robust system that will perform variety tests in order to map all above issues and inform the results to development and QA teams.

Page 6: הקדמה

Flash ProjectFlash Project

System RequirementsSystem Requirements

Brief overviewBrief overview

Page 7: הקדמה

System RequirementsSystem Requirements

Analyze Internet surfing performance using mobile devices over cellular network that uses NettGain.

Examine internet sites content that were manipulated by NettGain.

Main GoalMain Goal

Page 8: הקדמה

System RequirementsSystem Requirements

Bandwidth and network identification• Communication Initialization

Task Acquisition • Acquires the task file for the mobile to perform

Task Execution• Executes all subtasks in the task that was

acquired

Task Results Delivery• Delivers the results back to the PC component

Mobile ComponentMobile Component

Page 9: הקדמה

System RequirementsSystem Requirements

Task Builder

• Constructs task templates and stores them

Task Control Center

• Assignment of tasks and management of designated tasks.

Analysis & Statistics

• Presents graphical statistical results based on data gathered from mobile devices.

PC ComponentPC Component

Page 10: הקדמה

Flash ProjectFlash Project

System ArchitectureSystem Architecture

Page 11: הקדמה

System ArchitectureSystem Architecture

Data base

WebServer

FlashNetworks Products

Cellular Internet Router

Cellular Network

Internet

FlashNetworks User

Task & Result Communication

User Interaction

Page 12: הקדמה

ACCELERATING THE ADOPTION OF MOBILE DATA 12

proprietary & confidentialproprietary & confidentialproprietary & confidentialproprietary & confidential

System Architecture and Technologies:

Page 13: הקדמה

System ArchitectureSystem Architecture

DefinitionsDefinitions

Page 14: הקדמה

System ArchitectureSystem Architecture

Access to the PC component is done via the web )web application(.

Includes 2 major parts :

Web Application - composed of sub components:

• Task & result handling – enables retrieval of tasks by mobile devices and receiving result files from them.

• User Interaction – By using the internet and regular web browser the user can enable/disable working tasks, create new template tasks and designating them, View statistics and control the system

Database – stores the data for future usage and restore purposes.

PC ComponentPC Component

Page 15: הקדמה

System ArchitectureSystem Architecture

This component will:

1. Retrieve tasks

2. Execute them

3. Deliver the results to the PC Component.

In order to obtain the task goal, the PC component will need to compare data that will be collected by the Mobile - with and without NettGain.

The mobile components divided into two types: • Nokia Cellular )Symbian OS(

• PDA )Windows Mobile OS(.

Mobile ComponentMobile Component

Page 16: הקדמה

Components Components ResponsibilitiesResponsibilities

– PDA - Nati B., Ilya M.

– Nokia - Ronen B., Roy K

– PC - All

Page 17: הקדמה

Flash ProjectFlash Project

Main Classes Main Classes

& Relationships& Relationships

Page 18: הקדמה

Main ClassesMain Classes

PC ComponentPC Component

Page 19: הקדמה
Page 20: הקדמה
Page 21: הקדמה

Main ClassesMain Classes

PDA ComponentPDA Component

Page 22: הקדמה
Page 23: הקדמה

Main ClassesMain Classes

Symbian ComponentSymbian Component

Page 24: הקדמה
Page 25: הקדמה

Flash ProjectFlash Project

User InterfaceUser Interface

OverviewOverview

Page 26: הקדמה

PC ComponentPC ComponentU

I Overv

iew

UI O

verv

iew

Page 27: הקדמה

PC ComponentPC ComponentU

I Overv

iew

UI O

verv

iew

Page 28: הקדמה

PC ComponentPC ComponentU

I Overv

iew

UI O

verv

iew

Page 29: הקדמה

PC ComponentPC ComponentU

I Overv

iew

UI O

verv

iew

Page 30: הקדמה

PC ComponentPC ComponentU

I Overv

iew

UI O

verv

iew

Page 31: הקדמה

PC ComponentPC ComponentU

I Overv

iew

UI O

verv

iew

Page 32: הקדמה

PC ComponentPC ComponentU

I Overv

iew

UI O

verv

iew

Page 33: הקדמה

PCPCComponeComponentnt U

I Overv

iew

UI O

verv

iew

Page 34: הקדמה

PC ComponentPC ComponentU

I Overv

iew

UI O

verv

iew

Page 35: הקדמה

PDA ComponentPDA ComponentU

I Overv

iew

UI O

verv

iew

Page 36: הקדמה

Symbian ComponentSymbian ComponentU

I Overv

iew

UI O

verv

iew

Page 37: הקדמה

Flash ProjectFlash Project

TestingTesting

Brief OverviewBrief Overview

Page 38: הקדמה

Testing overviewTesting overview

PDATestExecutor• A predefined task with )partially( known

results based on previous calculations will be given to the ‘executeTask’ method

• Test executor will execute all subtasks within it.

• The collected results will be compared to known correct results

Unit Testing (PDA)Unit Testing (PDA)

Page 39: הקדמה

Testing overviewTesting overview

PDAXMLhandler

• A predefined result chunk will be given

to the XML handler.

• It will parse it into XML format.

• Parse result will be compared to

expected parse format of the given

result chunk.

Unit Testing (PDA)Unit Testing (PDA)

Page 40: הקדמה

Testing overviewTesting overview

PDACommunicator

• A task will be put in web server’s task

queue, designated to that specific

mobile.

• Task will be pulled by communicator.

• Downloaded task will be compared with

original task that was in the queue.

Unit Testing (PDA)Unit Testing (PDA)

Page 41: הקדמה

Testing overviewTesting overview

DBFacade• A task template will be given to

‘saveTask’ method.

• DB façade will save the task template in the DB.

• Task template will be pulled from the DB and will be compared to initially given one

Unit Testing (PC)Unit Testing (PC)

Page 42: הקדמה

Testing overviewTesting overview

TaskManager

• A predefined task will be sent as an

argument to ‘enqueueDesignatedTask’

method.

• Task will be enqueued to the task queue.

• Task queue size has been increased by

one, and the last task on queue is the

given task.

Unit Testing (PC)Unit Testing (PC)

Page 43: הקדמה

Testing overviewTesting overview

XMLParser - TestGetNextSubTask

• A predefined Task file will be available

for parsing, and will be given as input to

the method.

• An expected SubTask class will be

compared to the output of the method

• If they are equal test passes. Else – test

fails.

Unit Testing (Symbian)Unit Testing (Symbian)

Page 44: הקדמה

Testing overviewTesting overview

XMLParser - TestMakeResultChunk

• A predefined ResultChunk will be given

as input to the method

• An expected ResultChunk file )as XML

string( will be compared to the output of

the method

• If they are equal , test passes – else –

test fails.

Unit Testing (Symbian)Unit Testing (Symbian)

Page 45: הקדמה

Testing overviewTesting overview

XMLParser - TestHTMLDoc

• A predefined HTML document will be

given as input to the method

• The expected result of links and images

will be given for comparison

• If they are equal , test passes – else –

test fails.

Unit Testing (Symbian)Unit Testing (Symbian)

Page 46: הקדמה

Testing overviewTesting overview

Communicator - requestTask • A predefined link for retrieval of the task

file will be given.

• The communicator should retrieve the result file from the link.

• An expected Task will be compared to the output of the method.

• If they are equal , test passes – else – test fails.

Unit Testing (Symbian)Unit Testing (Symbian)

Page 47: הקדמה

Testing overviewTesting overview

Communicator - sendResultChunk

• A predefined ResultChunk will be given

to the method.

• The communicator will be configured to

a predefined address.

• The test passes if the method returns

"true".

Unit Testing (Symbian)Unit Testing (Symbian)

Page 48: הקדמה

Testing overviewTesting overview

Communicator - HttpGet

• A predefined link with known errors )or

known number of links and images( will

be given to the method.

• The result will be matched against a the

known parameters )in a file(.

Unit Testing (Symbian)Unit Testing (Symbian)

Page 49: הקדמה

Testing overviewTesting overview

CBrCtlSampleAppLoadEventObserver - TestHandleBrowserLoadEventL

• A few premade "sites" will be given to the browser to invoke an event for the observer.

• The observer should create a relevant result file

• The output result file will be compared to an expected result file .

• If they are equal, test passes – else – test fails.

Unit Testing (Symbian)Unit Testing (Symbian)

Page 50: הקדמה

Testing overviewTesting overview

Tasks will be given to Mobile component to see how it handles them.

We’ll start with simple task files )few type of tests & few sub tasks(, which are put inside the mobile device, let it parse each, and perform the execution of the sub tasks.

We’ll examine the results, to see if they are logical, and fit the given sub tasks.

Gradually we’ll give the mobile more & more complicated tasks with more types of tests.

Integration Testing (Mobile)Integration Testing (Mobile)

Page 51: הקדמה

Testing overviewTesting overview

Task template will be created, mobile devices will be registered.

Templates and mobile devices will be pulled from db in order to see if they were stored correctly. They will be combined together into designated tasks, and put in the queue.

We’ll examine if the queue handles all enqueued tasks correctly.

Integration Testing (PC)Integration Testing (PC)

Page 52: הקדמה

Testing overviewTesting overview

Designated Task will be put in the Task queue in the PC component targeted to a specific mobile device that is included in out test.

The mobile device should pull the given task file, execute it, and send back the results to the PC component.

After all results have arrived to the PC component we’ll examine them to their correctness.

We’ll perform this test several times, then use statistics engine to check if they it computes & analyze them correctly.

Integration Testing (All)Integration Testing (All)

Page 53: הקדמה

Flash ProjectFlash Project

Task ListTask List

Brief OverviewBrief Overview

Page 54: הקדמה

Tasks ListTasks List

Task ID1

Task NameBrowsers Research

Estimated Start Date16/10/2006Actual Start Date16/10/2006

Estimated End Date31/10/2006Actual End Date31/10/2006

Brief DescriptionResearch of Open Source / Free browsers for supported platforms.

Sub Tasks1.1. Symbian OS browsers research1.2. Windows Mobile browsers research

Page 55: הקדמה

Tasks ListTasks List

Task ID2

Task NameProof of Concept

Estimated Start Date31/10/2006Actual Start Date05/11/2006

Estimated End Date05/12/2006Actual End Date05/12/2006

Brief DescriptionImplement small program proving it is possible to take control over the browser and “catch” its events per need

Sub Tasks2.1. Symbian OS platform.2.2. Windows Mobile platform.

Page 56: הקדמה

Tasks ListTasks List

Task ID3

Task NameMySQL Database Design and Implementation

Estimated Start Date06/12/2006Actual Start Date06/12/2006

Estimated End Date09/12/2006Actual End Date10/12/2006

Brief DescriptionDesign database scheme according to the application needs.

Sub TasksN/A

Page 57: הקדמה

Tasks ListTasks List

Task ID4

Task NamePC Component Data Layer Design & Implementation

Estimated Start Date10/12/2006Actual Start Date12/12/2006

Estimated End Date20/12/2006Actual End Date21/12/2006

Brief DescriptionDesign of basic data classes ( e. g. SubTask, Task, Test, ResultChunk etc. )

Sub TasksN/A

Page 58: הקדמה

Tasks ListTasks List

Task ID5

Task NameDefining Tests

Estimated Start Date20/12/2006Actual Start Date20/12/2006

Estimated End Date30/12/2006Actual End Date30/12/2006

Brief DescriptionDefine tests that should be implemented ( e. g. measuring website loading time, bytes received/transmitted, links count etc.)

Sub TasksN/A

Page 59: הקדמה

Tasks ListTasks List

Task ID6

Task NameMobile Component Prototype implementation

Estimated Start Date30/12/2006Actual Start Date03/01/2007

Estimated End Date12/03/2007Actual End Date-

Brief DescriptionDesign and implement mobile-side application that should be able to perform most of functional requirements.

Sub Tasks

6.1. Symbian OS ( Nokia ) component implementation- XMLHandler implementation- Communicator implementation- Test Execution implementation

6.2. Windows Mobile component implementation- XMLHandler implementation- Communicator implementation- Test Execution implementation

Page 60: הקדמה

Tasks ListTasks List

Task ID7

Task NameWeb Server Prototype

Estimated Start Date15/02/2007Actual Start Date20/02/2007

Estimated End Date02/03/2007Actual End Date07/03/2007

Brief DescriptionDesign and implement web server that should accept connections, upload/download results/tasks to/from Mobile devices.

Sub Tasks7.1. Install and configure working environment ( Apache web

server with PHP & MySQL support ).7.2. Implement functionality.

Page 61: הקדמה

Tasks ListTasks List

Task ID8

Task NameWeb Server GUI Design & Implementation

Estimated Start Date13/03/2007Actual Start Date-

Estimated End Date15/04/2007Actual End Date-

Brief DescriptionWeb server complete implementation.

Sub TasksN/A

Page 62: הקדמה

Tasks ListTasks List

Task ID9

Task NameSystem Integration

Estimated Start Date15/04/2007Actual Start Date-

Estimated End Date15/05/2007Actual End Date-

Brief DescriptionIntegration of the mobile components with PC component + database integration.

Sub Tasks9.1. Symbian Component integration.9.2. Windows Mobile Component integration.

Page 63: הקדמה

Tasks ListTasks List

Task ID10

Task NameSystem Testing/Debugging

Estimated Start Date15/05/2007Actual Start Date-

Estimated End Date06/06/2007Actual End Date-

Brief DescriptionIntegration of the mobile components with PC component + database integration.

Sub Tasks9.1. Symbian Component integration.9.2. Windows Mobile Component integration.

Page 64: הקדמה

Flash ProjectFlash Project

Page 65: הקדמה

Flash ProjectFlash Project

BACKUPBACKUP

Page 66: הקדמה

Complete TaskListComplete TaskList

Page 67: הקדמה

PC Component – Main Classes DescriptionDB Facade•Acts like a gate to all accesses to PC component DB.•Use to perform queries on DB, as well as to store new data into it.

Task Manager•Handles all missions related to designating new tasks & taking care of existing ‘live’ tasks•Taking care of creating new task templates.•Contains tasks queue in which it enqueues new designated tasks to be dequeued later by one of the mobile devices.•Manages all task statuses: enqueue, pause, cancel, etc. •Communicates with the mobile devices, sends tasks, receives acknowledges for sent items.

Result Manager•Handles the result chunks received from the mobile devices. •Gathers result chunks to task result and save that result to the DB•Sends acknowledgment for each received chunk back to the mobile device.

Task Designation GUI•Receives inputs from the user regarding the content of the new designated task.•Sends the received information to the business logic layer in order to process the request.•Previews the new designated task

Page 68: הקדמה

PDA Component – Main Classes Description

PDAXMLHandler•Should parse Task file and create tests to execute•Should encode to progress file to be sent to PC component

PDATestExecutor•Within given tests list, should execute them one by one using WebControlOperator •and save progress/final results to xml result file.

PDAWebControl•Internet Explorer Mobile Browser Control used to navigate and fire events.

PDAWebControlOperator•Uses WebControl )via IEMobile API( in order to perform navigation to requested •URLs, catches WebControls fired events and reacts accordingly.

PDACommunicator•Will handle all network related missions: dial up, hang up, file transmissions, task puller, etc.

PDAppGUI•GUI for representation

Page 69: הקדמה

Symbian ClassesSymbian Classes

CBrCtlSampleAppContainer

Contains all the web browser observers

Embeds the web browser view into the GUI.

CBrCtlSampleAppLoadEventObserver

Observer that handles load events of the web browser.

Handles: • start of URL loading

• end of loading a URL

Page 70: הקדמה

Symbian ClassesSymbian Classes

BrowserBridge

Bridges )Bridge Design pattern( between the browser control

and the outer application.

XMLParser

Parses the task files that are received from the PC component.

Parses HTML documents.

Manipulates and creates result files.

Page 71: הקדמה

Symbian ClassesSymbian Classes

Communicator

uses HTTP Request commands.

• Retrieves the task files.

• Sends result files

• Performs many of the tests of the given tasks

– Such as: error detection, number of images, links, etc…

Page 72: הקדמה

System RequirementsSystem Requirements

Application Language

• English

Two types of mobile components

• Symbian and Windows mobile 5 based

Test Results

• Graphically displayed

Non Functional RequirementsNon Functional Requirements

Page 73: הקדמה

PDA ComponentPDA ComponentU

I Overv

iew

UI O

verv

iew

Page 74: הקדמה

Testing overviewTesting overview

Speed – We’ll put heavy tasks in the task queue, and see if there’s a time out of 5 minutes for task running period.

Capacity

• Connection will be made to the web server simultaneously from 2 different clients, to see if it reacts properly.

• We’ll use up to 10 different mobile devices, put tasks for all of them, and see if the web server can handle all of them successfully.

Availability & Stability – We’ll operate our system for 72 hours continuously to verfiy it’s stability.

Testing Non-Functional Req.Testing Non-Functional Req.