About Business Career Research Fun Links

Description of the Wheel Loader Information Systems

CAT Logo

Caterpillar Inc. embarked on a project called the Wheel Loader Information System (WLIS). The development environment uses C programming, Motif, X-windows, Oracle, and an interface builder called UIM/X. We have developed a large scale X-window program which accesses a relational database system for keeping track of the specifications of equipment for Caterpillar. A pilot project was undertaken beginning in the summer of 1993 and continued through the spring of 1994 to determine the feasibility of this concept. The pilot project was successful at both defining the scope and content of such a model in addition to beginning the actual development of the tool. The success of the pilot project has led to further funding and work is in progress to further develop the model defined by the pilot project. There was some Smalltalk Research done for dynamically creating the GUIs which was done as a class project. This work continue through the winter of 1996. Aurora took the project on during the summer of 1996 and had some success at the data modeling and the creation of an inhouse prototype.

An environment was created for generating the UIMX, Oracle, and C code that was then compiled based upon the descriptive meta-data. This allowed for major changes to the code. A new table could be added to the specification database without writing and debugging tons of code since all you had to do was update the meta-data describing the mapping into the real database and re-generate the application. The primary limitation was that it could not be done at run-time and compile time was starting to become very lengthy.

The development environment included a very elaborate versioning system that incorporated RCS with Makefiles and automatic generation of code. Our code generation assisted us in doing tricks in C that you normally could do with inheritance and polymorphism in Smalltalk. Since the original project didn't allow for an object-oriented language, we designed it with object-oriented principles in mind and generated code before compile time to assist in code-reuse.

Restricted access pages can be found here.

Joseph Yoder Home   Webmaster