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
2.3 Intended Audience and Reading Suggestions
3.2 Firemotes Functions/Features
3.3 External Interface Requirements
3.3.4 Communications Interfaces
3.4 Firemotes User Classes and Characteristics
3.6 Firemotes Design and Implementation Constraints
3.7 Firemotes User Documentation
3.8 Firemotes Assumptions and Dependencies
4.1.1 Sensor data acquisition.
4.1.4 Communicate with Firemotes
4.1.5 Communicate with Watchdog
4.2 External Interface Requirements
5.1.2 Communicate with Firemotes
5.1.3 Communicate with Firewalkers
5.1.4 Graphical User Interface
5.2 External Interface Requirements
6.2 External Interface Requirements
7. Other
Nonfunctional Requirements
7.4 Software Quality Attributes
Appendix D: Firemote Data Diagram
Name |
Date |
Reason For Changes |
Version |
|
|
|
|
|
|
|
|
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.
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.>
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.>
<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.>
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.>
<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.>
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.
· 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.
The sensor reader provides the data from temperature, IR, and accelerometer sensors. Priority is high since this is the core system.
Sensors are read once per second.
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
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.
The event happens when the temperature sensor reads 500 degrees F.
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.
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.
The event happens when
the Watchdog triggers the Assist Mode.
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.
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.
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.
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.
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.
The compiler is an
event that happens every one second.
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.
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.
The event happens when
the compiler completes data compilation.
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.
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
Acquire data form the firewalker’s three sensors, GPS receiver, pedometer and electronic compass.
This will be an automated function that will be active whenever the Firewalker is in use.
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:
Calculate the path taken by the fireman based upon Pedometer, Electronic Compass, and when possible GPS data.
This will be an automated function that will be active whenever the Firewalker is in use.
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:
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.
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.
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:
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.
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.
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
· 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.
Acquire data form the GPS receiver.
This will be an automated function that will be active whenever the Watchdog is activated.
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:
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.
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.
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.
The GUI will display received data in real time.
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
The control system allows the Watchdog operator to send basic queries and commands to the Firemotes and Firewalkers.
Queries and Commands will be initiated by the operator..
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
.
.
.
o REQ-SYS1:.
§ Function:
§ Success:
· Action:
§ Error :
· Action:.
§ Priority:
<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.>
<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.>
<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.>
<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.>
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 |
<Optionally, include
any pertinent analysis models, such as data flow diagrams, class diagrams,
state-transition diagrams, or entity-relationship diagrams.>