Design_Proposal_Final_1_

Document Sample
Design_Proposal_Final_1_ Powered By Docstoc
					LANE DEPARTMENT OF COMPUTER SCIENCE AND ELECTRICAL ENGINEERING




                NASA SLIS
              Final Design Proposal

                            Group 9

                         Samantha Hess

                         Justin Robinson

                         Rebecca Rush

                         Everett Thomas



                          11/30/2011
Table of Contents

1. Introduction .............................................................................................................................................. 6
2. Extended Problem Statement ................................................................................................................... 7
   2.1 Need .................................................................................................................................................... 7
   2.2 Objective ............................................................................................................................................. 8
   2.3 Background ....................................................................................................................................... 10
   2.4 Stakeholders Goals............................................................................................................................ 11
   2.5 Objective Tree ................................................................................................................................... 12
   2.6 Ranking of Needs .............................................................................................................................. 13
   2.7 Architecture ...................................................................................................................................... 14
3. Requirement Specification ...................................................................................................................... 15
   3.1 Function Descriptions ....................................................................................................................... 15
       3.1.1 System Functions ....................................................................................................................... 15
       3.1.2 Device Functions ........................................................................................................................ 15
       3.1.3 Light Functions ........................................................................................................................... 16
       3.1.4 Thermostat Functions ................................................................................................................ 16
       3.1.4.3 Thermostat_cool ..................................................................................................................... 17
       3.1.5 Alarm Functions ......................................................................................................................... 17
3.2 Engineering and Marketing ................................................................................................................... 18
   3.2.1 Marketing Requirements ............................................................................................................... 18
   3.2.2 Engineering Requirements............................................................................................................. 19
   3.2.3 System Requirements Specification............................................................................................... 20
   3.2.4Egineering-Engineering Requirements Tradeoffs ........................................................................... 21
3.3 Competitive Benchmarks ...................................................................................................................... 22
   3.3.1 Constraints ..................................................................................................................................... 22
       3.3.1.1 Economic ................................................................................................................................. 22
       3.3.1.2 Environmental ......................................................................................................................... 22
       3.3.1.3 Ethical and Legal ..................................................................................................................... 22
       3.3.1.4 Health and Safety .................................................................................................................... 22

                                                                                                                                                                2
       3.3.1.5 Manufacturability ................................................................................................................... 22
       3.3.1.6 Social ....................................................................................................................................... 22
       3.3.1.7 Sustainability ........................................................................................................................... 22
   3.3.2 Standards ....................................................................................................................................... 22
       3.3.2.1 Safety ...................................................................................................................................... 22
       3.3.2.2 Programming languages ......................................................................................................... 22
       3.3.2.3 Meta-Standards ...................................................................................................................... 23
4. System Design ......................................................................................................................................... 24
4.1 Scope ..................................................................................................................................................... 24
4.2 Context Diagram ................................................................................................................................... 24
4.3 User Definitions..................................................................................................................................... 25
   4.3.1           Administrator ......................................................................................................................... 25
   4.3.2           User ........................................................................................................................................ 25
4.4 Interface Descriptions ........................................................................................................................... 26
   4.4.1           Administrator Interface .......................................................................................................... 26
   4.4.2           User Interface.......................................................................................................................... 27
4.5 System Functions .................................................................................................................................. 28
4.6 Software Breakdown............................................................................................................................. 57
4.7 Database Breakdown ............................................................................................................................ 59
4.8 Use Cases .............................................................................................................................................. 60
5. Software Tests......................................................................................................................................... 63
5.1 System Functions .................................................................................................................................. 63
   5.1.1 System_On ..................................................................................................................................... 63
   5.1.2 System_Off ..................................................................................................................................... 63
   5.1.3 User_Login ..................................................................................................................................... 64
   5.1.4 User_Logout ................................................................................................................................... 64
   5.1.5 Add_User ....................................................................................................................................... 64
   5.1.6 Remove_User ................................................................................................................................. 65
   5.1.7 Set_User_Permissions.................................................................................................................... 65
   5.1.8 Switch_Input_Device ..................................................................................................................... 66
                                                                                                                                                    3
   5.1.9 Switch_Output_Device .................................................................................................................. 66
5.2 Device Functions ................................................................................................................................... 67
   5.2.1 Device_On ...................................................................................................................................... 67
   5.2.2 Device_OFF .................................................................................................................................... 67
   5.2.3 Device_Act ..................................................................................................................................... 68
   5.2.4 Add_Device .................................................................................................................................... 68
   5.2.5 Remove_Device ............................................................................................................................. 69
   5.2.6 Modify_Device ............................................................................................................................... 69
   5.2.7 Check_Device_State....................................................................................................................... 70
5.3 Light Functions ...................................................................................................................................... 71
   5.3.1 Light ON ......................................................................................................................................... 71
   5.3.2 Light OFF ........................................................................................................................................ 71
   5.3.3 Light Interval .................................................................................................................................. 72
   5.3.3 Light DIMNESS................................................................................................................................ 72
5.4 Thermostat Functions ........................................................................................................................... 73
   5.4.1 Thermostat ON............................................................................................................................... 73
   5.4.2 Thermostat OFF ............................................................................................................................. 74
   5.4.3 Thermostat COOL........................................................................................................................... 74
   5.4.4 Thermostat HEAT ........................................................................................................................... 75
   5.4.5 Thermostat UP ............................................................................................................................... 75
   5.4.6 Thermostat DOWN......................................................................................................................... 76
5.5 Alarm Functions .................................................................................................................................... 77
   5.5.1 Alarm ON........................................................................................................................................ 77
   5.5.2 Alarm STAY ..................................................................................................................................... 77
   5.5.3 Alarm Away .................................................................................................................................... 78
   5.5.4 Alarm OFF....................................................................................................................................... 78
6. Project Management Plan ...................................................................................................................... 79
   6.1 Work Breakdown .............................................................................................................................. 79
   6.2 Gantt Chart........................................................................................................................................ 81
   6.3 Budget ............................................................................................................................................... 84
                                                                                                                                                               4
   6.4 Qualifications .................................................................................................................................... 85
7. References .............................................................................................................................................. 90
Appendix 1 .................................................................................................................................................. 91
Appendix 2 .................................................................................................................................................. 92




                                                                                                                                                              5
1. Introduction
       (Completed by: Rebecca Rush)

       Science and Technology is continuing to grow, change, and affect our lives on a daily
basis. Around the world, engineers and scientist hope they can find the next big thing that will
either improve our lives or make them easier. NASA has been a household name for years and
continues to conduct exciting new research. NASA is constantly looking for a way to increase
public enthusiasm.

       As exciting as some research may be to the team of engineers or scientists working on it,
it may fail to be easily relatable to the mass audience. The public, who was intrigued with some
of NASA’s earliest advances, may not know all that is currently being worked on. The newest
technology could attract a following if it could be displayed in a friendlier way.

       NASA IV&V is a verification and validation facility. NASA IV&V SLIS is designed to
provide a functional but exciting way to display some of the projects that are being worked on at
the NASA IV&V building in Fairmont, WV. SLIS stands for Smart Lab Interface System.
NASA IV&V SLIS is intended to be highly interactive and motivate the public to take an interest
in science and technology advances. SLIS utilizes common every day technologies to introduce
and display cutting edge technology.




                                                                                                   6
2. Extended Problem Statement


2.1 Need
       (Completed by: Rebecca Rush)

       NASA IV&V SLIS hopes to pair old and new technology to create a user friendly
system. It is intended to exploit new opportunities using the Microsoft Kinect. The tablet market
is also growing in popularity as more people find the device portable and easy to use. An android
tablet offers more versatility and design choice and will be used to customize a user interface.
NASA IV&V SLIS will ultimately be used to demonstrate to the public the different projects that
NASA IV & V works with.

       This software will consist of a generic framework which will implement the core
features. To ensure that the generic framework of the system works correctly, the group will
create a smart lab demonstration. The smart lab demonstration will use 3 devices that are very
common in most households. This allows the implementation of this system to reach a wider
audience.




                                                                                                   7
2.2 Objective
       (Completed by: Rebecca Rush)

There are many requirements that make up the NASA SLIS project. The objectives of the system
have been laid out as follows and are prioritized from highest to lowest:

      Devices shall be connected via a common bus.

           o The generic framework which allows the devices to query their current state,
               utilizes their functionality, and transition to different states.

      A common protocol will be used.

           o The common functions i.e. on, off, will be applied to all devices.

      New devices can be easily added to the system.

           o Demonstration of adding a new device to the system.

      Two specific input devices will be used to interface with the system.

           o Microsoft Kinect.

           o Android Tablet.

      Two demonstrations will be given.

           o CEMR Senior Project Fair.

           o NASA IV&V Facility.

      The system will demonstrate on the following devices. Each device will have several
       features.

           o Three lights

                      Blink at intervals.

                                                                                             8
         ON/OFF modes.

         Adjust brightness level.

o Thermostat

         OFF/HEAT/COOL modes.

         Adjustable by 1 degree.

o Burglar Alarm

         OFF/ARMED AWAY/ARMED STAY modes.

         LED to indicate status.

         Three sensors that trip alarm.

         Shows which device tripped the alarm.

o Software application

         ON/OFF




                                                  9
2.3 Background
       (Completed by: Rebecca Rush)

NASA has been in the public eye and an icon to many. To be more relatable to the public it only
makes sense to use a new piece of technology that has captured the interest of the average
American home. The Microsoft Kinect sold more than 100 million units in the first 10 days it
was on the market (1). The Kinect proved to be a relatively expensive sensor that held some
great power. While the general public is interested in the applications already developed for this
innovative system, the more technologically minded are searching for ways to utilize this
hardware for more than what it was originally intended. OpenKinect was created with over 2000
members trying to create open source libraries that use the Kinect (2). The Kinect, unlike
previous AI attempts tracks a person on real time without having them wear sensors (1). The
merging of these two things, NASA and the Kinect, hopes to spark interest.




                                                                                                 10
2.4 Stakeholders Goals
       (Completed by: Rebecca Rush)

The goals of the stakeholders for NASA IV&V SLIS project will be monitored at all times
during the completion of the project to ensure they are being met. NASA IV&V SLIS:

      Will establish the new lab to be friendly to the public.

      Will allow the project to be expandable for future senior design groups.

      Will contain an extensible generic framework.


      Will make use of modularity.


      Will utilize the Microsoft Kinect.


      Will utilize an Android tablet with software or web application.


      Will be demonstrated through a smart lab implementation.


      Will demonstrate a fourth device being added to the system.




                                                                                          11
2.5 Objective Tree
     (Completed by: Rebecca Rush)


                                    NASA SLIS




       Demonstration                Framework      Hardware




         Smart Lab                   Generic        Kinect



      Add New Device                Extensible      Tablet



       IV&V Facility                 Modular       3 Lights



                                                  Thermostat



                                                 Burglar Alarm




                                                                 12
2.6 Ranking of Needs
       (Completed by: Rebecca Rush)



The first level of the objective tree shows the three major needs of NASA SLIS. The first priority
of the system is the framework. The framework needs to be generic to allow for the addition of
new input/output devices. It needs to be extensible to allow future senior design groups to
continue the project. Finally, the framework needs to be modular to allow for ease in maintaining
the code. Both the Kinect and Android tablet are needed for input devices to the system. The
other devices (lights, thermostat, and burglar alarm) are design choices for the demonstration
needs. NASA SLIS will use these three devices to implement a smart lab to demonstrate that it
works. A demonstration of a new device being added to the system is important to teach the
customers the protocols for using the system. The public must find NASA SLIS intriguing
because the public is what sparked the project idea. Finally it is important that the customer is
happy with the implementation and execution of NASA SLIS. The requirements should exceed
the customers’ expectations.




                                                                                                    13
2.7 Architecture
       (Completed by: Everett Thomas)

       The Server PC1 will be the system’s central server. All devices will connect to the server.
The kinect will be used as an input device to the system to control the output devices. The kinect
will communicate to the server via USB. The tablet will be the second input device to the
system. It will be used to control the output devices and make changes to the system. It will be
connected to the server through wireless area network. The output of the system will be the X10
components. The X10 components will be three lights, an alarm, and a thermostat. The X10
components will communicate to the server with RS-232 serial communication.




                                                           Server
                Commands                                    PC1




                                                   Commands



                                                                 Commands,
                                                                Configuration,
                                                                  Settings

   X10                          X10
              X10 Alarm
  Lights                     Thermostat
                                                                                 Interface Client
                                              Interface Client                        (Tablet)
                                                  (Kinect)                        Management
                                                                                     Interface
  PC – Personal Computer




                                                                                                   14
3. Requirement Specification

3.1 Function Descriptions
       (Completed by: Everett Thomas)

A description for each function can be found in this section of the document.

3.1.1 System Functions

3.1.1.1 System_On
System_On will turn the system on.

3.1.1.2 System_Off
System_Off will turn the system off.

3.1.1.3 User_Login
User_Login will allow a user to log into the system. Based on the user account, different
privileges will be given to the user.

3.1.1.4 User_Logout
User_Logout will allow the user to log out of the system.

3.1.1.5 Add_User
Add_User will add a new user account to the system.

3.1.1.6 Remove_User
Remove_User will remove a user account from the system.

3.1.1.7 Set_User_permissions
Set_User_permissions will set the account type for a user’s account to either an administrator or
user account.

3.1.1.8 Switch_Input_Device
Switch_Input_Device will change the input to the system to a different device.

3.1.1.9 Switch_Output_Device
Switch_Output_Device will change the current output device of the system.

3.1.2 Device Functions

3.1.2.1 Add_Device
Add_Device will add a new device to the system.


                                                                                                15
3.1.2.2Remove_Device
Remove_Device will remove a device from the system.

3.1.2.3 Modify_Device
Modify_Device will change the system properties for a device.

3.1.2.4 Check_Device_State
Check_Device_State will check the current state of the device such as if the device is on or off.

3.1.2.5 Device_On
Device_On will turn a device on. This is a generic on function that can turn any supported device
on.

3.1.2.6 Device_Off
Device_Off will turn a device off. This is a generic on function that can turn any supported
device off.

3.1.2.7 Device_Act
Depending whether the device is an input or output device, Device_Act will either call a function
that does something like heat, cool etc. or will display results. This will use inheritance and
polymorphism.

3.1.3 Light Functions

3.1.3.1 Light_on
Light_on will turn a light on. The function will take in the id of the light that is to be turned on.

3.1.3.2 Light_off
Light_off will turn off a light. The function will take in the id of the light that is to be turned off.

3.1.3.3 Light_Interval
Light_Interval set the duty cycle of the light. It will make the light blink at different cycles. This
function will take light id and duty cycle (0-100).

3.1.4 Thermostat Functions

3.1.4.1 Thermostat_on
Thermostat_on will turn the thermostat on.

3.1.4.2 Thermostat_off
Thermostat_off will turn the thermostat off.

                                                                                                        16
3.1.4.3 Thermostat_cool
Thermostat_cool will put the thermostat in cool mode.

3.1.4.4 Thermostat_heat
Thermostat_heat will put the thermostat in heat mode.

3.1.4.5 Thermostat_up
Thermostat_up will increase the temperature of the thermostat up by one degree.

3.1.4.6 Thermostat_down
Thermostat_down will decrease the temperature of the thermostat by one degree.

3.1.5 Alarm Functions

3.1.5.1 Alarm_Stay
Alarm_Stay will set the alarm to armed stay mode.

3.1.5.2 Alarm_Away
Alarm_Away will set the alarm to armed away mode.

3.1.5.3 Alarm_off
Alarm_off will turn the alarm off.




                                                                                  17
3.2 Engineering and Marketing


3.2.1 Marketing Requirements
       (Completed by: Everett Thomas)

Table 1 lists the marketing requirements for the NASA SLIS system.
                                  Table 1 - Marketing Requirements
Marketing Requirement Marketing Requirement Description

                       The alarm shall show its current mode.
          1
                       The system shall be able to dim the lights.
          2
                       The system shall be able to blink the lights
          3
                       The system shall be able to turn on the lights.
          4
                       The system shall be able to turn off the lights.
          5
                       The system shall be able to change the modes of the alarm
          6
                       The system shall be able to change the modes of the thermostat.
          7
                       The system must be able to change the temperature of the thermostat
          8
                       The system shall have an input of a tablet.
          9
                       The system shall have an input of a kinect.
          10
                       You shall be able to control the devices manually.
          11




                                                                                             18
3.2.2 Engineering Requirements
       (Completed by: Everett Thomas)

Table 2 lists the engineering requirements for the NASA SLIS system.

                                 Table 2 - Engineering Requirements
Engineering Requirement Engineering Requirement Description

                         Shall be able to add a new device to the system.
           1
                         Shall be able to remove a device.
           2
                         The system shall be able to turn a device off.
           3
                         The system shall be able to turn a device on.
           4
                         The system shall be able to change the state of a device.
           5
                         Shall be able to control the devices manually
           6
                         The system shall keep track of all device statuses.
           7




                                                                                     19
3.2.3 System Requirements Specification
       (Completed by: Everett Thomas)

Table 3 shows the relationships between the marketing and engineering requirements for the
NASA SLIS system.

                                 Table 3 - Requirement Specification
Marketing         Engineering
Requirement       Requirement           Justification

                                        The status of the alarm needs to be shown.
        1                  7
                                        The state of the lights needs to be changed.
        2                  5
                                        The state of the lights needs to be changed
        3                  5
                                        The lights will be turned on.
        4                  4
                                        The lights will be turned off.
        5                  3
                                        The state of the alarm will be changed.
        6                  5
                                        The state of the thermostat will be changed.
        7                  5
                                        The state of the thermostat will be changed.
        8                  5
                                        The tablet will show the status of the devices and control
                                        the devices and add or remove devices.
        9              1,2,3,4,5,7
                                        The kinect will control the devices.
       10                3,4,5
                                        Manual control of the devices is needed.
       11                  6




                                                                                                 20
3.2.4Egineering-Engineering Requirements Tradeoffs
       (Completed by: Everett Thomas)

Table 4 shows the engineering-engineering requirement tradeoffs for the NASA SLIS system.
The rows and columns represents the engineering requirements. An x shows that there is an
relationship between the requirements.

                              Table 4 - Engineering-Engineering Tradeoffs
                Add      Remove         Device      Device      Change      Manual    Device
                Device   Device         On          Off         State       Control   Status

Add Device

Remove
Device

Device On                                                                                 x
                                                                      x
Device Off                                                                                x
                                                                      x
Change State                                                                              x
                                                                                 x
Manual                                                                                    x
Control

Device Status




                                                                                               21
3.3 Competitive Benchmarks

3.3.1 Constraints
       (Completed by: Everett Thomas)

3.3.1.1 Economic
A working model is needed to show that the system works. The system will not be installed in
the lab. All of the components will be installed on a board instead for ease of testing and
portability. By mounting the components to a board, the cost of the system will be kept down to
the electronics themselves.

3.3.1.2 Environmental
The primary environment for this system will be indoors in NASA IV & V’s lab. Therefore, any
electronics used must be rated for indoor use.

3.3.1.3 Ethical and Legal
Since there will be communication between devices, no FCC regulations can be violated.

3.3.1.4 Health and Safety
The system will not cause harmful levels of radiation.

3.3.1.5 Manufacturability
The system will use off the shelf components.

3.3.1.6 Social
The system shall be easy to use.

3.3.1.7 Sustainability
It is required that it will be easy to add new components to the system. It must not take much
coding to add a new device.

3.3.2 Standards
3.3.2.1 Safety
The system shall confirm to Underwriter Laboratory standards.

3.3.2.2 Programming languages
The Kinect requires C# programming. The tablet will require coding in Java.

                                                                                                 22
3.3.2.3 Meta-Standards
Communications between hardware will comply with serial and wireless standards.will comply
with serial and wireless standards.




                                                                                         23
4. System Design



4.1 Scope
            (Completed by: Justin Robinson)

            The NASA SLIS will be an interface between the user and the system in the smart lab.
This system will connect the user to whatever functions they want to interact with. The system
will have two types of inputs and will have several outputs. The inputs will be the Microsoft
Kinect and an Android tablet. The outputs will be lights, a heating and cooling system and also
an alarm system. The user will interact with these outputs through the two inputs which will be
interfaced with the system.


4.2 Context Diagram
            (Completed by: Justin Robinson)




                                                      Alarm



     User                                     Light


                                                 Thermostat
 Administrator
                                        System
                                                                                 NASA SLIS
                                                          Device




                                                                                                   24
4.3 User Definitions
        (Completed by: Justin Robinson)

4.3.1          Administrator
        This user will do all the interacting with the system and have functions that other user’s
can’t perform. All functions of the NASA SLIS will be available to the Administrator.

4.3.2          User
        This user will be able to log into the system. This user will also be able to use a few of
the “Administrative” functions but mostly will just be using the demonstration functions of the
NASA SLIS.




                                                                                                     25
4.4 Interface Descriptions

4.4.1 Administrator Interface
        (Completed by: Justin Robinson)




                                      On
                                      Off
                         Light        Interval
                                     Dimness




                                      On
                                      Off
                        Thermo-
                                    Heat
                          stat
                                    Cool
                                     Up
                                    Down




                                     Stay
                                     Away
                         Alarm
  Administrator                       Off




                                     On
                                     Off
                                    User Login
                                    User Logoff
                        System      Add User
                                    Remove User
                                    Set User Permissions
                                    Switch Input Device
                                    Switch Output Device



                                            Add Device
                                       Remove Device

                        Device             Modify Device
                                     Check Device State
                                        Device On
                                        Device Off
                                        Device Act




                                                           26
4.4.2 User Interface
     (Completed by: Justin Robinson)




                                          On
                                          Off
                         Light           Interval
                                         Dimness




                                          On
                                          Off
                        Thermo-
                                        Heat
                          stat
                                        Cool
                                         Up
                                        Down


     User




                                        Stay
                                        Away
                         Alarm
                                         Off




                                         On
                                         Off
                                        User Login
                        System          User Logoff

                                       Switch Input Device
                                       Switch Output Device




                                                              27
4.5 System Functions
         (Completed by: Justin Robinson)

Name of Function:               System_On

Description:                    The system will be turned on by the user.

Input:                          Tablet

Source of Input:                User, Administrator

Outputs:                        Message concerning the confirmation of the system being turned on.

Destination of Output:          Tablet

Processing:                     The user will turn the system on so it will be ready to be used.

Requirements:                   User

Pre-Condition:                  The system must be ready to be turned on and ready to be activated.

Post-Condition:                 The system will be turned from off to on.

Side effects:                   N/A

Responses to

Abnormal Behavior:              If already on, nothing will happen, the system will remain online.

Stability:                      Static

Necessity:                      Mandatory




                                                                                                      28
Name of Function:        System_Off

Description:             The system will be turned off by the user.

Input:                   Tablet

Source of Input:         User, Administrator

Outputs:                 N/A

Destination of Output:   N/A

Processing:              The user will shut down the system so it will not be active.

Requirements:            User

Pre-Condition:           The system should already be turned on.

Post-Condition:          The system will be on but as an end result will be turned off by a user.

Side effects:            N/A

Responses to

Abnormal Behavior:       If already off nothing will happen, the system will remain offline.

Stability:               Static

Necessity:               Mandatory




                                                                                                    29
Name of Function:        User_Login

Description:             The user will be logged into the NASA SLIS and will be able to use the
                         commands it provides.

Input:                   Tablet

Source of Input:         User, Administrator

Outputs:                 Message concerning the confirmation of user login.

Destination of Output:   Tablet

Processing:              The user will use of the two inputs and log into the system.

Requirements:            User

Pre-Condition:           The system must already be on and the user has to be able to log into the
                         system.

Post-Condition:          The user will be logged into the system and will be able to use the NASA
                         SLIS.

Side effects:            N/A

Responses to

Abnormal Behavior:       If the user can’t log into the system the system will produce an error
                         message saying the user couldn’t be found or the system could not verify
                         the password.

Stability:               Static

Necessity:               Mandatory




                                                                                                30
Name of Function:        User_Logoff

Description:             The user will be logged off from using the NASA SLIS.

Input:                   Tablet

Source of Input:         User, Adminsistrator.

Outputs:                 Message concerning the confirmation of user log off.

Destination of Output:   Tablet

Processing:              The user will use of the two inputs and logoff the NASA SLIS

Requirements:            User

Pre-Condition:           The system must be turned on and the user must already be logged into
                         the system.

Post-Condition:          The system will still be on but the user will be logged out of the system.

Side effects:            N/A

Responses to

Abnormal Behavior:       N/A

Stability:               Static

Necessity:               Mandatory




                                                                                                  31
Name of Function:        Add_User

Description:             The administrator will be able to add a user to the system so the user can
                         interact with the NASA SLIS.

Input:                   Tablet

Source of Input:         Administrator

Outputs:                 Message concerning the addition of a user.

Destination of Output:   Tablet

Processing:              The Administrator will use add a user to the system through one of the
                         inputs and give that user permission to use the NASA SLIS.

Requirements:            Administrator

Pre-Condition:           The system must be on and the Administrator must be logged into the
                         system.

Post-Condition:          A user will be granted access to the NASA SLIS and will be able to use
                         its functions.

Side effects:            N/A

Responses to

Abnormal Behavior:       N/A

Stability:               Static

Necessity:               Mandatory




                                                                                                  32
Name of Function:        Remove_User

Description:             The administrator will remove a user from the system so that user will no
                         longer have access to the NASA SLIS.

Input:                   Tablet

Source of Input:         Administrator.

Outputs:                 Message concerning the removal of a user.

Destination of Output:   Tablet

Processing:              The Administrator will remove one of the users from the system.

Requirements:            User

Pre-Condition:           The system must be on and the Administrator must be logged into the
                         system. A user must also be in the system that can be removed.

Post-Condition:          A user will be removed from accessing the NASA SLIS and will not be
                         able to use its functions.

Side effects:            N/A

Responses to

Abnormal Behavior:       If there is no user available to remove then the system will display an
                         error message.

Stability:               Static

Necessity:               Mandatory




                                                                                                   33
Name of Function:        Set_User_Permissions

Description:             The administrator will set the user permissions and give the user access
                         to certain functions of the NASA SLIS.

Input:                   Tablet

Source of Input:         Administrator.

Outputs:                 Options for user permissions will be displayed on the Tablet.

Destination of Output:   Tablet

Processing:              The administrator will be able to give certain permissions to a user or
                         even make the user an administrator.

Requirements:            User

Pre-Condition:           At least one user must be in the system for it to be changed.

Post-Condition:          The user will have different permissions.

Side effects:            N/A

Responses to

Abnormal Behavior:       N/A

Stability:               Static

Necessity:               Mandatory




                                                                                                   34
Name of Function:        Switch_Input_Device

Description:             The input device will be selected for use with the NASA SLIS.

Input:                   Tablet

Source of Input:         User, Administrator.

Outputs:                 Message will be displayed on the tablet about the input device.

Destination of Output:   Tablet

Processing:              The user will choose which input device they’d like to use to interact
                         with the NASA SLIS.

Requirements:            User, Input Devices

Pre-Condition:           There must be a device available to use for the system.

Post-Condition:          The user will have an input device selected for use for the system.

Side effects:            N/A

Responses to

Abnormal Behavior:       Error message will be displayed on the tablet if there are no devices to
                         select from.

Stability:               Static

Necessity:               Mandatory




                                                                                                    35
Name of Function:        Switch_Output_Device

Description:             The output device will be selected for use with the NASA SLIS.

Input:                   Tablet

Source of Input:         User, Administrator.

Outputs:                 Message displaying what output device is selected.

Destination of Output:   Tablet

Processing:              The user will choose which output device they’d like to use to interact
                         with the NASA SLIS.

Requirements:            User

Pre-Condition:           There must be an output device that can be selected.

Post-Condition:          The output device will be chosen by the user and ready to be interacted
                         with.

Side effects:            N/A

Responses to

Abnormal Behavior:       Error message will be displayed on the tablet if there are no devices to
                         select from.

Stability:               Static

Necessity:               Mandatory




                                                                                                    36
Name of Function:        Add_Device

Description:             The administrator will add a device to the NASA-SLIS system.

Input:                   Tablet

Source of Input:         Administrator.

Outputs:                 Message concerning the addition of a device to the system.

Destination of Output:   Tablet

Processing:              The administrator will use the tablet to add a device to the NASA SLIS
                         system.

Requirements:            User

Pre-Condition:           The user must have permission to do so and there must be an available
                         device to add to the system.

Post-Condition:          A device will be added to the NASA SLIS system.

Side effects:            N/A

Responses to

Abnormal Behavior:       N/A

Stability:               Static

Necessity:               Mandatory




                                                                                                 37
Name of Function:        Remove_Device

Description:             The administrator will remove a device from the NASA-SLIS system.

Input:                   Tablet

Source of Input:         Administrator.

Outputs:                 Message concerning the removal of a device to the system.

Destination of Output:   Tablet

Processing:              The administrator will use the tablet to remove a device from the NASA
                         SLIS system.

Requirements:            User

Pre-Condition:           The user must have permission to do so and there must be an available
                         device to remove from the system.

Post-Condition:          A device will be removed from the NASA SLIS system.

Side effects:            N/A

Responses to

Abnormal Behavior:       N/A

Stability:               Static

Necessity:               Mandatory




                                                                                                 38
Name of Function:        Modify_Device

Description:             The administrator will modify a device on the NASA-SLIS system.

Input:                   Tablet

Source of Input:         Administrator

Outputs:                 Options will be displayed to modify the devices.

Destination of Output:   Tablet

Processing:              The administrator will select a device that needs to be modified.

Requirements:            User

Pre-Condition:           The system must have a device that can be modified.

Post-Condition:          The device will be modified according to the user’s specifications.

Side effects:            N/A

Responses to

Abnormal Behavior:       N/A

Stability:               Static

Necessity:               Mandatory




                                                                                               39
Name of Function:        Check_Device_State

Description:             The administrator will check the status of a device on the NASA-SLIS
                         system.

Input:                   Tablet

Source of Input:         Administrator.

Outputs:                 Message concerning the status of the device will be displayed.

Destination of Output:   Tablet.

Processing:              The user will check the status of the device through the tablet.

Requirements:            User

Pre-Condition:           The system must have a device that can be checked.

Post-Condition:          The device will be checked and displayed.

Side effects:            N/A

Responses to

Abnormal Behavior:       N/A

Stability:               Static

Necessity:               Mandatory




                                                                                                40
Name of Function:        Device_On

Description:             The device will be enabled for use.

Input:                   Tablet

Source of Input:         Administrator.

Outputs:                 Message concerning the device is turned on and ready to be used.

Destination of Output:   Tablet

Processing:              The user will use the tablet to turn on a device which will be used for
                         demonstration.

Requirements:            User

Pre-Condition:           There must be a device in the system that can be turned on.

Post-Condition:          A device will be activated.

Side effects:            N/A

Responses to

Abnormal Behavior:       N/A

Stability:               Static

Necessity:               Mandatory




                                                                                                   41
Name of Function:        Device_Off

Description:             The device will be disabled.

Input:                   Tablet

Source of Input:         Administrator.

Outputs:                 Message concerning the device being deactivated.

Destination of Output:   Tablet.

Processing:              The user will use the tablet to turn off a device.

Requirements:            User

Pre-Condition:           There must be a device in the system that can be turned off.

Post-Condition:          A device will be deactivated.

Side effects:            N/A

Responses to

Abnormal Behavior:       N/A

Stability:               Static

Necessity:               Mandatory




                                                                                        42
Name of Function:        Device_Act

Description:             Depending whether the device is an input or output device, act will either
                         call a function that does something like heat, cool etc. or will display
                         results. This will use inheritance and polymorphism.

Input:                   Tablet

Source of Input:         Administrator

Outputs:                 N/A

Destination of Output:   N/A

Processing:              The user will input something through the system and the system will
                         send this input to the device which the device will act upon that input.

Requirements:            User

Pre-Condition:           A device must be activated to be acted upon.

Post-Condition:          A device will have a command sent to it through the user input.

Side effects:            N/A

Responses to

Abnormal Behavior:       N/A

Stability:               Static

Necessity:               Mandatory




                                                                                                    43
Name of Function:        Light_On

Description:             The lights will be turned on by the system.

Input:                   Kinect, Tablet

Source of Input:         User, Administrator.

Outputs:                 The light will be turned on.

Destination of Output:   Light

Processing:              The user will use of the two inputs and choose to turn the light on by
                         either one of the inputs.

Requirements:            User

Pre-Condition:           At least one light must be able to be turned on.

Post-Condition:          The light will be turned from off to on.

Side effects:            N/A

Responses to

Abnormal Behavior:       N/A

Stability:               Static

Necessity:               Mandatory




                                                                                                  44
Name of Function:        Light_Off

Description:             The light will be turned off by the system.

Input:                   Kinect, Tablet

Source of Input:         User, Administrator.

Outputs:                 The light will be turned off.

Destination of Output:   Light

Processing:              The user will use of the two inputs and choose to turn the light off by
                         either one of the inputs.

Requirements:            User

Pre-Condition:           At least one light must be able to be turned off.

Post-Condition:          The light will be turned from on to off.

Side effects:            N/A

Responses to

Abnormal Behavior:       N/A

Stability:               Static

Necessity:               Mandatory




                                                                                                   45
Name of Function:        Light_Interval

Description:             The lights will blink in intervals which will be determined by the user

Input:                   Kinect, Tablet

Source of Input:         User, Administrator.

Outputs:                 The light will blink at an interval.

Destination of Output:   Light

Processing:              The user will have the lights turned on and will blink at an interval as
                         defined by the user.

Requirements:            User

Pre-Condition:           At least one light must be able to be turned on and controlled.

Post-Condition:          The light will be turned from off to on and blink at some interval.

Side effects:            N/A

Responses to

Abnormal Behavior:       N/A

Stability:               Static

Necessity:               Mandatory




                                                                                                    46
Name of Function:        Light_Dimness

Description:             The lights will be dimed, determined by the user

Input:                   Kinect, Tablet

Source of Input:         User, Administrator.

Outputs:                 The light will be dimmed.

Destination of Output:   Light

Processing:              The user will have the lights turned on and will dim the lights from 0-
                         100% in power.

Requirements:            User

Pre-Condition:           At least one light must be able to be turned on and controlled.

Post-Condition:          The light will be turned from off to on and be dimned.

Side effects:            N/A

Responses to

Abnormal Behavior:       N/A

Stability:               Static

Necessity:               Mandatory




                                                                                                   47
Name of Function:        Thermostat_On

Description:             The thermostat will be turned on by the system.

Input:                   Kinect, Tablet

Source of Input:         User, Administrator.

Outputs:                 A message will be displayed saying the thermostat is on.

Destination of Output:   Thermostat.

Processing:              The user will use one of the inputs to turn the thermostat from the off
                         position to the on position.

Requirements:            User

Pre-Condition:           The thermostat must be in the off position.

Post-Condition:          The thermostat will be turned to the on position and ready to be used.

Side effects:            N/A

Responses to

Abnormal Behavior:       If already on the tablet will display a message stating the current status of
                         the thermostat.

Stability:               Static

Necessity:               Mandatory




                                                                                                   48
Name of Function:        Thermostat_Off

Description:             The thermostat will be turned off by the system.

Input:                   Kinect, Tablet

Source of Input:         User, Administrator.

Outputs:                 A message will be displayed saying the thermostat is off.

Destination of Output:   Thermostat.

Processing:              The user will use one of the inputs to turn the thermostat from the on
                         position to the off position.

Requirements:            User

Pre-Condition:           The thermostat must be in the on position.

Post-Condition:          The thermostat will be turned to the off position.

Side effects:            N/A

Responses to

Abnormal Behavior:       If already off the tablet will display a message stating the current status
                         of the thermostat.

Stability:               Static

Necessity:               Mandatory




                                                                                                   49
Name of Function:        Thermostat_Cool

Description:             The thermostat will be turned to the cool mode by the system.

Input:                   Kinect, Tablet

Source of Input:         User, Administrator.

Outputs:                 A message will be displayed saying the thermostat is in cool mode.

Destination of Output:   Thermostat

Processing:              The user will use one of the inputs to turn the thermostat from the
                         heating position to the cooling position.

Requirements:            User

Pre-Condition:           The thermostat must be in the on position and in the heating mode.

Post-Condition:          The thermostat will be turned to the cooling position.

Side effects:            N/A

Responses to

Abnormal Behavior:       If already in cooling mode, nothing will happen.

Stability:               Static

Necessity:               Mandatory




                                                                                               50
Name of Function:        Thermostat_Heat

Description:             The thermostat will be turned to heat mode by the system.

Input:                   Kinect, Tablet

Source of Input:         User, Administrator.

Outputs:                 A message will be displayed saying the thermostat is in heat mode.

Destination of Output:   Thermostat

Processing:              The user will use one of the inputs to turn the thermostat from the
                         cooling position to the heating position.

Requirements:            User

Pre-Condition:           The thermostat must be in the on position and in the cooling mode.

Post-Condition:          The thermostat will be turned to the heating position.

Side effects:            N/A

Responses to

Abnormal Behavior:       If already in heating mode, nothing will happen.

Stability:               Static

Necessity:               Mandatory




                                                                                               51
Name of Function:        Thermostat_Up

Description:             The thermostat will change the temperature up one degree.

Input:                   Kinect, Tablet

Source of Input:         User, Administrator.

Outputs:                 A message will be displayed saying the thermostat has changed
                         temperature.

Destination of Output:   Thermostat

Processing:              The user will use one of the inputs to turn the thermostat up one degree.

Requirements:            User

Pre-Condition:           The thermostat must be in the on position.

Post-Condition:          The thermostat will change in temperature by one degree.

Side effects:            N/A

Responses to

Abnormal Behavior:       The thermostat will tell the user through the tablet if it can’t be set to the
                         certain temperature.

Stability:               Static

Necessity:               Mandatory




                                                                                                     52
Name of Function:        Thermostat_Down

Description:             The thermostat will change the temperature down one degree.

Input:                   Kinect, Tablet

Source of Input:         User, Administrator.

Outputs:                 A message will be displayed saying the thermostat has changed
                         temperature.

Destination of Output:   Thermostat.

Processing:              The user will use one of the inputs to turn the thermostat down one
                         degree.

Requirements:            User

Pre-Condition:           The thermostat must be in the on position.

Post-Condition:          The thermostat will change in temperature by one degree.

Side effects:            N/A

Responses to

Abnormal Behavior:       The thermostat will tell the user through the tablet if it can’t be set to the
                         certain temperature.

Stability:               Static

Necessity:               Mandatory




                                                                                                     53
Name of Function:        Alarm_Stay

Description:             The alarm will be armed for when the user stays in the area.

Input:                   Kinect, Tablet

Source of Input:         User, Administrator.

Outputs:                 Message will display on the tablet that alarm is in Stay mode.

Destination of Output:   LED on the Alarm Panel, Alarm.

Processing:              The user will use of one of the two inputs and arm the alarm system for
                         the alarm stayed mode. This will also turn an LED on the system panel
                         to notify it is in this current state.

Requirements:            User

Pre-Condition:           The alarm must be turned on.

Post-Condition:          The alarm will be in alarm stay mode and an LED will represent the
                         current status.

Side effects:            N/A

Responses to

Abnormal Behavior:       If the alarm is already in this mode the user will be notified by the tablet
                         or the LED on the alarm panel.

Stability:               Static

Necessity:               Mandatory




                                                                                                   54
Name of Function:        Alarm_Away

Description:             The alarm will be armed for when the user is away from the area.

Input:                   Kinect, Tablet

Source of Input:         User, Administrator.

Outputs:                 Message will display on the tablet that alarm is in away mode.

Destination of Output:   LED on the Alarm Panel, Alarm

Processing:              The user will use of one of the two inputs and arm the alarm system for
                         the alarm away mode. This will also turn an LED on the system panel to
                         notify it is in this current state.

Requirements:            User

Pre-Condition:           The alarm must be turned on.

Post-Condition:          The alarm will be in alarm away mode and an LED will represent the
                         current status.

Side effects:            N/A

Responses to

Abnormal Behavior:       If the alarm is already in this mode the user will be notified by the tablet
                         or the LED on the alarm panel.

Stability:               Static

Necessity:               Mandatory




                                                                                                   55
Name of Function:        Alarm_Off

Description:             The alarm will be turned off.

Input:                   Kinect, Tablet

Source of Input:         User, Administrator.

Outputs:                 Message will display on the tablet that alarm is in off mode.

Destination of Output:   LED on the Alarm Panel, Alarm.

Processing:              The user will use of one of the two inputs and turn the alarm off. This
                         will also turn an LED on the system panel to notify it is in this current
                         state.

Requirements:            User

Pre-Condition:           The alarm must be turned on.

Post-Condition:          The alarm will be in alarm off mode and an LED will represent the
                         current status.

Side effects:            N/A

Responses to

Abnormal Behavior:       If the alarm is already in this mode the user will be notified by the tablet
                         or the LED on the alarm panel.

Stability:               Static

Necessity:               Mandatory




                                                                                                     56
4.6 Software Breakdown
       (Completed by: Justin Robinson & Rebecca Rush)




       The following three diagrams represent data flow between the users and the system software.
The administrator needs unrestricted access to all the data flowing throughout the system; whereas the
user only needs to see minimal data.


            New User Information              Add_User




 Administrator              UserID                                                   User
                                            Remove_User



                                              Set_User_
            User Modifications
                                             Permissions




                                      User functions for administrator.



          New Device Information
                                             Add_Device




 Administrator            DeviceID           Remove_                              Device
                                              Device



         Device Modifications              Modify_Device



                                     Device functions for administrator.



                                                                                                    57
                UserID
                                             User




Administrator            DeviceID                                            Archives
                                           Device




    User                        DeviceID




                             Archive functions for administrator and user.




                                                                                        58
4.7 Database Breakdown
       (Completed by: Justin Robinson & Rebecca Rush)



The following diagram shows the database for NASA SLIS. Both hardware and software
components are taken into account for this system. The archives are merely used to act as a
reference to both the devices and users currently registered in NASA SLIS.




                             Device                                User

                       PK    Device ID                       PK   User ID

                             I/O                                  Username
                             State                                Password
                             Permission                           Permissions



                                                Archives

                                          PK     Record ID

                                          FK1    User ID
                                          FK2    Device ID




                            Database breakdown for NASA IV&V SLIS.




                                                                                              59
4.8 Use Cases
       (Completed by: Justin Robinson)




The NASA-SLIS have two primary users; the Administrator and the User. The Administrator
will be able to control all the available functions of the NASA-SLIS. The user will be able to
control all the demonstration functions as well as a few administrative functions. The
Administrator will have the ability to use the Kinect or the Tablet to as which means they wish to
interact with the system. A use case diagram is shown in the following figure for the
Administrator. A use case diagram will also display the User permissions for the NASA SLIS.




                                                                                                 60
                         System_On

                      NASA SLIS
                         System_Off



                         User_Login



                        User_Logout



                      Switch_In\_Device



                      Switch_Out_Device



                          Light_On



                          Light_Off



                        Light_Interval



                       Thermostat_On



                       Thermostat_Off
User                                                  Administrator


                      Thermostat_Heat



                       Thermostat_Cool



                       Thermostat_Up



                      Thermostat_Down



                         Alarm_Stay



                         Alarm_Away



                          Alarm_Off




       Use Case Diagram for User and Administrator.




                                                                 61
                         NASA SLIS




                                Add_User



                              Remove_User


                           Set_User_Permission
                                    s


                               Add_Device



                             Remove_Device



                              Modify_Device


Administrator
                              Check_Device



                               Device_On



                               Device_Off



                               Device_Act




                Use Case Diagram for Administrator.



                                                      62
5. Software Tests
                 (Completed by: Rebecca Rush)

The Software Tests are organized into distinct sections. The System Functions will be used by
the administrator of the system. The system will be created using polymorphism and inheritance.
The device functions are the functions that all devices to the system will inherit. While devices
might want to extend these functions they may implement them in slightly different ways.
Therefore, the Light, Thermostat, and Alarm functions are there to inherit the parent
functionality and extend it appropriately.


5.1 System Functions
          (Completed by: Rebecca Rush)

5.1.1 System_On
Goal                               Input                                Expected Outcome
Valid                                       User signals the on signal The system should receive the
                                             to the system.             message to turn on and act on it.
                                                                        A login message will be
                                                                        displayed.
Invalid                                     User tries to the system   An error message will be
                                             on when it is already on. displayed that the system is
                                                                        already in the on state.



5.1.2 System_Off
Goal                               Input                                Expected Outcome
Valid                                       User signals the off       The output device should receive
                                             signal to the system.      the message to turn off and act
                                                                        on it. A goodbye message will be
                                                                        displayed
Invalid                                     User signals the off       An error message will be
                                             signal to the system       displayed that the user must
                                             when the user is still     logout before turning off the
                                             logged in.                 system.




                                                                                                      63
5.1.3 User_Login
Goal                Input                                Expected Outcome
Valid                      User tries to login to the   The user is logged into the
                            system when the system       system and the home screen is
                            is on.                       displayed.
Invalid                    User tries to login to the   An error message will be
                            system when another          displayed that the other user
                            user is already logged in.   must logout of the system
                                                         before a new user can login.



5.1.4 User_Logout
Goal                Input                                Expected Outcome
Valid                      User tries to logout of      The user is logged out of the
                            the system when the          system and the login screen is
                            system is on.                displayed.
Invalid                    User tries to logout of      An error message will be
                            the system when no user      displayed there is currently no
                            is currently logged in.      users logged into the system.



5.1.5 Add_User
Goal                Input                                Expected Outcome
Valid                      Administrator tries to       A completion message is
                            add a new user to the        displayed that a new user was
                            system.                      added to the system with certain
                                                         permissions.
Invalid                    Administrator tries to       An error message will be
                            add a new user to the        displayed that the user trying to
                            system that is already in    be added to the system is not
                            the system.                  unique and was not added.
Invalid                    User tries to add a new      An error message will be
                            user to the system.          displayed that the current user
                                                         does not have permissions to
                                                         add a new user to the system.




                                                                                           64
5.1.6 Remove_User
Goal                     Input                                Expected Outcome
Valid                           Administrator tries to       A completion message is
                                 remove a user from the       displayed that the user was
                                 system.                      deleted from the system.
Invalid                         Administrator tries to       An error message will be
                                 remove a user from the       displayed that the user to be
                                 system that is not in the    removed was not found in the
                                 system.                      system.
Invalid                         User tries to remove a       An error message will be
                                 user to the system.          displayed that the current user
                                                              does not have permissions to
                                                              remove a user from the system.



5.1.7 Set_User_Permissions
Goal                     Input                                Expected Outcome
Valid                           Administrator tries to set   A completion message is
                                 user permissions for a       displayed that the user has
                                 user in the system.          updated permissions and lists
                                                              what they can access.
Invalid                         Administrator tries to set   An error message will be
                                 user permissions for a       displayed that the user could not
                                 user that is not in the      be found in the system.
                                 system.
Invalid                         User tries to set            An error message will be
                                 permissions of another       displayed that the current user
                                 user.                        does not have permissions to set
                                                              other users’ permissions.




                                                                                            65
5.1.8 Switch_Input_Device
Goal                        Input                                Expected Outcome
Valid                              User tries to switch an      A completion message is
                                    input device in the          displayed the new input device is
                                    system.                      ready to be used.
Invalid                            User tries to switch the     An error message is displayed
                                    input device to an invalid   that the input device is not
                                    input device.                compatible with this system.
Invalid                            User tries to switch an      An error message will be
                                    input device when the        displayed that the user must first
                                    user is not logged in.       login before accessing input
                                                                 devices.



5.1.9 Switch_Output_Device
Goal                        Input                                Expected Outcome
Valid                              User tries to switch an      A completion message is
                                    output device in the         displayed the new output device
                                    system.                      is ready to be used.
Invalid                            User tries to switch the     An error message is displayed
                                    output device to an          that the output device is not
                                    invalid output device.       compatible with this system.
Invalid                            User tries to switch the     An error message will be
                                    output device when the       displayed that the user must first
                                    user is not logged in.       login before accessing output
                                                                 devices.




                                                                                                66
5.2 Device Functions
          (Completed by: Rebecca Rush)

5.2.1 Device_On


Goal                               Input                                Expected Outcome
Valid                                       User signals the on signal The device should receive the
                                             to the device being used. message to turn on and act on it.
Invalid                                     User tries to signal a     An error message will be
                                             device that is already on. displayed that the device is
                                                                        already in the on state.
Invalid                                     User does not use a        An error message will be
                                             correct signal that is     displayed that there is not
                                             recognized by the          currently a registered action to
                                             system.                    that signal.
Invalid                                     User tries to access a     An error message will be
                                             device when none are       displayed that there is not
                                             currently available.       currently any devices available.


5.2.2 Device_OFF


Goal                               Input                                   Expected Outcome
Valid                                       User signals the off          The device should receive the
                                             signal to the device          message to turn off and act on it.
                                             being used.
Invalid                                     User tries to signal a        An error message will be
                                             device that is already off.   displayed that the is already in
                                                                           the off state.
Invalid                                     User does not use a           An error message will be
                                             correct signal that is        displayed that there is not
                                             recognized by the             currently a registered action to
                                             system.                       that signal.
Invalid                                     User tries to access a        An error message will be
                                             device when none are          displayed that there is not
                                             currently available.          currently any devices available.




                                                                                                          67
5.2.3 Device_Act


Goal               Input                                 Expected Outcome
Valid                     User signals the act          The device should receive the
                           signal to the device          message to act and behaves
                           being used.                   accordingly.
Invalid                   User tries to signal act to   An error message will be
                           a device that is already      displayed that the device is in
                           off.                          the off state.
Invalid                   User does not use a           An error message will be
                           correct signal that is        displayed that there is not
                           recognized by the             currently a registered action to
                           system.                       that signal.
Invalid                   User tries to access a        An error message will be
                           device when none are          displayed that there is not
                           currently available.          currently any devices available.




5.2.4 Add_Device


Goal               Input                                 Expected Outcome
Valid                     User signals to add a         The system displays a
                           new device to the             completion message that the
                           system.                       new device was added to the
                                                         system.
Invalid                   User tries to add a           An error message will be
                           device that is currently      displayed that the device is
                           in the system.                already in the system.
Invalid                   User tries to add a           An error message will be
                           device when the user is       displayed that the user must be
                           logged out of the             logged in to add devices to the
                           system.                       system.
Invalid                   User tries to add a           An error message will be
                           device that is                displayed that the device was
                           incompatible with the         not added to the system.
                           system.




                                                                                        68
5.2.5 Remove_Device


Goal                  Input                              Expected Outcome
Valid                        User signals to remove a   The system displays a
                              device currently in the    completion message that the
                              system.                    device was removed from the
                                                         system.
Invalid                      User tries to remove a     An error message will be
                              device that is not         displayed that the device to be
                              currently in the system.   removed was not found in the
                                                         system.
Invalid                      User tries to remove a     An error message will be
                              device when the user is    displayed that the user must be
                              currently logged out of    logged in to remove a device
                              the system.                from the system.


5.2.6 Modify_Device


Goal                  Input                              Expected Outcome
Valid                        User signals to modify a   The system displays a
                              device currently in the    completion message that the
                              system.                    device was modified.
Invalid                      User tries to modify a     An error message will be
                              device that is not         displayed that the device to be
                              currently in the system.   modify was not found in the
                                                         system.
Invalid                      User tries to modify a     An error message will be
                              device when the user is    displayed that the user must be
                              currently logged out of    logged in to modify a device
                              the system.                from the system.
Invalid                      User tries to modify a     An error message will be
                              device with features the   displayed that the modifications
                              device does not support.   are incompatible with the
                                                         device.




                                                                                       69
5.2.7 Check_Device_State


Goal                       Input                               Expected Outcome
Valid                             User queries the state of   The system displays the current
                                   a device currently in the   state of a device.
                                   system.
Invalid                           User tries to query the     An error message will be
                                   state of a device that is   displayed that the device was
                                   not currently in the        not found in the system.
                                   system.
Invalid                           User tries to query a       An error message will be
                                   device when the user is     displayed that the user must be
                                   currently logged out of     logged in to query a device from
                                   the system.                 the system.




                                                                                               70
5.3 Light Functions
          (Completed by: Rebecca Rush)

5.3.1 Light ON


Goal                               Input                                Expected Outcome
Valid                                       User signals the on signal The light should receive the
                                             to the light.              message to turn on and turns on.
Invalid                                     User tries to signal the   An error message will be
                                             light that is already on.  displayed that the light is already
                                                                        in the on state.
Invalid                                     User does not use a        An error message will be
                                             correct signal that is     displayed that there is not
                                             recognized by the          currently a registered action to
                                             system.                    that signal.
Invalid                                     User tries to access a     An error message will be
                                             light when none are        displayed that there is not
                                             currently available.       currently any lights available.




5.3.2 Light OFF


Goal                               Input                                  Expected Outcome
Valid                                       User signals the off         The light should receive the
                                             signal to the light being    message to turn off and turns
                                             used.                        off.
Invalid                                     User tries to signal a       An error message will be
                                             light that is already off.   displayed that the light is already
                                                                          in the off state.
Invalid                                     User does not use a          An error message will be
                                             correct signal that is       displayed that there is not
                                             recognized by the            currently a registered action to
                                             system.                      that signal.
Invalid                                     User tries to access a       An error message will be
                                             light when none are          displayed that there is not
                                             currently available.         currently any lights available.




                                                                                                          71
5.3.3 Light Interval


Goal                   Input                                  Expected Outcome
Valid                         User signals the interval      The light should receive the
                               signal to the light being      message to change interval and
                               used.                          behaves accordingly.
Invalid                       User tries to signal           An error message will be
                               inteveral to a light that is   displayed that the light is in the
                               already off.                   off state.
Invalid                       User does not use a            An error message will be
                               correct signal that is         displayed that there is not
                               recognized by the              currently a registered action to
                               system.                        that signal.
Invalid                       User tries to access a         An error message will be
                               light when none are            displayed that there is not
                               currently available.           currently any lights available.




5.3.3 Light DIMNESS


Goal                   Input                                  Expected Outcome
Valid                         User signals the dimness       The light should receive the
                               signal to the light being      message to change dimness and
                               used.                          behaves accordingly.
Invalid                       User tries to signal           An error message will be
                               dimness to a light that is     displayed that the light is in the
                               already off.                   off state.
Invalid                       User does not use a            An error message will be
                               correct signal that is         displayed that there is not
                               recognized by the              currently a registered action to
                               system.                        that signal.
Invalid                       User tries to access a         An error message will be
                               light when none are            displayed that there is not
                               currently available.           currently any lights available.




                                                                                               72
5.4 Thermostat Functions
          (Completed by: Rebecca Rush)



5.4.1 Thermostat ON


Goal                               Input                                Expected Outcome
Valid                                       User signals the on signal The thermostat should receive
                                             to the thermostat being    the message to turn on and turn
                                             used.                      on.
Invalid                                     User tries to signal a     An error message will be
                                             thermostat that is         displayed that the thermostat is
                                             already on.                already in the on state.
Invalid                                     User does not use a        An error message will be
                                             correct signal that is     displayed that there is not
                                             recognized by the          currently a registered action to
                                             system.                    that signal.
Invalid                                     User tries to access a     An error message will be
                                             thermostat when none       displayed that there is not
                                             are currently available.   currently any thermostats
                                                                        available.




                                                                                                      73
5.4.2 Thermostat OFF


Goal                    Input                               Expected Outcome
Valid                          User signals the off        The thermostat should receive
                                signal to the thermostat    the message to turn off and act
                                being used.                 on it.
Invalid                        User tries to signal a      An error message will be
                                thermostat that is          displayed that the thermostat is
                                already off.                already in the off state.
Invalid                        User does not use a         An error message will be
                                correct signal that is      displayed that there is not
                                recognized by the           currently a registered action to
                                system.                     that signal.
Invalid                        User tries to access a      An error message will be
                                thermostat when none        displayed that there is not
                                are currently available.    currently any thermostats
                                                            available.




5.4.3 Thermostat COOL


Goal                    Input                               Expected Outcome
Valid                          User signals the cool       The thermostat should receive
                                signal to the thermostat.   the message to cool and starts to
                                                            cool the area.
Invalid                        User tries to signal cool   An error message will be
                                to a thermostat that is     displayed that the thermostat is
                                already off.                in the off state.
Invalid                        User does not use a         An error message will be
                                correct signal that is      displayed that there is not
                                recognized by the           currently a registered action to
                                system.                     that signal.
Invalid                        User tries to access a      An error message will be
                                thermostat when none        displayed that there is not
                                are currently available.    currently any thermostats
                                                            available.



                                                                                          74
5.4.4 Thermostat HEAT


Goal                    Input                               Expected Outcome
Valid                          User signals the heat       The thermostat should receive
                                signal to the thermostat    the message heat and starts to
                                being used.                 heat the area.
Invalid                        User tries to signal heat   An error message will be
                                to a thermostat that is     displayed that the thermostat is
                                already off.                in the off state.
Invalid                        User does not use a         An error message will be
                                correct signal that is      displayed that there is not
                                recognized by the           currently a registered action to
                                system.                     that signal.
Invalid                        User tries to access a      An error message will be
                                thermostat when none        displayed that there is not
                                are currently available.    currently any thermostats
                                                            available.




5.4.5 Thermostat UP


Goal                    Input                              Expected Outcome
Valid                          User signals the up signal The thermostat should receive
                                to the thermostat being    the message up and increments
                                used.                      the temperature.
Invalid                        User tries to signal up to An error message will be
                                a thermostat that is       displayed that the thermostat is
                                already off.               in the off state.
Invalid                        User does not use a        An error message will be
                                correct signal that is     displayed that there is not
                                recognized by the          currently a registered action to
                                system.                    that signal.
Invalid                        User tries to access a     An error message will be
                                thermostat when none       displayed that there is not
                                are currently available.   currently any thermostats
                                                           available.



                                                                                          75
5.4.6 Thermostat DOWN


Goal                    Input                               Expected Outcome
Valid                          User signals the down       The thermostat should receive
                                signal to the thermostat    the message to act and behaves
                                being used.                 accordingly.
Invalid                        User tries to signal down   An error message will be
                                to a thermostat that is     displayed that the thermostat is
                                already off.                in the off state.
Invalid                        User does not use a         An error message will be
                                correct signal that is      displayed that there is not
                                recognized by the           currently a registered action to
                                system.                     that signal.
Invalid                        User tries to access a      An error message will be
                                thermostat when none        displayed that there is not
                                are currently available.    currently any thermostats
                                                            available.




                                                                                          76
5.5 Alarm Functions
          (Completed by: Rebecca Rush)



5.5.1 Alarm ON


Goal                               Input                                Expected Outcome
Valid                                       User signals the on signal The alarm should receive the
                                             to the alarm.              message to turn on and turns on.
Invalid                                     User tries to signal the   An error message will be
                                             alarm that is already on. displayed that the alarm is
                                                                        already in the on state.
Invalid                                     User does not use a        An error message will be
                                             correct signal that is     displayed that there is not
                                             recognized by the          currently a registered action to
                                             system.                    that signal.
Invalid                                     User tries to access an    An error message will be
                                             alarm when none are        displayed that there is not
                                             currently available.       currently any alarms available.




5.5.2 Alarm STAY


Goal                               Input                                 Expected Outcome
Valid                                       User signals the stay       The alarm should receive the
                                             signal to the alarm being   message to stay and activates.
                                             used.
Invalid                                     User tries to signal an     An error message will be
                                             alarm that is already on.   displayed that the alarm is
                                                                         already in the on state.
Invalid                                     User does not use a         An error message will be
                                             correct signal that is      displayed that there is not
                                             recognized by the           currently a registered action to
                                             system.                     that signal.
Invalid                                     User tries to access an     An error message will be
                                             alarm when none are         displayed that there is not
                                             currently available.        currently any alarms available.


                                                                                                          77
5.5.3 Alarm Away


Goal               Input                                Expected Outcome
Valid                     User signals the away        The alarm should receive the
                           signal to the alarm being    message to turn on and act on it.
                           used.
Invalid                   User tries to signal a       An error message will be
                           device that is already on.   displayed that the alarm is
                                                        already in the on state.
Invalid                   User does not use a          An error message will be
                           correct signal that is       displayed that there is not
                           recognized by the            currently a registered action to
                           system.                      that signal.
Invalid                   User tries to access an      An error message will be
                           alarm when none are          displayed that there is not
                           currently available.         currently any alarms available.




5.5.4 Alarm OFF


Goal               Input                                Expected Outcome
Valid                     User signals the off         The alarm should receive the
                           signal to the alarm being    message to turn off and act on it.
                           used.
Invalid                   User tries to signal an      An error message will be
                           alarm that is already off.   displayed that the alarm is
                                                        already in the off state.
Invalid                   User does not use a          An error message will be
                           correct signal that is       displayed that there is not
                           recognized by the            currently a registered action to
                           system.                      that signal.
Invalid                   User tries to access an      An error message will be
                           alarm when none are          displayed that there is not
                           currently available.         currently any alarms available.



                                                                                       78
6. Project Management Plan


6.1 Work Breakdown
     (Completed by: Samantha Hess)

ID              Activity             Description          People     Resources
1               Hardware             Setting up the       Everett    X10 devices
                planning and         X10 devices for      Justin     Server
                setup                use with the
                                     server
2               Build framework      Create the basic     Samantha   Laptop
                                     functions within     Justin     Server
                                     the generic          Rebecca
                                     framework            Everett
3               Kinect Interface     Write the            Rebecca    Kinect
                for lights           software             Justin     Server
                                     interface for the               Computer
                                     Kinect to use the               .NET
                                     generic functions
                                     to lights
4               Kinect Interface     Write the            Rebecca    Kinect
                for thermostat       software             Justin     Server
                                     interface for the               Computer
                                     Kinect to use the               .NET
                                     generic functions
                                     to thermostat
5               Kinect Interface     Write the            Rebecca    Kinect
                for alarm            software             Justin     Server
                                     interface for the               Computer
                                     Kinect to use the               .NET
                                     generic functions
                                     to control alarm
6               Tablet Interface     Write the            Samantha   Tablet
                for lights           software             Everett    Server
                                     interface for the               Computer
                                     tablet to interact              Java
                                     with the generic
                                     framework to
                                     control lights
7               Tablet Interface     Write the            Samantha   Tablet
                for thermostat       software             Everett    Server
                                     interface for the               Computer
                                                                                   79
                       tablet to interact              Java
                       with the generic
                       framework to
                       control
                       thermostat
8   Tablet Interface   Write the            Samantha   Tablet
    for alarm          software             Everett    Server
                       interface for the               Computer
                       tablet to interact              Java
                       with the generic
                       framework to
                       control alarm
9   Tablet GUI         Make the GUI         Samantha   Tablet
    Enhancement        user friendly        Everett    Computer
                                                       Java




                                                                  80
6.2 Gantt Chart
               (Completed by: Samantha Hess)



                                                                                                                           Week
                                  Division                               1     2      3      4      5      6      7      8     9     10     11     12    13    14     15       16
ID      Activity                  SH     JR        RR        ET        9-Jan 16-Jan 23-Jan 30-Jan 6-Feb 13-Feb 20-Feb 27-Feb 5-Mar 12-Mar 19-Mar 26-Mar 2-Apr 9-Apr 16-Apr 23-Apr
        Design Software
                                      3       3         3         3
      1 Framework                                                         6      6
        Design Hardware
                                      3       3         3         3
      2 Interface                                                                6     6
          Setup server                2       4         2         4
      3                                                                               12
        Code generic System
                                      6       6         6         6
      4 functions                                                                            14    10
        Code generic Device
                                      4       4         4         4
      5 functions                                                                                   8      8
      6 CDR                                                                                         3      2
        Setup hardware setup
                                      2       3         2         3
      7 for lights                                                                                               10
        Lights integration with
                                              14        14
      8 Kinect                                                                                                    6      8
        Lights integration with
                                     14                           14
      9 tablet                                                                                                    6      8
        Setup hardware setup
                                      2       3         2         3
     10 for alarm                                                                                                       10
        Alarm integration with
                                     10                           10
     11 Kinect                                                                                                                 10     10
        Alarm Integration with
                                              10        10
     12 tablet                                                                                                                 10     10
        Setup hardware for
                                      2       3         2         3
     13 thermostat                                                                                                                    10
        Thermostat integration
                                     12                           12
     14 with Kinect                                                                                                                          12      12
        Thermostat integration
                                              12        12
     15 with tablet                                                                                                                          12      12
     16 Full system testing          10       10        10        10                                                                                       20      10     10
        Meeting with NASA
     17 IV&V                                                                                                                                                2
        Improvements to user
                                      3       1         3         1
     18 interface                                                                                                                                                   8

     19 User Guides                   3       3         3         3                                                                                                12

     20 Final Documentation           4       2         4         2                                                                                                       12

     21 Acceptance Testing            2       2         2                                                                                                                  8

     22 Design Fair                                                                                                                                                              4
        Final Demo at NASA
     23 IV&V                                                                                                                                                                      3
        Totals:                      82       83        82        81      6     12    18     14    21     10     22     26     20     30     24      24    22      30      30     7
                                                                                                                                                                Grand Total:    316
1. The Design Software Interface task encompasses the entire design of the software for the
    system. Each team member will work on pseudo-coding and creating the algorithms for
    the Kinect and tablet software interfaces.
2. The Design Hardware Interface task will be designing the apparatus for demonstrations.
    Everett Thomas and Justin Robinson will lead in the design and setup of the hardware.
3. Setup Server will simply be preparing the server for software to be placed on it. Everett
    Thomas and Justin Robinson will be taking the lead for this task as well.
4. Code Generic Systems Functions task will be coding the System_On, System_Off,
    User_Login, User_Logout, Add_User, Remove_User, Set_User_Permissions,
    Switch_Input_Device, and Switch_Input_Device functions. Each team member will work
    on the functions.
5. Code Generic Device Functions task will be coding the Add_Device, Remove_Device,
    Modify_Device, Check_Device_State, Device_On, Device_Off, and Device_Act
    functions. All team members will work on creating these functions.
6. CDR (Critical Design Review) will be a meeting with the customer to display what
    progress has been made and full design of the system. This feedback will be crucial to
    the project as the customer will be able to see the entire design and give the final
    approval before the build continues.
7. The Setup Hardware Setup for Lights task will be for building the physical apparatus for
    the 3 lights and any other hardware necessary for the lights to work with the server.
    Justin Robinson and Everett Thomas will be taking the lead on all hardware.
8. The Lights Integration with Kinect task will be coding for the Lights_On, Lights_Off,
    and Light_Interval functions for the Kinect. Rebecca Rush and Justin Robinson will be
    working on this task and other coding for the Kinect.
9. The Lights Integration with Tablet task will be coding for the Lights_On, Lights_Off, and
    Light_Interval functions for the tablet. Samantha Hess and Everett Thomas will be
    working on this task and other coding for the tablet.
10. The Setup Hardware for Alarm task will be for building the physical apparatus for the
    alarm and any other hardware necessary for the lights to work with the server. Justin
    Robinson and Everett Thomas will be taking the lead on all hardware.
11. The Alarm Integration with Kinect task will be coding for the Alarm_Stay, Alarm_Away,
    and Alarm_Off functions for the Kinect. Rebecca Rush and Justin Robinson will be
    working on this task and other coding for the Kinect.
12. The Alarm Integration with Tablet task will be coding for the Alarm_Stay, Alarm_Away,
    and Alarm_Off functions for the tablet. Samantha Hess and Everett Thomas will be
    working on this task and other coding for the tablet.
13. The Setup Hardware for Thermostat task will be for building the physical apparatus for
    the thermostat and any other hardware necessary for the lights to work with the server.
    Justin Robinson and Everett Thomas will be taking the lead on all hardware.
14. The Thermostat Integration with Kinect task will be coding for the Thermostat_On,
    Thermostat_Heat, Thermostat_Cool, Themostat_Off, Thermostat_Up, and
    Thermostat_Down functions for the Kinect. Rebecca Rush and Justin Robinson will be
    working on this task and other coding for the Kinect.
15. The Thermostat Integration with Tablet task will be coding for the Thermostat_On,
    Thermostat_Heat, Thermostat_Cool, Themostat_Off, Thermostat_Up, and
    Thermostat_Down functions for the tablet. Samantha Hess and Everett Thomas will be
    working on this task and other coding for the tablet.
16. Full System Testing task is performing extensive tests on the system to search for any
    flaws and also to check that all aspects of the system integrate properly. Samantha Hess
    will be taking the lead for the testing, but all team members will participate in the task.
17. The Meeting with NASA IV&V task will allow the team to see how the system has
    progressed since CDR and comment on what is needed to make the project acceptable.
    All team members will be present.
18. Improvements to the User Interface task will be a way to improve the appearance and
    ease of use of the user interfaces for both the Kinect and tablet in general user and
    administrator roles. Each team member will participate in this task.
19. User Guides task is putting together a well written user manual so that the guides will
    allow new system users to easily be able to understand and use the system. Rebecca
    Rush will lead this task with the aide of other team members.
20. Final Documentation task is putting together the final design proposal and any other
    documents required for final delivery. Rebecca Rush will be taking the lead for this task,
    but all team members will have a part in the task.
21. Acceptance Testing task will involve testing to ensure that the system meets all of the
    requirements. Samantha Hess will take the lead on this task since it involves testing, but
    all members will participate in the testing.
22. Design Fair task is where the team will display our final software and hardware system at
    the Senior Design Fair. All team members will be present for this task.
23. The Final Demo at NASA IV&V task will be our final delivery and demonstration to the
    customer. The team will give a tutorial on how to use the system including basic
    functionalities, differences between system users, and adding a new input or output
    device to the system.




                                                                                            83
6.3 Budget
        (Completed by: Samantha Hess)



                                               Cost per Item:     Quantity:       Total:
Kinect                                         120                2               240
Zoom for Kinect                                20                 1               20
Asus Eee Pad Transformer Tablet                400                1               400
X10 Thermostat                                 332                1               332
Light dimmer switch                            70                 1               70
X10 Magnetic Contact Sensor                    30                 3               90


                                                                      Total Cost: $1152



NASA IV&V has agreed upon a budget of $2000 for the team to use to purchase necessary items
for the project.




                                                                                           84
6.4 Qualifications
       (Completed by: Samantha Hess)



Name                   Degree                 Jobs                      Languages
Samantha Hess          Computer Engineering   IRS, SRA Platinum         C, Java, Matlab,
                                              Solutions                 Assembly, JavaScript,
                                                                        CSS
Justin Robinson        Computer Engineering   Mylan, Threewide          C,Java,Matlab,Assembly
Rebecca Rush           Computer Science       WVHTC Foundation,         C, Java, Matlab,
                                              ProLogic, LCSEE for Dr.   Assembly, Lisp, VRML
                                              Menzies
Everett Thomas         Computer Engineering   DCS Corp                  C,Java,Matlab,Assembly,
                                                                        C++




                                                                                            85
                                                               Campus Address:                          Permanent Residence:
                                                               7110 Barberry Lane                        7978 Hedgesville Road
                                                               Morgantown, WV 26508                Hedgesville, WV 25427-5407
                                                               Cell (Primary): 304-839-5639               Phone: 304-754-8238
                                                                                  E-mail: shess4@mix.wvu.edu


Samantha Renee Hess
Education:       West Virginia University               Morgantown, WV                 Expected Graduation: May 2012
                 Pursuing a B.S. in Computer Engineering
Work
Experience:      SRA Platinum Solutions                     Bridgeport, WV                         May 2011 - Present
                 Software Engineering Intern
                       Created and reviewed design documents and diagrams.
                       Created a Java coding standards document to be used across several projects.
                       Gained experience developing in Oracle JDeveloper.
                       Learned the basics of deploying a web service and cascading style sheets (CSS)
                 Platinum Solutions Inc.                    Bridgeport, WV                    May 2010 - August 2010
                 Software Engineering Intern
                      Created a process to efficiently collect and graphically display test data.
                      Shadowed Senior Software Engineers in the process of developing a prototype.
                 Internal Revenue Service                  Kearneysville, WV                  June 2009 - August 2009
                 Desktop Support Intern
                       Aided customers with software and hardware issues.
                       Installed software and hardware
                       Used a help desk ticket managing system to determine what work needed to be completed.
                 Internal Revenue Service                  Kearneysville, WV                  June 2008 - August 2008
                 Software Testing Intern
                      Installed and verified that software worked correctly on a new security system.
                      Assisted in creating a product table for all of the Microsoft products and licenses available.
                 TM Associates                              Martinsburg, WV                   June 2007 - August 2007
                 Summer Office Assistant
                      Basic secretarial work including: setting up job interviews, ordering office supplies, and
                      document filing.
Clearance Level: Secret
Skills:          Java, MATLAB, and C programming; Proficiency in Microsoft Excel, Word, and PowerPoint
Honors/
Activities:      Society of Women Engineers President (2 years), Secretary (6 months), and Webmaster (1 year)
                 IEEE Member (3 years)
                 IEEE S-PAC Program Organizer (1 year)
                   th
                 8 Grade Math and Science Day Event Organizer (2 years)
                 Girl Scout Day Co-event Organizer (2 years)
                 Operation Christmas Child Project for WVU SWE Organizer (1 year)
                 College of Engineering and Mineral Resources Student Advisory Council Member (2 years)
                 CEMR Undergraduate Academic Affairs Committee Member (1 year)
                 CEMR Senior Class Gift Committee Member (1 year)
                 LCSEE Student Advisory Council Member (2 years)
                 Mountaineer Maniacs Member (4 years)
                 Phi Sigma Theta National Honor Society (3 years)
References:      Will be provided upon request
                                    Justin D. Robinson
                                       Jrobin24@mix.wvu.edu


Campus Address:                                                Home Address:
5301 Mountain Valley Drive                                     Rt. 6 Box 769
Morgantown, WV 26508                                           Clarksburg, WV 26301
Cell Phone: (304) 669-6283                                     Home Phone: (304) 622-4370

Objective:          To apply the knowledge that I’ve gained in the workforce and in the class room to
                    real life situations in the Information Technology field.

Education:          2005-2012 West Virginia University Expected Graduation: Spring 2012
                    Computer Engineering with Computer Science and Communications Minor
                    Cumulative GPA: 2.00

                    2001-2005      Liberty High School                Graduation: May 25, 2005
                    Cumulative GPA: 3.53

Relevant Courses: Operating Systems                                    Calculus 1-4
                  Engineering Design Courses                           Physics 1-2
                  Introduction to Digital Logic                        Computer Science
                  Introduction to Electrical Engineering               Computer Programming

Work Experience: Best Buy – Morgantown, WV                             May 2009- June 2010
                     Computer Specialist

                   Mylan Inc. – Morgantown, WV                         July 2008- December 2008
                       Business Intelligence Software Intern

                   Threewide – Morgantown, WV                          April 2008- July 2008
                       Tech Support

                   Department of Highways – Bridgeport, WV            June 2006- August 2006
                                                                      May 2007- Aug 2007
                           Bridge Crew

                   Game Stop Employee – Bridgeport, WV                 Spring 2004 – July 2005
                                                                       May 2007- December 2007
                            Cashier
                            Sales floor representative
                            Game Advisor

Computer Skills:    Microsoft Power Point, Excel, Word, Access, SQL, HTML, AutoCAD, SAP, C,
                    Java, Pspice, Xilinx, Assembly, WinCupl and MATLAB.

Honors/Activities: National Honor Society Member
                   Senior Citizen Volunteer Work
                   Liberty High School Golden Body Award

References Available Upon Request



                                                                                                        87
                                                          605 Ohio Ave. Fairmont, WV 26554
                                                                   (304) 288-4845
   Rebecca Lea Rush                                             rrush4@mix.wvu.edu
                                                             rebeccalea.rush@gmail.com
Objective:              Obtain a job in a Computer Science related field to continue to gain practical
                        experience and expand knowledge in Computer Science while hopefully impacting the
                        industry.
Education:              August 2008- May 2012                   West Virginia University
                        Bachelor's degree: Computer             Morgantown, WV
                        Science
                        May 2008                                East Fairmont High School
                        High School Diploma                     Fairmont, WV

Accomplishments     ●       College G.P.A: 3.62
and Activities:     ●       Mollohan Scholar.
                    ●       West Virginia Engineering and Technology Scholarship Recipient.
                    ●       Girl Scout Gold Award Recipient.
                    ●       Recognized for Outstanding Customer Service at Philmont Scout Ranch while
                            part of a team of management to operate a 3.1 million dollar outdoor store.

Skills and          ●       Task Oriented
Qualifications:     ●       Fast Learner
                    ●       Attention to detail
                    ●       Experienced in Java, C, Lisp, and
                            Matlab.
Employment        May 2011- August 2011                                            WVU CEMR
History:          Student Research Employee                                        Morgantown, WV

                        ●Extensive Data Mining and programmed entirely in
                         lisp.
                     ● Dealt primarily with Global vs. Local Rule.
                     ● Worked individually with weekly check-ins.
                     ● Assisted with research paper using LaTeX.
                  May 2008 - August 2008                                           ProLogic, Inc.
                  Megalodon Intern                                                 Fairmont, WV
                     ● Research Intern for sensors and optimization.
                     ● Analyzed antenna data and collected sensor data.
                     ● Attained knowledge in Matlab and Microsoft Office.
                     ● Collected documents on optimization.
                  May 2007 - August 2007                                           WVHTC Foundation
                  Expedite Intern                                                  Fairmont, WV
                     ● Involved with the CITERA and learned VRML.
                     ● Analyzed UAV data using Matlab.
                     ● Taught students about topographical maps.
                     ● Assisted with Administrative documentation.
                     ● Organized company’s documentation library.

References:       References available upon request.
                                                                                                     88
                                                              Campus Address:                        Permanent Residence:
                                                              143 Community Drive                         6712 Dry Run Road
                                                              Morgantown, WV 26505                   Hedgesville, WV 25427
                                                              Cell (Primary): 304-995-8435       E-mail: everettwv@live.com

        Everett Dale Thomas
Education:       West Virginia University             Morgantown, WV                         Expected Graduation: 5/12
                 B.S. Computer Engineering                                                   GPA(cumulative): 3.61/4.0

                 Hedgesville High School              Hedgesville, WV                        Graduated: 5/08
                 Diploma (Suma Cum Laude)                                                    GPA (cumulative): 3.9

Work
Experience:      DCS Corp                        Alexandria, VA                      May 2011- August 2011
                 Summer Intern
                       Worked with gyroscope sensors to evaluate drift issues when obtaining measurements
                          from the sensors.
                       Provided development support for enhancing simulation software.
                       Created a catalogue of 3D models.

                 Hedgesville High School              Hedgesville,WV                                      2004-2008
                 Athletic Director Aide
                        I worked for the athletic director. I ran the scoreboard for volleyball, basketball, and
                            baseball. I collected money for soccer games and ran the chains for football.

Security
Clearance Level: Secret
Coding:           Experience in Java, C, C++, and Matlab
Honors/
Activities:       Eta Kappa Nu(HKN) Member (April 2011 –Present)
                  Tau Beta Pi Member (December 2010- Present)
                  Institute of Electrical and Electronics Engineers (IEEE) (April 2011 – Present)
                  Dean’s List (Spring and Fall: 2008, 2009, 2010)
                  West Virginia University Achievement Award
                  Engineering, Science & Technology Scholarship
                  Promise Scholarship
                  Paul A. and Katherine M. Bennett Education Fund
Other Activities: High School Visitation Day Volunteer (April 2009, April 2010, October 2010, April 2011)
                  WV Science Bowl Volunteer (February 2010, February 2011)
                  Girl Scout Day Volunteer (March 2010, March 2011)
                   th
                  8 Grade Math and Science Day Volunteer (February 2011)
                  Murder Mystery Lunch Volunteer (October2010)
                  Operation Christmas Child (November 2010 and 2011)
References:       Available upon request




                                                                                                                       89
7. References

1. Kasanoff, Bruce. Now Possible. [Online] November 19, 2010. [Cited: October 17, 2011.]
http://nowpossible.com/2010/11/19/kinect-new-applications/.

2. OpenKinect. [Online] April 28, 2011. [Cited: October 16, 2011.]
http://openkinect.org/wiki/Main_Page.

3. X10 Home Gadgets. [Online] 2011. [Cited: October 16, 2011.] http://www.x10.com/homepage.htm.

4. Craven, Jackie. What Is a "Smart House"? [Online]
http://architecture.about.com/od/buildyourhous1/g/smarthouse.htm.

5. An alarm that isn’t just an alarm. [Online] http://www.alarm.com/overview/more_than_alarm.aspx.

6. What is Kinect? [Online] http://www.xbox.com/en-US/Kinect/GetStarted.

7. Kinect Hacks: Kinect Body Scanning for Virtual Dressing Room. [Online] October 5, 2011. [Cited:
October 17, 2011.] http://www.kinecthacks.com/kinect-body-scanning-for-virtual-dressing-room/.

8. Duncan, Greg. Robosapien, I Kinect you... [Online] August 4, 2011. [Cited: October 17, 2011.]
http://channel9.msdn.com/coding4fun/kinect/Robosapien-I-Kinect-you.

9. Wikipedia. Kinect. [Online] October 14, 2011. [Cited: October 17, 2011.]
http://en.wikipedia.org/wiki/Kinect.

10. Samsung. Samsung Galaxy Tab 10.1 Specifications. [Online] 2011. [Cited: October 17, 2011.]
http://www.samsung.com/global/microsite/galaxytab/10.1/spec.html.

11. Wikipedia. Android (operating system). [Online] October 17, 2011. [Cited: October 17, 2011.]
http://en.wikipedia.org/wiki/Android_(operating_system).

12. Asus. Asus Eee Pad Transformer TF101. [Online] [Cited: November 1, 2011.]
http://www.asus.com/Eee/Eee_Pad/Eee_Pad_Transformer_TF101/.
Appendix 1

http://csee.wvu.edu/~nasaslis

The website for our project will contain a brief description of the project, documents related to the
project including the system design, and contact information. Anyone will be able to access the site and
learn about the project. The website will be hosted on the Lane Department servers and will be created
using JSF and JSP pages.




                                                                                                      91
Appendix 2




             92
Individual Background Research Paper


   NASA Smart Lab Interface System (SLIS)



                Samantha Hess


                   Group 9


                 Version 2.0


              November 6th, 2011




                                            93
Table of Contents


Table of Figures .......................................................................................................... 95


Abstract ......................................................................................................................... 96


Problem Statement .................................................................................................... 97


Objective Tree ............................................................................................................. 99


Stakeholders ............................................................................................................. 100


Main Technology Aspects ..................................................................................... 100
Microsoft Kinect ........................................................................................................................................ 100
Asus Eee Pad Transformer Tab ................................................................................................................. 102


Design Detail ............................................................................................................. 103


Expected Outcome .................................................................................................. 104


Conclusion ................................................................................................................. 104


References ................................................................................................................. 105


Acronym List ............................................................................................................. 106



                                                                                                                                                         94
Table of Figures
Figure 1 - System Design ............................................................................................................................. 98
Figure 2 - NASA SLIS Objective Tree ............................................................................................................ 99
Figure 3 - Robosapien, I Kinect You... ....................................................................................................... 101
Figure 4 - Kinect Diagram .......................................................................................................................... 102
Figure 5 - Asus Eee Pad Transformer ........................................................................................................ 103




                                                                                                                                                     95
Abstract

        Recent technological advances have changed the way society works, acts, and thinks.
Fifteen years ago if someone had a cellular phone it meant they were a step ahead of the
technology curve while today having a cell phone is nothing out of the ordinary. When a
person sees a new or innovative piece of technology being used then he or she may become
more interested in working with items like that. One of the goals of NASA IV&V is to draw out
new technological advances and make them a reality. The implementation of the Smart Lab
Interface System will be used as one technique to do just that.

        The engineering team at the NASA IV&V lab in Fairmont, WV has tasked the team with
creating a generic framework that will use the capabilities provided by a Microsoft Kinect and a
tablet PC to control one of their labs. From this framework a basic interface to the Kinect and a
tablet will show how the framework can be used. Developing with the framework should be
made fairly easy so that it can constantly and easily be updated with new devices and actions.

        The ultimate goal is to have a well designed framework that can evolve to suit the needs
of the engineers in the lab as time passes and technology evolves. The next important goal is to
be able to control devices through the Kinect and framework. The last key element is the tablet
interface. The design team may be split at some point to complete the Kinect and tablet
subtasks simultaneously.




                                                                                                96
Problem Statement


       The problem presented to the group was to create a product that would allow visitors to
the NASA IV&V lab in Fairmont, WV the ability to interact with the lab via gestures and voice
commands using a Microsoft Kinect. The system should provide the ability to interact with
several pieces of hardware in the lab.

        The first piece of hardware that must be controlled is a light. Three lights will be in the
systems and should have three functionalities. First there must be a toggle to turn the lights ON
and OFF. Next the lights should be programmed to blink at a specified interval. The last
functionality for the lights should be the ability to adjust the brightness much like a dimmer
switch. The brightness can be adjusted from 0-100%.

       The system will also be able to control a thermostat. The modes that can be controlled
on the thermostat are OFF, HEAT, and COOL. The temperature can also be raised or lowered.
One degree step increments should be used to accomplish this task.

        The last part of hardware that should be interfaced into the system includes a burglar
alarm. The alarm can be OFF, ARMED AWAY, or ARMED STAY. The alarm should include an LED
indicator to show the status of the alarm system. Three different sensors should be used to
trigger a burglary and an LED should be used to signify a break-in has occurred. If the alarm was
tripped then a display should indicate where the alarm was tripped.

        Everything for this system should be connected to a common bus as well as use a
common protocol. Each of the devices should also be able to be commanded to actuate their
functionality, queried to get their current states and handle requests to publish information
about their state transitions. If more than one type of physical transport is required, then some
type of bridge will be built between the buses.

       The system must also be able to easily add a new device. Language must be easily
adjusted to add the device. The team must also demonstrate how to add a new device. The
team is allowed to add a device to the system if they choose.




                                                                                                 97
       Below is a diagram provided to the design team that displays a general view of what is
to be built. The team is very focused on getting the generic framework that will be hosted on
Server PC1 created so that not only the design team can integrate devices into the system, but
the engineers at NASA IV&V can also experiment with it.




                             Commands
                                                            Server                              Commands
                                                             PC1



                                                                                Commands,
                                                                               Configuration,
                                                                                 Settings


                 Controller                        Commands
                                                                                                     Controller B
                    A




  Lights        Computers Thermostats
                                                                            Interface Client
                                              Interface Client
                                                                                 (Tablet)
                                                (Kinect and
  Controller: Controllers shall all use a                                    Management
  common library to interpret                       PC2)
  commands
                                                                                Interface
  PC – Personal Computer



                                            Figure 1 - System Design




         The most important aspect of this system is to have a generic control framework for input and
output devices running on one of the labs servers. The next step is to integrate the Kinect to the system
and control lights. After the lights have been added then thermostat functionality is the next important
aspect. The last required part to be added to the system will be the tablet interface and burglar alarm.
The team at NASA has mentioned having 2 people focus on hardware and two on software to even out
the workload. The team would also like for our design team to add another piece of hardware to the

                                                                                                           98
system to demonstrate how the process of adding new technology will work but this will be bottom
priority.



Objective Tree
                                            NASA SLIS




               Generic                                                         Input
            communications


                 Common                      Output                            Kinect
                 protocol


              Common bus                                                   Asus Eee Pad
                                                                            Tranformer
                                                                              Tablet


              Thermostat                       Alarm                          Lights



            Off/Heat/Cool                   Off/Armed                        On/Off
                                           away/ Armed
                                              home
                                                                              Blink
             Temperature                   Current Status

                                                                               Dim



Figure 2 - NASA SLIS Objective Tree




                                                                                                   99
Stakeholders
LCSEE Design Team                               Samantha Hess, Rebecca Rush, Everett
                                                Thomas, Justin Robinson

Mentor                                          Dr. Powsiri Klinkhachorn

Sponsor                                         NASA IV&V Lab Team (Justin Morris, Justin
                                                McCarty and others)

Other                                           Lab visitors and Future design teams




Main Technology Aspects

Microsoft Kinect


        Microsoft launched the Kinect for XBOX 360 in North America on November 4, 2010 and
at later dates in November for other places around the world. The device was built to be a
motion sensing input device that would allow for interactive gaming with the XBOX 360. Unlike
the Wii and the Playstation Move, the Kinect offers users the ability to use their body motions
to control the game without having to hold any type of remote. Being able to interact with a
game without having to hold a remote was hugely appealing to the general public and over 8
million units being sold in its first 60 days.

        Less than a year later Microsoft released a non-commercial Kinect software
development kit (SDK) for the Windows platform with a commercial form coming out at a later
date. This allowed for .NET developers to start developing for the Kinect in C++/CLI, C#, or
Visual Basic .NET. Developers took this opportunity to expand the uses of the Kinect. People
began to use the Kinect without the XBOX 360 and instead connected it to a personal computer
(PC).

       Now along with the commercial Kinect games such as Dance Central, Kinect Sports,
Kinectimals, and Zumba Fitness people have developed applications that can monitor skeletal
movements and even control other electronic devices. One project that a person created used


                                                                                            100
the Kinect to control a Robosapien robot. The person made use of the Kinect’s skeletal tracking
as well as its voice control features.




                             Figure 3 - Robosapien, I Kinect You...



       Other uses for the Kinect have included a virtual dressing room, a Google Chrome
JavaScript extension that allows user to control the browser via the Kinect, and a 3D
videoconferencing application. The open source SDK means that these ideas are only the
beginning of what could eventually be created for the Kinect.

       The software for the Kinect is based on software technology that was developed
internally by Rare which is a subsidiary of Microsoft Game Studios and on a range camera which
was developed by PrimeSense which interprets 3D scene information from a continuously
projected infrared structured light.

       The physical Kinect sensor is a horizontal bar that is connected to a small base with a
motorized pivot. It is designed to be positioned lengthwise above or below the display. It
features an RGB camera, depth sensor, and a multi-array microphone. The combination of
these pieces provides a full-body 3D motion capture, facial recognition and voice recognition
capability. The microphone array enables the XBOX 360 to conduct acoustic source localization
and ambient noise suppression.


                                                                                            101
       The depth sensor on the Kinect consists of an infrared laser project combined with a
monochrome CMOS sensor. It can capture video data in 3D under any ambient light conditions.
The sensing range is adjustable. The sensor can also be calibrated to take into account any
obstacles like furniture in the space.

        The gesture, facial, and voice recognition are the primary functions of the Kinect. It is
said to be able to track up to 6 people, including two active players for motion analysis with a
feature extraction of 20 joints per player.




                                       Figure 4 - Kinect Diagram




Asus Eee Pad Transformer Tab


        The Asus Eee Pad Transformer Tablet runs Honeycomb 3.2, an Android based operating
system. It features a 10.1” LED Backlight WXGA 1280x800 screen with 10 finger multi-touch
support. The hardware includes an NVIDIA Tegra 2 2.1GHz dual core CPU with 1GB memory. It
has a 16GB storage and 2 USB 2.0, 2 docking and one card reader ports. The sensors contained
in the tablet include a G-Sensor, Light Sensor, Gyroscope, E-compass, and GPS. The battery is
listed as lasting up to 16 hours.

        Google purchased Android Inc. in 2005. The operating system is open source and most
of the code is available under the Apache License. Android is based on a kernel with
middleware, libraries, and APIs written in C. The application software runs on an application
framework which includes Java-compatible libraries based on Apache Harmony. In May 2011 at
                                                                                                102
Google I/O Android version 3.1 Honeycomb was released. The operating system is meant for
tablet usage. It supports larger screen devices, introduces new user interface features, and
supports multi-core processors and hardware acceleration for graphics. Android supports the
use of Adobe Flash as well.




Figure 5 - Asus Eee Pad Transformer



Design Detail


       The Kinect will be used to control the lights and thermostat. Voice commands and
skeletal tracking will be used to control both devices. Based on the current way they are using
the Kinect in the lab at NASA IV&V the team has learned that certain aspects need to be
focused on when designing the Kinect interface. One of the most important pieces of advice
given was to use a well-written smoothing algorithm. The algorithms provided in the Kinect
SDK work but they slow down the processing time dramatically.

                                                                                             103
       The Samsung Galaxy Tab will be used to control the burglar system. This will give the
user the ability to arm and disarm the system from outside of the lab. Sensors will also be used
to create the burglar system.

       X10 devices including light switches and thermostats may be used to make the
hardware aspect slightly simpler and to keep from reinventing the wheel. Creating the common
framework for all of the devices in the system is the primary goal to accomplish in this project,
so simplifying other aspects will give us the ability to focus on creating a solid framework.


Expected Outcome


        This project is planned to be the base, low-level design of the Smart Lab the team at the
NASA IV&V lab. The most important part of the project is the creation of the common
framework for various devices to use. If this framework works will then it will serve as a strong
base for future design teams or other engineers to build on.
        The ending result of SLIS will serve as an educational tool to people who come to view
the different projects that are in progress at the NASA IV&V lab. Using the Kinect or a tablet to
control basic aspects of the lab may spark interest in people. Seeing a light turn on and off with
the swipe of a hand or an alarm set via tablet from across the building is intriguing to many
people. It may lead them to wonder what else could be done with these technologies which
could in turn lead to the next technological advancement.


Conclusion
        The NASA SLIS project will be a basic framework that will be created with the intentions
of allowing a Kinect and a tablet to control multiple devices within a lab. Basic tasks such as off
and on are essential in this framework and will allow the project to be able to grow throughout
a span of many years or as the engineering team at NASA sees fit. The design team will be
educating the engineering team at NASA IV&V on how to expand the system which will ensure
continual use of the system.
        Hopefully seeing how the Kinect and tablet are able to control lights, thermostats, a
burglar alarm, and other devices will spark interest in the next technology innovator that may
be visiting the lab. That person could then create or accomplish something that will change
technology forever. Education is essential to our world and systems such as SLIS help to make
educating people fun.



                                                                                                104
References

1. Kasanoff, Bruce. Now Possible. [Online] November 19, 2010. [Cited: October 17, 2011.]
http://nowpossible.com/2010/11/19/kinect-new-applications/.

2. OpenKinect. [Online] April 28, 2011. [Cited: October 16, 2011.]
http://openkinect.org/wiki/Main_Page.

3. Craven, Jackie. What Is a "Smart House"? [Online]
http://architecture.about.com/od/buildyourhous1/g/smarthouse.htm.

4. An alarm that isn’t just an alarm. [Online] http://www.alarm.com/overview/more_than_alarm.aspx.

5. What is Kinect? [Online] http://www.xbox.com/en-US/Kinect/GetStarted.

6. X10 Home Gadgets. [Online] 2011. [Cited: October 16, 2011.] http://www.x10.com/homepage.htm.

7. Kinect Hacks: Kinect Body Scanning for Virtual Dressing Room. [Online] October 5, 2011. [Cited:
October 17, 2011.] http://www.kinecthacks.com/kinect-body-scanning-for-virtual-dressing-room/.

8. Duncan, Greg. Robosapien, I Kinect you... [Online] August 4, 2011. [Cited: October 17, 2011.]
http://channel9.msdn.com/coding4fun/kinect/Robosapien-I-Kinect-you.

9. Wikipedia. Kinect. [Online] October 14, 2011. [Cited: October 17, 2011.]
http://en.wikipedia.org/wiki/Kinect.

10. Samsung. Samsung Galaxy Tab 10.1 Specifications. [Online] 2011. [Cited: October 17, 2011.]
http://www.samsung.com/global/microsite/galaxytab/10.1/spec.html.

11. Wikipedia. Android (operating system). [Online] October 17, 2011. [Cited: October 17, 2011.]
http://en.wikipedia.org/wiki/Android_(operating_system).

12. Asus. Asus Eee Pad Transformer TF101. [Online] [Cited: November 1, 2011.]
http://www.asus.com/Eee/Eee_Pad/Eee_Pad_Transformer_TF101/.




                                                                                                     105
Acronym List
API            Application Programming Interface

CMOS           Complementary metal oxide semiconductor

IV&V           Independent Verification & Validation

LCD            Liquid Crystal Display

LED            Light Emitting Diode

NASA           National Aeronautics and Space Administration

RAM            Random Access Memory

ROM            Read Only Memory

SDK            Software Development Kit

SLIS           Smart Lab Interface System

TFT            Thin Film Transistor

USB            Universal Serial Bus

WXGA           Wide eXtended Graphics Array




                                                               106
LANE DEPARTMENT OF COMPUTER SCIENCE AND ELECTRICAL ENGINEERING




                NASA SLIS
              Final Design Proposal

                        Rebecca Lea Rush

                          11/30/2011




                                                                 107
Contents


Abstract ...................................................................................................................... 109


Problem Statement ................................................................................................. 110


Review of State of the Art ..................................................................................... 112


Object Tree ................................................................................................................ 113


Stakeholders and Needs........................................................................................ 114


Expected Outcomes ................................................................................................ 115


Conclusion ................................................................................................................. 116


Works Cited ............................................................................................................... 117




                                                                                                                              108
Abstract

        The concept of a smart home (or a smart lab in our instance) has always been a
fascinating concept for our generation. This whole thought can be taken back to a popular
television show, the Jetson’s. Thinking that a person could control their whole household with
either a gesture, or a voice command or even from computers seems appealing to most people.
This is what we will try to accomplish in our project.

       Futuristic concepts will always appeal to the next generation, because that is how our
culture is driven. With everything going wireless or somehow connecting to the Internet in
some way, this opens up a perfect way to integrate a house to a network. With this type of
potential this gives us as engineers a perfect opportunity to take advantage of existing
hardware and computer applications.

       I believe this will help in other fields, with the development of smart homes or smart
labs. For instance, a person will always know what appliances are on and if their alarms are
enabled or not. Studies do show that the second most desired need is security, and if we can
enable a person to know at all times that their place is secure, I believe this will be a good thing.
(Cherry 2011)

        This would be very helpful if you have a loved one that is elderly and you can kind of
keep an eye on them with the use of a program on a tablet or PC. Making sure their alarms are
set and that their house is run properly can all be done by the touch of a button, would make
people feel a lot more secure in the own person’s and home. As something that can be added
in the future, video surveillance would be a great way to keep watch over the smart house.
(Koltz 2011)

       The new system will also help businesses. A business can know how much energy is
being spent and can power off devices from afar off. They too will also know if their property is
secure with the use of an alarm system that is connected to a network. The sky is truly the limit
with this project on how you can help people.




                                                                                                 109
Problem Statement

        The problem that is presented to us is that we need to develop a system that can be fun
to interact with, but also have benefits that will help the customer. I mean this by, we will
make their life much easier. This system will make their day to day routines much easier and
also help improve their home or whatever it is they want to control.

        This system will be controlled by two different input devices. These two devices include
the highly popular Microsoft Xbox Kinect and some type of Android tablet. These two devices
will be how we will interact with the system and control the smart lab. The Kinect will be used
when you are in that specific room. The tablet can be used while you are in that room but also
while you’re farther away from that specific room. The Microsoft Xbox Kinect is one of the
fastest, if not fastest, selling piece of hardware on the market and I think that makes it very
appealing to use. (Stevens 2011)

        The customer wants the system to be able to turn lights on and off. This shouldn’t be a
problem, because we have different input devices that can all do this. At the same time we
don’t want this to be an annoyance to the customer, turning their lights on and off, that is one
of the biggest requirements of the project, to make this interaction between the customer and
the hardware is that it’s fun. If the customer can’t enjoy interacting with the system then we
will be failing at our job.

        The customer also wants these lights to be controlled so they can blink at some
intervals. Once again this won’t be too hard to do. Another problem will be to adjust the lights
brightness level. They want the lights to be adjusted from 0-100%, just like a slider switch that
you would find in the average home.

        The system will also consist of some type of a thermostat. This will take some more
planning on how we will implement this function. With the thermostat we will have several
functions that go into it. Again, accessing these functions and how they will be interacted with
have to be convenient, easy to use, and not annoying. If a person has to go throw all these
hoops just to turn down the air conditioning in the house then this will not meet the
requirements of the project.

        The thermostat will have separate functions to the unit on and off. The system will also
be able to turn the thermostat into heating mode or a cooling mode. Then, of course, the
temperatures will be able to be adjusted up and down by one degree at a time. We can
definitely implement this in many different ways with the Kinect or a tablet. The Kinect can be

                                                                                              110
implemented so that this can be done while in that room and the tablet can do this from a
distance away from the home.

        The forthcoming problem is where a bulk of the work will come from. The customer
wants the system to have an alarm attached to it. The alarm will be our most appealing aspect
of the whole system, which will really show off the ability of our smart lab. The alarm will have
the following statuses that it can be in; the alarm can in off mode, armed away mode, and also
armed stayed mode. There will be LED’s on the panel to indicate which mode it is in. The alarm
will have three different sensors that can be tripped to alert the system if a burglar is
attempting to break in. The customer wants to know what was tripped to set off the alarm. So
if a window is busted out the customer wants to know which window was broken into, not just
that the alarm went off.

        The customer will want all this to be updated to them from away from home via the
tablet and the program that is on it. So they can make sure their alarm is set while they are
gone and while are already in bed. This makes our system very user friendly and convenient,
which is what technology is supposed to do. Technology is supposed to make our lives easier
and not a bigger hassle. Honeywell has done a great job in designing security systems that can
be monitored from a far off via the internet, this will be a great resource. (Honeywell, 2011)

       All these devices will be able to be viewed by the tablet and their current statuses will
be viewable. This means via the tablet we will be able to determine what our house is doing.
We will be able to determine what lights are on, what the current temperature is set too and
the current status of our burglar alarm. This will make our users very happy in that they will
know what is on and off in their smart home.

       Another key function the customer is stressing towards us is that we will be able to add
separate devices to our system in a very simple fashion. This will be done by making a common
language which will communicate will all the output devices. The common language will be
made so we can add new devices but also whatever future input devices that we see fit to the
system. This is one of the biggest problems that we will encounter because we will have to
develop the system with the future in mind.

        The NASA group wants us to demonstrate to the customer how we can add a device to
the system. This must be a simple process then, because the customer isn’t expected to
understand as much about the product as we are. So like mentioned before, this will be plug
and play. This is a very important problem that needs to be tackled and will take a bulk of the
time.


                                                                                               111
Review of State of the Art


       There may be quite a few problems to be dealt with in this project, but the possibilities
are endless given what technology we have to use. Just looking at the Microsoft Xbox Kinect
alone allows you to dream up of many possibilities for the project. The Kinect has already been
used for so many things including controlling robotics and navigating through digital worlds.
(Tanz 2011) Seeing that it can be used to do great things like that, brings great aspirations to
mind on what we can accomplish with just these piece of hardware.

        The Microsoft Xbox Kinect is a brilliant piece of hardware. This hardware has cameras
included in it to detect full body motion. The full body motion detector can pick up different
gestures and movement and will be sent back to the Kinect. These gestures and movements
can be used as input instead of using a mouse or keyboard. (Tanz 2011) The Kinect can also
pick up voice recognition. Commands can be given via a person’s voice and can be
implemented using the SDK to do whatever the programmer desires. This is truly a great piece
of hardware to work with because there is so much to work with. Another great thing about
the Kinect is the price. With the Kinect only retailing around $199, this will be an easy product
to pitch to customers to use in our system.

        The tablet is another thing that brings so much potential to this project. We can see
that video surveillance is the future and that it is used every day to protect many things. (Koltz
2011) Incorporating video surveillance with the tablet is something that has already been done
too. So there are so many different ways that this can be accomplished for our project.
Honeywell also has done this in some form too. (Honeywell 2011) The tablet will be able to
connect to a network which will allow us to work through the internet and allow us to be
wireless.




                                                                                               112
Object Tree

                          NASA-SLIS




              Framework     Input       Output




               Generic
                            Kinect      Lights




                                      Thermostat
                Open        Tablet




                                        Alarm




                                                   113
Stakeholders and Needs

       The NASA group is the one who is responsible for giving us this project. They came up
with the main part of the design and how they wanted it done. Dr. Klink added the part with
the tablet and wanted us to interface our system using it. We are collectivity coming together
and forming this group to accomplish this one goal and that is to help out the NASA group.
They are going to be the one who is most affected by this project because they want to
continue using this smart lab for their future projects and demonstrations.

       The number one need and most important need is to meet NASA’s requirements. We
need to meet their objectives and our mentor’s objectives because they are the ones that are
paying for this project. The second most important need is to have this project be easily added
onto. They want this design system to last for years to come, so that will be very important to
us. The third need is to simply meet all the requirements laid out before us before the end of
next semester. All these people are counting on us to get this done, and that has to be met.




                                                                                            114
Expected Outcomes

        Our first and foremost expectation of doing this project is to learn. We will learn how to
interact with customers first of all. Figuring out what the customer wants and how they want it
delivered is one of the most difficult things of being an engineer. An engineer can design a truly
fantastic project and it might even help a lot of people, but if it doesn’t make the customer
happy then you have failed at your task. We need to learn how to meet the expectations of the
customer, which is the group NASA in our case.

         Implements software with hardware in a real world case such as the smart lab will help
all of us. This will be a great learning tool, because we need to learn how to adapt to situations
that aren’t taught in our class room. The team wants us to be able to add new devices to our
system at any given time, so this will help us in our design to make it open and basically plug
and play with future components.

       This project is meant to be added to also, as in we will not be the only ones working on
the NASA SLIS. Future teams will add onto our project and hopefully make it better than we
could have ever imagined. We expect great things out of this project as it will evolve way past
our time with the NASA group and with West Virginia University.




                                                                                               115
Conclusion

        There is so much more that can be done with this project. The sky is truly the limit on
what future groups can add onto this project for Senior Design. With the openness of the
common language we will design for the system to the connect ability of adding extra outputs,
this project can be expanded upon for years to come.

        I believe we found out from our customers that technology is expected everywhere now
a days. The world just doesn’t want to hear about this only being available in the future; they
want to see the outcomes now. They want to see everything they use at the palm of their
fingertips; this project will help bring them to that. That is what this Senior Design class is
about, finding something that interests the customers and solving that problem.

        The group must overcome some limitations when working on this project. The biggest
limitation would have to be time. We will be designing our outline for the rest of this semester
but won’t actually be building anything till the start of school in January. Most of us are
Computer Engineering and Electrical Engineering majors, so some of the coding that will need
to be done for the tablet and interface will be difficult. None of us have ever interfaced
something with a network or worked with a Microsoft Xbox Kinect. All these limitations can be
overcome though, with our great mentor, our NASA customer group and will all we’ve learned
over the years here at West Virginia University; we can accomplish this task.




                                                                                             116
Works Cited
Stevens, T. (2011). Microsoft sells 10 Million Kinects. Retrieved October 13, 2011, from engadget.com:
http://www.engadget.com/2011/03/09/microsoft-sells-10-million-kinects-10-million-kinect-games/

Cherry, K. (2011). Hierarchy of Needs. Retrieved October 14, 2011, from about.com:
http://psychology.about.com/od/theoriesofpersonality/a/hierarchyneeds.htm

Honeywell (2011). Honeywell. Retrieved October 14, 2011, from honeywell.com:
https://www.honeywellintegrated.com/ss/index.html

Koltz, H. (2011). State of the Market: Video Surveillance. Retrieved October 13, 2011, from sdmag.com:
http://www.sdmmag.com/articles/86246-state-of-the-market-video-surveillance

Tanz, J. (2011). Kinect hackers change the futrue of robotics. Retrieved October 14, 2011, from
wired.com: http://www.wired.com/magazine/2011/06/mf_kinect/all/1




                                                                                                     117
LANE DEPARTMENT OF COMPUTER SCIENCE AND ELECTRICAL ENGINEERING




             NASA SLIS
              Final Design Proposal
                          FINAL DRAFT



                            Group 9

                         Rebecca Rush

                          11/30/2011




                                                                 118
Table of Contents


Abstract ...................................................................................................................... 120


Problem Statement ................................................................................................. 121


Needs ........................................................................................................................... 122


Ranking of Needs ..................................................................................................... 123


Objective..................................................................................................................... 124


Objective Tree .......................................................................................................... 126


Stake Holders............................................................................................................ 127


Conclusion ................................................................................................................. 128


Works Cited ............................................................................................................... 129




                                                                                                                                119
Abstract

       NASA SLIS plans to combine old and new technology to develop a user friendly system.

The problem presented was to create a smart lab system for NASA IV & V in Fairmont. The

system will use an output controller for the collected input data. The generic framework of the

system should allow for the addition of new input and output interfaces. NASA IV & V hopes to

use the smart lab system to interface with some of their current and new technologies. They plan

to use SLIS to demonstrate their projects to the public. There are many stakeholders of the

NASA SLIS project. All groups of stakeholders want the project to be successful, but some of

the stakeholders have slightly different goals.




                                                                                              120
Problem Statement


       The problem presented was to create a smart lab system for the NASA IV & V in

Fairmont. The system should utilize the Microsoft Kinect to be the main input tool. The system

will use some type of controller to output the data being collected from the input. The framework

of the system should be generic to allow for additional input interfaces to be easily added. The

framework will also allow for multiple output outlets. NASA IV & V hopes to use the smart lab

system to interface with some of their current and new technologies. They want to be able to use

the framework to show off their software to visitors and make their work easily relatable to the

public. The initial proposed system focuses mainly on the generic framework in hopes to allow

for expansion of the project with future senior design groups. The following diagram shows the

basis of the system.




                                                                                               121
Needs


       NASA SLIS hopes to pair old and new technology to create a user friendly system. It is

intended to exploit new opportunities using the Microsoft Kinect. There is a growing trend to

utilize the Kinect for purposes other than what it was originally intended. The Kinect SDK is

easily accessible and will be a key part in understanding how to interface with the technology.

The android tablet is also all open source, and allows for programmers to develop for the android

software. NASA SLIS will ultimately be used to demonstrate to the public the different projects

that NASA IV & V works with.


       To ensure that the generic framework of the system works correctly, the group will

interface to three different sets of devices. The devices to interface with are very common to

most homes. Therefore the implementation of this system could apply to more than just NASA.

The group has been researching X10 which is a company that creates very affordable devices

that would be easy to interface our system with to control things such as lights, thermostats, and

burglar alarms.




                                                                                                 122
Ranking of Needs


        The first priority of the system is the framework. The framework needs to be generic to

allow for the addition of new input/output devices. It needs to be extensible to allow future

senior design groups to continue the project. Finally, the framework needs to be modular to

allow for ease in maintaining the code. Second, both the Kinect and Android tablet are needed

for input devices to the system. Next, the other devices (lights, thermostat, and burglar alarm) are

design choices for the demonstration needs. NASA SLIS will use these three devices to

implement a smart lab to demonstrate that it works. Fourth, a demonstration of a new device

being added to the system is important to teach the customers the protocols for using the system.

Next, the public must find NASA SLIS intriguing because the public is what sparked the project

idea. Finally, it is important that the customer is happy with the implementation and execution of

NASA SLIS.




                                                                                                123
Objective

There are many requirements that make up the NASA SLIS project. The objectives of the system
have been laid out as follows and are prioritized from highest to lowest:

      Devices shall be connected via a common bus.

           o The generic framework which allows the devices to query their current state,
               utilizes their functionality, and transition to different states.

      A common protocol will be used.

           o The common functions i.e. on, off, will be applied to all devices.

      New devices can be easily added to the system.

           o Demonstration of adding a new device to the system.

      Two specific input devices will be used to interface with the system.

           o Microsoft Kinect.

           o Android Tablet.

      The system will demonstrate on the following devices. Each device will have several
       features.

           o Three lights

                      Blink at intervals.

                      ON/OFF modes.

                      Adjust brightness level.

           o Thermostat

                      OFF/HEAT/COOL modes.

                                                                                             124
         Adjustable by 1 degree.

o Burglar Alarm

         OFF/ARMED AWAY/ARMED STAY modes.

         LED to indicate status.

         Three sensors that trip alarm.

         Shows which device tripped the alarm.




                                                  125
Objective Tree


                      NASA SLIS




      Demonstration   Framework      Hardware




        Smart Lab      Generic        Kinect



       New Device     Extensible      Tablet



      Public Appeal    Modular       3 Lights



                                    Thermostat



                                   Burglar Alarm




                                                   126
Stake Holders


       There are many stakeholders of the NASA SLIS project. All groups of stakeholders want

the project to be successful, but some of the stakeholders have slightly different goals.


      NASA IV &V – The engineering group in Fairmont, WV has specified the project. They

       want to use SLIS to make their new lab friendly to the public. The NASA team also

       hopes to expand upon this project for future senior design groups.


      Senior Design Group 9 – The senior design group hopes to create a dynamic project that

       will achieve all the requirements set forth by NASA and the LCSEE CS 480/481 course

       to not only graduate but prepare them with a real world experience.


       LCSEE CS 480/481 Instructor Dr. Reddy – The project should meet all the requirements

       set by the course.


      LCSEE Mentor Dr. Klink – The project will need to satisfy the restraints and

       requirements added to the project throughout the duration.




                                                                                            127
Conclusion

       There has been a lot of discussion in the programming community to develop upon the

features already implemented by the Microsoft Kinect. There is a lot of functionality that can be

gained from a relatively cheap tool. The android tablets, while relatively new, already have a

programming community for support. The X10 products are a relatively inexpensive smart tool

to help achieve the device demonstrations. These three pieces of technology will work

cohesively with our generic framework to achieve the goals set forth by the NASA IV & V and

the LCSEE CS 480/481 course.




                                                                                                 128
Works Cited
1. Kasanoff, Bruce. Now Possible. [Online] November 19, 2010. [Cited: October 17, 2011.]
http://nowpossible.com/2010/11/19/kinect-new-applications/.

2. OpenKinect. [Online] April 28, 2011. [Cited: October 16, 2011.]
http://openkinect.org/wiki/Main_Page.

3. Craven, Jackie. What Is a "Smart House"? [Online]
http://architecture.about.com/od/buildyourhous1/g/smarthouse.htm.

4. An alarm that isn’t just an alarm. [Online] http://www.alarm.com/overview/more_than_alarm.aspx.

5. What is Kinect? [Online] http://www.xbox.com/en-US/Kinect/GetStarted.

6. X10 Home Gadgets. [Online] 2011. [Cited: October 16, 2011.] http://www.x10.com/homepage.htm.

7. Kinect Hacks: Kinect Body Scanning for Virtual Dressing Room. [Online] October 5, 2011. [Cited:
October 17, 2011.] http://www.kinecthacks.com/kinect-body-scanning-for-virtual-dressing-room/.

8. Duncan, Greg. Robosapien, I Kinect you... [Online] August 4, 2011. [Cited: October 17, 2011.]
http://channel9.msdn.com/coding4fun/kinect/Robosapien-I-Kinect-you.

9. Wikipedia. Kinect. [Online] October 14, 2011. [Cited: October 17, 2011.]
http://en.wikipedia.org/wiki/Kinect.

10. Samsung. Samsung Galaxy Tab 10.1 Specifications. [Online] 2011. [Cited: October 17, 2011.]
http://www.samsung.com/global/microsite/galaxytab/10.1/spec.html.

11. Wikipedia. Android (operating system). [Online] October 17, 2011. [Cited: October 17, 2011.]
http://en.wikipedia.org/wiki/Android_(operating_system).

12. Asus. Asus Eee Pad Transformer TF101. [Online] [Cited: November 1, 2011.]
http://www.asus.com/Eee/Eee_Pad/Eee_Pad_Transformer_TF101/.




                                                                                                     129
Background Research Paper

NASA SLIS

Everett Thomas

Final




                            130
Contents


Abstract ........................................................................................................... 132


Problem Statement ...................................................................................... 133


Requirements ................................................................................................ 134


Design ............................................................................................................... 136


Conclusion ...................................................................................................... 138


Works Cited .................................................................................................... 139




                                                                                                                             131
Abstract


        Everything seems to be becoming “smarter” these days. There are now smart phones
that take the place of a laptop, pda, and a cell phone. Becoming more popular are smart
homes. These are homes that have a central computer that can control and monitor everything
in the house. (3)

        What we will be doing is creating a smart lab for NASA IV & V. It will be created with a
generic framework and common communication language so that new devices can be added
easily.

       The smart lab that will be created will be used to control some lights, a thermostat, and
an alarm. The system will use a tablet and a Kinect to provide input to the system.




                                                                                               132
Problem Statement


        The problem that is trying to be solved is to create a “Smart Lab” for the NASA IV & V
lab. The Smart Lab will be similar to a “smart house.” The Smart Lab will be controlled using a
tablet and Kinect from Microsoft.

       Since the Smart Lab will be like a smart house, what is a smart house? A smart house is a
house that has a computer system that monitors many aspects of daily living. It can have
systems that monitor and control the lights, the temperature, multi-media, security of the
house, and many other aspects of the house. (3)

       A smart house is not just smart because everything is connected to a computer. It is
smart since the computer can control things to save energy or provide a convenience to the
home owner. Some of the ways it can do this is by monitoring the refrigerator and telling you
when you are low on a certain item.

        There are already several companies that make smart home products. One is
ALARM.COM. Their smart home technologies can be used in various ways. Such as telling you
when your kids arrive home from school, when a liquor cabinet or gun safe is opened, or if you
left your garage door opened. You can access all this information from your phone or the web.
(4)

       The NASA IV & V lab wants a smart lab, not for convenience, but for public outreach.
The NASA IV & V team mainly does software integration and testing. Seeing this being done is
not the most exciting thing for the public to see. So they have asked us to create a smart lab so
that the public will be able to interact with. For this project, NASA IV & V will be the only
stakeholder.

       This smart lab will have two major inputs that the users will be able to use. The first is
Microsoft’s Kinect. The Kinect is a hands free controller originally designed for the XBOX 360. It
has a motion sensor and a microphone to get the input in from the user. It tracks the user’s
skeleton. (5)

       The second input will be a tablet. It will be able to control all aspects of the smart lab.

       The biggest problem will be creating the smart lab in a generic fashion so that it will be
easy to add new input and output devices to the lab. This means there should be little to no
coding required for adding a new device to the system.



                                                                                                 133
Requirements


       The NASA IV & V team has provided a set of requirements for designing this smart lab.
They have also provided a 2,000 dollar budget in building the smart lab.

        The lab will have at least three outputs. These devices will show that the system is
working. While these outputs could have been anything, it was suggested that we use these
outputs. The first output will be three lights. The light must be able to be controlled by the
system and a normal toggle switch. Each light must be able to dim. Finally, each light must be
able to blink when commanded to.

       The next output device that is to be controlled by the system is a thermostat. The
system must be able to change the modes the thermostat is on between off, heat, and cool.
The temperature must also be able to be controlled by the system.

        The final required device that is to be controlled by the system is a burglar alarm. The
alarm will have three states; off, armed away (out of house), and armed stay (still in the house).
The alarm will have LEDs to indicate what mode the alarm is in. It will have three sensors that
can trip the alarm with a LED that will indicate which sensor has tripped the alarm if the system
is armed.

       There will be two required inputs for the system. The first is the Kinect from Microsoft.
The second will be a tablet.

       The most important requirement will be that the devices will be connected via a
common bus and use a common protocol. Each device can be commanded to actuate all their
functionality. Each device must be able to be queried to get their current state. This ties into
the second most important requirement that it must be easy to add a new device to the
system.

       Figure 1 on the next page show the objective tree for this project.




                                                                                               134
                         NASA SLIS




Generic              Input                   Output
communications




Common bus
                     Kinect                  Lights




                                             Dimming

Common               Tablet
protocol
                                             On/Off



                                             Blinking




                                             Alarm



                                             Off/Armed
                                             away/ Armed
                                             home



                                             Status



                                             Thermostat



                                             Off/heat/cool




                                             Temperature




                 Figure 6 - Objective Tree




                                                             135
Design


           The design will be based on Figure 2.


                             Commands
                                                              Server                                    Commands
                                                               PC1



                                                                                        Commands,
                                                                                       Configuration,
                                                                                         Settings


                 Controller                           Commands
                                                                                                             Controller B
                    A




  Lights            Alarm            Thermostats
                                                                                 Interface Client
                                                   Interface Client
                                                                                      (Tablet)
                                                     (Kinect and
  Controller: Controllers shall all use a                                         Management
  common library to interpret                            PC2)
  commands
                                                                                     Interface
  PC – Personal Computer



                                                   Figure 7 - Smart Lab Architecture

       All devices will connect to a central server. For this design, it will be a Dell laptop
provided by NASA IV & V. The method that the server will communicate with the other devices
has yet to be determined but will most likely be done in a serial fashion. The communication
standard that will be used will be made so it will be easy to add new devices.

        The Kinect and tablet will have direct communications with the server. In the beginning
of the testing phase, there will be a computer connected to the server for testing purposes.

        Microsoft has released the SDK for the Kinect. This will make programming with the
Kinect simpler. The Kinect will be used to control the lights and the thermostat.

       The tablet will have control of everything that is connected to the server. An app will
have to be created that will make it easy to control everything.

        There are two options with connecting the output devices to the server. The first option
is to connect the devices to a micro controller and connect it to the server. This would require
programming the microcontroller and creating the hardware to connect the micro controller.

                                                                                                                            136
        The second option is to use X10 hardware. X10 hardware communicates to each other
using the power outlet for data transmission. Using a module that will allow the hardware to
connect to the server directly, it will be easy for the hardware to talk to the server. This will be
the option that will most likely be chosen.

        The overall design will be made so that it will be easy to add new devices to the server.
This will be done with a common transmission language.

       The system will be built on a board and not installed in the lab. This method will allow
for easy testing and building.




                                                                                                  137
Conclusion


        This project will require a lot of hardware and software integration. It will be very
important to have a plan when building this smart lab. Otherwise, it will be very easy to get lost
with all of the integration and create hundreds of lines of useless code.

      One of the big problems we face is time. We do not have that long to create a fully
working smart lab. What may happen is that we create the generic framework and
communication standard and that another senior design group will make it fully working.

      Another problem that will be faced is getting computers to talk to each other. It is
something that we have no experience in doing.

        The main goal is to create something that the NASA IV & V lab can show to the public
that can be exciting for them. After all, just seeing a command line interface is not all that
exciting.




                                                                                                 138
Works Cited
1. Kasanoff, Bruce. Now Possible. [Online] November 19, 2010. [Cited: October 17, 2011.]
http://nowpossible.com/2010/11/19/kinect-new-applications/.

2. OpenKinect. [Online] April 28, 2011. [Cited: October 16, 2011.]
http://openkinect.org/wiki/Main_Page.

3. Craven, Jackie. What Is a "Smart House"? [Online]
http://architecture.about.com/od/buildyourhous1/g/smarthouse.htm.

4. An alarm that isn’t just an alarm. [Online] http://www.alarm.com/overview/more_than_alarm.aspx.

5. What is Kinect? [Online] http://www.xbox.com/en-US/Kinect/GetStarted.

6. X10 Home Gadgets. [Online] 2011. [Cited: October 16, 2011.] http://www.x10.com/homepage.htm.

7. Kinect Hacks: Kinect Body Scanning for Virtual Dressing Room. [Online] October 5, 2011. [Cited:
October 17, 2011.] http://www.kinecthacks.com/kinect-body-scanning-for-virtual-dressing-room/.

8. Duncan, Greg. Robosapien, I Kinect you... [Online] August 4, 2011. [Cited: October 17, 2011.]
http://channel9.msdn.com/coding4fun/kinect/Robosapien-I-Kinect-you.

9. Wikipedia. Kinect. [Online] October 14, 2011. [Cited: October 17, 2011.]
http://en.wikipedia.org/wiki/Kinect.

10. Samsung. Samsung Galaxy Tab 10.1 Specifications. [Online] 2011. [Cited: October 17, 2011.]
http://www.samsung.com/global/microsite/galaxytab/10.1/spec.html.

11. Wikipedia. Android (operating system). [Online] October 17, 2011. [Cited: October 17, 2011.]
http://en.wikipedia.org/wiki/Android_(operating_system).

12. Asus. Asus Eee Pad Transformer TF101. [Online] [Cited: November 1, 2011.]
http://www.asus.com/Eee/Eee_Pad/Eee_Pad_Transformer_TF101/.




                                                                                                     139

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:29
posted:4/8/2012
language:English
pages:139