Honeywell Displays Testing

Download Report

Transcript Honeywell Displays Testing

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.

Honeywell

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.1

3.5.1.1

printNumbers API

void printNumbers(int a) Parameter a Description The number to start from

3.5.1.2 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]

Code Example

// [SRDD PRINT NUMBERS METHOD /; SRS NUMBER OUTPUT] } void printNumbers(int a){ int b = 0; for(int i = a;i

Our SRS and SRDD

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().

HGL (con’t)

HGL (con’t)

Primitive types

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

Questions?