Skip to navigationSkip to content


Designed to generate code in a consistent and reliable way and eliminates the need for manual coding of VAPS graphics, logic, and behavior

The world’s first COTS DO-178B qualifiable HMI tool.

Qualifiable to RTCA DO-178B level A, VAPS QCG is designed to generate code in a consistent and reliable way and eliminates the need for manual coding of VAPS graphics, logic, and behavior.

VAPS QCG dramatically shortens the time and effort required for producing qualifiable code for embedded displays.  Qualifiable to RTCA DO-178B level A, VAPS QCG is a code generation solution for deploying VAPS applications to a safety critical embedded system, including aircraft cockpit display systems. Since VAPS QCG is coupled with the VAPS graphical design environment, this tool enables graphics software generated from a VAPS application to be certified with a minimum of effort.

Reduce Effort

By greatly reducing the effort required within the software design, coding, and testing phases of the graphics display development lifecycle, VAPS QCG dramatically shortens the time required for developing certifiable embedded software products. Presagis also offers a range of Professional Services and DO-178B consultants to help you to quickly get your certification project up and running.

Automatically generate documentation for traceability
  • VAPS DesignDoc outputs Microsoft Word documents detailing all aspects of a VAPS-built HMI by automatically querying the design files for all required documentation details.
  • You have complete control over the appearance of the document.
  • If the application should be updated or changed in any way, you simply need to re-run VAPS DesignDoc in order to automatically create a new up-to-date document in a matter of seconds.
Generate optimized code for safety-critical systems

Designed to generate code in a consistent and reliable way, VAPS QCG eliminates the need for manual coding of VAPS graphics, logic and behavior and includes the following functionality:

  • You can generate either desktop executables for review and prototyping purposes or highly optimized code for porting to embedded systems.
  • Optimizations include reduced generated code size, reduced frame loading time, reduced runtime transformations, and increased drawing speed.
  • The entire process from the creation of a VAPS model to a fully functional executable can take just a few minutes.  The result is a reliable process that saves time in both the design and verification phases of embedded development and also reduces dependencies for specialized internal skill sets.
Key Features
Input objects

The input object is used to handle the events (such as press, release, move, etc) from an input device (mouse or similar). The type of events handled by the input object can be customised, i.e the user can decide which events will be supported by supplying the customised user code for handling the events. The runtime will process hit detection for pointer events and return the object(s), if any, that has an active area that intersects with the position at which the pointer event occurred.

Texture fonts

The texture fonts feature refers to using OpenGL textures to draw raster (bitmap) text. Using textures as opposed to drawing with gIBitmap provides more functionality, such as rotation and some scaling. It also greatly reduces bus traffic, as the textures are already loaded into the graphics accelerator memory.

Display lists

Drawing graphics using display lists is supported in QCG. If a graphical object is flagged as being a display list, specific drawing commands will be code generated. This will result in constructing and drawing a display list that contains all graphics within the graphical object. Fonts and circles can be optionally drawn with display lists.

Frame VPL sorting algorithm

The Frame VPL (visual priority level) sorting algorithm has been updated and now uses a more optimal sorting algorithm that will significantly improve both initialization used and runtime performance.

GDI driver lookup optimization

Previously, the GDI driver function for each GDI object was looked up at each call to a GDI object driver function. In 2.2, the driver for each object is only looked up at initialization time and is then cached for use on each call. This can save significant CPU cycles.

Comprehensive Toolset
Code generator and runtime libraries

Generate embeddable C-code directly from VAPS Metafiles for applications requiring DO-178B level A or ED-12B certification.

VAPS Developer license

Use VAPS Developer to model HMI applications for embedded avionics systems.

Telelogic DOORS™ interface license

Enhance your control over deliverables with this link between requirements and the end product.

Includes VAPS DesignDoc

Automatically generate documents for traceability and DO-178B certification.