The Rational Unified Process (RUP) was used to design a configurable software architecture for the embedded system portion of the project.
The design steps taken were:
1. Risk Analysis
2. Use Case Identification and
3. Quality Planning
4. Use Case Development
5. System Operation Diagramming
6. System Sequence Diagramming
7. Class Diagram Development
The Rational Unified Process is typically used for Object-Oriented (O-O) Design on a system with dynamic memory management. The Watchman500 firmware is being programmed in C, which is not an O-O language, on a system with primitive memory management facilities. The system has limited RAM and limited non-volatile EEPROM for dynamic configuration parameter storage.
The design of an interface between the Master node and the PC was also a challenge. Since the Master node user interface must provide all the functionality of the Web Application user interface, it was decided to implement the system configuration functionality on the Master Node. Remote procedure calls are used to invoke shared functions from the PC in a non-verbose mode. This avoids duplicating functionality on two systems and reduces network traffic over potentially costly mediums such as a satellite or cellular link.