[Space left intentionally blank] Name Input Output Description ProcessAlert Transceiver Object, Fob Object, User Object none ProcessHealthPulse Transceiver object, StatusEnum none This algorithm processes a health pulse signal. It sets the status of a transceiver based on the StatusEnum. It will call: update_transceiver. getLocation IncidentLogId Alert object This algorithm uses the locations of the transcievers associated with the incident to determine the location of the alert. An alert object is created and returned to the calling function/procedure. The alert object has two primary properties/fields: center and radius. The center of the alert is the center point of overlapping transceiver receiving signal circles and the radius is the margin of error. getAllIncidents startDate (datetime), endDate (datetime) collection of Incident Objects This algorithm queries the database for the entire incident logs between (inclusive) of the dates provided. For each record returned by select_incidentLog_Dates, an Incident object is created from the data stored in the record. getAllTransceivers None collection of Transceiver Objects This algorithm queries the database for all of the transceiver records using: select_transceiver_all. For each record returned a new Transceiver object is added to the collection. updateIncident Incident Object none This algorithm updates the data in the IncidentLog table of the database based on the properties of the provided Incident object. This algorithm is called from the DUI. It calls: update_incidentLog
Table 7. MCM Algorithms Database Procedures Name Input Output Description delete_IncidentLog Record ID for deletion Integer number of rows affected. 0 means that no deletion occured. Removes a row from INCIDENT_LOG update_IncidentLog RecordID (integer), FobID (integer), Description (string), ResponseTime (integer) Integer number of rows affected. 0 means that no update occured. Updates an INCIDENT_LOG row. create_IncidentLog FobID (integer), Description (string), ResponseTime (integer) integer number of rows affected. 0 means that the create failed. Creates a new row in INCIDENT_LOG table select_incidentLog_All none record set Gets all Incidents logged to the database select_incidentLog_RecordID RecordID (integer) record set (one row) Gets the record with the ID provided. select_incidentLog_Dates StartDate record set Gets all incidents logged between (inclusive) the dates provided. (datetime), EndDate (datetime)
[Space left intentionally blank] Name Input Output Description create_user OrganizationID (string), Age (integer), Sex (char) Integer number of rows affected. 0 means the create failed. Creates a new row in USER_INFO; called from registerUser update_user RecordID (integer), OrganizationID (string), Age (integer), Sex (char) Integer number of rows affected. 0 means the update failed. Updates a row in the User_Info table. select_user_all none record set Gets all User_Info records select_user_recordID RecordID (integer) record set (one row) Gets the record with the ID provided. delete_user RecordID (integer) Integer number of rows affected. 0 means that no deletion occured. Removes a row from the User_Info table. create_fob RecordID (integer), UserID (integer), IsActive (boolean) Integer number of rows affected. 0 means the create failed. Creates a new row in the Fob_Info table. update_fob RecordID (integer), UserID (integer), IsActive Integer number of rows affected. 0 means the update failed. Updates a row in the Fob_Info table. (boolean) select_fob_all none record set Gets all rows from the Fob_Info table. select_fob_recordid RecordID (integer) record set (one row) Gets the record with the ID provided. select_fob_all_active none record set Gets all rows from the
Fob_Info table that are marked as active. [Space left intentionally blank] Name Input Output Description deactivate_fob RecordID (integer) none Sets isActive to false delete_fob RecordID (integer) Integer number of rows affected. 0 means the delete failed. Removes a row from the Fob_Info table. create_incident_transceiver IncidentID Integer number of rows affected. 0 means the create failed. Creates a new record in the Incident_Transceiver_List table. (integer), TransceiverID (integer) update_incident_transceiver RecordID Integer number of rows affected. 0 means the update failed. Updates a record in the Incident_Transceiver_List table. (integer), IncidentID (integer), TransceiverID (integer) select_incident_transceiver_all none record set Gets all rows from the Incident_Transceiver_List table. select_incident_transceiver_recordID RecordID (integer) record set (one row) Gets the record with the ID provided. select_incident_transceiver_incidentID IncidentID record set Gets all rows from the table that match the provided IncidentID (integer) delete_incident_transceiver RecordID integer number of rows affected. Removes a row from the Incident_Transceiver_List table.
[Space left intentionally blank] Name Input Output Description IncidentID Integer number of rows affected. 0 means the delete failed. Removes all rows from the table that have a matching IncidentID (integer) create_transceiver RecordID, Latitude(float), Status (integer) integer number of rows affected. 0 means the create failed. Creates a record in the Transceiver_Info table. update_transceiver RecordID, Latitude number of rows affected. 0 means the update failed. Updates a record in the Transceiver_Info table. (float), Longitude (float), Status (integer) select_transceiver_all none record set Gets all of the records in the Transceiver_Info table. select_transceiver_recordid RecordID record set (one row) Gets the record with the ID provided. (integer) delete_transceiver RecordID Integer number of rows affected. 0 means the delete failed. Removes a row from the Transceiver_info table. (integer)
User Registration Program Name Input Output Description addUser User, ID, age, sex True or False upon result of DB call. Calls database using create_user call and supplying necessary variables. addFob ID True or False upon result of DB call. Calls DB using create_fob and supplying necessary variables linkUserToFob ID; User ID True or False upon result of DB call. Calls database using update_fob and supplying necessary variables deleteUser User ID True or False upon result of DB call. Calls database using delete_user deleteFob Fob ID True or False upon result of DB call. Calls database using delete_fob deactiveFob Fob ID True or False upon result of DB call. Calls database using deactive_fob Table 11. Fob User Registration Algorithms Transceiver Registration Program Name Input Output Description addTransceiver ID, Latitude, Longitude True or False upon result of DB call. Calls DB using create_transceiver deleteTransceiver Transceiver ID True or False upon result of DB call. Calls DB using delete_transceiver updateTrasceiver Transceiver ID True or False upon result of DB call. Calls DB using update_transceiver Table 12. Transceiver Registration Algorithms
[Space left intentionally blank] Dispatch Web Server - ASP Name Input Output Description Time period x and y Collection of objects populated that match time period Calls DB procedure select_IncidentLog_Dates requesting all incidents from time period x to y. getIncident Incident ID Custom object reflecting values retrieved from DB call Calls DB requesting a single incident. getUserInfo Fob ID JSON object reflecting values of DB entry for User ID Calls DB requesting a single user's information using the linked Fob ID. getTransceiverStatus ID JSON object containing status of transceiver Calls select_transceiver_recordID and parses the row for the status field and then returns that. none JSON indexed by transceiver ID and containing each transceiver's status. Calls DB select_transceiver_all and parses each row for status field. Returns an array of pairs of all status messages indexed by transceiver ID. getAllUsers none JSON object populated by all users in the system Calls DB select_user_all setIncidentLog Text, Incident ID JSON object detailing success or failure Calls DB update select_IncidentLog_RecordID and then calls DB again using returned data but changing Description for update_IncidentLog
USB (Universal Serial Bus): A method of delivering data and power across specially designed cables and connections using a unified communication standard. REFERENCES Wilson, Patrick (2010, November 03). “Robbery crimes at or near campus”. The Virginian-Pilot, p. B3.