DHCI

1995-1997 — Scientific-Atlanta, Inc.

Introduction

DHCI was a Windows application that is used to set up and monitor a BIG (Broadband Integrated Gateway) over a serial port or a network using telnet. The BIG could contain any combination of cards plugged into its backplane. It went through a few naming changes before finalizing on DHCI, including “BIG GUI,” and “Davinci.”

Development

  • Microsoft Visual C++ was the development platform used.
  • Microsoft Visio was used to draw the image metafiles for items such as connectors, board ejectors, and screwlocks.
  • MFC Custom Controls were created for LEDs, vertical text, and metafiles.
  • Microsoft Visual SourceSafe was used as the project’s source code control system.

Architecture

The application was targeted for Windows 3.1, Windows 95, and Windows NT with a single code base that could be built with Visual C++ 1.52c (16-bit) or Visual C++ 4.1 (32-bit). An MFC extension DLL was created to make 16-bit MFC more compatible with 32-bit MFC. After we started needing some of the Windows 95 controls, such as list and tree controls, we abandoned the 16-bit version before its first official release.

Each card type that could be plugged into a BIG had its own class implementation in DHCI derived from a base class CCard. Each card type had a unique identifier, so a DHCI could detect the card configuration of the chassis. Each card class was responsible for drawing itself, communicating with the card, and presenting a graphical interface to the user for configuration purposes. All drawing was done with either custom controls (for dynamic elements like LEDs) or metafile controls (for static elements such as screws and connectors) and made it possible to zoom in and out on the graphical representation of the BIG. Nothing was drawn using bitmaps.

To facilitate development, and for demonstration purposes, a “virtual mode” was created, where the user could configure a “virtual chassis” with an arrangement of cards.

Version 2.0

Work began in 1997 on a new version of DHCI, which would have broken out the chassis and card classes into MFC DLLs, so you could add card and chassis types by writing a DLL and adding it to the DHCI installation folder. This was successfully demonstrated, but never completed. This research formed the basis for the ADP HRizonBuilder project’s modular architecture in 1999.

The project included two diskette label designs and a Windows setup application. Approximately 50,000 lines of code.

Screenshots

The images below are of the main window. Click on one of the images to see it in full resolution.