Browse Prior Art Database

Method for Dynamic Loading of Object Modules in a Graphical User Interface Development Tool

IP.com Disclosure Number: IPCOM000106618D
Original Publication Date: 1993-Dec-01
Included in the Prior Art Database: 2005-Mar-21
Document File: 4 page(s) / 134K

Publishing Venue

IBM

Related People

Leigh, W: AUTHOR [+2]

Abstract

Disclosed is a method of allowing the AIXwindows Interface Composer/6000* (AIC) user to dynamically load compiled functions for development and testing a Graphical User Interface (GUI) without ever exiting the AIC program or requiring the AIC executable to be rebuilt. This scheme of dynamic object loading is based on the unique AIX Dynamic Load Module* (DLM) concept and has been implemented in the AIXwindows Interface Composer/6000 Version 1.1.1 release.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 42% of the total text.

Method for Dynamic Loading of Object Modules in a Graphical User Interface Development Tool

      Disclosed is a method of allowing the AIXwindows Interface
Composer/6000* (AIC) user to dynamically load compiled functions for
development and testing a Graphical User Interface (GUI) without ever
exiting the AIC program or requiring the AIC executable to be
rebuilt.  This scheme of dynamic object loading is based on the
unique AIX Dynamic Load Module* (DLM) concept and has been
implemented in the AIXwindows Interface Composer/6000 Version 1.1.1
release.

      The AIXwindows Interface Composer/6000 (AIC) is a tool used for
creating and testing GUI applications based on the OSF/Motif Toolkit.
Developers of GUI applications tend to deal with some set of
specialized functions or function libraries.  Examples of these
function libraries are special scientific function sets, statistical
math libraries, or SQL query engine routines.  Developers using AIC
need a mechanism to allow function calls to already compiled object
code without the necessity of statically linking these object modules
with the AIC executable.

      The AIC development tool has a built-in C interpreter which
allows developers to test Graphical User Interfaces from within the
the AIC program.  All code to be tested must be available to the
interpreter.  Source code, in the C language, may be typed into the
interpreter or loaded by source code file name.  In the current
release of AIC, the only way to make compiled functions available to
the interpreter is to rebuild the AIC executable, linking the object
code modules desired.

      This scheme of rebuilding an augmented version of the AIC
executable requires the developer to exit the AIC tool and perform a
object module linking operation every time the code for the target
function is changed.  This can be very tedious and inefficient during
active development of a function.

      Dynamic Object Loading for the AIXwindows Interface
Composer/6000 Version 1.1.1 (AIC) is based on the AIX Version 3
Dynamic Load Module (DLM) concept and the associated "load" function
call.  A DLM is just an object file that has been linked using the
linkage editor (ld) with an explicit list of symbols to be exported.
It differs from the standard object file format because it is really
symbolically-resolved, relocatable, reusable executable code.  The
"load" function is used to load a previously prepared DLM file and
make information about the functions in the .text section and the
data in the .data section available to the executing program.  All
symbol names in the DLM and their associated addresses are available
to the program which loads the DLM.

      From the perspective of an AIXwindows Interface Composer user,
the dynamic loading of an object module is simply selecting the "Load
Object Code" menu item from the "File" menu of the Interpreter
window.  A standard OSF/Motif File Selection Box is displayed to
al...