AU and CU
Microsoft Visual C++ was used to program the AU units and to create a CU unit emulator. TCP sockets and the Windows API was used as it was a familiar and readily available platform to use, however by no means is this project limited to any single programming language or platform. As communication is accomplished over TCP/IP using socket interfaces, any of several languages could be used. TCP/IP sockets provide a simple, standardized method of intercommunication between dissimilar devices. The pictures on the right show an AU and a CU communicating.
More complex methodologies were considered, such as CORBA, however this was rejected as unnecessarily complicated and potentially limiting. This is no requirement to pass objects or execute remote functions across devices as CORBA allows, and a simple client/server architecture that passes streams of characters to each other is sufficient. Also, higher level distributed technologies such as CORBA are evolving and changing, so there is no guarantee of future compatibility with any programs written today. TCP/IP Sockets are a fundamental, standardized component and is already and foreseeably compatible with future technologies.
The GUI for the Monitoring Station was coded in HTML in order to make it web accessible. A JSP client, seen by the user as a web page interface, allows commands and queries to be forwarded to AU units through socket connections created by ‘servlets’. A servlet is Java class which inter-operates with a web server to establish client/server TCP connections with AU units, in his case, and in fact allows for many other dynamic services, such as communicating with databases. The picture on the right shows the GUI of the Monitoring Station.