System and Software Requirements Specification

for

Dalmatian: A Wireless Sensor Network to Assist Firemen

 

Version 1.0 approved

Prepared by Jim Holland & Tim Biles

November 22, 2003


1.   Vision. 1

2.   Introduction. 1

2.1       Purpose. 1

2.2       Document Conventions. 1

2.3       Intended Audience and Reading Suggestions. 2

2.4       Product Scope. 2

2.5       References. 2

3.   Firemotes Description. 2

3.1       Firemotes Perspective. 2

3.2       Firemotes Functions/Features. 3

3.2.1     Sensor Reading. 3

3.2.2     Alarm Mode. 4

3.2.3     Assist Mode. 4

3.2.4     Ad Hoc Network. 5

3.2.5     Compile Data. 5

3.2.6     Broadcaster 6

3.3       External Interface Requirements. Error! Bookmark not defined.

3.3.1     User Interfaces. Error! Bookmark not defined.

3.3.2     Hardware Interfaces. Error! Bookmark not defined.

3.3.3     Software Interfaces. Error! Bookmark not defined.

3.3.4     Communications Interfaces. Error! Bookmark not defined.

3.4       Firemotes User Classes and Characteristics. Error! Bookmark not defined.

3.5       Firemotes Environment Error! Bookmark not defined.

3.6       Firemotes Design and Implementation Constraints. Error! Bookmark not defined.

3.7       Firemotes User Documentation. Error! Bookmark not defined.

3.8       Firemotes Assumptions and Dependencies. Error! Bookmark not defined.

4.   Firewalker Description. 7

4.1       Firewalker Functions. 7

4.1.1     Sensor data acquisition. 8

4.1.2     Path calculation. 8

4.1.3     Path calibration. 9

4.1.4     Communicate with Firemotes. 9

4.1.5     Communicate with Watchdog. 9

4.2       External Interface Requirements. Error! Bookmark not defined.

4.2.1     User Interfaces. Error! Bookmark not defined.

4.2.2     Hardware Interfaces. Error! Bookmark not defined.

5.   Watchdog Description. 10

5.1       Watchdog Functions. 10

5.1.1     GPS data acquisition. 10

5.1.2     Communicate with Firemotes. 11

5.1.3     Communicate with Firewalkers. 11

5.1.4     Graphical User Interface. 11

5.1.5     Control System.. 12

5.2       External Interface Requirements. Error! Bookmark not defined.

5.2.1     User Interfaces. Error! Bookmark not defined.

5.2.2     Hardware Interfaces. Error! Bookmark not defined.

6.   System Description. 13

6.1       System Functions. 13

6.1.1     Function 1. 13

6.2       External Interface Requirements. 14

6.2.1     User Interfaces. 14

6.2.2     Hardware Interfaces. 14

7.   Other Nonfunctional Requirements. 14

7.1       Performance Requirements. 14

7.2       Safety Requirements. 14

7.3       Security Requirements. 14

7.4       Software Quality Attributes. 14

8.   Other Requirements. 15

Appendix A: Glossary. 15

Terms. 15

Acronyms: 15

Appendix B: Analysis Models. 15

Appendix C: Pictures. 16

Appendix D: Firemote Data Diagram.. 16

 

 

Revision History

Name

Date

Reason For Changes

Version

 

 

 

 

 

 

 

 

 

 


1.     Vision

The men and women of the fire department risk their lives daily trying to put out fires.  A burning structure can be dangerous due to the smoke and heat.  A firefighter may have trouble seeing due to the smoke.  They may not know the layout of the structure which can cause vertigo.  The fire may cause floors to drop and walls to tumble making it very dangerous for a firefighter to be in.  J & T Design, Inc. have a solution that will help fight fires easier called Dalmation.  Using the latest in wireless technology, we are developing a system that will sense the heat and help guide the firefighters throughout a structure.  Dalmatian consists of FireMotes, firewalkers and a watchdog.

 

2.     Introduction

2.1     Purpose

Dalmatian is an idea that would use tiny wireless sensors to assist firemen.  The system would have three primary component:

 

Firemotes: Wireless network sensors that would gather and transmit data collected by  temperature, infrared, and motion sensors. The Firemotes would also have sounders and lights to assist firemen in low visibility environments.

 

Firewalker:  A mobile computing device the firemen would carry in a back mounted pack.  The Firewalker would have pedometer and directional sensors that would allow it to calculate the path the firemen take as they move through a structure.  It would deploy the Firemotes at strategic point along the path.  It would also communicate with the Firemotes and a base station, WatchDog, outside of the structure.

 

WatchDog: A PC or laptop computer for receiving and displaying data gathers by the Firemotes and Firewalkers.

 

<Identify the product whose software requirements are specified in this document, including the revision or release number. Describe the scope of the product that is covered by this SRS, particularly if this SRS describes only part of the system or a single subsystem.>

2.2     Document Conventions

The three components of the system, Watchdog, Firewalker, and the Firemotes,  will first be described separately and then the interactions will be described.

 

 

<Describe any standards or typographical conventions that were followed when writing this SRS, such as fonts or highlighting that have special significance. For example, state whether priorities  for higher-level requirements are assumed to be inherited by detailed requirements, or whether every requirement statement is to have its own priority.>

2.3     Intended Audience and Reading Suggestions

<Describe the different types of reader that the document is intended for, such as developers, project managers, marketing staff, users, testers, and documentation writers. Describe what the rest of this SRS contains and how it is organized. Suggest a sequence for reading the document, beginning with the overview sections and proceeding through the sections that are most pertinent to each reader type.>

2.4     Product Scope

 

Firemotes:

 

Firewalker:

 

WatchDog:

 

<Provide a short description of the software being specified and its purpose, including relevant benefits, objectives, and goals. Relate the software to corporate goals or business strategies. If a separate vision and scope document is available, refer to it rather than duplicating its contents here.>

2.5     References

<List any other documents or Web addresses to which this SRS refers. These may include user interface style guides, contracts, standards, system requirements specifications, use case documents, or a vision and scope document. Provide enough information so that the reader could access a copy of each reference, including title, author, version number, date, and source or location.>

3.     Firemotes Description

3.1     Firemotes Perspective

Firemote is a function of the Dalmatian Project.  The Dalmatian Project is a new concept with new technology.  Information on the Dalmatian Project is found in the Dalmatian Project design document.

 

·        Temperature Sense – Sense ambient temperature. Not defined in this document.

·        Infrared Sensors – 6-axis to determine heat in all directions of a structure.  Not defined in this document.

·        Accelerometer – Determine movement of the firefighter.  Not defined in this document.

·        Magnetometer – 3-axis to determine direction of the firefighter.  Not defined in this document.

·        Sounder – Emit audible frequency to guide the firefighter out.  Not defined in this document.

·        Light – Visual Aid.  Not defined in this document.

·        Transmit/Receive Data – Communications between other FireMotes and the Watchdog.

 

 

3.2     Firemotes Functions/Features

·        Sensor Reading – Not fully defined in this document.

·        Alarm Mode – Transmits all data immediately in case of overheat.

·        Assist Mode – Guide Firefighters out of danger.

·        Networking

o       Receive/Transmit Data

o       Compile Data – Convert raw data into useful information to the Watchdog.

o       Alarm Mode – Immediate Transmit/Receive.

 

3.2.1     Sensor Reading

3.2.1.1     Description and Priority

The sensor reader provides the data from temperature, IR, and accelerometer sensors.  Priority is high since this is the core system.

3.2.1.2     Stimulus/Response Sequences

Sensors are read once per second.

 

3.2.1.3     Functional Requirements

 

o       REQ-1: The Firemote shall get temperature data once per second.

§         Function: Using ADC interface and timer, create function getTemp() every 1000ms.

§         Success: Temperature is returned.

·        Action: Return SUCCESS

§         Error: Temperature sensor fails.

·        Action: Return FAIL

 

 

o       REQ-2: The Firemote shall get IR data once per second.

§         Function: Using ADC interface and timer, create function getIR() every 1000ms.

§         Success: IR is returned.

·        Action: Return SUCCESS

§         Error: IR sensor fails.

·        Action: Return FAIL   

 

o       REQ-3: The Firemote shall get Accelerometer data once per second.

§         Function: Using ADC interface and timer, create function getAccel() every 1000ms.

§         Success: Accelerometer is returned.

·        Action: Return SUCCESS

§         Error: Accelerometer sensor fails.

·        Action: Return FAIL   

 

 

3.2.2     Alarm Mode

3.2.2.1     Description and Priority

Alarm Mode is triggered when the temperature exceeds an internal 500 degrees F.  Internal is the temperature inside the egg shell.  The Firemote sends an alarm packet to the Watchdog.  The Watchdog will halt all other communications and respond to the Firemote.  The Firemote will send all data to the Watchdog.  Priority is high since information from a Firemote about to be destroyed and it may tell the Watchdog what is happening.

3.2.2.2     Stimulus/Response Sequences

The event happens when the temperature sensor reads 500 degrees F.

 

3.2.2.3     Functional Requirements

 

o       REQ-3: The Firemote shall send an alarm packet to the Watchdog if the alarm threshold is exceeded.

§         Function: Trigger an alarm packet to the Watchdog.

§         Success: Packet Sent

§         Error: Packet not sent

·        Action: Resend.          

           

3.2.3     Assist Mode

3.2.3.1     Description and Priority

Assist Mode is an event that is triggered by the Watchdog when a firefighter needs a path to get out of the burning structure.  The Assist Mode emits an audible sound and light that the firefighter can hear and see.  Priority is high since this feature may save someone’s life.

3.2.3.2     Stimulus/Response Sequences

The event happens when the Watchdog triggers the Assist Mode.

 

3.2.3.3     Functional Requirements

 

o       REQ-1: The Firemote shall emit an audible sound when the Assist Mode is triggered.

§         Function: Activate sound.

§         Success: Sound is emitted.

§         Error: Sound fails.

 

o       REQ-2: The Firemote shall activate a light when the Assist Mode is triggered.

§         Function: Activate Light.

§         Success: Light is illuminated.

§         Error: Light fails.         

 

3.2.4     Ad Hoc Network

3.2.4.1     Description and Priority

The network infrastructure is the heart of the Dalmatian Project.  The radio transceiver can communicate up to 1000 feet.  However, walls will cause the radio signal to disperse.  To solve the communication problem, each Firemote is a node on a network having the ability to send and receive data to other Firemotes.  Priority is high since this is vital for data communications.

3.2.4.2     Stimulus/Response Sequences

When the Firemote is placed, it will test the signal strength with the Watchdog.  If the signal is good, then the Firemote becomes a primary node.  If the signal cannot be reached, then the Firemote looks for the signal of another Firemote (node).  If the Firemote finds another Firemote, then it becomes an edge.

 

3.2.4.2.1     Functional Requirements

REQ-1: The Firemote shall communicate to the Watchdog.

Function: Ping Watchdog.

Success: Communication with Watchdog is successful. 

1) Register as a node with a node ID to the Watchdog.

Error: No communication with the Watchdog. 

 

Function: Ping other Firemotes using sequential IDs.

Success: Submit edge request and register as an edge if SUCCESS is returned.

Failure Case: Firemote will be dormant until another Firemote is dropped nearby.

 

Function: Receive edge request from another Firemote.

Success: If current Firemote has access to the Watchdog, return SUCCESS.

Failure Case: If current Firemote has no access to the Watchdog, return FAIL.

                

REQ-2:    The Firemote shall dispatch an ID to the Watchdog.

Function: Submit ID as a node or edge.

Success: Firemote is registered.

Error: Firemote will be dormant.           

 

3.2.5     Compile Data

3.2.5.1     Description and Priority

The data taken from the sensors must be compiled into something meaningful and into a packet to be broadcasted to the network. The compiler has a high priority since it is framework design.

3.2.5.2     Stimulus/Response Sequences

The compiler is an event that happens every one second.

 

3.2.5.3     Functional Requirements

 

o       REQ-1: The Firemote shall compile temperature data into a packet.

§         Function: Compile sensor data.

§         Success: Return SUCCESS, send to broadcaster.

§         Error: Return FAILURE.  Submit FAILURE to broadcaster.

 

o       REQ-2: The Firemote shall compile IR data into a packet.

§         Function: Compile sensor data.

§         Success: Return SUCCESS, send to broadcaster.

§         Error: Return FAILURE.  Submit FAILURE to broadcaster.

 

o       REQ-3: The Firemote shall compile Accelerometer data into a packet.

§         Function: Compile sensor data.

§         Success: Return SUCCESS, send to broadcaster.

§         Error: Return FAILURE.  Submit FAILURE to broadcaster.

 

3.2.6     Broadcaster

3.2.6.1     Description and Priority

The broadcaster is a function of the Firemote that takes the compiled data and sends it throughout the network or directly to the Watchdog.  Priority is high since communications is vital to this project.

3.2.6.2     Stimulus/Response Sequences

The event happens when the compiler completes data compilation.

 

3.2.6.3     Functional Requirements

 

o       REQ-3: The Firemote shall compile Accelerometer data into a packet.

§         Function: Compile sensor data.

§         Success: Return SUCCESS, send to broadcaster.

§         Error: Return FAILURE.  Submit FAILURE to broadcaster.

 

 

o       REQ-1: The Firemote shall check to see if it is node on the network.

§         Function: Verify ID stored.

§         Success: Return SUCCESS.

§         Error: Return FAILURE.

 

o       REQ-2: The Firemote shall check to see if it is a primary node on the network.

§         Function: Verify ID stored.

§         Success: Return SUCCESS.

§         Error: Return FAILURE.

 

o       REQ-3: The Firemote shall check to see if it is an edge on the network.

§         Function: Verify ID stored.

§         Success: Return SUCCESS.

§         Error: Return FAILURE.

 

o       REQ-4: The Firemote shall check to see if data is ready to be broadcasted.

§         Function: Verify compiled data.

§         Success: Return SUCCESS.

§         Error: Return FAILURE.

 

o       REQ-5: The Firemote (edge) shall broadcast data.

§         Function: Send data to a node

§         Success: Node Return SUCCESS.

§         Error: Node Return FAILURE.

 

§         Function: Send data to the Watchdog

§         Success: Watchdog Return SUCCESS.

§         Error: Return FAILURE.

 

o       REQ-6: The Firemote (node) shall broadcast data.

§         Function: Send data to the Watchdog

§         Success: Node Return SUCCESS.

§         Error: Node Return FAILURE.

 

4.     Firewalker Description

Firewalker design is still in the conceptual phase and consequently the prototype we will discuss will be based upon commercially available products .  It will consist of  four parts:

 

·        Main processor

·        Sensor module

·        Firemote dispatch module.

·        Communications module

 

 

Main process

 

 

Sensor Module

The firewalker will have three sensors, a GPS receiver, a pedometer and an electronic compass.  The pedometer and the compass data will be used to calculate the path taken by the fireman carrying the firewalker.

 

 

Dispatch Module

 

 

 

 

Communications Module

 

 

 

 

4.1     Firewalker Functions

 

4.1.1     Sensor data acquisition

4.1.1.1     Description and Priority

Acquire data form the firewalker’s three sensors, GPS receiver, pedometer and electronic compass.

4.1.1.2     Stimulus/Response Sequences

This will be an automated function that will be active whenever the Firewalker is in use.

4.1.1.3     Functional Requirements

 

o       REQ-FW1: Pedometer data Acquisition.

§         Function: Acquire raw data from the pedometer at a rate of 1000 samples per second.

§         Success: Data acquired.

§         Error      : Loss of data

·        Action: Notify Watchdog of failure.

§         Priority:

 

o       REQ-FW2: Electronic Compass data Acquisition

§         Function: Acquire raw data from the : Electronic Compass at a rate of 1000 samples per second.

§         Success: Data acquired.

§         Error      : Loss of data

·        Action: Notify Watchdog of failure.

§         Priority:

 

o       REQ-FW3: GPS data Acquisition

§         Function: Acquire raw data from the GPS module at a rate of 1000 samples per second.

§         Success: Data acquired.

§         Error      : Loss of data

·        Action: Notify Watchdog of failure.

§         Priority:

 

4.1.2     Path calculation

4.1.2.1     Description and Priority

Calculate the path taken by the fireman based upon Pedometer, Electronic Compass, and when possible GPS data.

4.1.2.2     Stimulus/Response Sequences

This will be an automated function that will be active whenever the Firewalker is in use.

4.1.2.3     Functional Requirements

 

o       REQ-FW4: Path Calculation.

§         Function: Calculate the path taken by the Firewalker.  This will be a continuous function that will update as data is acquired from the sensors.

§         Success: Path calculated.

·        Action: Transmit path to the Watchdog

§         Error      : Path calculation failure.

·        Action: Notify Watchdog of failure.

§         Priority:

 

Algorithm Description:

 

4.1.3     Path calibration

4.1.3.1     Description and Priority

Path calibration can be performed using two methods.  The first would be by walking the Firewalker through a standard path.  The second method would be to walk the Firewalker through a path an monitor the path with the GPS unit.

4.1.3.2     Stimulus/Response Sequences

Calibration would be performed prior to use and when the calculated path was suspected to be incorrect.  Since this will require time and space to perform, it would most likely be done at the fire station after each use.

4.1.3.3     Functional Requirements

o       REQ-FW4: Path Calibration.

§         Function: Calculate calibration factors that will be used in the Path Calculation algorithm.

§         Success: Path calibration factors calculated.

§         Error      : Path calibration failure.

·        Action: Give Error message..

§         Priority:

 

Algorithm Description:

 

4.1.4     Communicate with Firemotes

4.1.4.1     Description and Priority

Communication with the Firemotes would be through the Ad Hoc network already in use in other Mote applications  Only special mode communication will be described in this document.

 

4.1.5     Communicate with Watchdog

4.1.5.1     Description and Priority

Communication with the Watchdog would be through the Ad Hoc network already in use in other Mote applications  Only special mode communication will be described in this document.

 

5.     Watchdog Description

Watchdog design is still in the conceptual phase and consequently the prototype we will discuss will be based upon commercially available products .  It will consist of three parts:

 

·        Main processor (PC or Laptop)

·        GPS module

·        Communications module

 

 

Main Processor

 

 

 

 

GPS Module

 

 

 

Communications Module

 

 

 

5.1     Watchdog Functions

·        Communicate with Firemotes

·        Communicate with Watchdog

·        Graphical User Interface

o       Display Firewalker Position

o       Display Firewalker Path

o       Display Firemote Position

o       Display Firemote Data

o       Display Network Links

·        Control System

o       Query/Command Firemotes

o       Query/Command Firewalkers

o       Enable/Disable Firewalker dispatchers.

 

 

5.1.1     GPS data acquisition

5.1.1.1     Description

Acquire data form the GPS receiver.

5.1.1.2     Stimulus/Response Sequences

This will be an automated function that will be active whenever the Watchdog is activated.

5.1.1.3     Functional Requirements

 

o       REQ-WD1: GPS data Acquisition.

§         Function: Acquire raw data from the GPS module.

§         Success: Data acquired.

·        Action: Initialize location

§         Error      : Loss of data

·        Action: Manually input location.

§         Priority:

5.1.2     Communicate with Firemotes

5.1.2.1     Description and Priority

Communication with the Firemotes would be through the Ad Hoc network already in use in other Mote applications  Only special mode communication will be described in this document.

5.1.3     Communicate with Firewalkers

5.1.3.1     Description and Priority

Communication with the Firemotes would be through the Ad Hoc network already in use in other Mote applications  Only special mode communication will be described in this document.

 

5.1.4     Graphical User Interface

5.1.4.1     Description and Priority

The Graphical User Interface (GUI) will display either a two or three dimensional representation of the data received from the Firewalkers and the Firemotes.  Each Firemote and Firewalker will be uniquely identified and updated as new data is received.

5.1.4.2     Stimulus/Response Sequences

The GUI will display received data in real time.

 

5.1.4.3     Functional Requirements

 

o       REQ-WD2: Display Firewalker Position

§         Function: Display Firewalker Position

§         Success: Data displayed.

§         Error      : No Display

·        Action: System Failure.

§         Priority: High

 

o       REQ-WD3: Display Firewalker Path

§         Function: Display Firewalker Path

§         Success: Data displayed.

§         Error      : No Display

·        Action: System Failure.

§         Priority: Medium

 

o       REQ-WD4: Display Firemote Position

§         Function: Display Firemote Position

§         Success: Data displayed.

§         Error      : No Display

·        Action: System Failure.

§         Priority: High

 

o       REQ-WD5: Display Firemote Data

§         Function: Display Firemote Data

§         Success: Data displayed.

§         Error      : No Display

·        Action: System Failure.

§         Priority: High

 

o       REQ-WD6: Display Network Links

§         Function: Display Network Links

§         Success: Data displayed.

§         Error      : No Display

·        Action: System Failure.

§         Priority: High

 

 

5.1.5     Control System

5.1.5.1     Description

The control system allows the Watchdog operator to send basic queries and commands to the Firemotes and Firewalkers.

5.1.5.2     Stimulus/Response Sequences

Queries and Commands will be initiated by the operator..

5.1.5.3     Functional Requirements

 

o       REQ-WD7: Query Firemote

§         Function: Send a data query to a Firemote

§         Success: Data returned.

·        Action: Display new data

§         Error: No response

·        Action: After timeout period display failure.

§         Priority: High

 

o       REQ-WD8: Command Firemote

§         Function: Send a command to a Firemote

§         Success: Acknowledgment returned.

·        Action: Display Acknowledgement

§         Error: No response

·        Action: After timeout period display failure.

§         Priority: High

 

o       REQ-WD9: Query Firewalker

§         Function: Send a data query to a Firewalker

§         Success: Data returned.

·        Action: Display new data

§         Error: No response

·        Action: After timeout period display failure.

§         Priority: High

 

o       REQ-WD10: Command Firewalker

§         Function: Send a command to a Firewalker

§         Success: Acknowledgment returned.

·        Action: Display Acknowledgement

§         Error: No response

·        Action: After timeout period display failure.

§         Priority: High

 

 

6.     System Description

.

 

 

6.1     System Functions

6.1.1     Function 1

6.1.1.1     Description

.

6.1.1.2     Stimulus/Response Sequences

.

6.1.1.3     Functional Requirements

 

o       REQ-SYS1:.

§         Function:

§         Success:

·        Action:

§         Error :

·        Action:.

§         Priority:

 

 

 

6.2     External Interface Requirements

6.2.1     User Interfaces

 

6.2.2     Hardware Interfaces

 

 

7.     Other Nonfunctional Requirements

7.1     Performance Requirements

 

7.2     Safety Requirements

 

<Specify those requirements that are concerned with possible loss, damage, or harm that could result from the use of the product. Define any safeguards or actions that must be taken, as well as actions that must be prevented. Refer to any external policies or regulations that state safety issues that affect the product’s design or use. Define any safety certifications that must be satisfied.>

7.3     Security Requirements

 

<Specify any requirements regarding security or privacy issues surrounding use of the product or protection of the data used or created by the product. Define any user identity authentication requirements. Refer to any external policies or regulations containing security issues that affect the product. Define any security or privacy certifications that must be satisfied.>

7.4     Software Quality Attributes

 

<Specify any additional quality characteristics for the product that will be important to either the customers or the developers. Some to consider are: adaptability, availability, correctness, flexibility, interoperability, maintainability, portability, reliability, reusability, robustness, testability, and usability. Write these to be specific, quantitative, and verifiable when possible. At the least, clarify the relative preferences for various attributes, such as ease of use over ease of learning.>

8.     Other Requirements

<Define any other requirements not covered elsewhere in the SRS. This might include database requirements, internationalization requirements, legal requirements, reuse objectives for the project, and so on. Add any new sections that are pertinent to the project.>

Appendix A: Glossary

Terms

Acronyms:

SW

 Software

HW

Hardware

IR

Infrared

mAh

Milliamp hour

NiMH

Nickel Metal Hydride

MHz

Megahertz

ADC

Analog to Digital Converter

KBPS

Kilobits per second

Ms

Milliseconds

 

 

Appendix B: Analysis Models

<Optionally, include any pertinent analysis models, such as data flow diagrams, class diagrams, state-transition diagrams, or entity-relationship diagrams.>

Appendix C: Pictures

Appendix D: Firemote Data Diagram