summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1996-10-21 21:41:34 +0000
committerlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1996-10-21 21:41:34 +0000
commita5fdebc5f6375078ec1763850a4ca23ec7fe6458 (patch)
treebcf0a25c3d45a209a6e3ac37b233a4812f29c732 /README
downloadATCD-a5fdebc5f6375078ec1763850a4ca23ec7fe6458.tar.gz
Initial revision
Diffstat (limited to 'README')
-rw-r--r--README615
1 files changed, 615 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 00000000000..07759a47364
--- /dev/null
+++ b/README
@@ -0,0 +1,615 @@
+[An HTML version of this README file is available at the following URL
+
+http://www.cs.wustl.edu/~schmidt/ACE.html.
+
+All software and documentation is available via both anonymous ftp and
+the World Wide Web.]
+
+THE ADAPTIVE COMMUNICATION ENVIRONMENT (ACE)
+
+An Object-Oriented Network Programming Toolkit
+
+OVERVIEW OF ACE
+
+The ADAPTIVE Communication Environment (ACE) is a freely available
+object-oriented network programming toolkit targeted for developers of
+high-performance concurrent network applications and services. ACE
+encapsulates the following user-level UNIX and Win32 (Windows NT and
+Windows '95) OS facilities via portable, type-secure, C++ interfaces:
+
+ . IPC mechanisms
+ -- Internet- and UNIX-domain sockets, TLI, Named Pipes
+ (for UNIX and Win32) and STREAM pipes
+
+ . Event multiplexing
+ -- select(), poll(), and Win32 WaitForMultipleObjects
+ and I/O completion ports
+
+ . Multi-threading and synchronization
+ -- Solaris threads, POSIX Pthreads, and Win32 threads
+
+ . Explicit dynamic linking
+ -- dlopen/dlsym on UNIX and LoadLibrary/GetProc on Win32
+
+ . Memory-mapped files and shared memory management
+ -- BSD mmap(), SYSV shared memory, and Win32 shared memory.
+
+ . System V IPC
+ -- shared memory, semaphores, message queues
+
+ . Sun RPC
+ -- GNU rpc++, written by Michael Lipp
+
+In addition, ACE contains a higher-level network programming framework
+that integrates and enhances the lower-level C++ wrappers. This
+framework supports the dynamic configuration of concurrent network
+daemons composed of application services. This framework contains the
+following class categories:
+
+ . The Reactor
+ -- Supports both Reactive and Proactive I/O
+
+ . The Service Configurator
+ -- Support dynamic configuration of objects
+
+ . The ADAPTIVE Service Executive
+ -- A user-level implementation of System V STREAMS,
+ which supports modular integration of
+ hierarchically-related communicaion services.
+
+ . Shared malloc
+ -- A component for managing dynamically allocation
+ shared and local memory
+
+ . Concurrency services
+ -- e.g., various forms of higher-level concurrency control
+ and synchronization mechanisms
+
+ . Network services
+ -- e.g., distributed lock service, distributed naming
+ service, distributed logging service, distributed
+ routing service, and distributed time service
+
+ . CORBA integration
+ -- Integrates ACE with CORBA implementations
+ (such as single-threaded and multi-threaded Orbix)
+
+ACE is currently being used in many commercial products including the
+Bellcore Q.port ATM signaling software product, the Ericsson EOS
+family of telecom switch monitoring applications, the Motorola Iridium
+global mobile communications system, and enterprise-wide electronic
+medical imaging systems for Kodak Health Imaging Systems and Siemens
+medical engineering.
+
+OBTAINING ACE
+
+The current ACE release is provided as a tar file that is slightly
+larger than 1.5 Meg compressed using GNU gzip. ACE may be obtained
+electronically from http://www.cs.wustl.edu/~schmidt/ACE-obtain.html.
+This release contains contains the source code, test drivers, and
+example applications for C++ wrapper libraries and the higher-level
+ACE network programming framework developed as part of the ADAPTIVE
+project at the University of California, Irvine and at Washington
+University.
+
+ACE DIRECTORY STRUCTURE
+
+The following subdirectories are included in C++_wrappers.tar.gz file:
+
+ . ace -- the source code and binaries for C++ components (note that
+ all of these are at the same "level" in order to work around
+ deficiencies with Windows NT...)
+ . ASX -- higher-level C++ network programming
+ framework based on System V STREAMs
+ . Collections -- stacks, sets, strings, etc.
+ . Concurrency -- wrappers for Solaris, POSIX, and Win32 threads
+ . Connection -- implementations of connection
+ establishment patterns
+ . CORBA -- C++ wrappers that make it easier to work with CORBA
+ . Debugging -- C++ assert macro, dump methods, method call tracing, etc.
+ . IPC_SAP -- C++ wrappers around UNIX communication mechanisms
+ . Addr -- wrappers for various network addressing formats
+ . DEV_SAP -- wrapper for UNIX device I/O
+ . FIFO_SAP -- wrapper for FIFOS (named pipes)
+ . FILE_SAP -- wrapper for UNIX FILE *s
+ . IO_SAP -- wrapper for low-level serial-line I/O
+ . SOCK_SAP -- wrapper for BSD sockets
+ . SPIPE_SAP -- wrapper for SVR4 STREAM pipes and connld
+ . TLI_SAP -- wrapper for SVR4 TLI
+ . . UPIPE_SAP -- inter-thread communication mechanism
+ . Log_Msg -- library API for local/remote logging
+ . Memory
+ . Mem_Map -- wrapper for BSD mmap() memory mapped files
+ . Shared_Malloc -- shared memory malloc/free classes
+ . Shared_Memory -- wrapper for SysV/BSD shared memory
+ . Misc -- miscellaneous C++ wrappers for the GNU getopt utility,
+ Obstacks, GoF-style patterns
+ . Name_Service -- client-side classes for distributed name service
+ . OS -- encapsulation of UNIX and Win32 OS APIs
+ . Reactor -- a framework for OO event demultiplexing and
+ event handler dispatching
+ . Service_Configurator -- a framework for dynamically
+ linking/unlinking services into/from applications
+ at run-time
+ . System V IPC
+ . SV_Message_Queues -- wrapper for SysV message queues
+ . SV_Semaphores -- wrapper for SysV semaphores
+ . SV_Shared_Memory -- wrapper for SysV shared memory
+ . Timers -- High resolution timers and profile timers
+ . Token_Service -- client-side classes for distributed locking
+ . apps -- Several example applications written using the ACE wrappers
+ . Gateway -- application-level gateway
+ . Orbix-Examples -- examples of how to integrate Orbix with ACE
+ . gperf -- a perfect hash function generator program written in C++
+ . Synch-Benchmarks -- benchmarks for OS IPC and synchronization mechanisms
+ . bin -- utility programs for building this release, in
+ particular, a set of scripts for automatically
+ generating manual pages from C++ class headers.
+ . examples -- programs that illustrate how to use ACE components
+ . man -- manual pages for ACE in nroff and HTML format
+ generated automatically by OSE class2man
+ . netsvcs -- network services
+ . clients -- test programs that exercise the ACE network services
+ . lib -- network services implemented using the general ACE service
+ framework:
+ . Client Logger -- client-side for distributed logging service
+ . Server Logger -- server-side for distributed logging service
+ . Name Server -- a distributed name service
+ . Token Server -- a distributed token service
+ . Time Server -- a distributed time service
+ . servers -- dynamically linkable main programs that
+ configure the services
+ . rpc++ -- C++ interface to Sun RPC developed by Michael Lipp
+ (mnl@dtro.e-technik.th-darmstadt.de). This code
+ is distributed "as is" (under the GNU GPL) and is
+ not part of the ACE release that I maintain.
+ . tests -- a suite of automated regression tests to exercise ACE features
+
+ACE DOCUMENTATION AND TUTORIALS
+
+Many of the C++ wrappers and higher-level components have been
+described in issues of the C++ Report, as well as in proceedings of
+the following journals, conferences, and workshops:
+
+ . 4th IEEE International Conference on Software Reuse in
+ Orlando, Florida, April 1996.
+ . The SIGS OOP conference in Munich, Germany, February, 1996
+ . The OOPSLA '95 conference in Austin, TX, October 1995
+ . The ECOOP '95 conference in Aarhus, Denmark, June 1995
+ . The SIGS Object Expo conference in New York, NY, June, 1995
+ . The 1st USENIX Conference on Object-Oriented Technologies
+ in Monterey, CA, June, 1995
+ . The SIGS OOP conference in Munich, Germany, February, 1995
+ . The Winter USENIX General Conference in January, 1995
+ . 3rd SIGS C++ World conference in November, 1994
+ . The 9th ACM OOPSLA Conference held in October, 1994
+ . The 1st Conference on the Pattern Languages of Programs,
+ August, 1994
+ . The 6th USENIX C++ Conference, April, 1994
+ . The 2nd IEEE International Workshop on Configurable Distributed
+ Systems, March, 1994
+ . The 11th and 12th Annual Sun Users Group Conference in
+ December, 1993 and June, 1994
+ . The 2nd SIGS C++ World conference, October, 1993
+ . IEE Distributed Systems Engineering Journal, December 1994.
+
+A collection of white papers and tutorial handouts are included with
+the release. The documentation is stored in the ACE-documentation
+directory on wuarchive.wustl.edu (approximately 4 meg compressed).
+
+This directory contains postscript versions of various papers that
+describe different aspects of ACE. You might want to read SUG-94.ps
+first, since it gives an overview of the toolkit.
+
+Document Published in or presented at
+-------- ----------------------------
+Acceptor-Connector.ps "Acceptor and Connector: Design Patterns for
+ Actively and Passively Initializing Network
+ Services." Presented at the EuroPLoP
+ workshop held in conjunction with the ECOOP
+ '95 conference, August 1995
+
+ACE-concurrency.ps "An OO Encapsulation of Lightweight OS
+ Concurrency Mechanisms in the ACE Toolkit."
+ Washington University technical report WUCS-95-31.
+
+ACT.ps "Asynchronous Completion Token" submitted to
+ the ``3rd Pattern Languages of Programs
+ conference,'' Allerton Park, Illinois,
+ September, 1996.
+
+Active-Objects.ps "Active Object: an Object Behavioral Pattern
+ for Concurrent Programming," the proceedings
+ of the Pattern Languages of Programs Conference,
+ September 1995
+
+Atomic_Op-94.ps "Transparently Parameterizing Synchronization
+ into a Concurrent Distributed Application",
+ C++ Report, July/August 1994
+
+C++-report-col1.ps C++ Report Object Interconnections Column 1
+C++-report-col2.ps C++ Report Object Interconnections Column 2
+C++-report-col3.ps C++ Report Object Interconnections Column 3
+C++-report-col4.ps C++ Report Object Interconnections Column 4
+C++-report-col5.ps C++ Report Object Interconnections Column 5
+C++-report-col6.ps C++ Report Object Interconnections Column 6
+C++-report-col7.ps C++ Report Object Interconnections Column 7
+
+C++-USENIX-94.ps "ASX: an Object-Oriented Framework for
+ Developing Distributed Applications," 6th
+ USENIX C++ Conference, April 1994
+
+C++-world-93.ps "An Object-Oriented Framework for Developing
+ Network Server Daemons", 2nd C++ World
+ conference, Dallas, Texas, October 1993
+
+C++-wrappers.ps "Systems Programming with C++ Wrappers:
+ Encapsulating Interprocess Communication
+ Services with Object-Oriented Interfaces", C++
+ Report, September/October 1992
+
+CACM-95.ps "Experience Using Design Patterns to Develop
+ Reuseable Object-Oriented Communication
+ Software," Communications of the ACM, Special
+ Issue on Object-Oriented Experiences, Vol. 38,
+ No. 10, October, 1995.
+
+COOTS-95.ps "Object-Oriented Components for High-speed
+ Network Programming," 1st USENIX Conference on
+ Object-Oriented Technologies, April 1995.
+
+COOTS-96.ps "Design and Performance of an Object-Oriented
+ Framework for Electronic Medical Imaging,"
+ 2nd USENIX Conference on Object-Oriented
+ Technologies, June 1996.
+
+Connector.ps "A Design Pattern for Actively Initializing Network
+ Services," C++ Report, January 1996
+
+daemon-design-94.ps "A Domain Analysis of Network Daemon Design
+ Dimensions", C++ Report, March/April 1994
+
+DC-Locking.ps Double-Checked Locking, submitted to the ``3rd
+ Pattern Languages of Programs conference,''
+ Allerton Park, Illinois, September, 1996.
+
+ECOOP-95.ps "Experiences Using Design Patterns to Evolve
+ System Software Across Diverse OS Platforms,"
+ ECOOP '95 conference, August 1995
+
+External-Polymorphism.ps "External Polymorphism: an Object Structural
+ Pattern for Transparently Extending Concrete
+ Data Types," submitted to the ``3rd Pattern
+ Languages of Programs conference,''
+ Allerton Park, Illinois, September, 1996.
+
+EuroPLoP.ps Acceptor and Connector, Design Patterns for
+ Initializing Communication Services,
+ 1st European Conference on Pattern Languages
+ of Programs, Kloster Irsee, July, 1996.
+
+IPC_SAP-92.ps "IPC_SAP: An Object-Oriented Interface to
+ Interprocess Communication Services" C++
+ Report, November/December 1992
+
+JPDC-96.ps "The Performance of Alternative Threading
+ Architectures for Parallel Communication
+ Subsystems", Submitted to the Journal
+ of Parallel and Distributed Computing.
+
+PLoP-94.ps "Reactor: An Object Behavioral Pattern for
+ Concurrent Event Demultiplexing and Event
+ Handler Dispatching," Pattern Languages of
+ Programs Conference, August 1994
+
+PLoP-95.ps "Half-Sync/Half-Async: A Pattern for Efficient
+ and Well-structured Concurrent I/O Systems."
+ Pattern Languages of Programs Conference,
+ September 1995
+
+Reactor1-93.ps "The Reactor: An Object-Oriented Interface for
+ Event-Driven UNIX I/O Multiplexing (Part 1 of
+ 2)" C++ Report, February 1993
+
+Reactor2-93.ps "The Object-Oriented Design and Implementation
+ of the Reactor: A C++ Wrapper for UNIX I/O
+ Multiplexing (Part 2 of 2)" C++ Report,
+ September/October 1993
+
+IWCDS.ps "The Service Configurator Framework: An
+ Extensible Architecture for Dynamically
+ Configuring Concurrent, Multi-Service Network
+ Daemons", 2nd IEEE International Workshop on
+ Configurable Distributed Systems, March 1994
+
+Service-Configurator.ps "Service Configurator," submitted to the ``3rd
+ Pattern Languages of Programs conference,''
+ Allerton Park, Illinois, September, 1996.
+
+SIGCOMM-95.ps "AITPM: a Strategy for Integrating IP
+ with ATM," SIGCOMM '95, August, 1995.
+
+SIGCOMM-96.ps "Measuring the Performance of Communication
+ Middleware on High-Speed Networks," SIGCOMM
+ '96, August, 1996.
+
+SUG-94.ps "The ADAPTIVE Communication Environment:
+ An Object-Oriented Network Programming Toolkit
+ for Developing Communication Software",
+ 11th and 12th Sun Users Group Conference,
+ December 1993 and June 1994
+
+TAPOS-95.ps "A System of Reusable Design Patterns for
+ Communication Software," The
+ Journal of Theory and Practice of Object
+ Systems Special Issue on Patterns and Pattern
+ Languages
+
+TSS-pattern.ps "Thread-Specific Storage: A Pattern for
+ Reducing Locking Overhead in Concurrent
+ Programs," submitted to the ``3rd Pattern
+ Languages of Programs conference,''
+ Allerton Park, Illinois, September, 1996.
+
+I update these papers periodically to reflect changes to the ACE
+architecture. Therefore, you might want to check the date on the
+files to make sure that you have read the most recent versions of
+these papers.
+
+ACE TUTORIALS
+
+I update these papers periodically to reflect changes to the ACE
+architecture. Therefore, you might want to check the date on the
+files to make sure that you have read the most recent versions of
+these papers.
+
+There may not be enough space on this ftp server to store the
+following tutorial handouts:
+
+OOCP-tutorial4.ps SIGS Object Expo, June 1995.
+ SIGS OOP '95 conference, February, 1995;
+ USENIX Winter Conference, January 1995;
+
+OONP-tutorial4.ps ECOOP conference, August 1995
+ USENIX Conference on Object-Oriented Technologies,
+ June 1995;
+ 3rd SIGS C++ World conference, November, 1994;
+ 9th ACM OOPSLA conference, October 1994;
+ 6th USENIX C++ Conference, April 1994;
+ 2nd SIGS C++ World conference, October 1993;
+
+CORBA4.ps "Measuring the Performance of Object-Oriented
+ Components for High-speed Network Programming,"
+ Object Expo, June 1995;
+ USENIX Conference on Object-Oriented
+ Technologies, June 1995
+ HP Labs, June 1995
+
+corba4.ps "An Overview of CORBA"
+ Washington University Distributed Operating
+ Systems class
+
+These handouts are available via WWW at URL:
+
+http://www.cs.wustl.edu/~schmidt/
+
+as at wuarchive.wustl.edu in the directory /languages/c++/ACE.
+
+BUILDING AND INSTALLING ACE
+
+Please refer to the INSTALL file for information on how to build and
+test the ACE wrappers. The overall ACE release is very large (~1
+Meg). Therefore, I'm sorry, but I will be unable to distribute the
+ACE wrappers via email. The BIBLIOGRAPHY file contains information on
+where to obtain articles that describe the ACE wrappers and the
+ADAPTIVE system in more detail.
+
+The current release has been tested extensively on Sun workstations
+running Sun OS 4.1.x and Solaris 2.x (on both SPARC and Intel
+platforms) using Sun C++ 4.x and GNU G++ 2.7.x. The release has also
+been ported to SCO UNIX, HP-UX, SGI, OSF/1, AIX, Linux, Windows NT and
+Windows '95. I expect that major portions of the release will port
+easily to other platforms. If you can help port ACE to other
+platforms I'd appreciate it.
+
+ACE MAILING LIST
+
+A mailing list is available for discussing bug fixes, enhancements,
+and porting issues regarding ACE. Please send mail to me at the
+ace-users-request@cs.wustl.edu if you'd like to join the mailing list.
+
+COPYRIGHT INFORMATION FOR ACE
+
+ACE is copyrighted Douglas C. Schmidt and his research group at
+Washington University. You are free to do anything you like with the
+ACE source code such as including it in commercial software, as long
+as you include this copyright statement along with code built using
+ACE.
+
+You are under no obligation to freely redistribute any of your source
+code that is built using ACE (be aware that rpc++ is distributed under
+the GNU GPL, which has a different copyright policy). Please note,
+however, that you may not do anything to the ACE code that will
+prevent it from being distributed freely (such as copyrighting it).
+Naturally, neither I nor my research group is responsible for any
+problems caused by using ACE.
+
+My goal is to see ACE continue to evolve and become a more
+comprehensive, robust, and well-documented C++ class library that is
+freely available to researchers and developers. If you have any
+improvements, suggestions, and or comments, I'd like to hear about it.
+
+ Thanks,
+
+ Douglas C. Schmidt
+ schmidt@cs.wustl.edu
+
+ACKNOWLEDGEMENTS
+
+ACE has been deeply influenced and improved by the following members
+of my research group at Washington University:
+
+Aniruddha Gokhale <gokhale@cs.wustl.edu>
+Tim Harrison <harrison@cs.wustl.edu>
+Prashant Jain <pjain@cs.wustl.edu>
+Irfan Pyarali <ip1@cs.wustl.edu>
+David Levine <levine@cs.wustl.edu>
+
+I would also like to thank all the following people who have also
+contributed to ACE over the years:
+
+Paul Stephenson <pstephenson@objectspace.com>
+Olaf Kruger <okruger@cssc-melb.tansu.com.au>
+Ed Brown <eebrown@netcom.com>
+Lee Baker <baker@ctis.af.mil>
+Alex Ranous <ranous@nsa.hp.com>
+Mark Patton <mark_patton@tx72.mot.com>
+Steffen Winther Sorensen <sts@dad.stibo.dk> for
+Chris Cleeland <chris@milo.st-louis.mo.us>
+Tim Harrison <harrison@cs.wustl.edu>
+Troy Warner <tnw1@core01.osi.com>
+Stacy Mahlon <mcs@contour.mayo.edu>
+Charles Eads <eads@synoptics.com>
+Mark Frutig <mfrutig@fnbc.com>
+Todd Hoff <thm@ictv.com>
+George <george@truffula.fp.trw.com>
+Aniruddha Gokhale <gokhale@cs.wustl.edu>
+Irfan Pyarali <ip1@cs.wustl.edu>
+Prashant Jain <pjain@cs.wustl.edu>
+Brad Needham <bneedham@ix.netcom.com>
+Leslee Xu <lxu@ics.uci.edu>
+Alex V. Maclinovsky <alexm@teltrunk1.tait.co.nz>
+Detlef Becker <beckerd@erlh.siemens.de>
+Bruce Worden <bruce@betsy.gps.caltech.edu>
+Chris Tarr <ctarr@objectspace.co>
+Bill Sears <wsears@world.std.com>
+Greg Lavendar <g.lavender@isode.com>
+Steve Warwick <sjw@aesthetic.com>
+Mats Sundvall <sundvall@perrier.embnet.se>
+Andreas Ueltschi <Andreas.Ueltschi@ska.com>
+Nigel Hooke <n.hooke@trl.oz.au>
+Medhi Tabatabai <Mehdi.Tabatabai@ed.nce.sita.int>
+Stuart Powell <stuartp@ot.com.au>
+Bin Mu <mubin@wfg.com>
+Andrew McGowan <mcgowan@wg2.waii.com>
+Ken Konecki <kenk@wfg.com>
+John P. Hearn <jph@ccrl.nj.nec.com>
+Giang Hoang Nguyen <yang@titan.com>
+Carlos Garcia Braschi <cgarcia@caramba.tid.es>
+Jam Hamidi <jh1@osi.com>
+Eric Vaughan <evaughan@arinc.com>
+Karl-Heinz Dorn <kdorn@erlh.siemens.de>
+Steve Ritter <ritter@titan.com>
+Chandra Venkatapathy <cvenkat@develop.bsis.com>
+Matt Stevens <mstevens@kirk.softeng.infonautics.com>
+Bob Vistica <robertv@ims.com>
+David Trumble <trumble@cvg.enet.dec.com>
+John Morey <jmorey@crl.com>
+George Reynolds <george@dvcorp.com>
+Hans Rohnert <Hans.Rohnert@zfe.siemens.de>
+Alex V Maclinvosky <alexey@ace.elektra.ru>
+Todd Blanchard <tblancha@evolving.com>
+Rob Clairmont <rclairmo@bnr.ca>
+Christian Millour <chris@etca.fr>
+Neil Cohen <nbc@metsci.com>
+Dieter Quehl <quehl@csaserv.erlh.siemens.de>
+Reginald S. Perry <perry@zso.dec.com>
+James Morris <jmorris@aurora.apana.org.au>
+Mark Seaborn <mseaborn@itthp1.comm.mot.com>
+Phil Brooks <phil_brooks@mentorg.com>
+E. Jason Scheck <jasons@ims.com>
+Daniel Proulx <daproulx@qc.bell.ca>
+Bill Tang <tang@tekats.com>
+John Huchinson <hutchiso@epi.syr.ge.com>
+Jack Erickson <jack@cibc.com>
+Byron Walton <bwalton@hughes.scg.hac.com>
+Bill Lear <rael@anarchy.cybercom.net>
+Mark Zusman <marklz@topaz.technion.ac.il>
+Aurelio Nocerino <aurelio@irsipcs2-27-le0.irsip.na.cnr.it>
+Walt Akers <akers@cebaf.gov>
+Greg Baker <GBaker@p01.az15m.iac.honeywell.com>
+Alexandre Karev <karev@vxcern.cern.ch>
+Pramod Kumar Singh <pramod@saturn.miel.mot.com>
+Bryon Rigg <bryon_rigg@mail.telecorpsys.com>
+Brad Brown <bbrown@rdxsunhost.aud.alcatel.com>
+Patty Genualdi <genualdp@agcs.com>
+Eshel Liran <liran@bimacs.cs.biu.ac.il>
+Mick Adams <eeimas@eei.ericsson.se>
+Chris Eich <Chris_Eich@optilink.optilink.dsccc.com>
+Mike Flinn <mike.flinn@smtpgate.aws.waii.com>
+Audun Tornquist <Audun.Tornquist@iu.hioslo.no>
+Sandeep Joshi <sandeepj@emailbox.att.com>
+Kirk Sinnard <1764@mn.lawson.lawson.com>
+Bernd Hofner <hofner@pd.et-inf.uni-siegen.de>
+Craig Perras <CraigP@saros.com>
+Kirk Sinnard <kirk.sinnard@lawson.com>
+Matthew Newhook <matthew@neweast.ca>
+Gerolf Wendland <wendland@hpp015.mch2.scn.de>
+Phil Mesnier <phil@envision.com>
+Ross Dargahi <rossd@krinfo.com>
+Richard Orr <rorr@costello.den.csci.csc.com>
+Rich Ryan <rryan@mseng.kla.com>
+Jan Rychter <jwr@icm.edu.pl>
+Tom Marrs <0002104588@mcimail.com>
+Bob Olson <olson@mcs.anl.gov>
+Jean-Francois Ripouteau <Jean-Francois.Ripouteau@netsurf.org>
+Ajit Sagar <asagar@spdmail.spd.dsccc.com>
+Ashish Singhai <singhai@delirius.cs.uiuc.edu>
+David Sames <David.L.Sames.1@gsfc.nasa.gov>
+Gonzalo Diethelm <gonzo@ing.puc.cl>
+Raj <raj@itd.ssb.com>
+Darrin <darrin@jeeves.net>
+Steve Weismuller <spweismu@rsoc.rockwell.com>
+Eric C. Newton <ecn@clark.net>
+Andres Kruse <kruse@cern.ch>
+Ramesh Nagabushnam <rcn@nynexst.com>
+Antonio Tortorici <antonio@rh0011.roma.tlsoft.it>
+Nigel Lowe <nigel@nt.com>
+Tom Leith <trl@icon-stl.net>
+Greg Wilson <gvw@cs.toronto.edu>
+Michael Fortinsky <mike@vocaltec.com>
+Marco Sommerau <sommerau@matisse.informatik.uni-stuttgart.de>
+Gary Salsbery <gsalsber@simsun.atsc.allied.com>
+Eric Beser <beser@simsun.atsc.allied.com>
+Alfred Keller <kellera@pop.eunet.ch>
+John Lu <johnlu@f1.telekurs.ch>
+James Mansion <james@wgold.demon.co.uk>
+Jesper S. M|ller <Jesper.Moller@ameridata.dk>
+Chris Lahey <clahey@ix.netcom.com>
+Michael R"uger <m_rueger@syscomp.de>
+Istvan Buki <istvan.buki@infoboard.be>
+Greg Wilson <gvwilson@vnet.ibm.com>
+Jack Erickson <jack@cibc.com>
+Garrett Conaty <gconaty@outbackinc.com>
+Brad Flood <BFLOOD@slc.unisysgsg.com>
+Marius Kjeldahl <marius@funcom.com>
+Steve Huston <shuston@ultranet.com>
+Eugene K. Plaude <jec@r-style.msk.su>
+Joseph DeAngelis <bytor@faxint.com>
+Kim Gillies <gillies@noao.edu>
+Luca Priorelli <lucapri@mbox.vol.it>
+Alan Stewart <axs2@osi.com>
+Hani Yakan <hani@i-online.com>
+William L. Gerecke <gerecke@rayva.org>
+Craig Johnston <johnston@tortilla.ds.boeing.com>
+Pierre-Yves Duval <duval@cppm.in2p3.fr>
+Rochi Febo Dommarco <rocky@alter.it>
+Jonathan Biggar <jon@sems.com>
+Scott Shupe <shupes@mitre.org>
+Chuck Gehr <gehr@sweng.stortek.com>
+Avraham Nash <Avraham_Nash@praxisint.com>
+Padhu Ramalingam <padhu@magicnet.net>
+Jay Denkberg <jay_denkberg@comverse.com>
+Ayman Farahat <afarahat@CCGATE.HAC.COM>
+Tilo Christ <christ@swl.fh-heilbronn.de>
+Ari Erev <Ari_Erev@comverse.com>
+
+I would particularly like to thank Paul Stephenson, who worked with me
+at Ericsson and is now at ObjectSpace. Paul devised the recursive
+Makefile scheme that underlies this distribution and also spent
+countless hours with me discussing object-oriented techniques for
+developing distributed application frameworks.
+
+Finally, I'd also like to thank Todd L. Montgomery
+<tmont@cerc.wvu.edu>, fellow heavy metal head, for fulfilling his
+quest to get ACE to compile with GCC!