6.0 Implementation

We have implemented the proposed system architecture in the C++ programming language environment adhering to all object-oriented programming techniques. Integrating various software applications through single programming language interface was a major challenge to the system programmers. The platform for this implementation is based on traditional client-server environment. The databases used in the system and also the applications written in C++ will adhere to client-server architecture and allow the DMA tool to be used in a distributed environment.

The object-oriented database environment supports a UNIX server and a PC client running Windows NT operating system. Our application programs are written in Visual C++ and run under NT operating system. The Microsoft foundation classes (MFC) are used for writing the GUI applications and this code is completely portable to other environments. The ObjectStore database supports UNIX server and PC client environment and the OODBMS applications are also written in Visual C++.

The Object Manager, and Bridge applications are also written in Visual C++. The CPLEX optimizer supports C function libraries and we have tightly integrated the CPLEX interface with object-oriented database. The data required for the optimizer resides in the ObjectStore, and Visual C++ queries are written to provide input to the CPLEX application. The results of the CPLEX application (optimal solutions for the designs and scenarios) are further stored back in the object-oriented database through transactions. For the power module application demonstrated in this project, we have not run into any performance problems by tightly integrating CPLEX and object-oriented database systems. However, for larger applications we anticipate performance problems as the user invokes the optimizer iteratively until he/she obtains a "good" design solution.

The paradox frontend GUI sample is shown in Figure 11 and the ObectStore GUI interface is shown in Figure 12.