Project Description

The Watchman500 system is Axys Technologies’ new microprocessor based data acquisition and transmission system for use in marine and land based environmental monitoring systems. Axys wants to develop a modular system that is highly configurable, expandable and is easy to deploy and maintain. The Watchman500 hardware is in the late stages of development and the focus is shifting to software development. This 499 project involved a software architecture design for the embedded portion of then Watchman500 using the Rational Unified Process as a design methodology.


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
Requirements Specification

3. Quality Planning

4. Use Case Development

5. System Operation Diagramming

6. System Sequence Diagramming

7. Class Diagram Development

Design Challenges

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.