• No results found

Positioning Relay Over Wirelessly Networked Devices (PROWIND) CS496 Senior Design. Software Requirements Document. Prepared by

N/A
N/A
Protected

Academic year: 2021

Share "Positioning Relay Over Wirelessly Networked Devices (PROWIND) CS496 Senior Design. Software Requirements Document. Prepared by"

Copied!
14
0
0

Loading.... (view fulltext now)

Full text

(1)

1

Positioning Relay Over Wirelessly Networked Devices (PROWIND)

CS496 Senior Design

Software Requirements Document Prepared by Mark Buising Douglas Chow Nazeni Mkrtchyan Jesus Rodriguez Jenifer Webb December 5th, 2012

(2)

2

Positioning Relay Over Wirelessly Networked Devices (PROWIND) Prepared By Mark Buising Douglas Chow Nazeni Mkrtchyan Jesus Rodriguez Jenifer Webb Approved By: __________________ ____12/05/12_____ Russ Abbott Date

(3)

3

Document Change Log

Update Date Released Changes Final 12/05/12 TBD

(4)

4

1.1 Purpose

The purpose of this document is two-fold:

a) Define a full set of requirements for the PROWIND.

(These sections correspond to a Software Requirements Document, SRD).

b) Define/implement modules for the PROWIND.

(These sections correspond to the Software Implementation Document, SID).

The complete definition of all PROWIND requirements provides the source requirement inputs for the development of the subsequent supporting software subsystems documents.

1.2 Scope

This is the documentation developed as part of this CS496 Senior Design class. The scope of this document includes the following:

 All functional and non-functional requirements on the PROWIND are captured.

 A complete set of PROWIND Requirements, derived and traceable to the incoming class requirements.

 The functional requirements defined in the PROWIND Requirements section have been expanded to include more specific hardware requirements.

1.2.1 Document Organization

The organization of this document provides a natural 'flow' or allocation of requirements to each succeeding section. Details regarding the overall document structure are discussed in sub-section 1.4.

1.2.2 Relationship to Other Documents

The PROWIND SRD/SDD/STP/SID is a complete self-contained document. Some relationships to other documents in the literature are indicated below in sub-section 1.5.

(5)

5

1.3 Positioning Relay Over Wirelessly Networked Devices Design

1.3.1 Mockups

Figure 1.1

Figure 1.1 shows a mockup version of a future design of PROWIND. Figure 1.1 has a tab for Network App which shows information about the nodes on the Mesh Network and there information. The Device Information will consist of Mac Address, location, distance (range), connection strength, and state (offline/active).

(6)

6 Figure 1.2

Figure 1.2 will show another tab that will be implemented in our design. PROWIND will show Device Data of the used device. Device Data will consist of Location and Network with

information about latitude/longitude, MAC address, Device ID, Connected Peers.

Figure 1.3

Figure 1.3 will show another tab that will be implemented in our design. PROWIND will show settings about the device.

(7)

7

The foremost objective of PROWIND is to provide an easy to use full-featured mesh network system by integrating handheld android devices to send location data from node A to node B using Wi-Fi Direct.

1.3.2 Hardware and Software Considerations Hardware Considerations:

The PROWIND development will consider using Android devices like Samsung Galaxy Rush, Samsung Galaxy S III, Samsung Galaxy S Relay, Samsung Galaxy Note 10.1, Samsung Galaxy Tab 2 7.0, or Samsung Galaxy Tab 2 10.1. It is recommended to acquire either the Samsung Galaxy Rush or the Samsung Galaxy Tab 2 7.0 because of their prices and availability. It may also be desirable to have a combination of both in order to test the user experience of the application for each form factor (phone vs. tablet).

Device Available Stores Unit

Retail Price

Quantity Total Cost

Samsung Galaxy Rush Amazon.com 149.99 6 899.94

Best Buy 149.99 6 899.94

Samsung Galaxy S III

Amazon.com 589.99 6 3,539.94

Best Buy 749.99 6 4,499.94

Newegg.com 539.99 6 3,239.94

Samsung Galaxy S Relay T-mobile.com 399.99 6 2,399.94

Samsung Galaxy Note 10.1

Amazon.com 446.99 6 2,681.94

Best Buy 449.99 6 2,699.94

Newegg.com 449.99 6 2,699.94

Samsung Galaxy Tab 2 7.0 Amazon.com 179.00 6 1,074.00

Best Buy 179.99 6 1,079.94

Samsung Galaxy Tab 2 10.1 Amazon.com, 436.95 6 2,621.70

Best Buy 299.99 6 1,799.94

(8)

8 Software Considerations:

AllJoyn, which is a peer-to-peer networking platform, has been determined to be a feasible approach for implementing the mesh network infrastructure and has the following advantages:

 The AllJoyn daemon app can be installed on Android devices without rooting the device.  Device discovery is done at the application level through AllJoyn's service advertisement

and discovery.

 Message routing and broadcasting are handled by AllJoyn by forming a logical bus through which AllJoyn daemons running on each device communicate.

 AllJoyn is independent of the underlying physical network so it is able to operate on top of any network protocol, such as infrastructure Wi-Fi, Bluetooth, or Wi-Fi Direct.

 Even without the newest release of the AllJoyn API , which has official support for Wi-Fi Direct integration, AllJoyn applications can still operate on top of Wi-Fi direct, provided that pre-established connections have been made among devices.

 Unofficial Wi-Fi Direct integration with AllJoyn is possible by using the Wi-Fi Direct component of the Android SDK (API Level 14).

1.4 References

All references used in the creation of this document are listed below. 1.4.1 Controlling Documents

There is no document controlling this document 1.4.2 Applicable Documents

1. On the Design and Implementation of Infrastructure Mesh Networks by Krishna N. Ramachandran, Milind M. Buddhikot, Girish Chandranmenon, Scott Miller, Elizabeth M. Belding-Royer, Kevin C. Almeroth

2. The SMesh Wireless Mesh Network by Yair Amir, Claudiu Danilov, Raluca Musaloiu-Elefteri, Nilo Rivera

3. Social Network Analysis by Claudia Zehnpfund 4. Introduction to AllJoyn

(https://www.alljoyn.org/docs-and-downloads/documentation/introduction-alljoyn) 1.4.3 Standards

No Standard has been used in the creation of this document. However, some Standards described in textbooks have been examined as a reference. In particular, the IEEE standard has been briefly discussed in class.

(9)

9

2.0 DETAILED FUNCTIONAL DESCRIPTION OF THE PROWIND 2.1 Detailed PROWIND Functional Description.

The major tool used to design PROWIND is the Mockups as shown as Figure 1.1 -1.3. 2.1 Detailed Functional Description of the PROWIND Major Units.

The description of PROWIND’s major functional units are shown as follows:

Module 2.1 - Mesh Network Infrastructure

The Mesh Network Infrastructure module serves as the communications backbone for connected devices. It allows message broadcasting to all connected devices on the network or send point-to-point messages from node A and node B. It also enables devices to send location information from node A to node B. Devices also have the ability to connect to private and secure session within the infrastructure.

Module 2.2 - Device Location Extractor

The Device Location Extractor module retrieves location coordinates from the device's GPS receiver. It runs as a background process and regularly update the location information. This information shall be used for displaying the map of devices currently connected to the mesh network.

Module 2.3 - User Interface Module

The User Interface module serves as the front-end for the application and provides these functionalities:

 Initial setup

 Discovery

 Communication

(10)

10 3.0 THE PROWIND REQUIREMENTS 3.1 PROWIND Functional Requirements

This Section collects all the PROWIND Functional Requirements. This section includes the complete set of functional requirements with explanation and rational where the statement of the requirement was deemed insufficient or needing additional background/justification. All

requirements relate to the design modules described in Section 2. An effort has been made to standardize the correlation between the design modules and the requirements to make their access and organization more consistent. For example, requirement number “n” affecting module 2.1 will be labeled 3.1-n.

Requirements Related to Design Module 3.1: Mesh Network Infrastructure

Requirement No. Requirement Description

3.1.1 Discovery and Routing

3.1.1-1 PROWIND shall be able to discover devices within the wireless range allowed by the device.

3.1.1-2 PROWIND shall be able to determine the shortest available path when sending information from node A to node B.

3.1.1-3 PROWIND shall enable each device to act as a server and a client. 3.1.1-4 PROWIND shall always determine the best node to be the master. 3.1.1-5 PROWIND shall automatically update a new master node when current

master node is destroyed. 3.1.2 Privacy and Security

3.1.2-1 PROWIND shall allow a device to create a private session. 3.1.2-2 PROWIND shall allow a device to join a private session.

3.1.2-3 PROWIND shall authenticate a device in a private session using a group password.

3.1.3 Communication

3.1.3-1 PROWIND shall broadcast location information to all nodes in the mesh network.

3.1.3-2 PROWIND shall be able to send location information from node A to node B.

3.1.3-3 PROWIND shall be able to send messages from node A to node B. 3.1.3-4 PROWIND shall be able to send digital images from node A to node B.

Requirements Related to Design Module 3.2: Device Location Extractor

Requirement No. Requirement Description

3.2-1 PROWIND shall extract location coordinates from the GPS receiver of the device.

3.2-2 PROWIND shall extract location coordinates at regular intervals. 3.2-3 PROWIND shall provide extracted location coordinates to the user

interface module.

3.2-4 PROWIND shall run the Device Location Extractor module as a background process.

(11)

11

Requirements Related to Design Module 3.3: User Interface

Requirement No. Requirement Description

3.3.1 Initial Setup

3.3.1-1 PROWIND shall prompt the user for a session name.

3.3.1-2 PROWIND shall prompt the user for a session password. 3.3.1-3 PROWIND shall extract device owner info and use it as a user identifier.

3.3.2 Discovery

3.3.2-1 PROWIND shall display a list of available devices on the mesh network within the same session.

3.3.2-2 PROWIND shall update the list as devices enter or leave the wireless network range.

3.3.3 Communication

3.3.3-1 PROWIND shall have a chat-type user interface for messaging. 3.3.3-2 PROWIND shall allow users to attach images in messages.

3.3.4 Node Visualization

3.3.4-1 PROWIND shall display nodes that are currently connected to the mesh network on a map.

3.3.4-2 PROWIND shall update map dynamically at regular intervals.

3.2 PROWIND Non-Functional Requirements

This Section collects all the PROWIND Non-Functional Requirements. All non-functional requirements are numbered “NF – n” where “n” indicates the nth

requirement.

NF – 1 PROWIND shall use devices that have at least Android OS version 4.0 (Ice Cream Sandwich).

NF – 2 PROWIND Infrastructure shall operate on the AllJoyn platform. NF – 3 PROWIND shall utilize libraries that are open-source.

NF – 4 PROWIND shall use preexisting device owner information. Rationale: Users will set up device owner information beforehand, such as name, etc.

3.3 PROWIND Hardware Requirements

This Section collects all the PROWIND Hardware Requirements. All hardware requirements are numbered “H – n” where “n” indicates the nth

requirement.

H – 1 Android devices shall have Wi-Fi-Direct and “Multi-Connect” feature. H – 2 Android devices shall have an extended battery life.

H – 3 Android devices shall have replacement batteries. H – 4 Android devices shall have a built-in wireless adapter.

(12)

12

5.0 PROWIND ELEMENTS OF IMPLEMENTATION

In this section (some of) the modules designed in Section 4 with requirements listed in Section 3 will be implemented initially at the level of pseudo code. Actual code will be provided as time permits. Each module is implemented in correspondence with the design sections defined in section 2 and responding to the requirements listed in its correlated sub-section in chapter 3. PROWIND is implemented in Winter 2013 for CS496B.

6.0 PROWIND TEST PLAN

PROWIND is implemented in Spring 2013 for CS496C. 6.1 INTRODUCTION

In this section the testing methodology to be used to V&V each of the requirements listed in section 3.0 has been identified. At points some additional testing may be required and they shall be documented as an attachment to this document.

TESTING METHODOLOGY

The methodologies and testing strategies identified at this point include four major approaches. Demonstration: The user runs the software and "demonstrates" that the requirement is satisfied. Ex: "The software shall include a set of "buttons" to move the graph inside a window."

Verification: The user runs the software and "verifies" that said requirement is satisfied. Ex: "The software shall sort a set of numbers in increasing or decreasing order."

Analysis: The developer (or better, an independent third party) "proves" by performing an analysis (possibly a mathematical analysis) that the software will do what is required. Ex: "In average, the software shall run at most in quadratic time when executing this sorting algorithm." Testing: In this case, a testing team together with the developer(s) will write a small software set to "test" the software developed. Ex: "The software shall operate on a set of files occupying no more than 5 Megabytes of storage space."

6.2 FUNCTIONAL REQUIREMENTS VALIDATION MATRIX This section shall be done in Spring 2013 for CS496C.

(13)

13 A. ACRONYMS

ICS - Ice Cream Sandwich OS - Operating System

PROWIND - Positioning Relay over Wirelessly Networked Devices SDK - Software Development Kit

(14)

14 B. DATA DICTIONARY

Spoof attack: In a context of network security, it is a situation in which one person or program successfully masquerades as another by falsifying data and thereby gaining an illegitimate advantage.

Wi-Fi Direct: previously known as Wi-Fi P2P, is a standard that allows Wi-Fi devices to connect to each other without the need for a wireless access point.

Master/slave: is a model of communication where one device or process has unidirectional control over one or more other devices. In some systems a master is elected from a group of eligible devices, with the other devices acting in the role of slaves.

Android 4.0 (Ice Cream Sandwich): is the latest version of the Android platform for phones, tablets, and more. It builds on the things people love most about Android — easy multitasking, rich notifications, customizable home screens, resizable widgets, and deep interactivity — and adds powerful new ways of communicating and sharing.

Agile software development: is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change. It is a conceptual framework that promotes foreseen interactions throughout the development cycle.

AllJoyn™: is an open-source application development framework that enables ad hoc,

proximity-based device-to-device communication that is OS agnostic. AllJoyn connects people real-time. Utilizing AllJoyn in your apps offers a host of exciting new user experiences from multi-player gaming and entertainment, to media sharing, productivity tools and social networking.

References

Related documents

As outlined and illustrated above, there are at least five ways in which OBR can inform understanding of SCP: (1) by directly determining what works to reduce crime; (2) generating

My professional networks include the Association of Asthma Educators, American Association of Respiratory Care, National Board for Respiratory Care, Texas Society for

As the leading provider of private cloud solutions for secure file sharing, Accellion offers enterprise organisations the scalability, flexibility, control and security to enable

The book will download to the Bookshelf in the app (different from the Bookshelf on MyMediaMall). In order to search for additional books tap on Get Books in the upper right

The aim of the work is to study the effect of weight reduction on pulmonary function tests of obese COPD and bronchial asthma patients.. Subjects

Mackey brings the center a laparoscopic approach to liver and pancreas surgery not available at most area hospitals.. JOSHUA FORMAN, MD

The Easy Dental Documents Module allows you to attach scanned files, x-rays, or other digital images directly to patient records, employer information, insurance provider