Presentation on theme: "Honeywell Displays Testing Mike Santa Cruz Brad Simons Ryan Hernandez Matt Lombardo Jeremy Pager."— Presentation transcript:
Honeywell Displays Testing Mike Santa Cruz Brad Simons Ryan Hernandez Matt Lombardo Jeremy Pager
The Hardware One or more display units (DU) are connected to the Advanced Graphics Module (AGM) through the Modular Avionics Unit (MAU). The display is analogous to a monitor, the AGM to a computer, and the MAU to a computer casing with multiple slots. The AGM uses OpenGL libraries to draw primitives to the display.
The Problem, Reviewed The AGM-200 is currently in development, and uses a different graphics processor than the AGM-100. The OpenGL libraries need to be tested to ensure they still work correctly.
The Problem (con’t) The AGM already has the ability to compute Cyclical Redundancy Checksums (CRC) to detect differences between two display areas. To test the libraries, primitives must be drawn and the CRC calculated. The AGM needs to be controlled from a remote machine, as it does not have its own monitor.
Documentation Honeywell requires extensive documentation on the requirements of the program – SRS Before any code is written it must be described in detail – SRDD Descriptions of all tests must be in writing – Test Plan
SRS System Requirements Specification – System Overview – General System Requirements – System Safety Requirements – Quality Requirements – Functional Allocation Requirements – System Interface Requirements – Power-Up/Restart Processing Requirements – Built-In-Test Requirements
Example SRS Requirement The program shall sum ten consecutive numbers and output the result [SRS NUMBER OUTPUT]
SRDD System Requirements and Design Document Describes all functions to be written Describes data formats to be used Also includes instructions on how to install
Example SRDD 3.5.1printNumbers 18.104.22.168API void printNumbers(int a) 22.214.171.124 Requirements The program shall add the numbers starting at the parameter a, to a+9, then it shall print the result of the addition of those numbers. [SRDD PRINT NUMBERS METHOD /; SRS NUMBER OUTPUT] ParameterDescription a The number to start from
The Server The AGM has its own operating system, called DEOS. DEOS does not have a virtual machine, so native code (i.e. C/C++) must be used. A small server application will be running on the AGM to accept and process requests from a TCP connection.
The Server (con’t) DEOS does not have a registry. Information about each process must be manually declared and uploaded to the AGM. Threads Mutexes Time Slices Slack
The Server (con’t) The server waits for an incoming TCP request. The server parses the request, which is either to draw an OpenGL primitive or get a CRC. The OpenGL library or CRC is invoked, and the result is returned to the client through the TCP socket.
HGL Based on OpenGL 1.4. Stripped down functionality, no need to render cutting-edge 3D graphics. All drawing in our application done in immediate mode, i.e. glBegin()/glEnd().
Server Progress Gave a demo to Malachi before spring break UDP Connection between client/server – Able to receive incoming data from the client Drawing HGL Primitives – Red box drawn on screen upon starting client
Server Side: To Do TCP Connection CRC Outgoing data transmission Write code to parse and execute commands from the client
The Client The client (written in Java) will create a request and send it to the server. The client waits for a response from the server. In order to support modularity and extensibility, the “client” is only a layer that is invoked by a separate Java program.
Client Progress Client is 97.3% done Able to detect success/error Display added to applet