Monolithic SCADA architecture in SCADA systems - Time & Space Complexity
When working with a monolithic SCADA system, it is important to understand how the system's processing time changes as the number of monitored devices grows.
We want to know how the system's workload increases when more sensors or control points are added.
Analyze the time complexity of the following SCADA system loop.
// Process all devices in the monolithic SCADA system
for device in devices:
read_data(device)
process_data(device)
update_display(device)
log_status(device)
send_alerts_if_needed(device)
This code loops through each device to perform several tasks like reading data and updating displays.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: Looping through each device in the list.
- How many times: Once for every device in the system.
As the number of devices increases, the system performs more work in a direct, steady way.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | About 10 sets of device tasks |
| 100 | About 100 sets of device tasks |
| 1000 | About 1000 sets of device tasks |
Pattern observation: The work grows evenly as more devices are added, like adding one more task per device.
Time Complexity: O(n)
This means the time to process all devices grows in a straight line with the number of devices.
[X] Wrong: "Adding more devices won't affect processing time much because tasks are simple."
[OK] Correct: Even simple tasks add up when repeated many times, so more devices mean more total work.
Understanding how a monolithic SCADA system scales helps you explain system limits and plan for growth in real projects.
"What if the system processed devices in parallel instead of one by one? How would the time complexity change?"