summaryrefslogtreecommitdiff
path: root/swigweb/projects.ht
diff options
context:
space:
mode:
Diffstat (limited to 'swigweb/projects.ht')
-rw-r--r--swigweb/projects.ht447
1 files changed, 0 insertions, 447 deletions
diff --git a/swigweb/projects.ht b/swigweb/projects.ht
deleted file mode 100644
index fba25231d..000000000
--- a/swigweb/projects.ht
+++ /dev/null
@@ -1,447 +0,0 @@
-The SWIG Files
-
-<p><img src="images/projects.png" alt="Projects">
-
-<p>
-SWIG is being used in an increasing number of applications, most of
-which are related to research and development, prototyping, software testing,
-and construction of specialized systems. This page describes
-some of the ways in which SWIG is currently being used.
-
-<p>
-(Note : the
-opinions expressed here do not necessarily reflect those of any
-given employer or organization).
-
-<hr>
-<p>
-David Beazley (dmb@viking.lanl.gov) and Peter Lomdahl (pxl@viking.lanl.gov)<br>
-
-<p>
-SWIG is being used to construct a Python interface to the <a
-href="http://bifrost.lanl.gov/MD/MD.html">SPaSM</a> molecular dynamics
-code at Los Alamos National Laboratory. Currently this code is being
-used to perform large-scale simulations of fracture, shock waves, and
-dislocation dynamics. The system runs in parallel on a 12 processor
-Sun Enterprise 4000 server and is implemented with MPI and Solaris
-multithreading. The Python interface is used to provide users with an
-interactive data analysis, visualization, and prototyping environment.
-Users can also interact with underlying C data structures and "steer"
-computations as needed. One of the advantages of SWIG is that it
-allows interfaces to be easily constructed from existing code. The
-SPaSM system consists of nearly 300 C functions and the Python
-interface is automatically generated during compilation. This work
-was recently featured on the cover of "Computers in Physics" (June,
-1997).
-
-<hr>
-<p>
-John Schmidt (jas@cs.utah.edu) <br>
-
-<p>
-I am using SWIG to integrate four stand alone software packages into a
-unified system controlled by Tcl/Tk scripts. The unified software
-system is used to design and test defibrillation electrodes via
-computer simulations of a human subject. The individual software
-pieces include: a visualization package written in C++ using
-OpenInventor and Motif, an unstructured mesh generator written in C, a
-Finite Element Solver written in C, and a segmentation software
-written in C++ using OpenGL and Motif. SWIG has been crucial to the
-development of this project. With SWIG, the integration of the
-individual pieces was trivial.
-
-<hr>
-<p>
-David Brydon (brydon@lanl.gov) <br>
-
-<p>
-We are using swig with python to retrieve, analyze, and visualize very
-large data sets from ocean model simulations on parallel computers.
-We have written C routines that access our data. Graphics libraries
-and Matlab are used to visualize the data. We are very happy with the
-flexible, programmable, powerful tool that results.
-
-<hr>
-<p>
-Mike Weiblen (mew@paradigmsim.com) <br>
-
-<p>
-Paradigm sells modular C toolkits for developing visual
-simulation/virtual reality graphics applications called Vega and another
-for spatial audio simulation called AudioWorks. I've used SWIG to wrap
-Vega's and AW's APIs with Silicon Graphics' "sgitcl" to create "vgTcl"
-and "awTcl". Exploiting the power of interactive scripting languages,
-they provide the full power of the APIs at runtime, without an
-application developer having to anticipate flexibility a priori. SWIG
-has enabled our customers to interact with our toolkits in fundamentally
-new ways.
-<p>
-Several years ago (I believe we discussed this stuff way back in 1994
-;-), I created a set of C preprocessor macros that did SWIG-like
-things. It was a very tedious process, making it difficult to follow
-changes to an evolving API, but it was useful for proof-of-concept.
-When SWIG 1.1B1 came out in October, I was generously given a R&amp;D budget
-to reimplement my project in SWIG. The project has been a resounding
-success!
-
-<hr>
-<p>
-Jonah Lee (jonah@melab.uafsoe.alaska.edu)
-
-<p>
-[We're using SWIG for] wrapping up engineering applications using
-finite element method including pre- and post-processing. My program
-is somewhat general and is used to solve problems for engineering
-materials--metals, polymers and ice-- undergoing plastic (permanent)
-deformations. It's mainly used for rapid prototyping, development and
-testing. The code runs on workstations, Cray Y-MPs and Cray T3E (when
-I get there... that is).
-
-<hr>
-<p>Jody Winston (jody@sccsi.com)
-
-<p>
-
-I have used SWIG to wrap an API that controlled two stepper motors and
-a CCD camera on a Linux system that gathered real time image data. In
-Windows, I wrapped an application's C++ API and used SWIG to embed a
-Python (pywin) interpreter into the C++ application. I also used SWIG
-to wrap a FORTRAN API that was used to read and write data into a
-custom data base.
-<p>
-SWIG has allowed me to move the time critical code into C, C++, or
-FORTRAN while having the application being controlled by Python. I
-can quickly embed an interpreter into an application.
-
-<hr>
-<p>
-Peter Lister (p.lister@cranfield.ac.uk)<br>
-
-<p>
-I'm using [SWIG] for a Perl scriptable version of Van Jacobson's libpcap
-packet capture library. I can now use Perl regular expressions to
-process packets on the fly. My main reason is to extract information
-from ARP packets and automatically maintain our database of IP/MAC
-address mappings directly from perl rather than hacking the output of
-arpwatch or tcpdump.
-
-<hr>
-<p>
-Harald Singer (singer@itl.atr.co.jp)
-
-<p>
-[We are using SWIG for] wrapping C libraries to Python for speech recognition research
-at ATR Interpreting Telecommunications Laboratories.
-<p>
-We are working in a multi-vendor environment (HP-UX, OSF1, Linux,
-SunOS, Solaris) and writing new applications has become very tedious.
-Therefore, we decided to employ python, but at the same time we would
-like to have access to our signal processing libraries etc. that were
-and are still written in C.
-<p>
-The advantages of using Python become more evident every day. For
-example, it was fairly easy to write a GUI using python/tk. We are
-using this now for interactive error analysis. A typical scenario is
-like this:
-
-<ul>
-<li> audio data is collected via microphone/AD (in Python) and sent to the
-recognizer frame by frame.
-
-<li> the recognizer (C code) makes a decision about speech endpointing and
-once it has discovered end of utterance does a callback to the
-application (python/tk) with a word lattice as result.
-
-<li> this word lattice is now displayed for the user in python/tk.
-
-<li> the user can now interactively rescore part of the lattices, look at
-the detailed acoustic and language model scores, listen to parts of
-the utterance, etc.
-</ul>
-<p>
-SWIG helps us in taking away part of the error-prone task of making
-the C routines accessible from python and has considerably improved
-our efficiency.
-
-<hr>
-<p>
-Dominique Dumont (domi@ss7serv.grenoble.hp.com)
-<p>
-I'm using SWIG to generate a perl5 API on top of HP's OpenCall TCAP
-API. TCAP is the top protocol layer of HP's SS7 stack of telecom
-protocol. The perl5 API developemnt effort is a part of the systematic
-testing approach we're implementing in the division.
-<p>
-The usual way was to write test programs
-in C. The main drawback being that developing and running the tests
-consumes a lot of time.
-<p>
-Now the goal is to write all (or at least most of) the test in perl
-allowing a faster cycle time between modifying the API and testing
-it. (We'll also be able to debug faster the test programs).
-<p>
-Perl's power also enables us to write test using oo methodology
-(although the API is strictly procedural), thus we can easily develop
-complex test scenarios.
-<p>
-Hopefully (i.e. if we have some spare time), the next step will be to
-combine Tk with Perl and SWIG so we'll be able to monitor with a user
-friendly interface the progress of the test suite.
-
-<hr>
-<p>Daniel Michelson (Daniel.Michelson@smhi.se)
-
-<p>
-A collegue and I are using SWIG for two purposes, both of which
-centre around the creation of a Python-based environment for analysis
-and visualization of data from the Swedish national weather radar
-network:
-<ul>
-<li> interfacing old code
-<li> interfacing new, performance critical, code.
-</ul>
-<p>
-We have a couple of other collegues, also at SMHI R&amp;D, who are working
-in satellite-based remote sensing activities and who will be starting to
-use SWIG in the near future for their purposes.
-
-<hr>
-<p>Roger Burnham (rburnham@cri-inc.com)
-
-<p>
-Thanks again for SWIG... Its fun, allows great productivity while
-avoiding much tedium...
-<p>
-The current application (there will be many spin-offs/variations) is
-in polarization microscopy. We manufacture electronically
-controllable retarder plates, and along with a scientist at the
-Marine Biological Lab in Woods Hole have developed an algo/method
-that allows us to visualize a sample's retardance (direction and
-magnitude) over the whole image. Conventional methods allow you to
-see this structure only along one axis at a time... The main tools
-I'm using are Python/Tkinter/PIL/NumPy/SWIG.
-<p>
-So, I've use SWIG to:
-<ul>
-<li> Wrap a commercial serial communications DLL.
-<li> Wrap a commercial frame grabber interface
-<li> After prototyping in Python, I move compute intensive routines
- into DLL's.
-</ul>
-Our apps are running under Win95. I thought it was pretty cool to be
-able to control a frame grabber, display live/acquired images, all
-from within Python, within the same day I received the frame grabber
-SDK, never having dealt with such hardware before!
-
-<hr>
-<p>
-Simon Gibson (gibson@dstc.qut.edu.au)
-<p>
-
-I have been using SWIG to create a Python interface for our
-prototype implementation of GSSAPI. This is being done so
-that we can incorporate security into the Hector project here
-at DSTC. It also means that I can write Python application
-programmes. Also now we have a standard interface to GSSAPI
-and any implementation should be able to be plugged in.
-<p>
-Hector is described in an article in the January/February
-1997 - Distributed Objects <a href="http://www.ddj.com/ddsbk/1997/1997.01/index.htm">Dr. Dobb's Sourcebook</a>.
-
-<hr>
-<p>
-Mark Hammond (MHammond@skippinet.com.au)
-
-<p>
-
-I'm using [SWIG] to write a commericial application, which runs as an NT
-service. It uses the COM extensions to talk native MAPI to exchange
-server, the service extensions to run unattended on NT, and the pipe, file
-and event modules to manage the service control messages and named pipe
-connections from clients. All modules named above were generated by SWIG.
-The COM extensions will allow (once the .i file is up to it :-) any native
-COM interface (ie, not IDispatch (eg, VB/Word/Excel) based) to be supported
-by Python.
-
-<hr>
-<p> Michael Bell (michaelb@gold.net.au)
-
-<p>
-I've used SWIG on a Linux platform to create Python modules for
-graphing and database access.
-<p>
-The PGPLOT Graphics Subroutine Library is a Fortran library by Tim
-Pearson (tjp@astro.caltech.edu). I understand it is often used by
-astronomers. It may also be built into a C library.
-<p>
-I used SWIG to wrap the C library wrapping the Fortran library (!)
-into a Python module, using some straightforward typemaps to convert
-one and two dimensional Python Numeric arrays into the appropriate
-pointers. I haven't methodically tested the full functionality, but
-everything I tried works just fine.
-<p>
-I've also used SWIG to wrap up a library of Fortran subroutines
-developed within the Western Australian Department of Environmental
-Protection to manage databases of time series meteorological and air
-quality data. I used SWIG to generate a simple shadow class which I
-then extended further to make the interface nicer.
-<p>
-The original library provided, for instance, subroutines opendb(),
-writdb(), readdb() and closdb(). My module, epadb.py, provides a
-database class, epadb.DB, which is instantiated, d=epadb.DB(). The
-database instance then provides methods d.open(), d.read(), d.write()
-and d.close(), returning data as Python lists and arrays.
-<p>
-I'm particularly pleased that I managed to do these things with my
-reading only knowledge of C, and lots of cutting and pasting.
-
-<hr>
-<p>
-Soeren Henkel (soeren@hni.uni-paderborn.de)
-<p>
-We are currently in the process of redeveloping OOPUS, a system for
-modeling plant systems and generate plant control software from a model.
-(Don't ask what OOPUS stands for -it's a German acronym.) We decided to
-reimplement its user inteface using Tcl/Tk. OOPUS puts its models
-into an OODBMS, namely POET. So we needed an integration of POET
-(which is tightly coupled to C++) with Tcl/Tk, and we've successfully
-done that with SWIG.
-
-<hr>
-<p>
-Peter A. Tinker (patinker@msmail4.hac.com)
-<p>
-We're using SWIG to "glue" Tcl/Tk to custom and third-party libraries. In
-particular, SWIG provides an elegant means for controlling Sense8
-Corporation's WorldToolKit (WTK) virtual environment development system from a
-Tk GUI. The result is highly portable code that is
-independent of WTK's proprietary GUI yet allows access to virtually all WTK
-functions from a Tcl script and/or a Tk GUI. This approach is
-being used in a variety of projects involving advanced 3D visualization
-on a variety of imcompatible systems.
-
-<hr>
-<p>
-Peter-Pike Sloan (ppsloan@cs.utah.edu)
-<p>
-I have been using SWIG for several projects, mostly to streamline
-working with OpenGL under Tcl/Tk. Examples are a time-critical
-framework for viewing Lumigraphs (basically a digital hologram) and a
-proof of concept application for optimizing texture coordinates based
-on relative importance (determined by analyzing the existing texture
-and user specification.) Using SWIG has dramatically reduced my
-development time allowing me to develop code and debug state in an
-interpreted environment (currently Tcl, but I think I am going to move
-to Python).
-
-<hr>
-<p>
-Chris Myers (myers@beamtech.com)
-<p>
-We at Beam Technologies, Inc. have used SWIG to begin developing an
-interpreted Python interface to our PDESolve library. PDESolve is a
-C++ class library for formulating and solving partial differential
-equations (using either finite difference methods or finite element
-methods), and makes use of OO technology to present a high-level
-symbolic interface to the programmer. This makes the description of
-PDE-based problems concise, and enables the embedding of PDE-based
-models in larger computational frameworks (e.g., to do PDE-based
-design optimization or coupled PDE-based systems). SWIG has allowed
-us very quickly to develop a prototype Python interface to that
-library. Such an interface holds the promise of: (1) allowing even
-more rapid prototyping of models, (2) dynamic formulation of models
-and solution methods, and (3) a method for conveniently integrating
-PDESolve with other packages (i.e., through the Python substrate).
-My hope is to make a Python-enabled PDESolve a tool for PDEs something
-like what Matlab provides for linear algebra, i.e., a high-level,
-interpreted environment for rapid prototyping and interactive
-exploration, with an embedded programming language for scripting
-complex codes.
-
-<p>
-And while I have been looking for a while for a powerful and
-extensible interpreted language for use as a front-end to compile codes
-(which Python is), SWIG has made the interfacing of that code vastly
-easier than it would have been otherwise. While we are still in the
-prototyping stages of this overall approach, SWIG enabled us to get up
-and running quickly with a Python interface to PDESolve, and
-demonstrate the utility of such an approach for a complex C++ library
-(something that SWIG was not originally designed to really tackle).
-
-<hr>
-<p>
-Vladimir I.Ulogov (gandalf@starship.skyport.net)
-<p>
-
-SWIG is being used to create a Python interface to CLIPS expert system shell
-inside my general research job under OODBMS DNET. This extention module
-provide full control from Python environment to expert system: Change a
-global valiables, register a fact, manipulation with agenda, fact lists,
-modules, functions, classes and instances. You can dynamicaly create and
-execute CLIPS commands using clips.RouteCommand function call. Module
-interface are similar to CLIPS Advanced API, who described into CLIPS
-documentation. All additional documentation, Python classes are distributed
-too. Module was be tested on Windows/NT and SUN Solaris 2.4 host platforms,
-CLIPS version: 6.04, Python version 1.4. This module consist about 270
-functions. This job took 3 days of my job at october 1997.
-
-<hr>
-<p>
-Pinhong Chen (phchenb@tsmc.com)
-<p>
-I got a page for
-<a href="http://www-cad.eecs.berkeley.edu/~pinhong/scriptEDA"
->EDA applications</a>
-using SWIG.
-
-<hr>
-<h3> Tools and Modules </h3>
-The following tools and modules have been produced using SWIG
-or are related to SWIG.
-
-<ul>
-<li><p><a href="http://www.thestuff.net/bob/projects/blade">BLADE</a>. A web publishing environment.
-
-<li><p><a href="http://students.cs.byu.edu/~butler/jni/PyJava.html">PyJava</a>. Provides
-Python access to Java methods (Kevin Butler).
-
-<li><p><a href="http://playground.sun.com/~bharat/pilotmgr.html">Pilot Manager</a>. Hook
-your US Robotics PalmPilot up to your Sun workstation (Bharat Mediratta).
-
-<li><p> <a href="http://www.mic.atr.co.jp/~gulliver/WTK/www">PyWTK</a>. A Python
-interface to the WorldToolKit (a virtual reality modeling toolkit). (Roberto Lopez Gulliver)
-
-<li><p> A Python interface to
-<a href="http://starship.python.net/crew/robind/index.html">BSD DB 2.7.x</a> (Robin Dunn).
-
-<li><p><a href="http://alldunn.com/wxPython/index.html">wxPython</a>. A Python extension
-module that encapsulates the wxWindows GUI classes.
-
-<li><p> Net-Pcap. A Perl interface to the libpcap library (Peter Lister).
-
-<li><p> X11::Wcl. A Perl interface to the Widget Creation Library (Joe Buehler).
-
-</ul>
-
-<hr>
-<h3> Other Application Areas </h3>
-
-These are some of the application areas that I've heard about SWIG being
-used (but don't have many details).
-
-<ul>
-<li> Semiconductor CAD.
-<li> Databases.
-<li> Remote sensing.
-<li> Scientific visualization and simulation.
-<li> Financial Modeling.
-<li> Distributed and parallel computing.
-<li> Distributed objects (use with CORBA).
-<li> Software testing.
-</ul>
-
-<hr>
-<h3> How are you using SWIG? </h3>
-
-If you would like to list your project here, please
-send e-mail to beazley@cs.uchicago.edu.