[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Interface between OSF/Motif and Common Lisp (Redirected from comp.lang.lisp)



Date: Wed, 14 Mar 90 21:35:46 PST
Path: unix!Teknowledge.COM!uw-beaver!mit-eddie!bloom-beacon!eru!luth!sunic!mcsun!unido!gmdzi!baecker
>From: baecker@gmdzi.UUCP (Andreas Baecker)
Newsgroups: comp.lang.lisp,comp.windows.x
Subject: Interface between OSF/Motif and Common Lisp
Keywords: OSF/Motif, X window system, application framework, user interface
Message-ID: <2076@gmdzi.UUCP>
Date: 12 Mar 90 09:49:13 GMT
Organization: GMD, Sankt Augustin, F. R. Germany
Lines: 95
Xref: unix comp.lang.lisp:3123 comp.windows.x:20753


Following is a short description of our interface between Common Lisp and
OSF/Motif and our application framework GINA. 

If your interested in more info about it, please send a request including your 
postal address to baecker@gmdzi.

==============================================================================
Andreas Baecker
GMD (Gesellschaft fuer Mathemathik und Datenverarbeitung mbH)
    (The German National Research Center for Computer Science)
Schloss Birlinghoven
D-5205 Sankt Augustin 1
West Germany
email: baecker@gmdzi
phone: (022 41) 14 20 78
==============================================================================


      CLM -- An Interface between Common Lisp and OSF/Motif


CLM is an interface solution between Common Lisp and OSF/Motif.
It offers the full functionality of the X toolkit to the
Lisp programmer. All widget classes of OSF/Motif are integrated into CLM.

CLM is designed to be easily portable across different hardware platforms
and Lisp systems. New widget classes can be easily integrated into the 
interface.

CLM consists of a Motif server implemented in C which contains
the Motif widgets and offers its services on a network-transparent TCP/IP
protocol.  A library of Lisp functions provides a high level interface to the
protocol. 

Client programs can use CLM functions for creating and manipulating 
widgets as well as CLX functions for drawing into widgets 
(XmDrawingAreaWidgetClass and XmDrawnButtonWidgetClass).

Multiple Lisp processes using OSF/Motif can run in a single Lisp environment.
The Motif server, the X server and the Lisp environment can run on distinct 
machines in a network.

CLM currently runs with Lucid Common Lisp on Sun-3 and Sun-4, 
Allegro Common Lisp on Sun-4 and A/UX and on Symbolics machines with 
a remote UNIX host for the X server and the Motif server.

CLM is already used in various research projects at the GMD as well as
for the user interface of the BABYLON expert system product.


==============================================================================

       An Overview of GINA - the Generic Interactive Application

               Michael Spenke and Christian Beilken 
       Gesellschaft fuer Mathematik und Datenverarbeitung mbH
       (German National Research Center for Computer Science)
                          P.O. Box 1240
                      D-5205 Sankt Augustin 1
                    Federal Republic of Germany
            Email: spenke@gmdzi.uucp and cici@gmdzi.uucp

Abstract
=======

GINA is an object-oriented application framework written in CommonLisp and 
CLOS. It is based on an interface between CommonLisp and the OSF/Motif 
software. The generic interactive application is executable and has a 
complete graphical user interface, but lacks any application-specific 
behaviour. New applications are created by defining subclasses of GINA 
classes and adding or overriding methods. The standard functionality 
of a typical application is already implemented in GINA. Only the 
differences to the standard application have to be coded. For example, 
commands for opening, closing, saving and creating new documents are already 
available in GINA. The programmer only has to write a method to translate 
the document contents into a stream of characters and vice versa. 
Motif widgets are encapsulated in CLOS objects. Instantiating an object 
implicitly creates a widget within OSF/Motif. Graphic output and direct 
manipulation with individual graphical feedback are also supported.
The combination of framework concepts, the flexible Motif toolkit, and 
the interactive Lisp environment leads to an extremely powerful user 
interface development environment (UIDE). There is already a dozen demo 
applications including a Finder to start applications and documents, 
a simple text editor and a simple graphic editor, each consisting of 
only a few pages of code. Even the first version of an interface builder, 
which treats Motif widgets like MacDraw objects, could be completed within 
a few days. The interface builder is not just a demo, but an important 
component of our UIDE: The resources of each widget can be modified by 
a dialog box, and Lisp code to be used in connection with GINA can be 
generated.  A version of GINA for C++ is currently under development. 

Keywords: Object-oriented application framework, generic application, 
OSF/Motif, X Window System, CommonLisp, CLOS, interface builder, user 
interface development environment.