
HI6006 Competitive Strategy Editing Service
Delivery in day(s): 4
This paper presents a requirements analysis specification of a Real-Time System; Central Heating Control System V10. The result of the system analysis is presented in form of a;
1. Data Flow Diagrams (DFDs)
2. Entity Relationship Diagrams (ERDs)
3. RT-SASD modifications and components
4. Control Flow Diagram extensions (CFDs),
5. Process Specifications (PSPECs)
6. Data/Requirements Dictionary
7. Control Specifications (CSPECs)
Only for starting the heating when the temperature falls below the set value AND stopping the heating when the temperature goes beyond the specified value during the heating project process.
Current temp below specified level? | Activate | Activate | Activate |
TRUE | 2.2 | 4.1 | 5.1 |
FALSE | 2.3 | 4.2 | 5.2 |
New temperature is above specified level | Activate | Activate | Activate |
TRUE | 2.3 | 4.2 | 5.2 |
FALSE | - | - | - |
Duck was manually closed? | Activate | Activate | Activate |
TRUE | - | - | - |
FALSE | 4.1 | - | - |
Gas meter available? | Activate | Activate | Activate |
TRUE | 5.1 | - | - |
FALSE | - | - | - |
get specified_temp_level;
Read current_temp
if(current_temp < specified_temp_level)
activate_heating_unit = true
else
activate_heating_unit = false
Current temperature is compared with the specified temperature;
if the current temperature falls below the specified value; the heating process
is activated; which requires a number of processes.
Verify availability of heating components to activate heating
get heating_unit_fans_status
get heating_unit_status
get gas_meter_supply_status
get heating_ducts_status
get time
get day
if(heating_unit_fans_status = available
AND heating_unit_status = available
AND gas_meter_supply_status = available
AND heating_ducts_status != manually_closed){
open_ducts = true
start_gas_flow =true
start_fans =true
start_heating_unit=true
}
Heating can only start if the temperature falls below the specified value, and the components are available. This is dependent on time and day.
Combined process to initiate heating
get specified_temp_level;
Read current_temp
while(current_temp < specified_temp_level) {
get heating_unit_fans_status
get heating_unit_status
get gas_meter_supply_status
get heating_ducts_status
get time
get day
if(heating_unit_fans_status = available
AND heating_unit_status = available
AND gas_meter_supply_status = available
AND heating_ducts_status != manually_closed){
open_ducts = true
start_gas_flow =true
start_fans =true
start_heating_unit=true
}
Read current_temp
if(manual_Input)
break;
}
This code block uses a while loop to represent the continuous nature of the process of checking the temperature, and taking corrective measures if the temperature falls below the set limit. The code runs in an endless loop and can only be interrupted if a manual input is encountered; in which case the execution breaks the loop.
Store New Temperature Value
Get current_temperature;
new_temperature = current_temperature
This updates the new temperature value with the current temperature.
Open Heating Duct
Get heating_duct_status
if(heating_duct_status != manually_closed)
heating_duct_status = open
A heating duct can only be opened if it was not manually closed. This code checks if the duck was closed manually before opening the duck.
System Control Panel
Listening and executing commands
new_command = command
switch(command)
{
caseConfigure Temperature Detector:
display options:Celsius , Fahrenheit
get user_selection;
set temperature_metrics = user_selection
break;
Case Set Heating Program:
set day = get selected_day;
set time_period = get_time_period;
set min_temp = get_ temp_lower_limit;
set max_temp = get_temp_upper_limit;
save settings;
break;
CaseManually Change Heating program:
set day =get selected_day;
set time_period =get time_period;
set min_temp = get_temperature_entered;
Case Turn System Off:
close_ducts
stop_gas_supply
stop _heating_fan
stop_heating_unit
set heating_fan_status = unavailable
set heating_unit_status = unavailable
displayducts_status
displaygas_supply_status
display heating_fan_status
display heating_unit_status
break;
Case Turn System On:
open_ducts
set heating_fan_status = available
set heating_unit_status = available
displayducts_status
displaygas_supply_status
display heating_fan_status
display heating_unit_status
}
Schedule Events | |
Name | Description |
Every 5 minutes, for duck current state | An event initiated by the system after every 5 minutes to check the status of the heating duck |
Every 30sec, for Gas Meter Supply Status | An event initiated by the system after every 30 seconds to retrieve the status of the Gas Meter Supply Status |
Every 30 Sec for Heating Unit status | An event initiated by the system after every 30 seconds to retrieve the current status of the heating unit |
Dictionary for all processes | |
close_duct | Command to initiate closing of the duct |
open_duct | Command to initiate opening of the duct |
duct_status | Data representing current state of the heating duct |
manually_closed | Data that represents state of the heating duct that was manually closed and cannot be opened by the system |
command | User inputs through the control panel |
start_gas_flow | Command to initiate flow of gas into the heating unit |
stop_gas_flow | Command to inform the gas meter to shut the gas flow |
current_gas_supply_status | State of the gas supply meter |
current_date, | Data representing the day's date |
current_time | Data representing time |
set_heating_unit_fan_state | Command to set the state of the heating unit |
fan_state | Data representing the current state of the fan |
set_heating_unit_state | Command to set the state of the heating unit |
current_heating_unit_state | Data representing the current state of the heating unit |
current_temp | Data representing the current temperature |
message | Information sent to the display board for display purposes. |
System Control Panel | The interface that will allow users to enter configurations and interact with the system |
System Display | The system's point of outputting the status and other information to the user |
System Temperature Detector | Component to detect the environmental temperature |
System Clock | Component that provides the system with the current time , date and day. |
Heating Unit Fan | Component that aids in circulating the heat, emitted to regulate the temperature |
Heating Unit | The unit responsible for generating heat that is used to raise the temperature of a room, when temperatures fall below specified limit |
Gas Meter Supply | Component that interfaces the system to the external gas supply, and records gas usage |
Heating Duct | Component used to blow heated air |
An analysis of real-time system requirements has been presented in this paper. The system under review is a Central Heating Control System V10. The result of the analysis is presented in form of a; Data Flow Diagrams (DFDs) , an Entity Relationship Diagrams (ERDs), RT-SASD modifications and components, Control Flow Diagram extensions (CFDs), Process Specifications (PSPECs) , Data/Requirements Dictionary and a Control Specifications (CSPECs).
1. Pressman, R. S. (2010). Software engineering: a practitioner's approach. Palgrave Macmillan.
2. Kendall, K. E., & Kendall, J. E. (2010). Systems analysis and design. Prentice Hall Press.
3. Laplante, P. A., & Ovaska, S. J. (2011). Real-time systems design and analysis: tools for the practitioner. John Wiley and Sons.