
/******************************************************************
 *                                                                *
 *                  Computer Science Department                   *
 *                                                                *
 *                Graphical Development Environment               *
 *                                                                *
 *                     for Postgres Database                      *
 *                                                                *
 *                    Designed Especially for                     *
 *                                                                *
 *                 Postgres Developers and Users                  *
 *                                                                *
 *                              At                                *
 *                                                                *
 *                     Concordia University                       *
 *                                                                *
 ******************************************************************
 *                                                                *
 * Designer and Programmer:  Khaled Jababo                        *
 * Email                  :  jababo@cs.concordia.ca               *
 *                                                                *
 * Supervised by          :  Dr. Bipin C. Desai.                  *
 *                           Computer Science Department.         *
 * Email                  :  bcdesai@cs.concordia.ca              *
 *                                                                *
 * Last Modified          :  June 18, 1994                        *
 *                                                                *
 *                                                                *
 *                                                                *
 * Disclaimer:  There are no guarantees as to the accuracy, cu-   *
 *             rrency, quality, or usefulness of these programs   *
 *             or any information that is provided by using it.   *
 *             Furthermore, there is no assumption of responsi-   *
 *             bility for any los or damage which may be caused   *
 *             by their use.                                      *
 *                                                                *
 *                                                                *
 * Forward comments or questions about this report or the GDEP    *
 * system to:                                                     *
 *              bcdesai@cs.concordia.ca                           *
 *              jababo@cs.concordia.ca                            *
 *                                                                *
 ******************************************************************/



/******************************************************************
 *                                                                *
 *                         Description                            *
 *                                                                *
 ******************************************************************
 *                                                                *

      This directory contains a Package that contains all the source
    code (C files) and the header files for GDEP tools. GDEP can run
    under SUN workstation and  requires  Motif Intrinsic Toolkit and
    Postgres Databse Management System to be installed or accessible
    by the machine under which you would like to run GDEP.

     ->  You may have to make changes to Makefile for
         your system configuration.

      To install GDEP on your machine, you need to do the following:

         1- Create a directory called GDEP.
         2- Copy all  the source code  in this  directory  into  the
            created GDEP directory.
         3- Type make  and this will  generate the  executable  file
            called gdep.
         4- type gdep and this will start the GDEP tool.

      GDEP is a Graphical Development Environment for Postgres which
    provides for Postgres Users and developers a  better environment
    to ease their tasks.  GDEP users are not required to know any of
    Postgres systax to use Postgres. GDEP offers them all the  func-
    tionalities they need to manipulate their Postgres Database such
    as creating a new Databse, creating a new Class, adding instance
    variables to existing Classes, adding, updating or deleting ins-
    tances of an Existng Class, importing Postquel files to Postgres
    Database,  and exporting  classes  definitions and intances to a 
    text  file in a Postquel format that can be imprted by any other
    Postgres Tools.  In addition to that, GDEP offers some enhancem-
    ents to Postquel such as propagating a new added instance varia-
    ble to all subclasses of the modified class. It also allow users
    to change parents of an existing class to the desired new parent
    class as long as the  new parent class is not a  subclass of the
    current class, and it does not have a conflct in any of its ins-
    tance variables with the instance variables of the current class
    ot its subclasses. The last two features are not provided by any
    existing Postgres tool.

      When you run GDEP tool, it uses the usr username as a Postgres
    database,  and uses  the username.sta and  username.log files to
    initialize the setup environment for GDEP if  those files exist.
    Otherwise,  it uses the default  setup set by GDEP to initialize
    its environment. When the user exits from GDEP,  GDEP will write
    the status and the log files to the specified directory. If GDEP
    does not function as it is supposed to, it is recomended to exit
    from it,  remove the status and the log files from the directory
    from which you are running GDEP,  and then run GDEP again.  This
    procedure will allow you to reset GDEP environment.  If you like
    to modify any  of GDEP environment  setup,  you can  do  that by
    editing either the log filename or the status filename according
    to the required parameter you would like to change.


      Postgres Object Oriented Database is used as a Database system
    to store the data required by the project. C language is used as
    an intermediate language between  Postgres and  the user.  It is
    embedded with PostQuel  the  Query Language for Postgres to ret-
    rieve and store information  in the Database.   Motif is used as
    Tools to build the Graphical User Interface for the Project. The
    Project can run on Sun Station undr X window system, using Motif
    library (Xm), X11 library (X11) and Postgres Library  (libpq and
    libpq-fe).  
      The Project is done as general as Possible, so Parts of it can
    be used as Tools to build an Object Oriented Model in  Postgres.
    This Tool can be used to manipulate the  Class Hierarchy such as
    Add, delete, or Insert a class into the Class Hierarchy tree. It
    can Also be used to  add new Instance Variables and Instances to
    a specified class.  The user does not need to have any knowledge
    about Postgres, but he should have a little knowledge about Obj- 
    ect model, Class, Class hierarchy, Inheritance and Instances.
      In case you are not familiar with the terms just  mentioned, a
    documentation  that define  these notions is  attached with this
    project. Also, an online help is available to help clarify these 
    terms to the user.