ADAPSMONITOR
Software Requirements Specification
Dave Lloyd
Computer Services Branch
Software Engineering Department
June 9, 2000
Signatures
Prepared by: |
Dave Lloyd, Signature on file
|
|
Software Engineer, |
|
Raytheon, ITSS |
Concurred by: |
Tim Baltzer, Signature on file
|
|
Software Project Lead, |
|
Raytheon, ITSS |
Approved by: |
Vicki Neuheisel, Signature on file
|
|
Computer Operations, |
|
Raytheon, ITSS |
Document History
Number |
Date and Sections
|
Notes
|
1 |
June 9, 2000 |
Document Created |
2 |
June 21, 2000 |
Added and deleted requirements and test cases discussed in SRS review |
3 |
July 18, 2000 |
Update tracebility matrix with design
elements |
4 |
Aug 31, 2000 |
Update traceability matrix with
code elements. Added Note 1, list of code functions. |
5 |
|
|
6 |
|
|
ADAPSMONITOR is an application that notifies computer operations personnel
of the status of critical AVHRR processes,systems and data files.
ADAPSMONITOR will continuously monitor critical AVHRR processes to insure
that they are operational. It will also monitor critical systems and data
files. If one of the critical processes fails to produce output, or a system
goes down or a data file is not updated, computer operations personnel will
be notified. This system will be written with a with a Graphical User
Interface (GUI) for notification and operator interface.
The purpose of this document is to record the requirements that have been
established for ADAPSMONITOR.
None.
None.
REQUIREMENTS
1. Input Parameters
2. Output Parameters
2.1. Log events in a text file $ADAPSLOG/adapsmonitor.log.
2.1.1. All alert messages will be logged.
2.1.2. All changes of monitoring state will be logged. A monitor state
change is an enabling or disabling of monitoring processes/systems/files.
2.1.3. All acknowledgements to alerts will be logged.
2.1.4. All error messages will be logged.
2.2. On exit the current state of the ADAPSMONITOR will be stored
in a defaults file.
3. Global Parameters
None.
Functional Requirements
4. The ADAPSMONITOR will be initialized by reading the file specified on the
command line or, in its absence, the defaults file.
5. Display a list of all processes/systems/files with their status as of the
last time they were checked.
5.1. The display will occupy the ADAPSMONITOR "Main" window.
5.2. One line for each process/system/file will be displayed with the
following fields.
5.2.1. A monitor flag either Active or Inactive
5.2.2. The name of the process/system/file
5.2.3. The process/system/file status
5.2.4. The date and time the process/system/file was last checked.
5.3. The display will have a static heading for each of the displayed
fields.
6. Display a "Modify" popup window to allow the user to change the monitor flag
for all processes/systems/files.
6.1. DELETED: The "Modify" popup will be activated at initial startup of
ADAPSMONITOR.
6.2. The "Modify" popup will be activated by a Modify button on the
ADAPSMONITOR "Main"
window.
6.3. Each process/system/file name will be displayed with a monitor flag
toggle of Enable and Disable.
6.4. An Accept button will be provided to apply any changes to the
monitor flag toggle buttons; save the current state, in the monitor.state
file; and remove the popup.
6.5. A Cancel button will be provided to remove the popup without applying
any changes.
6.6. DELETED: An Enable All button will be provided to toggle all monitor flags to
Enable.
7. Display an "Alert" popup window.
7.1. The "Alert" popup window will be activated whenever an alert message
is issued. The alert will be logged (Req. 2.1.1).
7.2. The process/system/file that caused the alert will be displayed along
with an alert message and a
toggle button for Continue Monitoring or Disable Monitoring.
7.3. An Apply Changes button will be provided to apply any changes to
the toggle buttons and to remove the popup.
7.4. An Acknowledge button will be provided to remove the popup without
applying any changes.
8. Notify computer operations of files that are not updated.
8.1. Issue a "Not Updated" alert for files that have not been updated
for a period greater than that specified in the defaults file. The
alert will be logged (Req. 2.1.1).
8.2. Check at intervals specified in defaults file.
8.3. File names will be specified in defaults file.
9. Notify computer operations of batch processes not in batch queue.
9.1. If the process monitor flag is Active and the process is not in
queue issue a "Not in Queue" alert. The alert will be logged (Req.
2.1.1).
9.2. Check at intervals specified in defaults file.
9.3. Batch queue processes will be specified in the defaults file.
9.4. The User ID for the process will be specified in the defaults file.
Only processes owned by the indicated user will be checked.
9.5. The number of instances of a process will be specified in the defaults
file. Each instance of a process will be monitored separately and will be
listed separately on the "Main" display window.
10. Notify computer operations of hung processes.
10.1. If a process appears to be hung issue a "Hang" alert. Hung processes
will be identified by monitoring the log file to which the process writes.
If the log has not been updated within the specified time interval, the
process is considered to be hung.
The alert will be logged (Req. 2.1.1).
10.2. Check at intervals specified in defaults file.
10.3. System that the process runs will be specified in the defaults
file.
11. Notify computer operations of systems that are not responding.
12. An Exit button will be provided on the "Main" window. Pressing the Exit
button will display an "Exit Confirmation" popup window.
13. Display a "Load" popup window to allow the user to load values from
a file.
13.1. The "Load" popup will be activated by a Load button on the "Modify"
popup window.
13.2. The "Load" popup will contain a dialog box for the user to enter
the name of the file from which to load values. The file specified must
be in the same format as outlined in 1.1.2.
13.3. An Accept button will be provided to load the values and remove the
"Load" popup. If the file does not exist an error will be displayed
and logged (Req. 2.1.1).
13.4. A Cancel button will be provided to remove the "Load" popup without
loading.
None.
Operational Requirements
14. This application will have a Graphical User Interface (GUI).
Other Requirements
15. The states that will be reported are as follows:
Test Number |
Requirement Number |
Description |
1a |
1.1.1, 1.1.2.1, 1.1.2.5, 1.1.2.6,
1.1.2.7, 4, 14 |
Create $ADAPSTABLES/adapsmonitor.defaults The file
must contain at least two entries: one with an initial
status of disable the other as enable. Run the
ADAPSMONITOR which should start and provide the user
with an GUI interface. The processes/systems/files listed
in the defaults file should be displayed in the "Main" window.
The default monitor flags should be set correctly. |
1b |
12, 12.1, 12.1.2 |
An Exit button should be on the "Main" window. Pressing
the Exit button should cause an "Exit Confirmation"
window to popup. There should be a Cancel button.
Press the Cancel button. The popup should disappear
and the application continue to run.
|
1c |
12.1.1 |
Press the Exit button. There should be an Accept button
on the "Exit Confirmation" popup window. Press the
Accept button. The application should exit.
|
2 |
1.1.1, 2.1.4 |
Remove the defaults file and run the application. A
fatal error message should be displayed on the command
line and in the log file.
|
3 |
1.2 |
Create a defaults file in a directory other than
$ADAPSTABLES and specify this file on the command line
at startup. Each process/system/file listed in the
specified file should be listed on the "Main" window
with the correct monitor flag set.
|
4 |
1.2, 2.1.4 |
Specify a non-existent defaults file on the command
line. A fatal error message should be displayed on
the command line and in the log file.
|
5a |
1.1.2.1,
1.1.2.2,
1.1.2.4, 2.1.1,
5.1, 5.2, 5.3,
7.1, 8.1, 8.2, 8.3,
15.3, 15.4
|
Create a defaults file with an entry for an existing
file. After starting ADAPSMONITOR the "Main" window
should list the file, the system on which it resides and
a status of File Updated. An "Alert" popup should appear,
with a File Not Updated message,
after the monitor interval listed for the file elapses.
The alert should be written to the log file.
|
5b |
7.4, 2.1.3, 5.1 |
Press the acknowledge button. The popup should
disappear and the acknowledgement written to the log
file. The "Main" window should show that the file
status has changed to Not Updated.
|
5c |
7.4, 7.2, 7.3, 2.1.2, 5.1 |
The alert should reappear after the monitor interval
elapses. The message should be written to the log.
A Continue Monitoring button should be displayed on the
"Alert" window. Pressing the button toggles between
Continue Monitoring and Disable Warnings. Press the
Apply Changes button. The popup should disappear and
the change written to $ADAPSTABLES/adapsmonitor.state
file. The change will be written to the log file. No
further alerts for the file should be issued.
|
6 |
2.2.1, 2.2.2 |
Remove the $ADAPSTABLES/adapsmonitor.state file and
run the ADAPSMONITOR. Press the Modify button and change the monitor state
of any process/system/file and press the Accept button. After accepting
the "Modify"
popup exit the application. The adapsmonitor.state
file should be recreated and should be the same as the
adapsmonitor.defaults file.
|
7a |
6.2, 6.4 |
Create the defaults file with at least two entries
one with an initial status of Enable the other with
Disable. Run the ADAPSMONITOR.
Press the Modify button on the "Main" window. The
"Modify" popup should appear.
|
7b |
6.3, 6.4 |
Press the Modify button. Each process/system/file
listed should have a toggle button. Pressing the
buttons should toggle between Enable and Disable.
Toggle each button to the other state and press the
Accept button. The "Main" window should reflect the
changes made and the adapsmonitor.state file will
be written with the new state.
|
7c |
6.5 |
Press the Modify button. Toggle each button to the
other state and press the Cancel button. The "Modify"
popup should disappear and no state changes made.
|
7d DELETED |
6.6 |
the Modify button. There should be an Enable
All button. Pressing the Enable All button should
change all the toggle buttons to Enable. Press
Accept. The "Main" window should reflect that each
process/system/file Monitor flag is Enabled.
|
8 |
9, 1.1.2.3, 15.5, 15.7 |
Submit a process (such as INGEST_DAEMON) to the batch
queue. Modify the defaults file to include one entry for
the process with an appropriate monitor interval (five
minutes for INGEST_DAEMON). Run ADAPSMONITOR. Initially the
process should be listed as Process Running. Remove the process from the
queue. After the monitor interval has elapsed a Not in
Queue alert should be issued.
|
9 |
10, 1.1.2.3, 15.5, 15.6 |
Create a file called $ADAPSLOG/dummy.log. Modify the
defaults file to include one entry for the process "dummy"
on the current system with a monitor interval of one
minute. Run ADAPSMONITOR. Initially the process should be listed as
Process Running.
After one minute has elapsed a Process Hung alert should be
issued.
|
10 |
11, 15.1, 15.2 |
Modify the defaults file with two entries. One entry for an existing system
that is operational and the other for a non-existent system. Both entries
should have a monitor interval of one minute. Run ADAPSMONITOR. The display
for the operational system should list System Responding. After
one minute has elapsed a System Not Responding alert should be issued for
the non-existant system.
|
11 |
9.4 |
Submit a process to the batch queue.
Modify the defaults file to include an entry for the process but with a user
other than the running process. Run ADAPSMONITOR. A "Not in Queue" alert
should be issued. |
12a |
9.5 |
Submit two instances of a process to
the batch queue. Modify the defaults file to include two instances of the
process. Run ADAPSMONITOR. The "Main" window should list one entry for
both instances of the
process. Remove one instance from the queue. A "Not in Queue" should be
issued after the monitor time interval elapses. |
12b |
9.5 |
Remove the other process from the
queue and another alert should be issued after the monitor time interval has
elapsed. |
12c |
9.5 |
Resubmit one of the batch processes.
Its state should change after the monitor time interval has elapsed.
Resubmit the other batch process and its state should change after the time
interval has elapsed. |
13a |
13.1 |
Run ADAPSMONITOR and press the Modify
button. There should be a Load button on the "Modify" window. Press the Load
button and a "Load" popup should be displayed. |
13b |
13.2, 13.3 |
The "Load" popup will contain a dialog
box for the user to enter the file name of a defaults file, an Accept button
and Cancel button. Enter the name of an non-existant file and Press the
Accept button. An Error message should be displayed. Press Okay and the
error message is removed and the dialog is still displayed. |
13c |
13.2 |
Create a new defaults file with entries
different than the current file. Specify the new file in the dialog box and
press the Accept button. The popup should be removed and the "Modify" window
changed to reflect the entries in the new defaults file.
|
13d |
13.4 |
Press the Load button and enter the
original defaults file in the dialog. Press the Cancel button. The popup
should be removed and the "Modify" window should not be changed. |
|
|
|
|
|
|
SW Requirement Number |
Test Number |
Design |
Code (See Note 1) |
1.1.1 |
1a, 2 |
2 |
21, 26 |
1.1.2.1 |
1a, 5a |
2 |
21, 26 |
1.1.2.2 |
5a |
2 |
21, 26 |
1.1.2.3 |
8, 9 |
2 |
21, 26 |
1.1.2.4 |
5a |
2 |
21, 26 |
1.1.2.5 |
1a |
2 |
21, 26 |
1.1.2.6 |
1a |
2 |
21, 26 |
1.1.2.7 |
1a |
2 |
21, 26 |
1.2 |
1a |
1, 2 |
24 |
2.1.1 |
5a |
3 |
1, 28 |
2.1.2 |
5c |
9, 12 |
4, 28 |
2.1.3 |
5b |
10 |
16, 28 |
2.1.4 |
2, 4 |
2, 17 |
2, 7, 8, 9, 10, 11, 17, 18, 20,
21, 22, 24, 26, 28 |
2.2 |
6 |
6 |
17, 26 |
2.2.1 |
6 |
6 |
26 |
2.2.2 |
6 |
626 |
|
4 |
1a |
1, 2 |
21 |
5.1 |
5a, 5b, 5c |
1 |
24 |
5.2 |
5a |
1 |
13, 15 |
5.2.1 |
5a |
1 |
12, 13, 14, 27 |
5.2.2 |
5a |
1 |
12, 13, 14, 27 |
5.2.3 |
5a |
1 |
12, 13, 14, 27 |
5.2.4 |
5a |
1 |
12, 13, 14, 27 |
5.3 |
5a |
1 |
13 |
6.1 DELETED |
1a |
|
|
6.2 |
7a |
1, 11 |
13 |
6.3 |
7b |
11 |
14 |
6.4 |
7a, 7b |
11 |
4, 14 |
6.5 |
7c |
11 |
5, 14 |
6.6 DELETED |
7d |
|
|
7.1 |
5a |
3, 8 |
11 |
7.2 |
5c |
8 |
1 |
7.3 |
5c |
8, 9 |
1, 4 |
7.4 |
5b, 5c |
8,10 |
1, 16 |
8 |
5a |
3, 8 |
1, 11 |
8.1 |
5a |
3, 8 |
6 |
8.2 |
5a |
3 |
11, 21 |
8.3 |
5a |
2 |
11, 21 |
9 |
8 |
3, 8 |
1, 6, 11 |
9.1 |
8 |
3, 8 |
1, 6, 8 |
9.2 |
8 |
3 |
11, 21 |
9.3 |
8 |
2 |
11, 21 |
9.4 |
11 |
2, 3 |
8, 11, 21 |
9.5 |
12a, 12b, 12c |
2, 3 |
8, 11, 21 |
10 |
9 |
3, 8 |
1, 11 |
10.1 |
9 |
3, 8 |
6, 10 |
10.2 |
9 |
2, 3 |
11, 21 |
10.3 |
9 |
2 |
11, 21 |
11 |
10 |
3, 8 |
1, 11 |
11.1 |
10 |
3, 8 |
6, 9 |
11.2 |
10 |
2, 3 |
11, 21 |
12 |
1b |
1, 5 |
13, 17 |
12.1 |
1b |
5 |
17 |
12.1.1 |
1c |
6 |
17 |
12.1.2 |
1c |
7 |
17 |
13.1 |
13a |
11, 14 |
14 |
13.2 |
13b, 13c |
14 |
14, 23 |
13.3 |
13b |
16 |
14, 23 |
13.4 |
13d |
15 |
14, 23 |
14 |
1a |
1 |
24 |
15 |
5a, 8, 9, 10 |
2 |
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. The number in the code section of the "Requirements Tracebility" table
correspond to the following functions in the code implementation:
1. alert_user
2. allocate_item
3. apply_alert_changes
4. apply_modify_callback
5. cancel_modify_callback
6. check_item
7. check_line
8. check_queue
9. check_system
10. check_vax
11. checkstatus_callback
12. create_displist
13. create_main_display
14. create_modify
15. create_toggle_array
16. destroy_alert
17. exit_callback
18. filecancel_callback
19. fileok_callback
20. get_timer_interval
21. initialize
22. initstruct
23. load_newfile_callback
24. main
25. modify_callback
26. save_state
27. update_displist
28. write_log
ACRONYMS
AVHRR |
Advanced Very High Resolution Radiometer |
ADAPS |
AVHRR Data Acquisition and Production System |
ADAPSTABLES |
System environment variable that points to ADAPS specific tables and files |
ADAPSLOG |
System environment variable that points to ADAPS specific log files |
GUI |
Graphical User Interface |
|
|