Triton Team Lab II Prototype Product Specification

advertisement
Triton Team
Lab II
Prototype Product Specification
April 4, 2008
Triton Lab II – Prototype Product Specification
Table of Contents
1
INTRODUCTION...................................................................................................... 4
1.1
Purpose............................................................................................................. 5
1.2
Scope .............................................................................................................. 11
1.3
Definitions, Acronyms, and Abbreviations ....................................................... 12
1.4
References...................................................................................................... 14
1.5
Overview ......................................................................................................... 15
2
GENERAL DESCRIPTION .................................................................................... 15
2.1
Prototype Architecture Description .................................................................. 16
2.2
Prototype Functional Description .................................................................... 19
2.3
External Interfaces .......................................................................................... 24
3
2.3.1
Hardware Interfaces................................................................................. 25
2.3.2
Software Interfaces .................................................................................. 25
2.3.3
User Interfaces ........................................................................................ 26
2.3.4
Communication Protocols and Interfaces ................................................ 27
SPECIFIC REQUIREMENTS ................................................................................. 27
3.1
Functional Requirements ................................................................................ 28
3.1.1
RuBeeTM Setup ........................................................................................ 28
3.1.2
Underwater Communication Demonstration ............................................ 29
3.1.3
User Login Interface ................................................................................ 30
3.1.4
Swimmer Registration and Administration Interfaces .............................. 31
3.1.5
Pool Alert View Interface.......................................................................... 33
3.1.6
Prototype Detection Algorithm Interface .................................................. 33
3.1.7
Prototype Settings Interface..................................................................... 35
3.1.8
User Administration Interface................................................................... 35
3.1.9
Access Database ..................................................................................... 36
3.1.10
Simulated Data ........................................................................................ 36
3.1.11 Swimmer Simulation ................................................................................ 37
3.2
Performance Requirements ............................................................................ 38
3.2.1
Underwater Communication .................................................................... 38
3.2.2
Detection Algorithm ................................................................................. 39
3.3
Assumptions and Constraints ......................................................................... 39
3.4
Non-Functional Requirements ........................................................................ 41
3.4.1
Security .................................................................................................... 42
3.4.2
Maintainability .......................................................................................... 42
3.4.3
Reliability ................................................................................................. 42
2
Triton Lab II – Prototype Product Specification
Table of Contents
4
APPENDIX ............................................................................................................. 43
4.1
Formal Resource Request Document ............................................................. 43
List of Figures
Figure 1. Triton Major Functional Components Diagram ................................................. 8
Figure 2. Triton Location Algorithm ............................................................................... 10
Figure 3. Triton Prototype Architecture.......................................................................... 17
Figure 4. RuBeeTM Tag Demonstration Process Flow ................................................... 20
Figure 5. Login Table .................................................................................................... 21
Figure 6. Registration Process Flow.............................................................................. 22
Figure 7. Drowning Detection Algorithm Process Flow ................................................. 23
Figure 8. Disabling an Alarm Process Flow................................................................... 24
Figure 9. User Interface Map ......................................................................................... 27
Figure 10. Hardware Connection Set Up....................................................................... 29
Figure 11. RuBeeTM Finder Software Screen Shot ........................................................ 30
List of Tables
Table 1. RuBeeTM Characteristics .................................................................................. 7
Table 2. Triton Feature Comparison between Full Product and Prototype .................... 19
Table 3. Assumptions, Dependencies, and Constraints on Prototype Requirements ... 41
3
Triton Lab II – Prototype Product Specification
1
INTRODUCTION
Over 2,000 children and teenagers silently drown every year in pools staffed with
certified lifeguards. The victims of silent drowning do not display any warning signs, and
since it occurs so quickly, lifeguards cannot recognize the situation in time. Considering
it takes less than a minute for a child to drown, the time it takes lifeguards to react is
very important to prevent unintentional drownings and near-drowning injuries. In 2005,
according to the U.S. Centers for Disease Control and Prevention, there were 3,582
unintentional drownings in the United States in which 30% of the victims were children
and teenagers (CDCP, 2008). In addition, drowning is considered the number one
leading cause of death for children under the age of five and the second leading cause
of unintentional injury-related death for children under the age of fifteen (CDCP, 2007).
Different studies have been developed to find solutions and reduce the number
of victims. Jeff Ellis & Associates performed a study in more than 90 U.S. pools that
measured the time it took lifeguards to detect a manikin laying at the bottom of the pool.
The study proved that lifeguards took an average of one minute and fourteen seconds
to recognize and get the manikin out of the water. In a different study designed to
measure lifeguards’ vigilance capacity, Jeff Ellis & Associates proved that lifeguards’
vigilance capacity is only 30 minutes; factors such as heat, noise, distraction, monotony,
stress, fatigue, poor diet, and dehydration affected the lifeguards’ performance (Brener
& Oostman, 2002).
Every second counts in a drowning incident. Considering the studies’ results and
in response to silent drowning, some swimming pool facilities and waterparks have
installed drowning detection systems to assist lifeguards in detecting hazardous
4
Triton Lab II – Prototype Product Specification
situations. Currently, there are three very expensive camera based systems available in
the market, Poseidon System, Swimguard Safety System, and Drowning Early Warning
System (DEWS). The Swimguard Safety System operates similar to a security
surveillance system. On the other hand, the Poseidon System and DEWS utilize a
series of algorithms to recognize the swimmers behavior and trajectories. The three
main disadvantages that the Poseidon System, Swimguard Safety System, and DEWS
share are price, visibility, and environment adaptability. The cost of a camera based
system ranges from $60,000 to $150,000. Because the systems are camera based,
visibility becomes a real issue if the pool’s water is not in optimum conditions. Also, the
systems fail to work in different environments such as lakes and beaches (Orange
Team, 2007). As a solution to the previous disadvantages, the Triton System was
conceived. The Triton System is a low cost automated sensor based surveillance
system that uses RuBeeTM technology to communicate underwater and alert lifeguards
of the victim’s position, in real time, when a drowning situation is detected.
1.1
Purpose
The Triton System was designed with the solid purpose to help lifeguards detect
possible silent drowning victims. It employs new technology capable of underwater
signal transmission. Triton uses customized wristbands, worn by swimmers, with
pressure and wet/dry sensors to send wireless signals to antennas installed in a pool.
The antennas transfer the signals through wires to their pre-established receiver, which
converts the signals into data and transfers it to the base station. Once the data has
been transferred to the base station, a drowning detection algorithm analyzes the data
and determines if a swimmer is potentially drowning or not. If the calculated data is
5
Triton Lab II – Prototype Product Specification
greater than the established threshold, an alert displaying the swimmer’s information
and location is sent to the lifeguard monitor’s station for the proper action. The
innovative sensor technology employed by Triton makes the Triton System adaptable to
work in different environments such as wave pools, lakes, and beaches. It makes the
system an inexpensive alternative for small waterparks and swimming pool facilities,
and it does not violate swimmers privacy.
Since radio frequency identification (RFID) tags cannot transmit signals
underwater very well and their signals cannot pass through concrete or steel, Triton will
use a new technology called RuBeeTM. RuBeeTM will enable Triton to develop a system
that works in difficult concrete-underwater environments. Also, since the Triton System
needs to use pressure and wet/dry sensors, RuBee TM tags facilitate sensor attachment
due to their central processing unit (CPU) that they have built in. In addition to the
technological advantages over RFID tags, RuBeeTM is not expensive. For example,
while a RFID base price ranges from $500 to $1,500, a RuBee TM base price ranges
from $1 to $200 (Stevens, 2006). Table 1 summarizes the different characteristics
between RFID and RuBeeTM.
[This space is intentionally left blank]
6
Triton Lab II – Prototype Product Specification
Table 1. RuBeeTM Characteristics
The Triton System has five major functional pieces that are illustrated by Figure
1. The first functional piece is a waterproof wristband that contains a RuBee TM tag and
sensors. The RuBeeTM tag has a unique ID, which is assigned to each swimmer for later
identification. A pressure and wet/dry sensors are attached to the RuBee TM tag to get
data that will be used later in the process of identifying potential drowning victims.
[This space is intentionally left blank]
7
Triton Lab II – Prototype Product Specification
Figure 1. Triton Major Functional Components Diagram
The second functional piece consists of antennas and RuBeeTM receivers. The
antennas are located at the bottom of the pool, and they are used to capture wireless
signals from RuBeeTM tags. The antennas are connected to RuBeeTM receivers, which
receive the signals that the antennas sent through wires. Then, the RuBee TM receivers
convert the signals into data and send the data to the base station.
The third functional piece is the base station. The base station stores the Triton
System’s main program application. Based on the data that the pressure and wet/dry
sensors transmitted, the application uses the pre-established parameters, water density,
gravity, atmosphere pressure, and the swimmers’ arm length to calculate depth. If, after
repeating the calculation process, depth remains the same for more than fifteen
seconds, the application determines that there is a potential drowning case. After the
calculation process, the major function of the base station is to transmit the information
8
Triton Lab II – Prototype Product Specification
to the Lifeguard Station. The Triton System’s main program application will be
developed using C# (C-sharp).
The fourth functional piece is the Triton Software, which is an application that will
be developed in C#. The Triton Software is based on three main interfaces, Registration
and Administration, Drowning Detection, and Alert and Display. The Registration and
Administration interface will allow inputting the information of a swimmer, such as name,
age, sex, medical information, et cetera, as well as the information for the users of the
system. All the previous information will be stored in a database developed in MySQL.
The database and the Triton Software must be installed in the base station. The
Drowning Detection interface will allow waterparks to define the parameters to calculate
the depth of a swimmer and determine when a drowning scenario occurs.
The fifth functional piece is the Lifeguard Station. The Lifeguard Station is a
touch screen monitor that lifeguards will use to acknowledge a hazardous situation. The
purpose of the touch screen is to make lifeguards’ interaction with the Alert and Display
interface easy. The Alert and Display interface is a real time simulation of the swimming
pool or area under surveillance. When a potential drowning victim is detected, an alert is
sent to the Alert and Display interface; the alert will display the swimmer’s information
and location. The location of the victim is based on the intersection of the range covered
by the antennas that transferred the signals. Figure 2 illustrates the location algorithm
process.
[This space is intentionally left blank]
9
Triton Lab II – Prototype Product Specification
Figure 2. Triton Location Algorithm
Triton’s market is divided into two categories: artificial and natural, artificial being
Triton’s primary market. The artificial category consists of outdoor and indoor
waterparks and swimming pool facilities. Currently, there are more than one thousand
waterparks in the United States and over six hundred in other countries; these numbers
keep increasing every year. According to the World Waterparks Association (n.d.), the
average attendance growth per year is three to five percent, and the estimated
attendance at water parks in the United States was about 73 million during the summer
of 2004. Assuming that the entry to a waterpark costs $30 per person, during the
summer of 2004, approximately $2,190 million was generated. In the artificial category,
Triton only has three main competitors, the Poseidon System, Swimguard Safety
System, and DEWS. On the other hand, the natural category consists of private
beaches and lakes, mainly owned by hotels, clubs, and resorts. This category has not
been explored by Triton’s competitors because they fail to work in natural environments
10
Triton Lab II – Prototype Product Specification
due to water movement and clarity. Once the Triton System has been successfully
proven to work on the first category, Triton will immediately pursue the second category.
1.2
Scope
The Triton prototype will demonstrate that its sensor based surveillance system
is feasible. Triton will prove two main things: communication underwater between
RuBeeTM tags and an antenna connected to a RuBee TM receiver and detection of a
possible drowning scenario. The first functional objective deals with underwater
communication. It is very important to successfully demonstrate that RuBee TM tags can
send signals to a RuBeeTM receiver. The RuBeeTM receiver will use an antenna to
capture signals from RuBeeTM tags; furthermore, Triton will use the RuBeeTM Finder
Software, provided by Visible Assets Inc., to show the unique ID of each RuBeeTM tag
that is read by the antenna. The RuBeeTM receiver will transfer the data to a laptop,
provided by the ODU Computer Science department, used to simulate the base station
where the RuBeeTM Finder Software will be installed.
The second functional objective deals with the detection of a possible drowning
scenario. Based on a formula and pre-established parameters such as water density,
gravity, atmospheric pressure, and the swimmer’s arm length, the formula returns the
depth of the swimmer. In addition, the Triton System Prototype needs data from a
wet/dry and pressure sensor, which will be simulated, to determine when a swimmer is
in the pool and underwater. The formula is applied every second. If the swimmer is in
the pool, underwater, and the depth does not change after 15 seconds, an alarm with
the swimmer’s information and location is displayed on the Pool Alert View Interface.
Only authorized users such as lifeguards or administrators will be able to acknowledge
11
Triton Lab II – Prototype Product Specification
the alarm and disable it once the swimmer is not longer underwater. To demonstrate
how the Triton System Prototype GUI works, Triton will use pre-seeded data to simulate
different scenarios.
1.3
Definitions, Acronyms, and Abbreviations
Algorithm: Well-defined series of instructions that intend to solve a problem.
C# (C-Sharp): Object-oriented programming language developed by Microsoft as part
of the .NET initiative.
Drowning detection algorithm: Set of instructions designed to recognize potential
drowning scenarios.
Drowning Early Warning System (DEWS): Automated system that detects early
drowning behavior by analyzing swimmer movements in a pool.
Graphical User Interface (GUI): User interface that allows people to interact with a
computer and computer-controlled devices.
Institute of Electrical and Electronic Engineers (IEEE): Professional organization
which sets transmission system standards and protocols.
Jeff Ellis and Associates: Renowned firm specializing in aquatic risk management,
aquatic facility management, swimming instruction, and leaders in innovation for the
aquatics industry.
Microsoft Access: Program used to create relational databases. It is part of the
Microsoft Office Suite.
MySQL: Open source multi-user database management system.
12
Triton Lab II – Prototype Product Specification
Poseidon System: A computer-aided video surveillance composed of a network of
underwater and overhead cameras connected to a computer. Poseidon detects a
drowning behavior by analyzing the swimmer’s trajectories.
Radio Frequency Identification (RFID): Wireless, automatic identification method.
Data collection technology uses electronic tags for storing and remotely retrieving data.
RFID tags are inexpensive and small and therefore incorporated into a variety of
products in many different applications.
RuBee™: A two way, active wireless protocol that uses long wave magnetic signals to
send and receive short (128 byte) data packets in a local regional network.
RuBee™ receiver: Device that receives and demodulates RuBee™ signals.
RuBee™ tag: Device that sends long wave magnetic signals to antennas.
Silent Drowning: Term used to describe when victim is found motionless in the water
and victim was not seen submerging in the water.
Swimguard Safety System: Video surveillance system composed of a network of
underwater and overhead cameras. The system depends on a human response to
determine possible drowning behavior.
Transmission Control Protocol/Internet Protocol (TCP/IP): Networking protocol
used to get data from one network device to another.
Threshold: The point that must be exceeded to begin producing a given effect or result
or to elicit a response.
Visible Assets: Leader in the development of product and asset visibility solutions that
use wireless RuBee™ technology.
13
Triton Lab II – Prototype Product Specification
1.4
References
Barbieri, Cesar. (2008). Lab 1.1 – Triton Product Description. Virginia Beach, VA:
Author.
Brener, J. & Oostman, M. (2002, May). Lifeguards watch, but they don’t always see!
World
Waterpark
Magazine.
Retrieved
October
22,
2007,
from:
http://www.poseidon-tech.com/us/pressArticleWWA0205.pdf.
Centers for Disease Control and Prevention. (2008, January 23). WISQARS Injury
Mortality Reports, 1999 – 2005. Retrieved February 03, 2008, from Centers for
Disease Control and Prevention Web site: http://webappa.cdc.gov/sasweb/
ncipc/mortrate10_sy.html.
Centers for Disease Control and Prevention. (2007, November 20). Downloadable
Leading Causes Charts. Retrieved October 15, 2007, from Centers for Disease
Control and Prevention Web site: http://www.cdc.gov/ncipc/osp/charts.htm.
Orange Team. (2007, November). Triton Marketing Plan. Retrieved February 22, 2008,
from Triton Web site: http://www.cs.odu.edu/~cpi/cpi-f2007/triton/docs/
MarketingPlan.doc. Document created during CS 410 at Old Dominion
University.
Stevens, John. (2006, November). RuBee™ Visibility Networks IEEE P1902.1
(Pending). Retrieved February 3, 2008, from IEEE RFID 2007 Web site:
www.ieee-rfid.org/2007/documents/Camus-IDTechV1-5-Stevens.ppt.
World Waterpark Association. (n.d.). Waterpark Industry General & Fun Facts.
Retrieved October 22, 2007, from World Waterpark Association Web site:
http://www.waterparks.org/otherArticles/Generalfacts.pdf.
14
Triton Lab II – Prototype Product Specification
1.5
Overview
This product specification document provides the hardware and software
configuration, external interfaces, capabilities, and features of the Triton prototype. Due
to budget limitations, data that should be provided by wet/dry and pressure sensors will
be simulated. Triton will use a RuBee™ demonstration kit provided by Visible Assets
Inc. The kit includes an antenna, a receiver, tags (without wet/dry and pressure sensors
attached), a CD-ROM with RuBee™ Finder Software, a demo kit manual, a power
supply, and cables; furthermore, an aquarium, a brick, an ODU laptop, a database
developed with Microsoft Access, and the Triton System Prototype software will be
required during the prototype demonstration. The Triton System Prototype software has
seven major interfaces: User Login, Swimmer Registration, Swimmer Administration,
Prototype Detection Algorithm, Pool Alert View, Prototype Settings, and User
Administration. These interfaces will be used to simulate different swimmer scenarios,
which will help to prove that Triton is capable of detecting and sending an alarm when a
swimmer is drowning; however, a set of functional, performance, and non-functional
requirements need to be met in order to demonstrate a working prototype.
2
GENERAL DESCRIPTION
Triton’s prototype will demonstrate that its sensor based surveillance system is
feasible. Triton will prove two main things: communication underwater between
RuBeeTM tags and an antenna connected to a RuBee TM receiver and detection of a
possible drowning scenario by the drowning detection algorithm. This section includes a
description of the Triton prototype architecture, major functional components, hardware,
software, and user interfaces.
15
Triton Lab II – Prototype Product Specification
2.1
Prototype Architecture Description
Figure 3 illustrates the major functional components of the Triton System
Prototype. RuBeeTM tags without pressure and wet/dry sensors attached and a
RuBeeTM receiver with an antenna will be used to implement the Triton prototype. The
RuBeeTM receiver needs to be connected to a laptop, provided by ODU’s Computer
Science department, through a Universal Serial Bus (USB) port. The antenna needs to
be connected to the RuBeeTM receiver. To test RuBeeTM technology and prove that
communication underwater is possible, an aquarium and a brick will be used to simulate
a pool environment. The information of RuBeeTM tags, antennas, and RuBeeTM
receivers will be stored in a database developed using Microsoft Access 2007, where a
unique ID will be assigned to each element. The IDs assigned to RuBeeTM tags and
antennas will help identify two things, who the swimmers are and swimmers’ pool
location in case of a drowning scenario. Simultaneously, this database will also store
the information of users that have access to the system.
[This space is intentionally left blank]
16
Triton Lab II – Prototype Product Specification
Figure 3. Triton Prototype Architecture
The Triton System Prototype, software developed by the Triton, is responsible for
five major operations, grant access to authorized users, register swimmers and users,
add and delete swimmers or users, detect and display when a swimmer is drowning,
and load different scenarios to show the functionality of the Triton prototype. To
accomplish the five major operations, the Triton System Prototype contains the
following interfaces: User Login, Swimmer Registration, Swimmer Administration,
Prototype Detection Algorithm, Pool Alert View, Prototype Settings, and User
Administration. The Triton System Prototype will be installed on the laptop where the
RuBeeTM receiver is connected. The laptop will be used to simulate the touch screen
17
Triton Lab II – Prototype Product Specification
display and the base station. Table 2 provides a summary of the differences between
the complete Triton System and the prototype version of it.
Features
Real World Project
Prototype
Wristbands
Waterproof wristbands will be
equipped with RuBeeTM tags.
Wristbands can be resized.
RuBeeTM
tags
RuBeeTM tags will be specifically
There are no sensors equipped on
designed by Visible Assets Inc. Tags RuBeeTM tags. Pressure and
will be equipped with pressure and
wet/dry readings will be simulated.
wet/dry sensors.
RuBeeTM
receivers and
antennas
RuBeeTM receivers will be purchased Receivers and antennas are
from Visible Assets Inc. Antennas will donated by Visible Assets Inc.
be attached and placed in the pool.
There are only one receiver and
two antennas available.
The Triton
Software
A user friendly GUI application that
allows park administrators to add
and remove users from the system.
Also, it alerts lifeguards of potential
drownings. The software includes
three major modules:
1. Administration and
Registration which adds and
removes swimmers and
users.
Actual wristbands will not be
created; however, software will
simulate swimmers wearing
wristbands.
The GUI will have more
functionality than the real world
product. The software is called
Triton System Prototype. Triton
System Prototype includes seven
major interfaces:
1. User Login.
2. Swimmer Registration.
3. Swimmer Administration.
2. Alert and Display which
displays a potential drowning
victim information and
location.
4. Prototype Detection
Algorithm.
5. Pool Alert View.
3. Drowning Detection which
uses the drowning detection
algorithm to recognize a
potential drowning victim.
6. Prototype Settings.
7. User Administration.
18
Triton Lab II – Prototype Product Specification
Features
Real World Project
Prototype
Swimmer Registration, Swimmer
Administration, and User
Administration have the same
functionality as the real world
product’s Administration and
Registration module.
Pool Alert View has the same
functionality as the Alert and
Display module.
Prototype Detection Algorithm
shows how the Drowning
Detection module works.
Prototype Setting allows pool
configuration and swimmer data
files to be loaded into the software.
Application
server and
touch screen
monitor
The Triton software will be hosted on
a dedicated application server. Touch
screen monitors will be used as
lifeguard stations.
The Triton System Prototype
software will be installed on an ODU
laptop, which will simulate the
lifeguard station.
Database
MySQL.
Microsoft Access will be used.
Environment
Wave pools.
An aquarium will be used.
Drowning
victim
Park patrons.
It will be simulated in the software.
Table 2. Triton Feature Comparison between Full Product and Prototype
2.2
Prototype Functional Description
The major functional components of the Triton prototype include the following:
underwater RuBeeTM communication, secure access, registration and administration,
drowning detection process, settings, and alert and display. Proving that RuBeeTM
technology allows underwater communication is a very important factor in the
19
Triton Lab II – Prototype Product Specification
development of the Triton prototype. An antenna, located under the aquarium, will be
connected to a RuBeeTM receiver, which will be connected to an ODU laptop. The
laptop will run RuBee‘sTM Finder Software. The software application will display any
RuBeeTM tags that are or are not in the range of the antenna. Figure 4 illustrates the
RuBeeTM tag process flow.
Figure 4. RuBeeTM Tag Demonstration Process Flow
To provide secure access, the database requires a login table. This table will
have three fields: username (primary key), password, and type. Figure 5 illustrates the
login table. The User Login Interface allows users with a matching username and
password to successfully login into the system. The three valid types of users that have
access to different levels of the system are admin, lifeguard, and cashier. The admin will
have full access to the system; this user will be able to add and remove swimmers and
users, load and run pre-seeded data, and have access to all interfaces. The lifeguard
20
Triton Lab II – Prototype Product Specification
will only have access to the Pool Alert View and Prototype Setting Interfaces. The
cashier will only have access to the Swimmer Registration, Swimmer Administration,
and Prototype Setting interfaces.
Figure 5. Login Table
To accomplish the registration and administration functional component, the
interfaces required are Swimmer Registration, Swimmer Administration, and User
Administration. The Swimmer Registration allows cashiers to add swimmers to the
system by verifying that the swimmer has not been registered already; furthermore,
swimmers are assigned a unique ID, which must be link to a working RuBee TM tag.
Figure 6 illustrates the registration process flow. The Swimmer Administration allows
cashiers to delete swimmers information from the system when they leave the pool
facility. The User Administration allows an admin to add and remove users from the
Login table in the database and grant users different access levels to the system.
[This space is intentionally left blank]
21
Triton Lab II – Prototype Product Specification
Figure 6. Registration Process Flow
Drowning detection process, implemented with the drowning detection algorithm,
allows swimmers real time vigilance. Every swimmer that has been issued a unique ID
is monitored. Drowning detection process displays data reports in a tabular form. These
data reports consist of the swimmers’ depth per each second they are in the pool. If
based on a repeated depth calculation that involves water density, gravity, atmospheric
pressure, and the swimmer’s arm length a swimmer is underwater for more than a predefined time, the drowning detection process communicates with Pool Alert View
Interface to alert lifeguards. Figure 7 illustrates the drowning detection algorithm
process flow.
22
Triton Lab II – Prototype Product Specification
Figure 7. Drowning Detection Algorithm Process Flow
To demonstrate that the Triton System Prototype works as described, different
settings are necessary. The Prototype Setting Interface will be used to load the system
with pre-seeded data. The pre-seeded data will provide four different swimmer
scenarios. The first scenario will show a swimmer outside the pool. The second
scenario will show a swimmer in the pool, but above the water level. The third scenario
will show a swimmer moving down and up. The last scenario will simulate a swimmer
drowning.
Alert and display demonstrates that based on the data received by the drowning
detection process, a drowning alert message with the victim’s location in the pool will be
displayed on the Pool Alert View Interface. Once a drowning situation has been
23
Triton Lab II – Prototype Product Specification
acknowledged by lifeguards and the situation is under control, only users with a valid
password and proper access level, either a lifeguard or an admin, will be able to disable
the alarm. The user disabling the alarm will have to verify that the RuBeeTM tag ID
involved is working fine by checking the reading from the wet/dry sensor; the reading
needs to be “dry” to prove that the tag is not longer underwater and working fine. Figure
8 illustrates the disabling an alarm process flow.
Figure 8. Disabling an Alarm Process Flow
2.3
External Interfaces
This section identifies the logical and physical interfaces used within and by the
Triton prototype. The interfaces included in this section are hardware, software, user
interface, and communication protocols. The major hardware interfaces are a laptop, a
RuBeeTM demo kit, and an aquarium. The major software interfaces are RuBeeTM Finder
Software, Microsoft Access, and Visual C#. The major user interface is the Triton
System Prototype software. The communication protocols used are TCP/IP and IEEE
P1902. The following sub-sections provide a detailed description of the interfaces.
24
Triton Lab II – Prototype Product Specification
2.3.1 Hardware Interfaces
A laptop and a RuBeeTM demo kit donated by Visible Assets Inc. will be used to
implement the Triton prototype. The RuBeeTM demo kit includes the following: four
RuBeeTM tags, two antennas, and one RuBeeTM receiver. RuBeeTM is a bi-directional
peer-to-peer technology that operates at low frequencies. RuBeeTM tags have a built in
CPU and memory; furthermore, sensors such as temperature, pressure, wet/dry,
humidity, among others, can be attached to the tags. In addition, RuBee TM tags are
designed to work in a network of more than a thousand tags and they have a range of 3
to 100 feet (Stevens, 2006). Based on the range, the antennas detect RuBeeTM tags
and transfer the signal to a RuBeeTM receiver which converts the signal into data. This
RuBeeTM receiver will be connected to an ODU laptop that will be used to monitor the
tags recognition and run the Triton System Prototype software application. Also, an
aquarium will be required to simulate a pool environment and test communication
underwater.
2.3.2 Software Interfaces
Three software applications are required to implement Triton’s prototype.
RuBeeTM Finder Software will be used to demonstrate underwater communication by
displaying the unique ID of RuBeeTM tags that are active (in range) and inactive (out of
range) according to the antennas’ settings. In addition, C#, an object-oriented
programming language developed by Microsoft, will be used to develop the Triton
System Prototype software, which will be used to register swimmers and users, detect a
possible drowning scenario, and display an alert and the position of the victim in the
pool; furthermore, since the Triton System Prototype software needs a database to
25
Triton Lab II – Prototype Product Specification
store and read RuBeeTM tags and users’ information, Microsoft Access will be used to
develop Triton’s database. All software applications will be installed and run on the ODU
laptop.
2.3.3 User Interfaces
The Triton System Prototype software has seven user interfaces. The interfaces
are User Login, Swimmer Registration, Swimmer Administration, Prototype Detection
Algorithm, Pool Alert View, Prototype Settings, and User Administration. The User Login
Interface provides access to authorized users only. If the username and password do
not match the information in the database, an error is displayed with the proper
message. The Swimmer Registration Interface allows a user to collect swimmers’
information and uniquely identify each swimmer by assigning him a RuBeeTM tag ID.
Before assigning a RuBeeTM tag ID, the system checks if the RuBeeTM tag is working
properly and if the ID exists in the database. The Swimmer Administration Interface
allows a user to view and remove swimmers information. The Prototype Detection
Algorithm enables a user to setup the parameters that will be used to determine a
drowning case. The Pool Alert View Interface displays an alarm with the swimmers
information and location when a drowning scenario is detected. The Prototype Settings
Interface allows a user to upload files with different pools and swimmers’ information.
The User Administration Interface enables a user to register new users and grant them
access levels to the system. Figure 9 illustrates the interaction of the seven user
interfaces.
26
Triton Lab II – Prototype Product Specification
Figure 9. User Interface Map
2.3.4 Communication Protocols and Interfaces
The Triton prototype will use the Transmission Control Protocol/Internet Protocol
(TCP/IP) and IEEE P1902.1 protocol. The TCP protocol is responsible for an error free
connection between two computers, while the IP protocol is responsible for the data
packets sent over the network. The IEEE P1902.1 is a long wavelength wireless
network protocol that ensures the interoperability of RuBeeTM technology (Stevens,
2006).
3
SPECIFIC REQUIREMENTS
The following sections describe the specific functional, performance, and non-
functional requirements of the Triton prototype. To make the Triton product feasible,
these functional and performance requirements need to be met. The last section will
describe the non-functional requirements of the Triton prototype. The non-functional
requirements will address the Triton prototype’s security, maintainability, and reliability.
27
Triton Lab II – Prototype Product Specification
3.1
Functional Requirements
The functional requirements of the Triton prototype will specify the particular
behavior and capabilities of the prototype. Each requirement will be grouped into a
functional area and will contain a statement describing a key attribute of the prototype.
The
functional
requirements
include
details
on
RuBee™
setup,
underwater
communication, user login, swimmer registration and administration, pool alert,
prototype detection algorithm, prototype settings, user administration, and the access
database of the Triton System Prototype.
3.1.1 RuBeeTM Setup
To demonstrate RuBee’s™ ability to communicate underwater, Triton will utilize
software and hardware provided by Visible Assets Inc. Visible Assets Inc. provided
Triton with a RuBee™ demonstration kit to use during the Triton prototype’s
demonstration. The following is an inventory of the demonstration kit’s contents and
requirements for setup:
1. Receiver
2. Ranger Antenna
3. Four RuBee™ Radio Tags
4. CD-ROM with RuBee™ Finder Software & Demo Kit Manual
5. Associated Cables and Power Supplies
In order to successfully demonstrate that the RuBee™ hardware will work as
intended, the RuBee™ Finder Software must be installed on the ODU student laptop in
accordance with the provided Visible Assets software demo kit manual (see 3.1.2 for
28
Triton Lab II – Prototype Product Specification
software requirements). The associated hardware will have to be connected as shown
in Figure 10.
Figure 10. Hardware Connection Set Up
3.1.2 Underwater Communication Demonstration
In order to use the RuBee™ Finder Software to validate the functional
requirements for underwater communication, the Finder Software must be installed
according to the directions provided by Visible Assets Inc. in the demo kit manual.
Figure 11 illustrates the RuBee™ Finder Software, which will be used to display and
verify the following functional requirements:
1. The RuBee™ receiver can read a tag in a dry environment within the range of
the antenna.
29
Triton Lab II – Prototype Product Specification
2. Using an aquarium filled with water, the RuBee™ receiver can read a
submerged tag within the range of the antenna.
3. The RuBee™ receiver can read a submerged tag covered with a brick within
the range of the antenna.
Figure 11. RuBeeTM Finder Software Screen Shot
3.1.3 User Login Interface
The purpose of the User Login Interface is to grant access and authorization
level to official users. The User Login Interface will adhere to the following functional
requirements:
1. Accept a username and password combination.
2. Validate the entered username and password with the stored information in the
login table in the database (see functional requirement 3.1.9 for database
requirements).
30
Triton Lab II – Prototype Product Specification
3. Allow users with the correct username and password combination to log into
the system, and grant the users the proper authorization level (administrator,
lifeguard, or cashier) as listed below.
a. An administrator will have access to the following interfaces: Swimmer
Administration, Swimmer Registration, Pool Alert View, Prototype
Detection Algorithm, Prototype Settings, and User Administration.
b. A lifeguard will have access to the following interfaces: Pool View Alert
and the Prototype Setting interfaces.
c. A cashier will have access to the following interfaces: Swimmer
Registration, the Swimmer Administration, and the Prototype Setting
interfaces.
4. Unauthorized users (users without a correct username and password
combination) will not be granted access to the system at all, and a login error
message will be displayed.
5. Authorized users will be allowed to logout from the system while using any
other interface.
3.1.4 Swimmer Registration and Administration Interfaces
The Swimmer Administration and Registration interfaces have similar functional
requirements; therefore, they are combined in this section. The Swimmer Registration
Interface will allow authorized users to register swimmers, and assign each swimmer a
unique wristband ID / RuBee™ tag ID. The Swimmer Administration Interface will allow
authorized users to remove previously registered swimmers from the Triton System
31
Triton Lab II – Prototype Product Specification
Prototype. The Swimmer Administration and Registration interfaces will adhere to the
following functional requirements:
1. When a swimmer is registered, the following information will be required:
a. Swimmer First Name
b. Swimmer Last Name
c. Swimmer Arm Length (Measured from the swimmers nose to the wrist)
d. Swimmer Gender (Male / Female)
e. Swimmer Age (Child / Adult)
f. Swimmer Wristband ID
g. Emergency Contact First Name
h. Emergency Contact Last Name
i.
Emergency Contact Phone Number
It will be optional to enter additional information about the swimmer or
emergency contact.
2. Swimmer information is tied to a unique wristband ID. If a new swimmer is
registered to a wristband that is already in use, the swimmer registration
request will fail and an error message will be displayed.
3. The Swimmer Administration Interface will display a list of the wristbands
currently in use by the system. The user will be able to select a swimmer and
view the swimmer’s information.
4. The Swimmer Administration Interface will allow the user to either remove a
single swimmer or all of the swimmers from the system.
32
Triton Lab II – Prototype Product Specification
3.1.5 Pool Alert View Interface
The Pool Alert View Interface will display a view of the pool and the location of
the antennas in the pool. The user will be able to select swimmers from a list and view
their location in the pool. It will also alert the lifeguard of a potential drowning swimmer.
The Pool Alert View Interface will adhere to the following functional requirements:
1. An aerial view of the pool and RuBee™ antenna locations will be displayed
along with the current time.
2. A list of all of the swimmers registered in the system will be displayed. The user
will be able to select a swimmer and some of their personal information (Name,
Gender, Age, and Additional Information) will be displayed as well as their
location in the pool.
3. If a swimmer is drowning, an alarm message will be displayed and the victim’s
location in the pool will be shown.
4. An alarm can only be disabled when the wristband sensor readings indicate
safe conditions for the swimmer. To disable an alarm, a proper username and
password combination must be entered by an authorized lifeguard user. Any
errors disabling the alarm will be displayed.
3.1.6 Prototype Detection Algorithm Interface
The Prototype Detection Algorithm Interface will show how a swimmer’s depth
will be determined by the wristband sensor readings. The user will be able to enter
various sensor readings and modify environment variables in order to demonstrate how
the wristband depth will be calculated. The Prototype Detection Algorithm Interface will
adhere to the following functional requirements:
33
Triton Lab II – Prototype Product Specification
1. The user will be required to enter the following information to compute a depth
measurement:
a. Pressure Sensor Reading
b. Wet/Dry Sensor Reading
c. Swimmer Arm Length
The following fields will be populated with normal physical constants (assuming
standard temperature and pressure):
a. Atmospheric Pressure
b. Acceleration due to Gravity
c. Density of the Pool Water
2. The user will be able to compute the depth of the wristband once all of the
above fields are filled with proper information. Any errors (data entry or
computational errors) will be displayed to the user.
3. The depth detection algorithm will calculate wristband depth using the following
formula:
D = (P - S) / (R * g)
where:
P = water pressure (pascals)
S = atmospheric pressure (pascals)
R = pool water density (kg / m3)
g = gravity (m / s2)
D = depth of the object (m)
34
Triton Lab II – Prototype Product Specification
4. The depth will be displayed to the user in inches (converted from meters).
3.1.7 Prototype Settings Interface
The purpose of the Prototype Settings Interface is to provide a mechanism to
load swimmer data and swimmer scenario files into the Triton System Prototype
software. This allows the user demonstrating the system to easily show various
capabilities of the system as if there were actual swimmers using the system (see
functional requirement 3.1.11 for the swimmer simulation requirements). The Prototype
Settings Interface will adhere to the following functional requirements:
1. The user will be able to load a list of swimmers and their information into the
system (see 3.1.10.1 for the simulated data requirement for swimmers).
2. The user will be able to load various swimmer scenarios, which will display the
various drowning and swimming scenarios that the system will be expected to
handle (see 3.1.10.2 for the simulated data requirement for scenarios).
3.1.8 User Administration Interface
The User Administration Interface will allow a system administrator to add and
remove users from the system. The User Administration Interface will adhere to the
following functional requirements:
1. The administrator user will be able to add a new user to the system, specifying
the user’s password and user’s type.
2. The User Administration Interface will display a list of users with their
authorization levels.
3. An administrator user will be allowed to remove users from the system.
35
Triton Lab II – Prototype Product Specification
4. An administrator user will be allowed to reset the password of any other user.
5. The username and password combination will be stored with the user’s
authorization level in the login table in the database.
3.1.9 Access Database
The Access Database must be created with two tables; the first table login is
used to store login information for users of the Triton System Prototype. The second
table ID relates wristband IDs to RuBee™ tag IDs. The Access Database will adhere to
the following functional requirements:
1. The table Login will have the following schema:
a. Login will have three attributes: username, password, and type.
b. The primary key of the Login table will be username.
c. The password attribute cannot not be null (empty).
d. The user type attribute values will be either admin, cashier, or
lifeguard.
2. The table ID will have the following schema:
a. ID will have two attributes: wristbandID and tagID.
b. The primary key of the ID table will be wristbandID.
c. The tagID attribute cannot be null (empty).
3.1.10 Simulated Data
Because of the existing limitations of the RuBee™ demo kit, the Triton System
Prototype software cannot connect to the RuBee™ hardware. The RuBee™ will be
shown to work as per functional requirements 3.1.1 and 3.1.2, but in order to show that
36
Triton Lab II – Prototype Product Specification
the Triton System prototype software works, simulated sensor reading and locations
must be used. The various pre-seeded data will include different swimmer information
and swimmer scenarios. The data will be loaded into the software from various files of
the user’s choice. The pre-seeded simulated data must meet the following
requirements:
1. The pre-seeded swimmer information data will include all of the information
required to register a swimmer as per functional requirement 3.1.4.1.
2. The pre-seeded swimmer scenario data will include swimmer locations in the
pool as well as simulated wet/dry and pressure sensor readings tied to specific
RuBee™ tag IDs per time-step (one second) for a various length of time.
3.1.11 Swimmer Simulation
In order to simulate swimmers in the Triton System Prototype, swimmer
simulation scenarios will be used. Simulated data for swimmers and scenarios will be
pre-made according to the functional requirements in 3.1.10. In order to demonstrate
swimmers actively swimming, all three types of users will be able to load various
swimming scenarios and control which particular time-step the scenario is at. The
simulation of active swimmers must meet the following requirements:
1. All three types of users will be able to access the Prototype Settings Interface
as per functional requirement 3.1.3.3 and load simulated swimmer data and
scenarios from it.
2. When a swimming scenario is loaded, the user will be able to move forward or
backward in time for each time-step to properly demonstrate the system.
37
Triton Lab II – Prototype Product Specification
3. The depth detection algorithm will run on the data for each swimmer at each
time-step (see functional requirement 3.1.6.3). If a swimmer’s wristband is
determined to be underwater (depth of the wristband is greater than the arm
length) for more than 15 seconds, an alarm will be sounded in the pool alert
view.
4. The sensor data for each time-step must be stored in an archive file along with
the wristband ID and personal information, so that in case of a drowning
incident, administrators can review the sensor readings.
3.2
Performance Requirements
The following performance requirements will be used to measure the functions,
behaviors, and capabilities of the Triton prototype. Each performance requirement will
have numeric boundaries, stated in measurable terms. Some modules may have more
than one performance requirement; however, each requirement will be an individual
statement with a unique identifier.
[This space is intentionally left blank]
3.2.1 Underwater Communication
1. RuBee’s™ antenna will meet the following performance requirements:
a. Ability to receive RuBee™ communications within a six to twelve foot
range.
b. Capability of reading up to four RuBee™ tags simultaneously.
38
Triton Lab II – Prototype Product Specification
2. RuBee’s ™ receiver and Finder Software will meet the following performance
requirement:
a. Ability to receive communication from four tags simultaneously.
3. RuBee™ radio tags will meet the following performance requirements:
a. Capability of storing up to 10KB.
b. Capability of transmitting 1KB per second.
c. Ability to maintain 4,000 days of battery life.
3.2.2 Detection Algorithm
The Detection Algorithm will:
1. Communicate with the Pool Alert View Interface and alert if swimmer’s depth
exceeds swimmer’s arm length for 15 consecutive seconds (see 3.1.11.3
functional requirement for swimmer simulation).
2.
Be capable of processing up to four swimmer’s simultaneously, including
sending alerts.
3. Be capable of sending an alert within two seconds of swimmer meeting the
alert criteria.
3.3
Assumptions and Constraints
Due to limitations and constraints associated with the Triton prototype, the Triton
group developed a list of assumptions. It is necessary to document any assumptions,
constraints, and dependencies because they often affect the requirements of the
product or relate to incompleteness in the prototype. For example, the Triton group will
39
Triton Lab II – Prototype Product Specification
not be able to demonstrate simultaneous communication with more than four tags
because only four tags were provided by Visible Assets Inc. Table 3 contains a
complete list of assumptions, constraints, and dependencies associated with the Triton
prototype.
[This space is intentionally left blank]
40
Triton Lab II – Prototype Product Specification
Conditions
There will be at most four
swimmers in the pool.
Type
Assumption
Effect on Requirements
The effectiveness of the algorithm on
more than four swimmers will not be
tested.
There will be four swimmer
scenarios:
1. Swimmer outside the
pool.
2. Swimmer in the pool, but
above water level.
Assumption
Algorithm will not be tested on other
scenarios.
Assumption
Time delay may not be tested.
3. Swimmer in the pool
moving down and up.
4. Swimmer drowning.
RuBee™ tags transmit data
every one second.
Actual pressure and wet/dry
Constraint
readings will not be recorded.
Actual time and depth data
will not be recorded.
Constraint
Actual pressure and wet/dry readings will
be simulated by Triton System Prototype
software.
For each swimmer, time and depth data
will be simulated. There will be 60
seconds worth of data.
An ODU laptop is available to
Dependency Otherwise, a student laptop will be used.
host the application.
The drowning detection
The software functional components of
algorithm is used to detect
Dependency the prototype will fail if the algorithm does
drowning cases.
not work.
RuBee™ demo kit will be
The hardware functional components will
used to demonstrate Triton’s Dependency
fail if tags do not work.
ability to work underwater.
Table 3. Assumptions, Dependencies, and Constraints on Prototype
Requirements
3.4
Non-Functional Requirements
Non-functional requirements characterize the performance of the product and
they are present in the background, as well as throughout each functional component.
Many non-functional requirements impact directly or otherwise interrelate with many of
41
Triton Lab II – Prototype Product Specification
the prototype’s functional requirements. These requirements involve security issues,
maintainability, and reliability.
3.4.1 Security
Access control is critical to make sure that users cannot abuse the system. If the
User Login Interface is created according to functional requirement 3.1.3, unauthorized
users will not be granted access to the system and authorized users will be given
access to the appropriate interfaces. Another major security concern is having a user
disable an alarm when they should not be allowed to (see functional requirement
3.1.5.4).
3.4.2 Maintainability
The two main things that need to be maintained are the swimmer information and
the hardware functionality. Once swimmers are added to the system, their information is
stored internally in the prototype software. Accordingly, the swimmer’s information will
be removed from the system once the swimmer leaves the park and turns the wristband
back in. Hardware, including laptop, tags, receiver, antenna, and associated cabling will
also be visually inspected and tested by Triton group members periodically and prior to
prototype demonstration.
3.4.3 Reliability
For the Triton prototype to be considered successful, it must meet certain
reliability standards. The RuBee™ tags must be able to establish two way
communications with the receivers and have 100% transmission quality, with no lost
42
Triton Lab II – Prototype Product Specification
packets or abnormal signal degradation.
The prototype software must also work
correctly with no fatal errors, and it should be free of any race conditions and other
errors that could cause the software to lock up. The databases that the software will
access should also be able to store and query data whenever necessary.
4
APPENDIX
The appendix contains additional documentation regarding Triton’s prototype.
4.1
Formal Resource Request Document
Team: Orange/Triton
Project Manager: Kate Nguyen
The following resources are required to be purchased for the prototype development
and demonstration of the Triton System product:
Hardware Purchase (list all items required for purchase)
1. Aquarium (to demonstrate underwater communication)
a. Make, Model: GAL HIGH AQUARIUM ROSEWOOD. Dimension: 24 X 12 X
16. Code: 4749711112
b. Vendor: PERFECTO MANUFACTURING.
http://www.petswarehouse.com/Vpasp/shopexd.asp?id=257721&zmam=
90031077&zmas=12&zmac=62&zmap=257721
c. Cost: $38.24
d. Date required: April 23
43
Triton Lab II – Prototype Product Specification
e. Deliver to: Triton
2. Concrete Bricks (to demonstrate RuBeeTM ability to work around bricks)
a. Make/Model: Any
b. Date required: April 23
c. Deliver to: Triton
Software Purchase (list all items required for purchase):
None. All free versions of software were already acquired.
The following university resources are required to support the prototype development
and demonstration:
None. University laptop was already acquired.
44
Download